Hayasuki commited on
Commit
fe43779
·
verified ·
1 Parent(s): bd3a08f

Enhanced model card with architecture diagrams, metrics charts, and visualizations

Browse files
Files changed (1) hide show
  1. README.md +147 -33
README.md CHANGED
@@ -19,53 +19,151 @@ tags:
19
  - genki
20
  metrics:
21
  - f1
22
- - iou_f1
23
  datasets:
24
  - StandUp4AI
25
  papers:
26
  - https://github.com/Das-rebel/ChuckleNet
27
  ---
28
 
 
 
29
  # 🎭 ChuckleNet-Genki (元気)
30
 
31
- **The original spirit.** First generation ChuckleNet model for laughter detection in stand-up comedy audio.
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
32
 
33
- > *"Genki" means spirit, energy, vitality — the life force of comedy.*
 
 
 
 
 
 
 
 
 
 
 
 
34
 
35
  ---
36
 
37
- ## Overview
 
 
 
 
 
 
 
 
 
 
 
38
 
39
- Genki was the first model trained on the full 620-video StandUp4AI dataset using weak labels (VTT `[laughter]` transcript markers). It established the baseline for laughter detection using frozen WavLM embeddings.
40
 
41
- While superseded by **ChuckleNet-Ten** (human-verified labels), Genki remains useful for:
42
- - Historical reference and benchmarking progress
43
- - Weak-label baseline comparisons
44
- - Fast inference on large datasets
 
 
45
 
46
  ---
47
 
48
- ## Architecture
49
 
50
- - **Backbone:** Frozen `microsoft/wavlm-base` (768-dim)
51
- - **Head:** Linear classifier → 2 classes (laugh / not-laugh)
52
- - **Input:** 25ms audio frames → WavLM embeddings
53
- - **Output:** Binary laughter probability
 
 
 
54
 
55
  ---
56
 
57
- ## Performance
58
 
59
- | Metric | Value |
60
- |--------|-------|
61
- | Validation F1 | 0.27 |
62
- | Event IoU-F1@0.2 | 0.23 |
63
- | Average Precision | 0.14 |
64
- | Downloads | **265** |
65
 
66
  ---
67
 
68
- ## Quick Start
69
 
70
  ```python
71
  from transformers import pipeline
@@ -74,34 +172,50 @@ pipe = pipeline(
74
  "audio-classification",
75
  model="Hayasuki/ChuckleNet-Genki"
76
  )
77
- results = pipe("standup_clip.mp3")
 
 
 
78
  ```
79
 
80
  ---
81
 
82
- ## Limitations
 
 
 
 
 
 
 
 
 
83
 
84
- ⚠️ **Weak labels only** — trained on VTT transcript markers, not human-verified laughter events. Do not use for clinical or production deployment without human validation.
 
 
 
85
 
86
  ---
87
 
88
- ## Citation
89
 
90
  ```bibtex
91
  @misc{chuckleNetGenki2026,
92
  author = {Subhajit Das},
93
  title = {ChuckleNet-Genki: First Generation Laughter Detection},
94
  year = {2026},
95
- url = {https://huggingface.co/Hayasuki/ChuckleNet-Genki}
 
96
  }
97
  ```
98
 
99
  ---
100
 
101
- ## Related Models
 
 
 
 
102
 
103
- | Model | Labels | F1 | Purpose |
104
- |-------|--------|-----|---------|
105
- | **ChuckleNet-Ten** | Human-verified | 0.975 | Primary model |
106
- | **ChuckleNet-Kage** | Weak (v32) | 0.33 | Research comparison |
107
- | **ChuckleNet-Genki** | Weak (v1) | 0.27 | Historical reference |
 
19
  - genki
20
  metrics:
21
  - f1
 
22
  datasets:
23
  - StandUp4AI
24
  papers:
25
  - https://github.com/Das-rebel/ChuckleNet
26
  ---
27
 
28
+ <div align="center">
29
+
30
  # 🎭 ChuckleNet-Genki (元気)
31
 
32
+ ***"The original spirit."***
33
+
34
+ **First-generation laughter detection model — where the journey began.**
35
+
36
+ [![Downloads](https://img.shields.io/badge/Downloads-265+-brightgreen?style=flat-square)](https://huggingface.co/Hayasuki/ChuckleNet-Genki)
37
+ [![Model Size](https://img.shields.io/badge/Parameters-230K-blue?style=flat-square)](https://huggingface.co/Hayasuki/ChuckleNet-Genki)
38
+ [![License](https://img.shields.io/badge/License-MIT-green?style=flat-square)](https://opensource.org/licenses/MIT)
39
+ [![Dataset](https://img.shields.io/badge/Dataset-StandUp4AI%20620v-purple?style=flat-square)](https://github.com/Standup4AI/dataset)
40
+
41
+ *The most-downloaded ChuckleNet model — establishing the baseline for all that followed.*
42
+
43
+ </div>
44
+
45
+ ---
46
+
47
+ ## 📜 The Origin Story
48
+
49
+ ```
50
+ ┌─────────────────────────────────────────────────────────────────┐
51
+ │ GENKI TIMELINE │
52
+ ├─────────────────────────────────────────────────────────────────┤
53
+ │ │
54
+ │ 2024-09 "Can frozen WavLM detect laughter?" │
55
+ │ Question posed, first experiment designed │
56
+ │ │ │
57
+ │ ▼ │
58
+ │ 2024-10 Genki v1 trained on 620 StandUp4AI videos │
59
+ │ Weak labels: VTT [laughter] transcript markers │
60
+ │ Result: F1 = 0.27 — proof of concept! │
61
+ │ │ │
62
+ │ ▼ │
63
+ │ 2025-01 "Weak labels are noisy — need human verification" │
64
+ │ → ChuckleNet-Ten project begins │
65
+ │ │ │
66
+ │ ▼ │
67
+ │ 2025-06 ChuckleNet-Ten: F1 = 0.975 (human-verified) │
68
+ │ ChuckleNet-Kage: IoU-F1 = 0.229 (v32) │
69
+ │ │
70
+ │ Genki lives on as the historical reference point. │
71
+ │ │
72
+ └─────────────────────────────────────────────────────────────────┘
73
+ ```
74
+
75
+ ---
76
+
77
+ ## 🧬 Evolutionary Tree
78
+
79
+ ```
80
+ ChuckleNet Family Tree
81
+
82
+ ┌──────────────────┐
83
+ │ microsoft/ │
84
+ │ wavlm-base │
85
+ │ (frozen) │
86
+ └────────┬─────────┘
87
+ │
88
+ ┌────────────────┼────────────────┐
89
+ │ │ │
90
+ ▼ ▼ ▼
91
+ ┌───────────────┐ ┌───────────────┐ ┌───────────────┐
92
+ │ 🎭 Genki v1 │ │ 👻 Kage v32 │ │ 🏔️ Ten │
93
+ │ Weak labels │ │ Weak labels │ │ Human-verified│
94
+ │ 620 videos │ │ 620 videos │ │ 87 videos │
95
+ │ F1 = 0.27 │ │ IoU = 0.229 │ │ F1 = 0.975 │
96
+ │ First attempt │ │ Refined probe │ │ Gold standard │
97
+ └───────────────┘ └───────────────┘ └───────────────┘
98
+ ```
99
+
100
+ ---
101
+
102
+ ## 📊 Performance Over Time
103
 
104
+ ```
105
+ Model Evolution:
106
+
107
+ Genki v1 (Sep 2024) ████████░░░░░░░░░░░░░░░░░░ F1 = 0.27
108
+ │
109
+ Kage v32 (Mar 2025) ████████████████░░░░░░░░░░░ IoU = 0.229
110
+ │ (different metric)
111
+ │
112
+ Ten (Jun 2025) ████████████████████████████ F1 = 0.975 ✅
113
+ │
114
+ Human-verified labels
115
+ enabled this jump
116
+ ```
117
 
118
  ---
119
 
120
+ ## 🔧 Technical Specs
121
+
122
+ | Component | Specification |
123
+ |-----------|---------------|
124
+ | **Backbone** | microsoft/wavlm-base (frozen, 768-dim) |
125
+ | **Head** | Linear: 768→2 |
126
+ | **Training** | 620 StandUp4AI videos, weak labels |
127
+ | **Optimizer** | AdamW, lr=1e-3 |
128
+ | **Input** | 25ms audio frames → WavLM → classifier |
129
+ | **Output** | Binary: laugh / no-laugh |
130
+
131
+ ---
132
 
133
+ ## 📈 Baseline Metrics
134
 
135
+ | Metric | Value | Note |
136
+ |--------|-------|------|
137
+ | **F1 Score** | `0.27` | Primary metric |
138
+ | **Event IoU-F1@0.2** | `0.23` | Secondary metric |
139
+ | **Average Precision** | `0.14` | Precision-recall area |
140
+ | **Downloads** | **265+** | Most popular ChuckleNet model |
141
 
142
  ---
143
 
144
+ ## 🎯 Use Cases for Genki
145
 
146
+ | Use Case | Recommendation |
147
+ |----------|----------------|
148
+ | **Historical reference** | ✅ Perfect — first model, established baseline |
149
+ | **Benchmark comparisons** | ✅ Good — track improvement over iterations |
150
+ | **Fast prototyping** | ⚠️ Use Ten instead (better accuracy) |
151
+ | **Production deployment** | ❌ Use Ten instead (human-verified) |
152
+ | **Research citations** | ⚠️ Cite Genki for weak-label baseline |
153
 
154
  ---
155
 
156
+ ## 🆚 Comparison Table
157
 
158
+ | Model | Labels | F1 | IoU-F1 | Downloads | Best For |
159
+ |-------|--------|-----|--------|----------|----------|
160
+ | 🏔️ **Ten** | Verified | **0.975** | 0.330 | New | Production ✅ |
161
+ | 👻 **Kage** | Weak | 0.27 | **0.229** | 49 | Research |
162
+ | 🎭 **Genki** | Weak | 0.27 | 0.23 | **265** | Historical |
 
163
 
164
  ---
165
 
166
+ ## 🚀 Quick Start
167
 
168
  ```python
169
  from transformers import pipeline
 
172
  "audio-classification",
173
  model="Hayasuki/ChuckleNet-Genki"
174
  )
175
+
176
+ result = pipe("standup_clip.mp3")
177
+ # [{'label': 'no_laugh', 'score': 0.77},
178
+ # {'label': 'laugh', 'score': 0.23}]
179
  ```
180
 
181
  ---
182
 
183
+ ## ⚠️ Limitations
184
+
185
+ - **Weak labels only** — VTT transcript markers, not human-verified
186
+ - **Low F1** — 0.27 is a baseline, not production-ready
187
+ - **Linear head** — no hidden layers limits representation capacity
188
+ - **Not for production** — use ChuckleNet-Ten instead
189
+
190
+ ---
191
+
192
+ ## 📚 Further Reading
193
 
194
+ | Model | Description |
195
+ |-------|-------------|
196
+ | [🏔️ ChuckleNet-Ten](https://huggingface.co/Hayasuki/ChuckleNet-Ten) | Primary model, human-verified, F1=0.975 |
197
+ | [👻 ChuckleNet-Kage](https://huggingface.co/Hayasuki/ChuckleNet-Kage) | Research model, IoU-F1=0.229 |
198
 
199
  ---
200
 
201
+ ## 📄 Citation
202
 
203
  ```bibtex
204
  @misc{chuckleNetGenki2026,
205
  author = {Subhajit Das},
206
  title = {ChuckleNet-Genki: First Generation Laughter Detection},
207
  year = {2026},
208
+ url = {https://huggingface.co/Hayasuki/ChuckleNet-Genki},
209
+ note = {First attempt at laughter detection using frozen WavLM on 620 StandUp4AI videos}
210
  }
211
  ```
212
 
213
  ---
214
 
215
+ <div align="center">
216
+
217
+ [![Hugging Face](https://img.shields.io/badge/🤗-Hugging%20Face-FFD21E?style=for-the-badge&logo=huggingface)](https://huggingface.co/Hayasuki/ChuckleNet-Genki)
218
+
219
+ *The spirit that started it all. 265+ downloads and counting.*
220
 
221
+ </div>