Ini adalah upaya saya untuk membuat sistem pengenalan wajah untuk kehadiran di kelas atau kantor. Sistem ini didasarkan pada jenis arsitektur CNN khusus yang dikenal sebagai jaringan Siam. Jaringan semacam itu dilatih untuk menghasilkan vektor 128 yang sangat akurat dan hampir unik mengingat bahwa gambar wajah yang diumpankan ke jaringan diselaraskan dan dipotong dengan benar.
Kemudian jaringan saraf padat lainnya dilatih dengan mengambil input embeddings ini. Jaringan saraf kedua hanya untuk tujuan klasifikasi. Kemudian orang yang diidentifikasi oleh sistem, kehadirannya dalam sistem bertambah dengan 1.
Ketika sistem ditutup, file Excel yang terdiri dari kehadiran semua siswa dihasilkan.
diambil dari deeplearning.ai.
Anda dapat menonton video ini. Profesor Andrew Ng memberikan penjelasan yang sangat baik untuk jaringan ini.
Saya telah mengunduh model facenet pretrain dari nyoki-mtl githubu
Jaringan ini pretrained pada dataset yang cukup besar, dan menghasilkan vektor 128 dimensi yang unik untuk wajah tertentu yang diberikan gambar yang diumpankan padanya dipotong hanya untuk wilayah wajah dan diselaraskan. Ukuran input gambar untuk netowrk ini adalah 160x160x3
Deteksi wajah dicapai dengan menggunakan kaskade opencv haar. Deteksi wajah Haarcascade digunakan untuk mendeteksi wajah dan daerah yang terdeteksi ini diumpankan ke generator embedding.
Jaringan saraf kedua memiliki arsitektur yang padat dan digunakan untuk klasifikasi. Jaringan saraf kedua mengambil input 128 dimensi vektor dan ouputs probabilitas wajah menjadi salah satu siswa. Arsitektur jaringan saraf kedua adalah 
Basis data yang digunakan adalah MongoDB. Pymongo digunakan untuk menambah, menghapus catatan dan juga menambah kehadiran siswa tertentu. 
Setelah aplikasi ditutup, file Excel dihasilkan. File Excel ini berisi kehadiran semua siswa.
Mulai terminal CMD Anda tergantung pada OS Anda.
Jika Anda memiliki GPU NVIDIA maka pastikan Anda memiliki prasyarat untuk instalasi GPU TensorFlow (lihat situs resmi). Kemudian gunakan nikmat ini
Pip instal -r persyaratan_gpu.txt
Jika Anda tidak memiliki GPU maka gunakan perintah ini
pip install -r requirements_cpu.txt
1) Pasang semua persyaratan
2) Buat folder bernama "People" tanpa kutipan
3) Sekarang jalankan generating_training_data.py, ketika ini berjalan masukkan nama orang yang diikuti oleh indeks yang dimulai dari nol misalnya, jika saya ingin menghasilkan data untuk "ravi", saya akan menulis "ravi0" dan untuk nama selanjutnya, tulis "SecondName1", cukup pastikan indeks yang diberikan kepada semua orang dalam urutan meningkat. Sekarang masukkan semua folder ini ke dalam folder orang 
4) Sekarang di Trainer.py Ubah Jumlah Kelas Menurut Jumlah Folder dan kemudian jalankan Trainer.py
5) Model akan dilatih.
6) Sekarang buat database menggunakan MongoDB. Masukkan semua nama dengan kehadiran mereka. Ini bisa dicapai
a) Buat basis data bernama "baru"
b) Buat koleksi bernama "PA"
c) Tambahkan usaha. Untuk misalnya db.pa.insert ({"name": "Satinder", "kehadiran": 0})

7) Sekarang buka pengakuan.py dan ubah kamus "A" dan orang -orang sesuai dengan data Anda. Kunci array "A" adalah indeks rakyat dan data adalah variabel indikasi yang digunakan untuk menunjukkan bahwa dalam sesi tertentu, jika orang kehadiran telah diambil.
8) Kamus "orang" adalah penjelasan diri.
9) Jalankan pengakuan.py untuk mengenali orang. Kehadiran mereka akan terdaftar di database MongoDB.


Jika Anda menyukainya, Anda pasti akan menyukai repo saya yang lain juga. Anda juga dapat melihat saluran YouTube saya "Ilmu Reaktor". Jika Anda memiliki keraguan, Anda dapat menghubungi saya di halaman Facebook saya "Ilmu Reaktor"
1) Pembelajaran mendalam dengan Python oleh Francois Chollet
2) keras.io
3) deeplearning.ai oleh Coursera (Prof Andrew Ng)
4) CS231N oleh Stanford
5) pyimageSearch.com (Adrian Rosenberg)
6) Brandon Amos (GitHub: https: //github.com/bamos)