Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

Teknologi dan model untuk sistem penglihatan komputer masa hadapan kami telah dicipta dan dipertingkatkan secara beransur-ansur dan dalam projek berbeza syarikat kami - dalam Mel, Awan, Carian. Mereka matang seperti keju atau cognac yang baik. Suatu hari kami menyedari bahawa rangkaian saraf kami menunjukkan hasil yang cemerlang dalam pengiktirafan, dan kami memutuskan untuk menggabungkannya menjadi satu produk b2b - Visi - yang kini kami gunakan sendiri dan tawarkan untuk anda gunakan.

Hari ini, teknologi penglihatan komputer kami pada platform Mail.Ru Cloud Solutions berjaya berfungsi dan menyelesaikan masalah praktikal yang sangat kompleks. Ia berdasarkan beberapa rangkaian saraf yang dilatih pada set data kami dan pakar dalam menyelesaikan masalah terpakai. Semua perkhidmatan berjalan pada kemudahan pelayan kami. Anda boleh menyepadukan API Visi awam ke dalam aplikasi anda, yang melaluinya semua keupayaan perkhidmatan tersedia. API adalah pantas - terima kasih kepada GPU pelayan, purata masa tindak balas dalam rangkaian kami ialah 100 ms.

Pergi ke kucing, terdapat cerita terperinci dan banyak contoh kerja Vision.

Contoh perkhidmatan di mana kita sendiri menggunakan teknologi pengecaman muka yang disebutkan ialah Aktiviti. Salah satu komponennya ialah kaki foto Vision, yang kami pasang di pelbagai persidangan. Jika anda menghampiri pendirian foto sedemikian, ambil gambar dengan kamera terbina dalam dan masukkan e-mel anda, sistem akan segera mencari antara pelbagai gambar yang anda telah ditangkap oleh jurugambar kakitangan persidangan itu, dan, jika dikehendaki, akan menghantar gambar yang ditemui kepada anda melalui e-mel. Dan kami tidak bercakap tentang tangkapan potret berperingkat-Vision mengenali anda walaupun di latar belakang dalam kerumunan pelawat. Sudah tentu, bukan kedudukan foto itu sendiri yang diiktiraf, ini hanyalah tablet di tempat duduk cantik yang hanya mengambil gambar tetamu dengan kamera terbina dalam mereka dan menghantar maklumat kepada pelayan, di mana semua keajaiban pengecaman berlaku. Dan kami telah melihat lebih daripada sekali betapa memeranjatkan keberkesanan teknologi walaupun dalam kalangan pakar pengecaman imej. Di bawah ini kita akan bercakap tentang beberapa contoh.

1. Model Pengecaman Wajah kami

1.1. Rangkaian saraf dan kelajuan pemprosesan

Untuk pengiktirafan, kami menggunakan pengubahsuaian model rangkaian saraf ResNet 101. Penggabungan Purata pada penghujung digantikan dengan lapisan bersambung sepenuhnya, sama seperti cara ia dilakukan dalam ArcFace. Walau bagaimanapun, saiz perwakilan vektor ialah 128, bukan 512. Set latihan kami mengandungi kira-kira 10 juta gambar 273 orang.

Model ini berjalan dengan cepat berkat seni bina konfigurasi pelayan yang dipilih dengan teliti dan pengkomputeran GPU. Ia mengambil masa dari 100 ms untuk menerima respons daripada API pada rangkaian dalaman kami - ini termasuk pengesanan muka (mengesan wajah dalam foto), mengecam dan mengembalikan PersonID dalam respons API. Dengan jumlah data masuk yang besar - foto dan video - ia akan mengambil lebih banyak masa untuk memindahkan data ke perkhidmatan dan menerima respons.

1.2. Menilai keberkesanan model

Tetapi menentukan kecekapan rangkaian saraf adalah tugas yang sangat samar-samar. Kualiti kerja mereka bergantung pada set data yang model dilatih dan sama ada ia dioptimumkan untuk bekerja dengan data tertentu.

Kami mula menilai ketepatan model kami dengan ujian pengesahan LFW yang popular, tetapi ia terlalu kecil dan mudah. Selepas mencapai ketepatan 99,8%, ia tidak lagi berguna. Terdapat persaingan yang baik untuk menilai model pengiktirafan - Megaface, di mana kami secara beransur-ansur mencapai 82% kedudukan 1. Ujian Megaface terdiri daripada sejuta gambar - pengganggu - dan model itu sepatutnya dapat membezakan beberapa ribu gambar selebriti daripada Facescrub set data daripada distraktor. Walau bagaimanapun, setelah mengosongkan ujian Megaface daripada ralat, kami mendapati bahawa dengan versi yang dikosongkan kami mencapai ketepatan 98% kedudukan 1 (gambar selebriti pada umumnya agak spesifik). Oleh itu, mereka mencipta ujian pengenalan yang berasingan, serupa dengan Megaface, tetapi dengan gambar orang "biasa". Kemudian kami meningkatkan ketepatan pengecaman pada set data kami dan pergi jauh ke hadapan. Di samping itu, kami menggunakan ujian kualiti pengelompokan yang terdiri daripada beberapa ribu foto; ia mensimulasikan penandaan muka dalam awan pengguna. Dalam kes ini, kelompok ialah kumpulan individu yang serupa, satu kumpulan untuk setiap orang yang boleh dikenali. Kami menyemak kualiti kerja pada kumpulan sebenar (benar).

Sudah tentu, ralat pengecaman berlaku dengan mana-mana model. Tetapi situasi sedemikian sering diselesaikan dengan memperhalusi ambang untuk keadaan tertentu (untuk semua persidangan kami menggunakan ambang yang sama, tetapi, sebagai contoh, untuk sistem kawalan akses kami perlu meningkatkan ambang dengan banyak supaya terdapat lebih sedikit positif palsu). Sebilangan besar pelawat persidangan telah diiktiraf dengan betul oleh gerai foto Vision kami. Kadangkala seseorang akan melihat pratonton yang dipangkas dan berkata, "Sistem anda membuat kesilapan, itu bukan saya." Kemudian kami membuka foto itu secara keseluruhan, dan ternyata benar-benar ada pelawat ini dalam foto itu, cuma kami tidak mengambil gambarnya, tetapi orang lain, orang itu kebetulan berada di latar belakang dalam zon kabur. Lebih-lebih lagi, rangkaian saraf selalunya mengecam dengan betul walaupun sebahagian daripada muka tidak kelihatan, atau orang itu berdiri dalam profil, atau separuh menoleh. Sistem ini boleh mengenali seseorang walaupun muka berada di kawasan herotan optik, katakan, apabila merakam dengan kanta sudut lebar.

1.3. Contoh ujian dalam situasi sukar

Di bawah ialah contoh cara rangkaian saraf kami berfungsi. Foto diserahkan kepada input, yang dia mesti labelkan menggunakan PersonID - pengecam unik seseorang. Jika dua atau lebih imej mempunyai ID yang sama, maka, mengikut model, foto ini menggambarkan orang yang sama.

Marilah kita ambil perhatian dengan segera bahawa apabila menguji, kita mempunyai akses kepada pelbagai parameter dan ambang model yang boleh kita konfigurasikan untuk mencapai hasil tertentu. API awam dioptimumkan untuk ketepatan maksimum pada kes biasa.

Mari kita mulakan dengan perkara yang paling mudah, dengan pengecaman muka menghadap ke hadapan.

Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

Nah, itu terlalu mudah. Mari kita merumitkan tugas, menambah janggut dan beberapa tahun.

Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

Sesetengah akan mengatakan bahawa ini juga tidak terlalu sukar, kerana dalam kedua-dua kes, keseluruhan wajah kelihatan, dan banyak maklumat tentang wajah tersedia untuk algoritma. Okey, mari tukar Tom Hardy menjadi profil. Masalah ini jauh lebih kompleks, dan kami menghabiskan banyak usaha untuk berjaya menyelesaikannya sambil mengekalkan kadar ralat yang rendah: kami memilih set latihan, memikirkan seni bina rangkaian saraf, mengasah fungsi kehilangan dan menambah baik pra-pemprosesan daripada gambar-gambar.

Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

Mari kita memakai tudung kepala padanya:

Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

Ngomong-ngomong, ini adalah contoh situasi yang sangat sukar, kerana wajah sangat dikaburkan, dan di bahagian bawah foto terdapat bayang-bayang dalam yang menyembunyikan mata. Dalam kehidupan sebenar, orang sering menukar penampilan mereka dengan bantuan cermin mata gelap. Mari kita lakukan perkara yang sama dengan Tom.

Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

Baiklah, mari cuba masukkan foto dari umur yang berbeza, dan kali ini kita akan bereksperimen dengan pelakon yang berbeza. Mari kita ambil contoh yang lebih kompleks, di mana perubahan berkaitan usia amat ketara. Situasi ini tidak terlalu mengada-ada; ia berlaku agak kerap apabila anda perlu membandingkan foto dalam pasport dengan wajah pembawa. Lagipun, gambar pertama ditambahkan pada pasport apabila pemiliknya berumur 20 tahun, dan pada usia 45 tahun seseorang boleh berubah dengan ketara:

Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

Adakah anda fikir pakar utama dalam misi mustahil tidak banyak berubah dengan usia? Saya fikir walaupun beberapa orang akan menggabungkan gambar atas dan bawah, budak lelaki itu telah banyak berubah selama bertahun-tahun.

Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

Rangkaian saraf menghadapi perubahan dalam penampilan lebih kerap. Sebagai contoh, kadang-kadang wanita boleh mengubah imej mereka dengan bantuan kosmetik:

Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

Sekarang mari kita merumitkan lagi tugasan ini: anggap bahagian wajah yang berbeza diliputi dalam gambar yang berbeza. Dalam kes sedemikian, algoritma tidak boleh membandingkan keseluruhan sampel. Walau bagaimanapun, Vision mengendalikan situasi seperti ini dengan baik.

Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

Ngomong-ngomong, mungkin terdapat banyak wajah dalam gambar; contohnya, lebih daripada 100 orang boleh memuatkan gambar umum dewan. Ini adalah situasi yang sukar untuk rangkaian saraf, kerana banyak muka boleh dinyalakan secara berbeza, ada yang tidak fokus. Walau bagaimanapun, jika foto diambil dengan resolusi dan kualiti yang mencukupi (sekurang-kurangnya 75 piksel setiap persegi menutupi muka), Vision akan dapat mengesan dan mengecamnya.

Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

Keanehan gambar laporan dan imej daripada kamera pengawasan ialah orang sering kabur kerana mereka tidak fokus atau sedang bergerak pada masa itu:

Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

Juga, keamatan pencahayaan boleh sangat berbeza dari imej ke imej. Ini juga sering menjadi batu penghalang; banyak algoritma mempunyai kesukaran untuk memproses imej yang terlalu gelap dan terlalu terang dengan betul, apatah lagi memadankannya dengan tepat. Biar saya ingatkan anda bahawa untuk mencapai hasil ini, anda perlu mengkonfigurasi ambang dengan cara tertentu; ciri ini belum tersedia secara umum. Kami menggunakan rangkaian saraf yang sama untuk semua pelanggan; ia mempunyai ambang yang sesuai untuk kebanyakan tugas praktikal.

Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

Kami baru-baru ini melancarkan versi baharu model yang mengenali wajah Asia dengan ketepatan yang tinggi. Ini pernah menjadi masalah besar, yang bahkan dipanggil "pembelajaran mesin" (atau "rangkaian saraf") perkauman. Rangkaian saraf Eropah dan Amerika mengiktiraf wajah Kaukasia dengan baik, tetapi dengan wajah Mongoloid dan Negroid keadaannya lebih teruk. Mungkin, di China keadaannya adalah sebaliknya. Ini semua tentang set data latihan yang mencerminkan jenis orang yang dominan di negara tertentu. Walau bagaimanapun, keadaan berubah; hari ini masalah ini tidak begitu teruk. Penglihatan tidak mempunyai masalah dengan orang yang berbeza kaum.

Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

Pengecaman muka hanyalah salah satu daripada banyak aplikasi teknologi kami; Penglihatan boleh dilatih untuk mengenali apa sahaja. Sebagai contoh, plat lesen, termasuk dalam keadaan sukar untuk algoritma: pada sudut tajam, plat lesen kotor dan sukar dibaca.

Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

2. Kes penggunaan praktikal

2.1. Kawalan capaian fizikal: apabila dua orang menggunakan pas yang sama

Dengan bantuan Vision, anda boleh melaksanakan sistem untuk merekodkan ketibaan dan perlepasan pekerja. Sistem tradisional berdasarkan pas elektronik mempunyai kelemahan yang jelas, sebagai contoh, anda boleh melepasi dua orang menggunakan satu lencana. Jika sistem kawalan capaian (ACS) ditambah dengan Vision, ia secara jujur ​​akan merekodkan siapa yang datang/keluar dan bila.

2.2. Penjejakan masa

Kes penggunaan Vision ini berkait rapat dengan yang sebelumnya. Jika anda menambah sistem akses dengan perkhidmatan pengecaman muka kami, ia akan dapat bukan sahaja untuk mengesan pelanggaran kawalan akses, tetapi juga untuk mendaftarkan kehadiran sebenar pekerja dalam bangunan atau kemudahan. Dalam erti kata lain, Vision akan membantu anda dengan jujur ​​mengambil kira siapa yang datang bekerja dan keluar pada pukul berapa, dan siapa yang ponteng kerja sama sekali, walaupun rakan sekerjanya melindunginya di hadapan atasannya.

2.3. Analitis Video: Penjejakan dan Keselamatan Orang

Dengan menjejaki orang menggunakan Vision, anda boleh menilai dengan tepat trafik sebenar kawasan beli-belah, stesen kereta api, laluan, jalan dan banyak lagi tempat awam yang lain. Penjejakan kami juga boleh membantu dalam mengawal akses, contohnya, ke gudang atau premis pejabat penting lain. Dan sudah tentu, menjejaki orang dan wajah membantu menyelesaikan masalah keselamatan. Ditangkap seseorang mencuri dari kedai anda? Tambahkan PersonID beliau, yang telah dikembalikan oleh Vision, ke senarai hitam perisian analitis video anda dan pada masa akan datang sistem akan segera memaklumkan keselamatan jika jenis ini muncul semula.

2.4. Dalam perdagangan

Perniagaan runcit dan pelbagai perkhidmatan berminat dalam pengiktirafan baris gilir. Dengan bantuan Vision, anda boleh menyedari bahawa ini bukan kumpulan orang yang rawak, tetapi baris gilir, dan menentukan panjangnya. Dan kemudian sistem memberitahu mereka yang bertanggungjawab tentang baris gilir supaya mereka dapat mengetahui keadaan: sama ada terdapat kemasukan pelawat dan pekerja tambahan perlu dipanggil, atau seseorang sedang malas menjalankan tugas mereka.

Satu lagi tugas yang menarik ialah mengasingkan pekerja syarikat di dalam dewan daripada pelawat. Biasanya, sistem ini dilatih untuk memisahkan objek yang memakai pakaian tertentu (kod berpakaian) atau dengan beberapa ciri tersendiri (selendang berjenama, lencana di dada, dan sebagainya). Ini membantu menilai kehadiran dengan lebih tepat (supaya pekerja tidak "mengembang" statistik orang di dalam dewan dengan kehadiran mereka sahaja).

Menggunakan pengecaman muka, anda juga boleh menilai khalayak anda: apakah kesetiaan pelawat, iaitu, berapa ramai orang yang kembali ke pertubuhan anda dan dengan kekerapan. Kira bilangan pelawat unik yang datang kepada anda setiap bulan. Untuk mengoptimumkan kos tarikan dan pengekalan, anda juga boleh mengetahui perubahan trafik bergantung pada hari dalam minggu dan juga masa dalam sehari.

Francaisor dan syarikat rangkaian boleh memesan penilaian berdasarkan gambar kualiti penjenamaan pelbagai kedai runcit: kehadiran logo, tanda, poster, sepanduk, dan sebagainya.

2.5. Dengan pengangkutan

Satu lagi contoh memastikan keselamatan menggunakan analitik video ialah mengenal pasti item terbengkalai di dewan lapangan terbang atau stesen kereta api. Penglihatan boleh dilatih untuk mengenali objek beratus-ratus kelas: perabot, beg, beg pakaian, payung, pelbagai jenis pakaian, botol, dan sebagainya. Jika sistem analitis video anda mengesan objek tanpa pemilik dan mengecamnya menggunakan Vision, ia menghantar isyarat kepada perkhidmatan keselamatan. Tugas yang sama dikaitkan dengan pengesanan automatik situasi luar biasa di tempat awam: seseorang berasa sakit, atau seseorang merokok di tempat yang salah, atau seseorang jatuh di atas landasan, dan sebagainya - semua corak ini boleh dikenali oleh sistem analitik video melalui API Visi.

2.6. Aliran dokumen

Satu lagi aplikasi Vision masa depan yang menarik yang sedang kami bangunkan ialah pengecaman dokumen dan penghuraian automatiknya ke dalam pangkalan data. Daripada memasukkan secara manual (atau lebih teruk, memasukkan) siri, nombor, tarikh terbitan, nombor akaun, butiran bank, tarikh dan tempat lahir yang tidak berkesudahan dan banyak data rasmi lain, anda boleh mengimbas dokumen dan menghantarnya secara automatik melalui saluran selamat melalui API ke awan, di mana sistem akan mengenali dokumen ini dengan cepat, menghuraikannya dan mengembalikan respons dengan data dalam format yang diperlukan untuk kemasukan automatik ke dalam pangkalan data. Hari ini Vision sudah tahu cara mengklasifikasikan dokumen (termasuk PDF) - membezakan antara pasport, SNILS, TIN, sijil kelahiran, sijil perkahwinan dan lain-lain.

Sudah tentu, rangkaian saraf tidak dapat menangani semua situasi ini di luar kotak. Dalam setiap kes, model baharu dibina untuk pelanggan tertentu, banyak faktor, nuansa dan keperluan diambil kira, set data dipilih, dan lelaran latihan, ujian dan konfigurasi dijalankan.

3. Skim operasi API

"Pintu masuk" Vision untuk pengguna ialah REST API. Ia boleh menerima foto, fail video dan siaran daripada kamera rangkaian (strim RTSP) sebagai input.

Untuk menggunakan Vision, anda perlukan mendaftarkan dalam perkhidmatan Penyelesaian Awan Mail.ru dan terima token akses (client_id + client_secret). Pengesahan pengguna dilakukan menggunakan protokol OAuth. Data sumber dalam badan permintaan POST dihantar ke API. Dan sebagai tindak balas, pelanggan menerima daripada API hasil pengiktirafan dalam format JSON, dan responsnya berstruktur: ia mengandungi maklumat tentang objek yang ditemui dan koordinatnya.

Dengan janggut, cermin mata gelap dan dalam profil: situasi sukar untuk penglihatan komputer

Contoh jawapan

{
   "status":200,
   "body":{
      "objects":[
         {
            "status":0,
            "name":"file_0"
         },
         {
            "status":0,
            "name":"file_2",
            "persons":[
               {
                  "tag":"person9"
                  "coord":[149,60,234,181],
                  "confidence":0.9999,
                  "awesomeness":0.45
               },
               {
                  "tag":"person10"
                  "coord":[159,70,224,171],
                  "confidence":0.9998,
                  "awesomeness":0.32
               }
            ]
         }

         {
            "status":0,
            "name":"file_3",
            "persons":[
               {
               "tag":"person11",
               "coord":[157,60,232,111],
               "aliases":["person12", "person13"]
               "confidence":0.9998,
               "awesomeness":0.32
               }
            ]
         },
         {
            "status":0,
            "name":"file_4",
            "persons":[
               {
               "tag":"undefined"
               "coord":[147,50,222,121],
               "confidence":0.9997,
               "awesomeness":0.26
               }
            ]
         }
      ],
      "aliases_changed":false
   },
   "htmlencoded":false,
   "last_modified":0
}

Jawapannya mengandungi kehebatan parameter yang menarik - ini adalah "kesejukan" bersyarat bagi wajah dalam foto, dengan bantuannya kami memilih syot wajah terbaik daripada jujukan. Kami melatih rangkaian saraf untuk meramalkan kemungkinan foto akan disukai di rangkaian sosial. Lebih baik kualiti foto dan lebih banyak wajah tersenyum, lebih hebat kehebatannya.

API Vision menggunakan konsep yang dipanggil ruang. Ini ialah alat untuk mencipta set wajah yang berbeza. Contoh ruang ialah senarai hitam dan putih, senarai pelawat, pekerja, pelanggan, dll. Untuk setiap token dalam Vision, anda boleh mencipta sehingga 10 ruang, setiap ruang boleh mempunyai sehingga 50 ribu PersonID, iaitu sehingga 500 ribu setiap token. Selain itu, bilangan token setiap akaun tidak terhad.

Hari ini API menyokong kaedah pengesanan dan pengecaman berikut:

  • Mengecam/Set - pengesanan dan pengecaman muka. Secara automatik memberikan PersonID kepada setiap orang yang unik, mengembalikan PersonID dan koordinat orang yang ditemui.
  • Padam - memadam PersonID tertentu daripada pangkalan data orang.
  • Truncate - mengosongkan keseluruhan ruang daripada PersonID, berguna jika ia digunakan sebagai ruang ujian dan anda perlu menetapkan semula pangkalan data untuk pengeluaran.
  • Kesan - pengesanan objek, pemandangan, plat lesen, tanda tempat, baris gilir, dll. Mengembalikan kelas objek ditemui dan koordinatnya
  • Mengesan untuk dokumen - mengesan jenis dokumen tertentu Persekutuan Rusia (membezakan pasport, SNILS, nombor pengenalan cukai, dll.).

Kami juga tidak lama lagi akan menyelesaikan kerja mengenai kaedah untuk OCR, menentukan jantina, umur dan emosi, serta menyelesaikan masalah dagangan, iaitu, untuk mengawal paparan barangan secara automatik di kedai. Anda boleh mendapatkan dokumentasi API lengkap di sini: https://mcs.mail.ru/help/vision-api

4. Kesimpulannya

Kini, melalui API awam, anda boleh mengakses pengecaman muka dalam foto dan video; pengenalan pelbagai objek, plat lesen, tanda tempat, dokumen dan keseluruhan adegan disokong. Senario aplikasi - laut. Datang, uji perkhidmatan kami, tetapkan tugas yang paling rumit. 5000 transaksi pertama adalah percuma. Mungkin ia akan menjadi "bahan yang hilang" untuk projek anda.

Anda boleh mengakses API serta-merta selepas pendaftaran dan sambungan. Visi. Semua pengguna Habra menerima kod promosi untuk transaksi tambahan. Sila tulis kepada saya alamat e-mel yang anda gunakan untuk mendaftar akaun anda!

Sumber: www.habr.com

Tambah komen