Pendahuluan
Pada tahun 2001, Viola dan Jones mengusulkan real-time kerangka deteksi objek pertama. Kerangka kerja ini, mampu beroperasi secara real-time pada 2001 hardware, adalah sebagian ditujukan untuk deteksi wajah manusia. Dan hasil semua orang tahu - deteksi wajah sekarang menjadi fitur standar untuk hampir setiap kamera digital dan ponsel di pasar. Bahkan jika perangkat tersebut mungkin tidak menggunakan metode mereka langsung, ini ketersediaan sekarang di mana-mana dari wajah mendeteksi perangkat sudah pasti terpengaruh oleh pekerjaan mereka.
Sekarang, di sini datang salah satu poin lebih menarik dari kerangka ini. Untuk mencari objek dalam sebuah adegan besar, algoritma hanya melakukan pencarian lengkap menggunakan jendela geser, menggunakan ukuran yang berbeda, rasio aspek, dan lokasi. Kenapa hal seperti ini bisa begitu efisien?
 |
Contoh Haar fitur |
 |
Contoh Deteksi Wajah |
Artikel ini harus menyajikan pembaca dengan Viola-Jones kerangka deteksi obyek, dan panduan tentang pelaksanaannya dalam Kerangka Accord.NET. Sebuah contoh aplikasi diberikan pembaca begitu tertarik bisa mencoba deteksi gambar dan melihat bagaimana hal itu dapat dilakukan dengan menggunakan kerangka.
Latar Belakang
kontribusi yang dibawa oleh Paul Viola dan Michael Jones yang tiga kali lipat. Pertama, mereka berfokus pada menciptakan classifier berdasarkan kombinasi dari beberapa pengklasifikasi lemah, berdasarkan fitur yang sangat sederhana untuk mendeteksi wajah. Kedua, mereka dimodifikasi algoritma maka standar untuk menggabungkan pengklasifikasi untuk menghasilkan pengklasifikasi yang bahkan bisa memakan waktu untuk benar-benar mendeteksi wajah dalam gambar, tapi yang bisa menolak daerah tidak mengandung wajah yang sangat cepat.
Fitur sederhana
Sebagian besar waktu, ketika salah satu adalah untuk membuat classifier, kita tiba-tiba harus memutuskan mana fitur untuk dipertimbangkan. Sebuah fitur merupakan karakteristik, sesuatu yang diharapkan akan membawa informasi yang cukup dalam proses pengambilan keputusan sehingga classifier dapat melemparkan keputusan. Misalnya, kami mencoba untuk membuat classifier untuk membedakan apakah seseorang kelebihan berat badan. Pilihan langsung fitur akan tinggi dan berat badan seseorang. Warna rambut, misalnya, tidak akan menjadi fitur informatif banyak dalam hal ini.
Jadi, mari kita kembali ke fitur yang dipilih untuk classifier Viola-Jones. Fitur yang ditampilkan di bawah ini adalah fitur persegi panjang Haar-like. Meskipun tidak segera jelas, apa mereka mewakili adalah perbedaan intensitas (grayscale) antara dua atau lebih daerah persegi panjang yang berdekatan dalam gambar.
 |
haar fitur |
Misalnya, pertimbangkan jika salah satu dari fitur tersebut ditempatkan di atas sebuah gambar, seperti gambar gambar Lena Soderberg di bawah ini. Nilai fitur akan menjadi hasil dari menjumlahkan semua piksel intensitas di sisi putih dari persegi panjang, menjumlahkan pixel di sisi biru persegi panjang, dan kemudian menghitung perbedaan mereka. Mudah-mudahan itu harus jelas dengan gambar di sisi kanan dari urutan mengapa fitur-fitur persegi panjang akan efektif dalam mendeteksi wajah. Karena keseragaman bayangan di wajah manusia, fitur tertentu tampaknya cocok dengan sangat baik.
 |
screenshoot haar fitur sample |
Gambar di atas juga memberikan ide tentang bagaimana algoritma pencarian bekerja. Dimulai dengan baik jendela besar (atau kecil) dan scan gambar mendalam (yaitu misalnya dengan dislokasi jendela beberapa poin ke kanan, dan turun di akhir baris). Ketika scan selesai, itu menyusut (atau tumbuh) jendela ini, mengulangi proses lagi.
Cascade attentional
Jika detektor tidak sangat cepat, skema ini kemungkinan besar tidak akan bekerja dengan baik secara real time. Menangkap adalah bahwa detektor sangat cepat di jendela membuang menjanjikan. Sehingga dapat dengan cepat menentukan apakah suatu daerah tidak mengandung wajah. Ketika itu tidak terlalu yakin tentang suatu wilayah, itu menghabiskan lebih banyak waktu mencoba untuk memeriksa bahwa itu bukan wajah. Ketika akhirnya menyerah berusaha untuk menolaknya, itu hanya bisa menyimpulkan itu adalah wajah.
Jadi, bagaimana detektor melakukan itu?
 |
Cascade stage |
Ia melakukannya dengan menggunakan kaskade atensi. Sebuah kaskade adalah cara menggabungkan pengklasifikasi dengan cara yang classifier diberikan hanya diproses setelah semua pengklasifikasi lain yang datang sebelum sudah diproses. Dalam kaskade, objek yang menarik hanya diperbolehkan untuk melanjutkan di cascade jika belum dibuang oleh detektor sebelumnya.
Skema klasifikasi yang digunakan dengan metode Viola-Jones sebenarnya riam pengklasifikasi didorong. Setiap tahap dalam kaskade itu sendiri adalah suatu classifier yang kuat, dalam arti dapat memperoleh tingkat penolakan yang sangat tinggi dengan menggabungkan serangkaian pengklasifikasi lemah dalam beberapa mode.
Sebuah classifier lemah adalah classifier yang dapat beroperasi hanya sedikit lebih baik daripada kesempatan. Ini berarti hanya sedikit lebih baik dari membalik koin dan memutuskan apakah ada sesuatu di gambar atau tidak. Namun demikian, adalah mungkin untuk membangun classifier yang kuat dengan menggabungkan keputusan banyak pengklasifikasi lemah menjadi keputusan tertimbang tunggal. Proses menggabungkan beberapa peserta didik yang lemah untuk membentuk peserta didik yang kuat disebut meningkatkan. Belajar classifier seperti ini dapat dilakukan, misalnya, menggunakan banyak varian dari algoritma pembelajaran AdaBoost.
Dalam metode yang diusulkan oleh Viola dan Jones, masing-masing classifier lemah bisa paling tergantung pada fitur Haar tunggal. Yang cukup menarik, di dalamnya meletakkan solusi untuk masalah yang tak terhitung: Viola dan Jones telah dipatenkan algoritma mereka. Jadi untuk menggunakannya secara komersial, Anda harus lisensi jika dari penulis, mungkin membayar biaya. Sebagai cara untuk memperpanjang detektor, Dr. Rainer Lienhart, pelaksana asli dari OpenCV Haar fitur detektor, mengusulkan menambahkan dua jenis baru dari fitur dan mengubah setiap pelajar yang lemah menjadi pohon. Trik ini nanti, selain membantu dalam klasifikasi, juga cukup untuk keluar dari perlindungan paten dari metode asli.
Nah, jadi sampai sekarang kami memiliki sistem klasifikasi yang dapat berpotensi cepat pada menolak positif palsu. Namun, ingat classifier ini harus beroperasi pada beberapa daerah skala gambar dalam rangka untuk benar-benar memindai adegan. Perbedaan Computing di intensitas juga akan cukup memakan waktu (bayangkan menjumlahkan area persegi lagi dan lagi, untuk setiap fitur, dan menghitung ulang untuk setiap penskalaan ulang).