Visi komputer melihat emosi, denyut nadi, pernapasan, dan kebohongan - tetapi bagaimana membangun startup di sini. Percakapan dengan Neurodata Lab



Hubungan kami dengan penglihatan komputer tidak begitu berisik sampai ia belajar bagaimana melakukan mukjizat dengan wajah manusia. Algoritma menggantikan orang dalam foto dan video, mengubah usia, ras dan jenis kelamin. Ini adalah hiburan online utama beberapa tahun terakhir, dan sumber kecemasan. Aplikasi hari ini menyerbu tangga lagu, besok pemrotes melihat pilar dengan kamera yang mengenali wajah. Dan, tampaknya, kita baru berada di awal perjalanan. Apa yang dapat dibaca komputer dari wajah kita akan semakin banyak.

Awal bulan ini, kami mengunjungi kantor Neurodata Lab. Arah utama bagi perusahaan adalah pengakuan emosi manusia. Kami mencoba mencari tahu bagaimana ini dilakukan dan mengapa.

Di My Circle, Neurodata Lab menerima skor rata-rata 4,6 dan rekomendasi rata-rata 95% karyawannya, yang menilai kriteria seperti pertumbuhan profesional, tugas yang menarik, hubungan yang baik dengan kolega dan fakta bahwa perusahaan membuat dunia menjadi tempat yang lebih baik.



Pada 2016, sepuluh aktor - lima pria dan lima wanita - ambil bagian dalam penembakan yang tidak biasa. Mereka pergi ke daerah kosong, mengenakan setelan hitam ketat, dan pada kamera di berbagai sudut ruangan, dengan latar belakang dinding hijau, mereka menggambarkan "tidak ada" - hanya keadaan netral mereka.

Kemudian para aktor memerankan naskah pendek. Tidak ada replika dalam naskah, hanya deskripsi situasi, jadi para aktor melakukan improvisasi. Dalam setiap adegan, mereka perlu mengalami salah satu dari enam emosi - kemarahan, kesedihan, jijik, kegembiraan, ketakutan, atau kejutan. Ekspresi wajah dan gerak tubuh aktor berpengalaman sering menjadi stereotip, lebih cocok untuk teater daripada kehidupan nyata, jadi di sini semua aktor adalah mahasiswa.



Mereka diikuti oleh seorang guru dari sekolah film, tetapi tidak hanya. Direktur utama adalah seorang ilmuwan dan peneliti Olga Perepelkina. Selain video dan suara di set, reaksi bioelektrik dari permukaan kulit dan karakteristik fisiologis lainnya direkam. Setiap adegan ditembak oleh pemain yang berbeda beberapa kali, dan sebagai hasilnya, mereka mengumpulkan sekitar tujuh jam materi.

Para aktor, setelah menyelesaikan pekerjaan mereka, menggambarkan di mana dan emosi apa yang sebenarnya mereka alami selama pertandingan. Kemudian 21 orang lainnya menonton video, dan di setiap video mereka mencatat emosi yang tampaknya dialami aktor tersebut. Pada titik apa emosi ini dimulai, dan kapan itu berakhir.



Maka mulai bekerja pada dataset multimodal berbahasa Rusia pertama untuk pengenalan emosi - RAMAS .

Tetapi materi yang diperoleh hanya cocok untuk penelitian dan eksperimen ilmiah - bukan untuk pelatihan algoritma skala industri.

- (Olga Perepelkina) Kami perlu mengumpulkan dataset raksasa. Bukan 7, tetapi 107 dan lebih banyak jam. Kami membangun platform web Emotion Miner, mengunggah banyak video yang tersedia untuk umum di Internet, membawa puluhan ribu orang dari seluruh dunia, dan mereka mulai menandai datanya. Dengan demikian, kami menandai 140 jam video pada 20 skala (tidak hanya emosi, tetapi juga berbagai karakteristik kognitif dan sosial), dan mengumpulkan dataset emosional terbesar di dunia.

- Dan bagaimana Anda bisa menemukan begitu banyak orang untuk ditandai?
- (O.P.) Sederhana - kami membayar mereka uang untuk pekerjaan itu. Melakukan promosi, menginvestasikan anggaran kecil dalam pemasaran. Pada prinsipnya, itu tidak terlalu sulit. Sekarang hampir 70 ribu orang terdaftar di platform ini. Namun pada kenyataannya, sekitar dua ribu orang menandai dataset.



Produk


Startup Neurodata Lab diciptakan oleh pengusaha George Pliev dan Maxim Ryabov. Mereka mendanai penelitian bukan untuk keingintahuan ilmiah, tetapi untuk menemukan aplikasi komersial untuk teknologi. Sekarang Affective Computing atau "komputasi emosional" bukan bidang yang paling populer di pasar jaringan saraf dan visi komputer. Ada persaingan tinggi di bidang pengenalan wajah. Aplikasi hiburan menjadi fokus satu demi satu. Dan sistem yang bekerja dengan emosi tidak meninggalkan status "menjanjikan" selama beberapa tahun. Namun, menurut perkiraan oleh Gartner dan penelitian lain, dia memperkirakan pertumbuhan yang cepat.

Neurodata Lab telah meneliti selama sekitar tiga tahun, mengumpulkan data dan mengembangkan algoritma. Sekarang mereka menggunakan hasil penelitian dalam produk komersial. Misalnya, Neurodata Lab telah mengembangkan AI emosional untuk robot Promobot. Robot menggunakan sistem pengenalan emosi untuk merespon dengan benar isyarat dari orang-orang yang menoleh ke sana. Demo ini ditunjukkan di CES tahun ini.

Algoritma ini digunakan di call center untuk memonitor panggilan dan mengevaluasi kinerja karyawan. Sekarang semua ini dilakukan secara manual - manajer harus secara selektif mendengarkan catatan panggilan dan memeriksa apakah karyawan itu kasar kepada klien, atau tetap dalam batas kesusilaan. Sistem dapat melakukan ini secara otomatis dan secara real time. Sepanjang jalan, suasana hati emosional klien juga dinilai - dia puas dengan perawatan atau tidak. Seorang pilot dari produk serupa Neurodata Lab diluncurkan di Rosbank. Algoritma ini menganalisis panggilan untuk mengukur kepuasan pelanggan.

Cabang produk kedua agak lebih global. Perusahaan ini membuat API - seperangkat alat untuk pengembang pihak ketiga. Sekarang ini mencakup analisis emosi, pelacak wajah, penganalisa suara, yang dengannya Anda dapat membagi rekaman audio dengan beberapa suara menjadi trek audio yang berbeda dan memisahkan suara. Segera akan ada pelacak tubuh, detektor denyut nadi, pelacak pernapasan dari video seseorang - dan teknologi atau algoritma lainnya.



Prinsip kerja


Seseorang belajar mendefinisikan emosi secara tidak sadar - sejak kecil, ia mulai mengasosiasikan pola perilaku tertentu dengan emosi yang dialami orang-orang di sekitarnya. Setelah mengetahui hal ini, ia dapat menganalisis tanda-tanda apa yang dikerjakannya. Yang paling jelas adalah dengan ekspresi yang diambil mulut dan mata. Tetapi pada wajah ada banyak otot wajah yang menciptakan nuansa ekspresif yang luar biasa. Kami melihatnya secara otomatis, meskipun secara sadar kami dapat memperhatikan detail tertentu.

Jaringan saraf juga menganalisis ratusan jam video yang ditandai oleh orang-orang. Dan tanda-tanda dimana sistem mengklasifikasikan emosi tidak selalu menjadi jelas.

- (Andrey Belyaev) Ada pola umum untuk beberapa kelas. Misalnya, kelas "kemarahan" dan "kejutan" ditandai dengan ekspresi yang kuat di wajah - alis terangkat, mata bundar, asap dari telinga. Grid tentu merespons mereka, tetapi tidak hanya. Misalnya, dengan alis kecil yang terlihat seperti terangkat, ia akan dengan tenang menentukan kelas yang benar, karena ia juga merespons dinamika perubahan. Salah satu kelas yang menarik dalam hal ini adalah "kesedihan". Paling sering, ketika seseorang sedih, wajahnya tidak berubah untuk waktu yang cukup lama. Grid memperhatikan nol dinamika dalam ekspresi dan membuat asumsi bahwa itu "netral" atau "sedih", dan hanya kemudian memperjelas tanda-tanda yang tersisa dan menyimpulkan bahwa kelasnya benar.

- Bagaimana dengan suaranya? Frekuensi, rentang, nada tertentu?
- (A.B.) Suara lebih rumit. Setiap orang memiliki volume standar sendiri, Anda tidak bisa melekat pada kekuatan suara. Seseorang dapat berbicara dengan tenang dan merata, tetapi sebenarnya dia sangat marah. Dan bahkan jika kita memvisualisasikan suara dan memahami apa yang diperhatikan sistem, kita tidak dapat menjelaskannya juga dengan wajah. Wajah memiliki titik yang jelas: alis, mata, telinga dan banyak lagi. Tapi tidak ada suara. Suara dimasukkan ke dalam grid dalam bentuk spektogram, dan bagian spesifik apa yang bertanggung jawab atas apa dan pada saat apa jauh lebih sulit untuk dipahami. Oleh karena itu, tidak ada jawaban standar, apa yang diperhatikan oleh grid saat bekerja dengan suara.

- Bagaimana cara merekam pulsa?
- (O.P.) Perubahan mikro dalam warna kulit dilacak. Ketika jantung berdetak, darah jenuh dengan oksigen, oksigenasi darah berubah, dan karena itu, warna kulit berubah. Itu tidak akan berhasil dengan mata, tetapi dengan bantuan algoritma itu mungkin.

- Tapi ini sangat tergantung pada kualitas video.
- (O.P.) Kami telah melihat algoritma ini untuk waktu yang lama dan dapat bekerja tidak hanya dengan kamera keren, tetapi juga dengan webcam biasa. Kami tahu cara bekerja saat layar berkedip. Misalnya, ketika seseorang menonton film, dan intensitas pencahayaannya terus berubah. Kami dapat bekerja dengan kondisi ketika seseorang bergerak dan berbicara.

Denyut nadi adalah sinyal periodik, dan jelas dimonitor, dan pencahayaan dari film tidak berubah secara berkala. Oleh karena itu, sinyal yang berguna dapat dipisahkan dari noise. Kami membandingkan teknologi ini bahkan dengan pelacak kebugaran. Algoritma kami bekerja dengan baik - dan bahkan lebih baik daripada beberapa di antaranya.

- Sistem dapat melihat apa yang tidak dilihat seseorang, tetapi seseorang masih mengenali emosi dengan lebih baik. Mengapa
- (O.P.) Seseorang berbuat lebih baik karena dia memperhitungkan informasi kontekstual. Tetapi untuk ini, kita juga memerlukan sistem multimoda yang meningkatkan akurasi dengan menganalisis wajah dan suara, gerakan, denyut nadi, pernapasan, dan analisis teks semantik.

Beginilah cara kerja persepsi manusia. Anda melihat seorang pria dari belakang, melihatnya duduk, dan berpikir, "sepertinya dia sedih." Dan tujuan kami adalah menciptakan algoritma yang dapat mempersepsikan emosi sebagai pribadi - umumnya dalam kondisi apa pun, untuk semua informasi.

Tetapi sekarang keuntungan dari sistem daripada manusia adalah dapat menganalisis sejumlah besar data secara otomatis. Terkadang seseorang dapat berbuat lebih baik, tetapi Anda tidak akan membuatnya duduk sepanjang waktu dan mendengarkan dengan telinganya, misalnya, menelepon ke pusat panggilan.

- Jika saya mengalami emosi, tetapi mencoba menyembunyikannya, apakah sistem akan memahami ini?
- (O.P.) Mungkin.



Bagaimana perkembangannya


Neurodata Lab adalah perusahaan kecil, yang sampai saat ini hanya ada sebagai laboratorium. Ini memiliki departemen sains, tim Ilmu Data, dan departemen pengembangan yang mengemas perkembangan dan penemuan baru menjadi produk. Setiap departemen adalah 5-6 orang. Secara total, tim ini memiliki sekitar 30 karyawan.

Ilmuwan penelitian


Psikolog, ahli fisiologi dan ahli biologi bekerja di departemen ilmiah. Hanya ada empat orang dan tiga pekerja magang di staf, tetapi mereka telah membangun jaringan kolaborasi internasional. Sebagai contoh, di Rusia ada proyek bersama dengan Universitas Negeri Moskow, Sekolah Tinggi Ekonomi dan RANEPA. Luar Negeri - dengan Universitas Glasgow, Universitas Teknologi Paris, Universitas Jenewa, sebuah laboratorium teknik di Genoa, yang terlibat dalam analisis pergerakan.

Para ilmuwan yang melakukan komputasi emosional adalah seluruh komunitas. Mereka secara teratur berkumpul untuk lokakarya bersama di berbagai universitas di seluruh dunia. Setiap dua tahun sekali, sebuah konferensi besar diadakan khusus untuk teknologi emosional. Tahun ini, Neurodata Lab akan menyelenggarakan lokakarya sendiri di konferensi ini.



- Saya ingin tahu, apa pekerjaan sehari-hari seorang peneliti?
- (O.P.) Pertama, mereka membaca artikel. Sebagai contoh, kami ingin belajar bagaimana mengenali kebohongan, bukan hanya emosi, dan kami perlu mencari tahu apa itu dusta, bagaimana cara kerja pendeteksi kebohongan, apa yang sudah dilakukan di area ini, apa masalah poligraf klasik, bagaimana bisa dibodohi, algoritma mana yang paling keren, bagaimana jiwa manusia diatur, fitur psikologis apa yang ada ketika seseorang berbohong, bagaimana fisiologi bekerja, mengapa (dan apakah) hidung seseorang menjadi lebih dingin dan telinganya memerah ketika dia berselingkuh, dan sebagainya.

Lalu kami melakukan sejumlah besar percobaan. Untuk membuat sistem yang mengenali denyut nadi dan laju pernapasan dari video, perlu untuk mengumpulkan banyak data. Subjek terus-menerus mendatangi kami, kami memiliki peralatan dan segala macam hal yang mengukur denyut nadi seseorang secara kontak. Kami mengukur EKG, photoplethysmography, reaksi skin-galvanic. Kami melakukan eksperimen yang menyenangkan ketika kami ingin memahami bagaimana aliran darah bergerak melintasi wajah, dan kemudian kami menempelkan elektroda langsung ke wajah.



Akhirnya, kami menunjukkan vidosiki yang berbeda kepada orang-orang. Kami mencoba menakut-nakuti mereka, atau sebaliknya - untuk bersorak. Peneliti menganalisis data, mempertimbangkan statistik, menulis artikel, dan paten berdasarkan data ini. Kemudian mereka datang ke departemen teknis untuk Andrei dan berkata: "Kami membaca hal yang keren, melakukan percobaan, Anda dapat mencoba membuat algoritma yang akan bekerja seperti ini." Atau Andrei mendatangi kami dan berkata, "Kami ingin mendeteksi jatuh, kami perlu mencari cara untuk mengumpulkan data." Dan departemen ilmiah duduk dan berpikir bagaimana hal itu dapat dilakukan dengan sederhana dan cepat.

- Pekerjaan impian.
- (AB) Beberapa orang berpikir - yang lain lakukan.



Berkencan dengan Ilmuwan dan Pengembang


Ilmu Data bekerja secara paralel dengan pengembangan produk. Datasenterists melatih jaringan saraf pada Torch, ketika ada ruang untuk bermanuver dalam penelitian, dan pada MXnet, ketika Anda perlu membuat solusi yang bekerja cepat. Setelah mengkonfirmasi semua hipotesis tentang penerapan jaringan saraf, orang-orang mentransfernya ke TensorRT untuk meningkatkan kecepatan kerja dan memberikannya kepada tim pengembangan untuk implementasi dalam produksi.

Neurodata Lab telah menciptakan layanan cloud sendiri, yang dapat diakses oleh pengembang lain - untuk penelitian atau proyek komersial.

- (A.B.) Kernel perangkat lunak yang mendistribusikan tugas antara jaringan saraf ditulis dalam Python. Kami perlu menulisnya dengan cepat, tetapi ternyata cukup baik. Dia bekerja dengan buruh pelabuhan, berkomunikasi melalui RabbitMQ, berjalan di Postgres, dan lapisan gRPC menggantung di atas, yang memungkinkan Anda untuk membuat koneksi yang aman dengan dunia luar dan memberi programmer lain dan peneliti akses ke teknologi kami.

Web ditulis dalam Symphony. API diimplementasikan menggunakan gRPC. Ini adalah hal Google yang keren yang memungkinkan Anda membuat saluran aman dan bertukar kunci dengan sistem - sehingga hanya memberikan akses ke fungsi internal tertentu. Misalnya, Anda hanya dapat memberikan kunci alat yang dapat mendeteksi wajah dan mengenali emosi.

Saya sedang mengerjakan ide - Saya ingin membangun pusat data kecil saya sendiri, di mana kesimpulannya akan berputar. Dan itu akan didasarkan pada Jetson Nano. Ini adalah komputer papan tunggal kecil untuk sepuluh ribu rubel. Seperti Raspberry Pi, hanya dengan kartu grafis. Dengan prosesor, RAM, dan yang lainnya, harganya 6 kali lebih murah daripada 1080Ti tanpa memperhitungkan komponen komputer lainnya, tetapi juga bekerja sekitar 6 kali lebih lambat.

- Dan apa yang akan diberikannya?
- (A.B.) Pertama, lebih murah, dan akan bekerja dengan cara yang kira-kira sama. Kedua, itu akan berhenti merusak lingkungan. Ketiga, mereka tidak membutuhkan banyak listrik. Six Jetson Nano, yang secara bersamaan memiliki kekuatan hampir seperti 1080 Ti, menghabiskan energi enam kali lebih sedikit, ditambah menghabiskan lebih sedikit ruang.

- Mengapa para penambang belum mencapai mereka?
- (A.B.) Penambang membutuhkan kartu video mereka untuk dapat melakukan banyak hal sekaligus. Tetapi bagi kami itu tidak begitu penting. Kami memiliki tugas ringan yang harus dilakukan dengan cepat menggunakan kekuatan kecil dan mengembalikan hasilnya. Ketika Anda memiliki enam tugas seperti itu, lebih masuk akal untuk mendistribusikannya ke dalam enam kartu kecil daripada menempatkan semuanya menjadi satu besar dan kuat, di mana tugas-tugas ini akan didorong siku.



Bagaimana dengan tim rekrutmen


Pada musim semi, manajer produk datang ke tim, dan sekarang startup membutuhkan pengembang. Penyedia backend yang akan mendukung web dalam PHP dan Symphony, atau meyakinkan Anda untuk pindah, misalnya, ke Python atau Go. Front-end, yang akan membuat halaman untuk layanan web baru, memperluas fungsionalitas dan meningkatkan kegunaan dari yang sudah ada. Pengembang kernel yang, selain pengetahuan tentang Python pada level tinggi, memahami Ilmu Data dan spesifik bekerja dengan perangkat keras, penguji, pengembang C ++ untuk bekerja dengan SDK dan banyak lainnya.



- Bagaimana perekrutan Anda?
- (A.B.) Untuk tanggal Ilmuwan, saya membuang tugas yang tidak terlalu sulit, tetapi lebih bersifat indikatif, dimana seseorang dapat menilai kemampuan berpikir dan memprogram. Saya melakukannya sendiri dalam empat puluh menit. Junior mengelola dalam 4-6 jam. Setelah itu, kami menelepon dan membahas masalah teknis. Saya sarankan dia bertukar pikiran tentang tugas baru. Kami berhipotesis bersama, uji bersama. Saya hanya melihat bagaimana perasaan seseorang di lingkungan yang tidak dikenal dalam hal tugas. Apakah dia mengerti bagaimana proses pengembangan model terjadi, apa yang mungkin Anda temui di sana dan apa yang tidak perlu Anda takuti.

Setelah tahap ini, sekitar 10% orang tetap. Sekitar 50 orang biasanya menanggapi lelucon itu. Kami memanggil lima yang tersisa untuk wawancara terakhir di kantor kami, dan kami hanya berkomunikasi dengan kesiapan yang hampir lengkap untuk menghadapi tim.

- Dan dengan pengembangnya?
- (A.B.) Tetapi dengan pengembang, semuanya sedikit lebih buruk. Kami memberi mereka tes seperti itu: Anda perlu menggunakan layanan kecil pada kerangka apa pun yang Anda suka di dalam buruh pelabuhan. Layanan ini harus berkomunikasi dengan buruh pelabuhan lain, di mana terletak Postgres dan RabbitMQ. Ada tugas untuk membaca saluran dalam rebbit, mengambil dari sana tugas mengisi database, dan menulis semuanya ke database. Tampaknya tugas ini sangat sederhana, untuk melakukannya sekitar satu jam. Tetapi semuanya runtuh ketika kita mengatakan bahwa kita akan mentransfer gambar untuk ditulis ke database.

Terus-menerus ternyata semua orang menyelesaikan masalah ini dengan cara yang sangat berbeda. Dan setiap orang hampir selalu memiliki semacam ide baru, yang bahkan belum pernah saya lihat atau bayangkan sebelumnya. Tetapi pada saat yang sama setiap orang tidak memeriksa sesuatu. Pada tes, potong sekitar setengah dari kandidat. Kemudian kami juga memanggil pengembang di kantor. Kami mulai berbicara tentang topik umum, untuk mencari tahu apa yang selanjutnya, apa yang Anda inginkan dan seterusnya. Dan setelah itu, sayangnya, kami memiliki knalpot hampir 0%.

- Dengan kriteria apa Anda memahami bahwa seseorang tidak memiliki keterampilan lunak yang cukup atau dia tidak akan dapat bekerja di startup?
- (A.B.) Dalam percakapan sederhana dari kategori: "Dengar, tapi bayangkan itu ...". Dia mulai mengembangkan pemikiran, dan Anda secara tidak sengaja menambahkan bahwa tenggat waktu kami sudah lewat, dan ada dua minggu tersisa untuk proyek yang perlu dilakukan selama dua bulan. Ada yang mengatakan, "Ini tidak bisa dibiarkan." Baiklah Yang lain mengatakan: "Ini sangat buruk, tapi kami akan memeras maksimal. Tentu saja, kami tidak akan melakukan segalanya. Mungkin setengah, tapi itu lebih baik dari seperempat. Secara umum, semuanya akan keren, karena yang terburuk adalah proyek yang belum selesai. " Inilah orang-orangnya - segera. Kasus dalam kaitannya dengan tugas.



Standar etika dan dilema moral


Pengenalan wajah, komputasi emosional - semua ini adalah penelitian dan teknologi berdasarkan data. Pertanyaan dari kategori, "milik siapa data tersebut", "siapa dan bagaimana harus mengontrol koleksi mereka" - wilayah perbatasan modern.

Salah satu kompromi yang sekarang hampir semua orang setujui adalah pengumpulan impersonal. , GDPR . .

. , , , .

. , ?

— (..) , - . . . ? ? , : « , , , ». .

, : « , , , !» , , . . «, , - , , , , ». 50 , 5-6 , . , . - . , .

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


All Articles