IsyaratKu Cam
Inspirasi
Meeting online telah menjadi bagian dari kehidupan sehari-hari, tetapi bagi teman Tuli dan tunarungu pengguna Bahasa Isyarat Indonesia (BISINDO), berkomunikasi dengan peserta dengar masih memiliki tantangan tersendiri. Komunikasi sering membutuhkan penerjemah, sementara tidak semua orang memiliki akses terhadap layanan tersebut setiap saat.
Kami melihat bahwa webcam yang sudah tersedia di sebagian besar laptop dapat dimanfaatkan sebagai sarana untuk membantu komunikasi ini. Dari ide tersebut, kami mengembangkan IsyaratKu Cam, aplikasi desktop yang membantu menerjemahkan isyarat menjadi teks dan suara agar komunikasi dalam meeting online menjadi lebih mudah diakses.
Fokus kami adalah membangun alat bantu yang tidak berhenti pada pengenalan bahasa isyarat, tetapi menghubungkan hasil pengenalan tersebut dengan media komunikasi yang sudah digunakan sehari-hari.
Mengenal IsyaratKu Cam
IsyaratKu Cam adalah aplikasi desktop Windows yang dirancang untuk membantu pengguna BISINDO berkomunikasi dengan peserta dengar melalui video meeting. Pengguna cukup menggunakan webcam untuk memberikan isyarat, kemudian aplikasi memprosesnya menjadi teks dan suara.
Aplikasi menyediakan dua bentuk keluaran utama. Teks ditampilkan sebagai subtitle pada video, sedangkan suara dihasilkan menggunakan teknologi text-to-speech (TTS) offline. Dengan begitu, peserta dengar dapat membaca atau mendengar kata yang dikenali, sementara pengguna BISINDO dapat menyampaikan pesan melalui isyarat.
IsyaratKu Cam juga menyediakan jalur pengenalan huruf dan angka. Pengguna dapat beralih antara mode kata dan mode huruf atau angka melalui gestur khusus, sehingga interaksi tidak hanya terbatas pada kumpulan kata yang tersedia.
Bagaimana IsyaratKu Cam digunakan?
Alur penggunaan dirancang agar sederhana, terutama bagi pengguna yang hanya ingin menjalankan aplikasi tanpa harus memahami proses teknis di baliknya.
- Hubungkan perangkat. Pengguna menyiapkan webcam, OBS Studio dengan OBS Virtual Camera, dan VB-Cable sebagai perangkat audio virtual.
- Jalankan aplikasi. Pengguna membuka IsyaratKu Cam dalam mode ready-to-use dan menekan tombol Start.
- Berikan isyarat. Kamera menangkap gerakan tangan dan tubuh untuk diproses oleh sistem pengenalan.
- Lihat hasilnya. Kata yang dikenali ditampilkan sebagai subtitle pada video.
- Sampaikan melalui suara. Sistem mengubah hasil pengenalan menjadi suara menggunakan TTS offline.
- Gunakan dalam meeting. OBS Virtual Camera dan VB-Cable dapat dipilih sebagai perangkat video dan audio di aplikasi meeting yang mendukungnya.
Pemeriksaan perangkat dilakukan saat aplikasi dimulai. Jika kamera atau perangkat virtual yang dibutuhkan belum tersedia, aplikasi dapat memberikan pesan kesalahan yang jelas kepada pengguna.
Integrasi ini dirancang untuk mengurangi kebutuhan peserta lain memasang aplikasi khusus. Namun, pengujian langsung dengan Zoom dan Google Meet belum terverifikasi dalam dokumentasi proyek, sehingga kompatibilitas end-to-end dengan kedua layanan tersebut masih perlu diuji.
Dua mode untuk dua kebutuhan
IsyaratKu Cam menyediakan dua antarmuka yang menggunakan pipeline pengenalan yang sama.
Ready-to-use mode ditujukan untuk penggunaan sehari-hari. Antarmukanya sederhana, dengan tombol Start dan Stop serta pemeriksaan perangkat otomatis. Pengguna tidak perlu berinteraksi dengan parameter model atau informasi teknis lainnya.
Debug mode ditujukan untuk pengembangan dan evaluasi. Mode ini menampilkan video, subtitle, informasi FPS, frame yang diproses atau dibuang, status kestabilan prediksi, serta riwayat kata yang dihasilkan. Informasi tersebut membantu pengembang menemukan masalah tanpa harus membangun aplikasi yang berbeda untuk proses debugging.
Pendekatan dua mode ini memungkinkan pengembangan dan penggunaan produk tetap berada dalam satu aplikasi, dengan kebutuhan antarmuka yang berbeda.
Cakupan dan kemampuan saat ini
Pengembangan IsyaratKu Cam dilakukan secara bertahap untuk menjaga ruang lingkup proyek tetap realistis.
Pada jalur pengenalan kata, model utama mencakup 33 kelas gloss, termasuk kelas tidak ada isyarat. Untuk demonstrasi, aplikasi juga menyediakan model kata yang lebih kecil dengan empat kelas: Halo, Saya, Terima kasih, dan tidak ada isyarat.
Jalur huruf dan angka berjalan terpisah dari jalur kata. Model huruf utama mencakup alfabet A–Z, sedangkan model angka statis mencakup digit 0–9 dan satu kelas tambahan. Artefak model angka dinamis juga tersedia, meskipun belum dihubungkan ke pipeline runtime.
Penting untuk membedakan ketersediaan model dengan kemampuan aplikasi yang siap digunakan. Model demo kata memiliki kosakata terbatas, sedangkan model huruf demo hanya mencakup delapan huruf, yaitu I, S, Y, A, R, T, K, dan U. Karena itu, kemampuan setiap jalur bergantung pada model yang sedang dimuat.
IsyaratKu Cam saat ini berfokus pada pengenalan isyarat terisolasi, bukan penerjemahan seluruh percakapan bahasa isyarat secara kontinu. Sistem juga belum mengubah ucapan peserta dengar menjadi bahasa isyarat.
Tantangan dan solusi
Menjaga komunikasi tetap jelas
Prediksi model dapat berubah-ubah ketika pengguna melakukan gerakan yang tidak sesuai dengan kelas yang dilatih. Jika setiap prediksi langsung ditampilkan dan diucapkan, hasilnya dapat membingungkan pengguna maupun lawan bicara.
Untuk mengurangi masalah tersebut, IsyaratKu Cam menggunakan penyaringan confidence, voting beberapa prediksi, dan jeda antarkeluaran. Pendekatan ini membantu menjaga subtitle dan suara agar tidak berubah terlalu cepat atau mengulang kata secara berlebihan.
Memastikan suara sampai ke meeting
Perangkat audio virtual memiliki beberapa endpoint dengan nama yang mirip. Kesalahan memilih endpoint dapat menyebabkan suara hanya keluar melalui speaker lokal, bukan melalui perangkat yang digunakan meeting.
Sistem kemudian diperbaiki agar pemilihan perangkat juga mempertimbangkan kemampuan kanal output. Apabila perangkat yang sesuai tidak ditemukan, aplikasi memberikan kesalahan yang jelas daripada diam-diam mengalihkan suara ke perangkat yang salah.
Menjaga video tetap lancar
Pengenalan isyarat membutuhkan pemrosesan gambar yang terus berjalan. Jika seluruh pekerjaan dilakukan secara berurutan, video berpotensi tersendat saat model sedang memprediksi.
IsyaratKu Cam memisahkan penangkapan frame, inferensi, dan output agar pekerjaan dapat berlangsung secara paralel. Queue berbatas juga digunakan untuk menghindari penumpukan frame ketika salah satu tahap berjalan lebih lambat.
Menguji aplikasi tanpa perangkat lengkap
Pengembangan yang bergantung sepenuhnya pada webcam dan perangkat audio akan menyulitkan pengujian di komputer lain.
Karena itu, kami menyediakan adapter tiruan atau fake adapter yang memungkinkan pipeline diuji tanpa perangkat fisik. Pengujian headless juga tersedia untuk memverifikasi bahwa alur utama aplikasi dapat dijalankan tanpa membuka antarmuka grafis.
Hasil evaluasi dan keterbatasan
Hasil evaluasi menunjukkan bahwa performa IsyaratKu Cam berbeda menurut jenis pengenalan dan skema pengujiannya.
| Model | Hasil evaluasi |
|---|---|
| Kata, 33 kelas | 57,45% |
| Huruf A–Z | 95,76% setelah deduplikasi data validasi |
| Angka statis, 11 kelas | 98,68% |
| Angka dinamis, 10 kelas | 87,69% |
Angka tersebut merupakan hasil evaluasi pada dataset masing-masing dan tidak dapat langsung dianggap sebagai akurasi penggunaan nyata.
Tantangan terbesar terdapat pada generalisasi model kata terhadap orang yang berbeda. Pada pengujian dengan satu signer dikeluarkan dari data pelatihan, akurasi berada pada rentang 8,06–60,58%, jauh di bawah hasil random split dalam satu signer sebesar 97,99%. Ini menunjukkan bahwa model kata masih sangat dipengaruhi oleh orang yang melakukan perekaman.
Selain itu, akurasi model huruf dan angka berasal dari data validasi yang belum memiliki metadata signer. Hasil tersebut belum membuktikan bahwa model dapat mengenali isyarat secara konsisten dari seluruh pengguna BISINDO.
Dalam evaluasi proyek, kami juga membedakan keberhasilan pipeline lokal dengan keberhasilan integrasi meeting. Alur kamera, pemrosesan, subtitle, dan virtual camera telah diuji secara lokal, tetapi kompatibilitas aktual dengan aplikasi meeting serta performa end-to-end pada beragam komputer masih perlu divalidasi.
Pencapaian yang kami banggakan
- Membangun aplikasi desktop yang menghubungkan pengenalan isyarat, subtitle video, TTS offline, dan perangkat virtual.
- Menyediakan mode ready-to-use dan debug dalam satu codebase.
- Menghadirkan jalur pengenalan kata, huruf, dan angka dengan model yang terpisah.
- Mengimplementasikan pemeriksaan perangkat saat aplikasi dimulai untuk mengurangi kesalahan konfigurasi yang sulit diketahui pengguna.
- Menyediakan pengujian otomatis dan fake adapter agar komponen utama tetap dapat diuji tanpa perangkat fisik.
- Mengevaluasi model menggunakan metrik terukur dan mendokumentasikan keterbatasan generalisasi, bukan hanya menampilkan angka akurasi terbaik.
Bagi kami, pencapaian utamanya adalah menghubungkan komponen pengenalan bahasa isyarat dengan kebutuhan komunikasi yang nyata. IsyaratKu Cam dikembangkan sebagai prototipe yang dapat diuji dan ditingkatkan, bukan sekadar demonstrasi model klasifikasi.
Yang kami pelajari
Pengembangan IsyaratKu Cam menunjukkan bahwa membangun alat bantu komunikasi membutuhkan lebih dari sekadar model dengan akurasi tinggi. Sistem harus mampu memberikan keluaran yang stabil, tetap responsif, serta berintegrasi dengan perangkat yang digunakan sehari-hari.
Kami juga mempelajari pentingnya menguji model menggunakan signer yang berbeda. Hasil yang tinggi pada orang yang sudah dikenal model tidak selalu berarti model akan bekerja dengan baik pada pengguna baru.
Dari sisi produk, pemeriksaan perangkat dan pesan kesalahan merupakan bagian penting dari pengalaman pengguna. Sementara itu, pengujian otomatis dan pemisahan komponen membantu kami memperbaiki masalah tanpa harus selalu menjalankan seluruh sistem dengan perangkat fisik.
Pengembangan selanjutnya
Prioritas pengembangan IsyaratKu Cam adalah meningkatkan keandalan penggunaan nyata. Kami ingin meningkatkan kemampuan model mengenali isyarat dari signer yang berbeda, memperluas kosakata secara bertahap, dan menghubungkan model angka dinamis ke aplikasi.
Kami juga perlu menguji sistem bersama pengguna BISINDO, memvalidasi kompatibilitas dengan berbagai aplikasi meeting, serta mengukur akurasi dan latensi pada kondisi penggunaan yang representatif.
Dalam jangka panjang, IsyaratKu Cam diarahkan menjadi alat bantu komunikasi yang lebih praktis dan inklusif. Fokusnya bukan hanya memperbanyak jumlah isyarat yang dikenali, tetapi memastikan hasil pengenalannya benar-benar membantu pengguna menyampaikan pesan dengan lebih mudah.
Implementasi teknis
Di balik fitur tersebut, IsyaratKu Cam menggunakan Python, MediaPipe Hands dan Pose untuk ekstraksi landmark, serta model klasifikasi untuk mengenali isyarat. Landmark dinormalisasi terhadap tubuh, kemudian diproses sebagai fitur posisi dan gerak. Untuk pengenalan kata, pipeline menggunakan sliding window sebanyak 30 frame dengan stride 5.
Hasil prediksi melewati confidence threshold, voting, dan cooldown sebelum diteruskan ke subtitle dan TTS. Piper digunakan untuk sintesis suara offline, OBS Virtual Camera untuk jalur video virtual, dan VB-Cable untuk jalur audio virtual.
Struktur kode dipisahkan menjadi src/core/ untuk logika inti, src/adapters/ untuk integrasi perangkat dan model, serta src/ui/ untuk antarmuka. Dependensi diarahkan dari UI dan adapter menuju core, sehingga logika inti dapat diuji secara terpisah.
Konfigurasi menggunakan kontrak parameter terpusat di src/core/config.py, dengan dukungan override melalui berkas TOML dan environment variable ISYARATKU_CONFIG. Pengujian dilakukan menggunakan pytest, fake adapter, dan smoke test headless. Aplikasi juga memiliki spesifikasi PyInstaller untuk membangun executable mode ready-to-use, debug, dan training.
Repository proyek: https://github.com/yayayapluto/isyaratku-rework
Log in or sign up for Devpost to join the conversation.