- Prasyarat
- Bagaimana Pengenalan Wajah Bekerja dengan OpenCV
- Deteksi Wajah menggunakan Pengklasifikasi Kaskade di OpenCV
Pengenalan Wajah semakin populer dan kebanyakan dari kita sudah menggunakannya tanpa menyadarinya. Baik itu saran Tag Facebook sederhana atau Filter Snapchat atau pengawasan keamanan bandara tingkat lanjut, Pengenalan Wajah telah menghasilkan keajaiban di dalamnya. China telah mulai menggunakan Pengenalan Wajah di sekolah untuk memantau kehadiran dan perilaku siswa. Toko Eceran telah mulai menggunakan Pengenalan Wajah untuk mengkategorikan pelanggan mereka dan mengisolasi orang-orang dengan riwayat penipuan. Dengan lebih banyak perubahan yang sedang berlangsung, tidak diragukan lagi bahwa teknologi ini akan terlihat di mana-mana dalam waktu dekat.
Dalam tutorial ini kita akan belajar bagaimana kita bisa membangun sistem Pengenalan Wajah kita sendiri menggunakan OpenCV Library di Raspberry Pi. Keuntungan menginstal sistem ini pada Raspberry Pi portabel adalah Anda dapat menginstalnya di mana saja untuk menjadikannya sebagai sistem pengawasan. Seperti semua sistem Pengenalan Wajah, tutorial akan melibatkan dua skrip python, satu adalah program Trainer yang akan menganalisis sekumpulan foto orang tertentu dan membuat kumpulan data (File YML). Program kedua adalah program Recognizeryang mendeteksi wajah dan kemudian menggunakan file YML ini untuk mengenali wajah dan menyebutkan nama orang. Kedua program yang akan kita bahas di sini adalah untuk Raspberry Pi (Linux), tetapi juga akan berfungsi di Komputer Windows dengan sedikit perubahan. Kami sudah memiliki serangkaian Tutorial untuk pemula untuk memulai OpenCV, Anda dapat memeriksa semua tutorial OpenCV di sini.
Prasyarat
Seperti yang diceritakan sebelumnya, kami akan menggunakan OpenCV Library untuk mendeteksi dan mengenali wajah. Jadi pastikan Anda menginstal OpenCV Library di Pi sebelum melanjutkan tutorial ini. Juga Nyalakan Pi Anda dengan adaptor 2A dan hubungkan ke monitor tampilan melalui kabel HDMI karena kami tidak akan bisa mendapatkan output video melalui SSH.
Juga saya tidak akan menjelaskan bagaimana tepatnya OpenCV bekerja, jika Anda tertarik untuk mempelajari pemrosesan gambar, lihat dasar-dasar OpenCV ini dan tutorial pemrosesan gambar lanjutan. Anda juga dapat mempelajari tentang kontur, Deteksi Blob, dll dalam tutorial Segmentasi Gambar ini.
Bagaimana Pengenalan Wajah Bekerja dengan OpenCV
Sebelum kita mulai, penting untuk dipahami bahwa Deteksi Wajah dan Pengenalan Wajah adalah dua hal yang berbeda. Dalam Deteksi Wajah hanya Wajah seseorang yang terdeteksi, perangkat lunak tidak akan tahu siapa Orang itu. Dalam Pengenalan Wajah, perangkat lunak tidak hanya akan mendeteksi wajah tetapi juga akan mengenali orang tersebut. Sekarang, sudah jelas bahwa kita perlu melakukan Deteksi Wajah sebelum melakukan Pengenalan Wajah. Tidak mungkin bagi saya untuk menjelaskan bagaimana tepatnya OpenCV mendeteksi wajah atau objek lain dalam hal ini. Jadi, jika Anda penasaran, Anda dapat mengikuti tutorial Deteksi Objek ini.
Umpan video dari webcam tidak lebih dari rangkaian panjang gambar diam yang diperbarui satu demi satu. Dan masing-masing gambar ini hanyalah kumpulan piksel dengan nilai berbeda yang disatukan di posisinya masing-masing. Jadi bagaimana sebuah program dapat mendeteksi wajah dari piksel ini dan lebih jauh mengenali orang di dalamnya? Ada banyak algoritme di baliknya dan mencoba menjelaskannya di luar cakupan artikel ini, tetapi karena kami menggunakan pustaka OpenCV, sangat mudah untuk melakukan Pengenalan wajah tanpa mendalami konsepnya.
Deteksi Wajah menggunakan Pengklasifikasi Kaskade di OpenCV
Hanya jika kita dapat mendeteksi sebuah wajah, kita akan dapat mengenali atau mengingatnya. Untuk mendeteksi objek seperti wajah, OpenCV menggunakan sesuatu yang disebut Pengklasifikasi. Pengklasifikasi ini adalah kumpulan data (File XML) yang telah dilatih sebelumnya yang dapat digunakan untuk mendeteksi objek tertentu dalam kasus kami wajah. Anda dapat mempelajari lebih lanjut tentang Pengklasifikasi Deteksi Wajah di sini. Selain mendeteksi Wajah, Pengklasifikasi dapat mendeteksi objek lain seperti hidung, mata, Plat Kendaraan, Senyum, dll. Daftar Pengklasifikasi Kasus dapat diunduh dari file ZIP di bawah ini
Pengklasifikasi untuk deteksi Objek dengan Python
Sebagai alternatif, OpenCV juga memungkinkan Anda membuat Pengklasifikasi Anda sendiri yang dapat digunakan untuk mendeteksi objek lain dalam Gambar dengan Melatih Pengklasifikasi Bertingkat Anda. Dalam tutorial ini kita akan menggunakan classifier bernama “haarcascade_frontalface_default.xml” yang akan mendeteksi wajah dari posisi depan. Kita lihat