Jalan menuju detektor kebohongan tanpa kontak, atau Cara mengatur hackathon dengan kecepatan maksimum

gambar


Steve Jobs dan Steve Wozniak pernah dikurung di garasi dan meluncurkan Mac pertama mereka. Akan keren jika Anda selalu bisa menutup programer di garasi dan mendapatkan MVP dengan potensi besar. Namun, jika Anda menambahkan ke programmer beberapa orang yang siap untuk mengevaluasi pengalaman pengguna dan mencari sesuatu yang inovatif, maka peluang keberhasilan tumbuh.


Tim kami yang terdiri dari 5 orang datang dengan ide tertentu, yang kami anggap enteng ambil alih dunia ke kotoran.


Deskripsi MVP


Aplikasi untuk manajer SDM yang memungkinkan Anda menentukan psikotipe pelamar dan pola perilaku.


Komponen wajib:


  1. Database pertanyaan, jenis reaksi dan sistem untuk membawa hal-hal ini ke psikotipe
  2. Definisi emosi manusia berdasarkan manifestasi AU - gerakan tertentu pada otot-otot wajah.
  3. Detak jantung tanpa kontak
  4. Menentukan arah pandangan
  5. Deteksi laju kedip
  6. Sistem untuk menggabungkan data yang dapat dipulihkan di atas ke dalam bagan stres dan metadata berguna lainnya.

MVP bagi kami adalah pulau keamanan antara ide itu sendiri dan proyek Anne yang besar, yang sedang kami jalani.


Bagaimana itu?


Untuk menghindari gangguan selama pengembangan, diputuskan untuk menyewa apartemen di kota resor terdekat dengan makanan. Tiba di sana pada hari Minggu dan mengatur pekerjaan kami, kami segera duduk untuk diskusi. Pada malam pertama, batu bata ditentukan yang pasti harus di MVP final. Dan sementara orang-orang menyempurnakan gagasan itu, pergi ke kota untuk berkonsultasi dengan manajer SDM, para pengembang (termasuk saya) sudah menyiapkan yayasan.


Bagian teknis


Penentuan emosi diputuskan untuk dilakukan secara ketat melalui FACS , karena metode ini memiliki justifikasi ilmiah yang cukup dibandingkan dengan, misalnya, pendekatan kasar semacam itu . Dengan demikian, tugas itu dibagi menjadi


  1. Jaringan pelatihan memprediksi 68 tengara wajah
  2. Normalisasi / filter gambar wajah
  3. Algoritma yang mendeteksi gerakan wajah dalam dinamika

Pelatihan, omong-omong, dilakukan pada Radeon RX580 menggunakan PlaidML, yang sudah saya bicarakan di artikel saya sebelumnya. Banyak terima kasih di sini saya perlu mengatakan perpustakaan imgaug , yang memungkinkan Anda untuk menerapkan transformasi affine secara bersamaan ke gambar dan titik di atasnya (dalam kasus kami, ke landmark).


Beberapa gambar yang diperbesar:


gambar


Untuk menentukan arah pandangan, algoritma ini awalnya digunakan pada visi komputer klasik, mencari murid di area mata pada HOGs. Namun segera muncul pemahaman bahwa seringkali pupil tidak terlihat dan arah tatapannya tidak hanya dapat dijelaskan olehnya, tetapi juga oleh lokasi kelopak mata. Karena kesulitan-kesulitan ini, solusi ditransfer ke pendekatan jaringan saraf. Kami memotong dan menandai tanggal sendiri, menjalankannya melalui algoritma pertama, dan kemudian secara manual memperbaiki tempat kesalahannya.


Perkembangan pertama dimulai pada musim panas dan ada sebagai skrip Python kotor:


gambar


Penentuan frekuensi berkedip mengikuti dari agregasi bagian dari dua algoritma yang dijelaskan di atas - konvergensi tengara kelopak mata dan arah melihat ke bawah.


Penentuan denyut nadi oleh aliran video didasarkan pada gagasan menyerap komponen hijau cahaya oleh partikel darah dan dilengkapi dengan algoritma untuk melacak dan mengekstraksi bidang yang diminati (kulit).


Topeng menyeramkan keluar, tentu saja:


gambar


Bahkan, pembuatan batu bata yang dijelaskan di atas datang ke implementasi algoritma State Of The Art dengan perbaikan untuk meningkatkan akurasi dalam kasus khusus kami. Untungnya, ada arxiv.org .


Kesulitan muncul ketika membuat logika untuk menormalkan gambar wajah dan algoritma untuk mengevaluasi data yang diterima. Misalnya, ketika mengenali wajah, Model Penampilan Aktif digunakan secara aktif - wajah ditarik oleh titik-titik yang ditemukan pada tekstur umum wajah. Tetapi pengaturan timbal balik yang saling menguntungkan itu penting bagi kita! Sebagai pilihan - saring wajah yang terlalu terotasi, atau tarik teksturnya hanya dengan "jangkar", titik-titik kunci yang tidak mencerminkan gerakan otot (misalnya, titik di pangkal hidung dan tepi wajah). Masalah ini sekarang adalah salah satu yang utama dan tidak memungkinkan memperoleh data yang andal jika wajah terlalu diputar (kita dapat menghitung sudut rotasi juga!). Kisaran yang dapat diterima untuk hari ini adalah + -20 ° pada kedua sumbu. Kalau tidak, wajah tidak akan diproses.


Tentu saja, ada masalah lain:


  • Definisi landmark jika seseorang berkacamata
  • Ekstraksi garis dasar jika seseorang meringis
  • Deteksi detak jantung dalam cahaya yang berkedip-kedip

Oh ya, dan apa itu Baseline ? Konsep dasar dalam pengolahan emosi menggunakan metode FACS. Algoritme ekstraksi dasar mungkin merupakan salah satu pengetahuan terpenting berdasarkan hasil hackathon kami.


Selain algoritma, ada poin penting lain yang tidak bisa kami lupakan - kinerja. Terlebih lagi, langit-langit kinerjanya bahkan bukan PC, melainkan laptop biasa. Akibatnya, semua algoritma dibuat seringan mungkin, dan jaringan mengalami pengurangan ukuran yang berulang sambil mempertahankan akurasi yang dapat diterima.


Hasilnya adalah 30-40% pada Intel i5 pada 15-20 fps. Jelas bahwa ada margin tertentu yang akan hilang ketika modul tambahan ditambahkan.


Rencana menentukan:


  • Radang tenggorokan
  • Ubah kompleksi
  • Tingkat pernapasan
  • Intensitas gerakan tubuh
  • Pola Pose Manusia
  • Suara gemetar

Apa lagi yang bisa kita lakukan?


Sebagai penggemar visi komputer dan ML, saya memberi tahu Anda sedikit tentang algoritma yang digunakan dalam perangkat lunak kami. Tetapi karena ketidaklengkapannya, untuk aplikasi ini fitur di atas, sebagai tambahan, menyenangkan. Bagian terpenting adalah sistem yang dikembangkan untuk menentukan psikotipe seseorang. Apa gunanya Sayangnya, ini dilakukan oleh kolega saya (teman!) Dan saya tidak bisa menjelaskan dari mana dan dari mana. Tetapi untuk pemahaman minimum, Anda dapat mempertimbangkan prosedur untuk bekerja dengan perangkat lunak yang dihasilkan:


SDM menentukan kualitas yang sangat diperlukan untuk lowongan yang dimaksud:


gambar


HR melakukan wawancara, mengajukan sebagian pertanyaan dari database yang disiapkan (selama wawancara, HR memiliki informasi tambahan tentang emosi dan tingkat stres sebelumnya)


Selama atau setelah wawancara, SDM mengisi jawaban atas pertanyaan dan pola perilaku:


gambar


Melalui matriks yang dikembangkan, perangkat lunak membangun infografis yang menampilkan kebetulan kualitas tertentu dan yang diberikan:


gambar


Setelah wawancara, ada catatan yang memungkinkan Anda untuk kembali ke wawancara kapan saja dan mengevaluasi momen ini atau itu


Total


gambar


14 hari x 12 jam + 3 pengembang + 2 ahli di bidang menentukan kebohongan = siap MVP. Perendamannya maksimal - hingga saat makan siang kami menonton serial Deceive Me - saya sangat merekomendasikannya.


Agar tidak berdasar, saya melampirkan contoh cara kerja aplikasi sekarang:


Serta video promosi untuk solusi Anne besar yang kami tuju.


gambar

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


All Articles