Real-time Face Detector Wajah Mahasiswa Dalam Sesi Pengajaran Menggunakan Anchor Matching Strategy Pada YOLOv3
Convolutional Neural Network (CNN) merupakan salah satu metode dalam Artificial Intelligence yang hingga saat ini masih menarik untuk diteliti. Sebab, dengan CNN permasalahan visual classification dan recognition dapat diselesaikan menggunakan teknologi komputer. Aplikasi nyata dari Convolutional Neural Network (CNN) adalah face detection dimana komputer jaringan syaraf buatan dilatih untuk mengklasifikasikan objek yang berupa wajah dan bukan wajah atau background objects.
Face detection merupakan langkah awal dalam sistem Face recognition dimana sistem jaringan syaraf buatan akan terlebih dahulu mencari objek yang merupakan wajah berdasarkan pattern umum dari wajah lalu akan mengenali pattern khusus dari pemilik wajah. Jika jaringan syaraf buatan atau CNN tidak mampu mendeteksi wajah secara akurat, maka sistem face recognition yang dibangun juga tidak akan mampu mengenali secara akurat dari pemilik wajah. Namun, akurasi juga tidak selalu menjadi hal yang dijadikan target utama dalam penelitian face detection menggunakan CNN. Sistem face detection maupun face recognition yang dibangun juga harus mampu memiliki kecepatan deteksi yang dapat diterima atau relatif cepat sehingga juga dapat diimplementasikan dalam sistem real-time face detector atau face recognition dengan spesifikasi hardware yang tidak terlalu tinggi sehingga mampu menekan cost implementasi. Namun, semakin tinggi akurasi akan membutuhkan proses komputasi yang tinggi pula, sehingga akan berbanding terbalik dengan nilai kecepatan deteksi objek pada jaringan syaraf buatan yang dibangun.
YOLOv3 merupakan salah satu object detector yang memiliki tingkat akurasi yang relatif baik dan mampu mendeteksi objek secara real-time. YOLOv3 menggunakan metode anchor-based detector dimana metode ini menggunakan
kotak jangkar (anchor box) pada data gambar yang masuk ke dalam Convolutional Neural Network atau jaringan syaraf buatan. Metode ini memberikan keuntungan yang relatif signifikan dibandingkan metode lama, yaitu sliding window detection. Sliding window detection sangatlah boros dalam proses komputasi karena jaringan syaraf buatan akan melakukan proses komputasi dari setiap pergeseran window pada gambar sebagai detector dalam satu frame gambar. Jika menggunakan metode anchor-based detector, maka proses komputasi akan sangat signifikan menurun karena anchor box akan di-generate dalam sekali proses untuk setiap frame. Anchor-based detector pada YOLOv3 memilih anchor box yang tepat sebagai area objek yang dideteksi berdasarkan nilai confidence score dan IoU (Intersection over Union) yang memenuhi nilai threshold yang sudah ditentukan. Dengan metode ini YOLOv3 memperoleh Mean Average Precision pada COCO dataset sebesar 55,3% dengan kecepatan deteksi sebesar 35 Frame per Second menggunakan GPU Pascal Titan X. Dengan kemampuan ini, YOLOv3 memiliki potensi yang relatif baik untuk digunakan sebagai real-time face detector.
WIDER Face dataset benchmark merupakan paket data gambar yang terdiri dari 32,203 gambar dengan jumlah wajah yang memiliki anotasi sebanyak 393,703 wajah dengan variasi pose, ukuran, fokus, dan saturasi yang beragam. Sehingga WIDER Face dataset ini menjadi salah satu dataset yang relatif menantang karena memiliki jumlah wajah yang banyak dengan ukuran yang kecil untuk dideteksi dalam penelitian pendeteksian wajah menggunakan CNN. WIDER Face menggunakan metode evaluasi yang terbagi menjadi 3 level kesulitan, yaitu level hard untuk wajah yang berukuran kecil, medium untuk wajah berukuran sedang, dan easy untuk wajah yang berukuran besar. WIDER Face dataset pada set evaluasi tingkat hard memiliki kesulitan yang relatif tinggi, sebab semakin dalam atau deep dari jaringan CNN, maka objek yang memiliki ukuran kecil akan semakin hilang di dalam feature map sehingga sulit dideteksi. Beberapa metode yang memiliki hasil relatif baik pada dataset WIDER Face adalah S3FD dan DSFD. S3FD terinspirasi dari metode SSD (Single Shot Detector) dan RPN (Regional Proposal Network) sehingga menawarkan tingkat akurasi yang relatif baik dengan kecepatan deteksi yang dapat diterima. S3FD memiliki akurasi sebesar 93,7%, 92,4%, dan 85,2% pada WIDER Face dataset di masing-masing level easy, medium, dan hard. S3FD mampu mencapai 36 frame per second pada GPU Pascal Titan X dengan besar input gambar yang masuk adalah gambar yang memiliki resolusi 640×640. DSFD (Dual Shot Face Detector) memiliki pendekatan berbeda untuk mendeteksi objek kecil seperti wajah yang ada pada dataset WIDER Face. DSFD menambahkan layer pada setiap backbone layer yang disebut Feature Enhanced Module yang berfungsi untuk memproduksi dan memperkuat feature map pada objek yang berukuran relatif kecil agar dapat mudah dideteksi dengan resolusi yang sama dengan resolusi gambar input. Sehingga dengan metode ini mampu memberikan tingkat akurasi yang relatif baik pada dataset WIDER Face sebesar 96,6%, 95,7%, dan 90,4% pada level easy, medium, dan hard. Namun, dalam implementasi S3FD dan DSFD masih dibutuhkan spesifikasi hardware yang cukup mumpuni agar detection speed dapat berjalan pada nilai ukuran yang dapat diterima.
YOLOv3 seringkali digunakan dalam pendeteksian multiple-class objects dan diperlukan proses training model dengan strategi yang tepat agar model YOLOv3 yang dijalankan mendapatkan hasil akurasi yang baik pada pendeteksian single-class object seperti wajah. Pada penelitian YOLOv3, digunakan anchor boxes yang dihasilkan dari COCO dataset yang terdiri dari 9 clusters yang digunakan untuk mendeteksi objek dengan ukuran kecil, sedang, dan besar. Namun, berdasarkan (Zhang S., 2017) pada penelitian S3FD, diketahui bahwa jika anchor boxes yang digunakan tidak sesuai dengan ukuran objek yang harus dideteksi, maka jaringan syaraf buatan yang dibangun tidak akan pernah mampu mendeteksi objek yang berada di dalam anchor box. Sebab wajah yang kecil memiliki pattern dan nilai pixel yang terbatas dibandingkan dengan objek yang memiliki ukuran lebih besar dimana terpengaruh oleh tingkat resolusi gambar yang dijadikan input. Oleh karena itu, diperlukan langkah penyesuaian anchor boxes pada model YOLOv3 agar sesuai dengan ukuran objek wajah yang didominasi oleh ukuran yang kecil pada WIDER Face dataset. Setelah model YOLOv3 yang dibuat sudah mendapatkan hasil yang diharapkan, maka diperlukan ujicoba dan evaluasi pada kasus nyata seperti pendeteksian wajah di dalam kelas dimana dalam sesi pengajaran akan terjadi aktifitas pergerakkan yang dinamis dengan banyak wajah yang harus dideteksi.
Pada penelitian ini, dilakukan proses ujicoba di dalam sesi pengajaran di Sekolah Bisnis dan Manajemen, Institut Teknologi Bandung, Kampus Jakarta dimana dalam sesi tersebut terdapat 15 orang termasuk dengan dosen yang sedang mengajar. Maka diharapkan dengan situasi nyata ini, dapat diketahui performa model YOLOv3 yang dibuat mampu mendeteksi wajah dengan baik secara real-time atau tidak.
Peneliti: Eko Cahyo Nugroho dan I Gede Putra Kusuma Negara