ConvNeXt V2 Femto - SERA
Model deteksi emosi/keterlibatan (affective state) berbasis wajah untuk SERA (Student Emotion Recognition and Analytics). Model membaca satu crop wajah dan memprediksi empat kondisi emosi belajar secara independen (multi-label), sehingga satu wajah dapat menyandang lebih dari satu kondisi sekaligus.
Informasi Model
| Atribut | Detail |
|---|
| Nama file | convnextv2_femto_v3(crop).onnx |
| Arsitektur | ConvNeXt V2 (varian Femto) + head klasifikasi 2 lapis |
| Pra-pelatihan backbone | FCMAE (self-supervised) → fine-tune ImageNet-1k |
| Jumlah parameter | ~4,9 juta (4,8 jt backbone + 0,1 jt head) |
| GMACs / Input | ~0,8 GMACs · crop wajah RGB 224×224, normalisasi ImageNet |
| Format | ONNX |
| Tugas | Facial Emotion Recognition (multi-label) |
| Sumber | aitf-ub-2026/ub-sr-01-model-fer-convnextv2-datasetv3 |
Catatan parameter. Di tabel benchmark timm, convnextv2_femto tercatat 5,23 juta parameter karena angka tersebut sudah termasuk head klasifikasi ImageNet (1000 kelas). Pada model ini, head bawaan tersebut (~0,39 juta) dibuang dan diganti head 4-label (~0,10 juta), sehingga total menjadi ~4,9 juta parameter.
Versi Model
Repositori ini memuat tiga checkpoint. Gunakan convnextv2_femto_v3(crop).onnx untuk hasil terbaik.
| File | Keterangan |
|---|
convnextv2_femto.onnx | Versi awal; crop saat pelatihan belum selaras dengan inferensi |
convnextv2_femto_v2(crop).onnx | Versi crop pertama |
convnextv2_femto_v3(crop).onnx | Versi terbaru dan direkomendasikan; hyperparameter dioptimasi melalui Bayesian sweep (Weights & Biases) |
Konfigurasi hyperparameter v3(crop) diperoleh melalui pencarian otomatis (Bayesian optimization) menggunakan Weights & Biases (W&B) sweep, dengan macro-F1 validasi sebagai metrik target.
Label Output
Model mengeluarkan 4 probabilitas independen (melalui sigmoid) dengan urutan indeks keluaran berikut:
| Indeks | Label | Keterangan |
|---|
| 0 | Boredom | bosan / kehilangan minat |
| 1 | Engagement | terlibat / fokus |
| 2 | Confusion | bingung |
| 3 | Frustration | frustrasi |
Karena bersifat multi-label, satu wajah dapat aktif pada beberapa label sekaligus (misalnya boredom dan confusion bersamaan), atau tidak pada satu label pun.
Threshold per Label
Keputusan aktif/tidaknya tiap label tidak menggunakan ambang baku 0,5, melainkan threshold hasil tuning yang ditempelkan pada metadata model.
| Label | Threshold |
|---|
| Boredom | 0,70 |
| Engagement | 0,14 |
| Confusion | 0,56 |
| Frustration | 0,23 |
Metadata ONNX juga memuat labels dan arch, sehingga aplikasi inferensi dapat membacanya secara langsung tanpa konfigurasi tambahan.
Mengapa Varian "crop" (v3)?
Model ini dilatih pada wajah yang di-crop ulang menggunakan detektor wajah yang sama dengan yang digunakan saat inferensi. Tujuannya adalah menyelaraskan crop factor data pelatihan dengan proses inferensi.
Pada versi non-crop, perbedaan cara melakukan crop menyebabkan wajah yang berada dekat dengan kamera cenderung salah diprediksi. Dengan proses deteksi dan crop yang konsisten antara pelatihan dan inferensi, distribusi data menjadi selaras sehingga prediksi lebih stabil dan akurat.
Hasil Evaluasi (set test, 1.831 gambar)
| Metrik | Nilai |
|---|
| Macro-F1 | 0,8289 |
| Subset accuracy | 0,7002 |
| Rata-rata akurasi per label | 0,9089 |
| Rata-rata AUC | 0,9174 |
| Label | F1 | AUC | Akurasi |
|---|
| Boredom | 0,9136 | 0,9975 | 0,9924 |
| Engagement | 0,9836 | 0,8719 | 0,9689 |
| Confusion | 0,7232 | 0,8645 | 0,7952 |
| Frustration | 0,6952 | 0,9356 | 0,8793 |
Perilaku Khusus
- Jika wajah tidak terdeteksi oleh kamera, sistem mengembalikan nilai
undefined karena model hanya dijalankan pada crop wajah yang valid.
Catatan
- Varian Femto dipilih karena ukurannya yang ringan (~4,9 juta parameter), sehingga cocok untuk inferensi real-time dan deployment pada perangkat dengan sumber daya terbatas.
- Format ONNX memudahkan portabilitas lintas runtime (misalnya ONNX Runtime, web, dan mobile).
- Kode pelatihan dan ekspor model tersedia di github.com/aitf-sr1/convnext-final-code-sera.