Jaringan saraf diajarkan untuk meminimalkan semua jendela yang terbuka di layar ketika bos mendekat

gambar

Anda dapat mengotomatisasi banyak, meskipun tidak semua. Namun demikian, dengan bantuan otomatisasi, Anda dapat secara signifikan menyederhanakan hidup Anda, menjadikannya lebih nyaman dan, dalam beberapa kasus, lebih aman. Maksudku, lindungi dirimu dari bos. Salah satu pengembang jaringan saraf memutuskan untuk membuat sistem yang, ketika bos mendekat, segera meminimalkan "jendela yang tidak pantas", menyembunyikannya dari pandangan.

Untuk pengguna, tindakan sistem terlihat cukup transparan, karena jaringan saraf setelah mendeteksi bos yang mendekat memberikan pemberitahuan yang sesuai. Dan hanya dengan begitu dia meminimalkan jendela, memberi peringatan lain. Sistem itu sendiri terlibat dalam fakta bahwa dengan bantuan webcam reguler dengan kualitas yang baik ia menangkap wajah orang yang mendekati desktop, dan ketika bos diidentifikasi, ia dengan cepat menghapus semuanya dari layar komputer, jauh dari dosa. Dalam pengembangan, perpustakaan Keras digunakan, yang menyederhanakan tugas. Bagaimana cara kerjanya?

Ya, tidak ada yang rumit, pengembang tidak menerima masalah khusus dalam mengimplementasikan sistem. Ngomong-ngomong, salah satu syarat saat membuat sistem seperti itu adalah untuk mengajar jaringan saraf untuk mengenali wajah bos dari jarak 5-7 meter, sehingga tidak perlu khawatir bos bisa melihat semuanya dari jarak dekat. Tidak ada banyak waktu untuk identifikasi bos - hanya sekitar 4-5 detik.

Tentu saja, tidak ada gunanya melakukan pekerjaan di luar di tempat kerja. Contoh ini hanyalah sistem kerja, yang dilakukan, bukan untuk kesenangan, daripada karena beberapa masalah nyata oleh pihak berwenang.



Jadi, pengembang memutuskan untuk terus memotret segala sesuatu yang terjadi di sekitarnya, agar dapat melihat bos tepat waktu. Sistem deteksi disebut Sensor Boss.



Sistemnya sederhana:

  • - « »;
  • ;
  • , , .

Artinya, dalam arti kata sesungguhnya, Anda perlu: mendapatkan gambar wajah, mengenali, mengganti layar, yang memungkinkan Anda untuk menyembunyikan jendela yang terbuka dari salah satu desktop.

Pengembang memutuskan untuk tidak berfilsafat secara curang, tetapi untuk menggunakan kamera standar Buffalo BSW20KM11BK.



Tentu saja, Anda dapat membuat gambar sendiri, menggunakan perangkat lunak. Tetapi lebih baik untuk mempercayai sistem - bekerja di atasnya berlangsung cukup lama, di samping itu, sistem bekerja cukup akurat. Berkenaan dengan mendapatkan foto, pengembang menawarkan semua orang untuk membiasakan diri dengan sumbernya .

Adapun pelatihan, semuanya relatif sederhana di sini - sistem serupa telah ada selama beberapa waktu. Untuk mencapai tujuan, Anda perlu melakukan tiga langkah:

  • Koleksi gambar;
  • Pra-pemrosesan foto;
  • Menciptakan sistem belajar mandiri.

Implementasi ide


Koleksi gambar. Agar jaringan saraf memiliki sesuatu untuk dilatih, pencipta sistem menggunakan ribuan foto. Mereka dapat diambil, baik dari koleksi pribadi, dan dari paket lain dari pengguna lain. Untuk mempelajari sistem secara mandiri, Anda memerlukan sejumlah besar pemotretan. Mereka memutuskan untuk mengambil dari:

  • Gambar Google
  • Koleksi gambar Facebook
  • File video dasar.

Awalnya, pengembang menerima ribuan gambar dengan wajah berbeda, tetapi sistemnya tidak dapat belajar sendiri berdasarkan foto. Perpustakaan ImageMagick digunakan untuk mengekstraksi wajah dari sejumlah besar foto .

Hasilnya adalah basis data wajah karyawan dan bos itu sendiri:



Jika Anda ingin mengenali wajah seseorang, lebih baik untuk mencoba Web API, untuk gambar - alat seperti Computer Vision API di Cognitive Services. Pengembang memutuskan untuk pergi dengan caranya sendiri. Jaringan saraf yang diciptakannya memiliki struktur tertentu:

Struktur program
____________________________________________________________________________________________________
Layer (type) Output Shape Param # Connected to
====================================================================================================
convolution2d_1 (Convolution2D) (None, 32, 64, 64) 896 convolution2d_input_1[0][0]
____________________________________________________________________________________________________
activation_1 (Activation) (None, 32, 64, 64) 0 convolution2d_1[0][0]
____________________________________________________________________________________________________
convolution2d_2 (Convolution2D) (None, 32, 62, 62) 9248 activation_1[0][0]
____________________________________________________________________________________________________
activation_2 (Activation) (None, 32, 62, 62) 0 convolution2d_2[0][0]
____________________________________________________________________________________________________
maxpooling2d_1 (MaxPooling2D) (None, 32, 31, 31) 0 activation_2[0][0]
____________________________________________________________________________________________________
dropout_1 (Dropout) (None, 32, 31, 31) 0 maxpooling2d_1[0][0]
____________________________________________________________________________________________________
convolution2d_3 (Convolution2D) (None, 64, 31, 31) 18496 dropout_1[0][0]
____________________________________________________________________________________________________
activation_3 (Activation) (None, 64, 31, 31) 0 convolution2d_3[0][0]
____________________________________________________________________________________________________
convolution2d_4 (Convolution2D) (None, 64, 29, 29) 36928 activation_3[0][0]
____________________________________________________________________________________________________
activation_4 (Activation) (None, 64, 29, 29) 0 convolution2d_4[0][0]
____________________________________________________________________________________________________
maxpooling2d_2 (MaxPooling2D) (None, 64, 14, 14) 0 activation_4[0][0]
____________________________________________________________________________________________________
dropout_2 (Dropout) (None, 64, 14, 14) 0 maxpooling2d_2[0][0]
____________________________________________________________________________________________________
flatten_1 (Flatten) (None, 12544) 0 dropout_2[0][0]
____________________________________________________________________________________________________
dense_1 (Dense) (None, 512) 6423040 flatten_1[0][0]
____________________________________________________________________________________________________
activation_5 (Activation) (None, 512) 0 dense_1[0][0]
____________________________________________________________________________________________________
dropout_3 (Dropout) (None, 512) 0 activation_5[0][0]
____________________________________________________________________________________________________
dense_2 (Dense) (None, 2) 1026 dropout_3[0][0]
____________________________________________________________________________________________________
activation_6 (Activation) (None, 2) 0 dense_2[0][0]
====================================================================================================
Total params: 6489634


Kode dapat ditemukan di sini . Pengembang mengatakan bahwa sistem mulai hampir tidak salah mengenali bos ketika dia muncul di dekat kamera.

Nah, sekarang Anda perlu menetapkan instruksi yang jelas tentang hal itu, jika koki tidak muncul berikutnya.



Sekarang semuanya sudah siap, dan teknologinya telah diuji berkali-kali. Sekarang Anda dapat memulai sistem, dan membuatnya merespons kepada bos.

Setelah tes, semuanya ternyata bisa dikerjakan. Beberapa meter dari kamera, bos tetap pegas dan tenang. Sistem mengambil semua gambar yang diperlukan, melakukan analisis dan mampu mengidentifikasi bos pengembang dengan benar. Tes jelas menunjukkan satu hal - semuanya berfungsi.

Kode sumber sistem semacam itu dapat ditemukan di tautan ini .

Sistem identifikasi pertama-tama menentukan bahwa memang ada bos, kemudian dia berhasil mengenali gambar itu dan ... ya, memperkecil semua jendela. Saat ini, deteksi wajah menggunakan OpenCV. Mungkin Dlib akan meningkatkan akurasi pengenalan.

Tentu saja ada proyek yang lebih serius, di mana mereka mempersiapkan, misalnya, sistem visi mesin yang mengajarkan permainan komputer . Jaringan saraf menjadi semakin populer - pengembang mobil, ilmuwan, pencipta sistem robot dan spesialis lainnya bekerja dengannya.

Source: https://habr.com/ru/post/id400185/


All Articles