Teknologi lan model kanggo sistem visi komputer ing mangsa ngarep digawe lan ditingkatake kanthi bertahap lan ing macem-macem proyek perusahaan - ing Mail, Cloud, Search. Padha diwasa kaya keju utawa cognac sing apik. Sawijining dina kita nyadari yen jaringan syaraf kita nuduhake asil sing apik banget ing pangenalan, lan kita mutusake kanggo gabungke dadi produk b2b tunggal - Vision - sing saiki digunakake kanggo awake dhewe lan nawakake sampeyan gunakake.
Saiki, teknologi visi komputer kita ing platform Mail.Ru Cloud Solutions wis sukses lan ngrampungake masalah praktis sing rumit banget. Iki adhedhasar sawetara jaringan saraf sing dilatih ing set data kita lan khusus kanggo ngrampungake masalah sing ditrapake. Kabeh layanan mbukak ing fasilitas server kita. Sampeyan bisa nggabungake API Vision umum menyang aplikasi sampeyan, sing kasedhiya kabeh kemampuan layanan kasebut. API kasebut cepet - amarga GPU server, wektu respon rata-rata ing jaringan kita yaiku 100 ms.
Pindhah menyang kucing, ana crita rinci lan akeh conto karya Vision.
Conto layanan sing awake dhewe nggunakake teknologi pangenalan rai kasebut yaiku
1. Model Pangenalan Pasuryan kita
1.1. Jaringan syaraf lan kacepetan pangolahan
Kanggo pangenalan, kita nggunakake modifikasi model jaringan saraf ResNet 101. Rata-rata Pooling ing pungkasan diganti dening lapisan sing disambungake kanthi lengkap, padha karo cara sing ditindakake ing ArcFace. Nanging, ukuran perwakilan vektor yaiku 128, dudu 512. Set latihan kita ngemot sekitar 10 yuta foto saka 273 wong.
Model mlaku kanthi cepet amarga arsitektur konfigurasi server sing dipilih kanthi teliti lan komputasi GPU. Butuh saka 100 ms kanggo nampa respon saka API ing jaringan internal kita - iki kalebu deteksi pasuryan (deteksi pasuryan ing foto), ngenali lan bali PersonID ing respon API. Kanthi volume data sing akeh - foto lan video - bakal mbutuhake wektu luwih akeh kanggo mindhah data menyang layanan lan nampa respon.
1.2. Evaluasi efektifitas model
Nanging nemtokake efisiensi jaringan saraf minangka tugas sing ambigu. Kualitas karyane gumantung saka set data apa model sing dilatih lan apa padha dioptimalake kanggo nggarap data tartamtu.
Kita miwiti ngevaluasi akurasi model kita kanthi tes verifikasi LFW sing populer, nanging cilik banget lan prasaja. Sawise tekan akurasi 99,8%, ora ana gunane maneh. Ana kompetisi sing apik kanggo ngevaluasi model pangenalan - Megaface, sing mboko sithik tekan 82% peringkat 1. Tes Megaface kasusun saka sejuta foto - distraktor - lan model kasebut kudu bisa mbedakake sawetara ewu foto selebriti saka Facescrub. dataset saka distraktor. Nanging, sawise ngilangi kesalahan saka tes Megaface, kita nemokake manawa kanthi versi sing wis diresiki kita entuk akurasi 98% peringkat 1 (foto selebriti umume cukup spesifik). Mulane, dheweke nggawe tes identifikasi sing kapisah, padha karo Megaface, nanging nganggo foto wong "biasa". Banjur kita nambah akurasi pangenalan ing set data lan maju. Kajaba iku, kita nggunakake tes kualitas clustering sing kasusun saka sawetara ewu foto; iku simulates tagging pasuryan ing maya pangguna. Ing kasus iki, klompok minangka klompok individu sing padha, siji klompok kanggo saben wong sing bisa dingerteni. Kita mriksa kualitas karya ing kelompok nyata (bener).
Mesthi, kesalahan pangenalan dumadi karo model apa wae. Nanging kahanan kaya mengkono asring ditanggulangi kanthi nyetel ambang kanggo kondisi tartamtu (kanggo kabeh konferensi nggunakake ambang sing padha, nanging, contone, kanggo sistem kontrol akses, kita kudu nambah batesan banget supaya kurang positif palsu). Umume pengunjung konferensi diakoni kanthi bener dening booth foto Vision. Kadhangkala ana sing ndeleng pratinjau sing dipotong lan ujar, "Sistem sampeyan salah, dudu aku." Banjur kita mbukak foto kabeh, lan jebule pancen ana pengunjung iki ing foto, mung kita ora motret, nanging wong liya, wong kasebut mung ana ing latar mburi ing zona blur. Kajaba iku, jaringan syaraf asring kanthi bener ngenali sanajan bagean saka pasuryan ora katon, utawa wong ngadeg ing profil, utawa malah setengah nguripake. Sistem kasebut bisa ngenali wong sanajan pasuryane ana ing area distorsi optik, ucapake, nalika njupuk lensa sudhut amba.
1.3. Conto testing ing kahanan angel
Ing ngisor iki conto cara kerja jaringan saraf kita. Foto dikirim menyang input, sing kudu dilabel nganggo PersonID - pengenal unik saka wong. Yen loro utawa luwih gambar duwe ID sing padha, banjur, miturut model, foto kasebut nggambarake wong sing padha.
Ayo langsung dicathet yen nalika nyoba, kita duwe akses menyang macem-macem parameter lan ambang model sing bisa dikonfigurasi kanggo entuk asil tartamtu. API umum dioptimalake kanggo akurasi maksimal ing kasus umum.
Ayo diwiwiti kanthi sing paling gampang, kanthi pangenalan rai ing ngarep.
Inggih, sing gampang banget. Ayo dadi rumit tugas, nambah jenggot lan sawetara taun.
Sawetara bakal ngomong yen iki uga ora angel banget, amarga ing kasus loro kabeh pasuryan katon, lan akeh informasi babagan pasuryan kasedhiya kanggo algoritma. Oke, ayo dadi profil Tom Hardy. Masalah iki luwih rumit, lan akeh gaweyan kanggo ngrampungake kanthi sukses nalika njaga tingkat kesalahan sing sithik: kita milih set latihan, mikir babagan arsitektur jaringan saraf, ngasah fungsi mundhut lan nambah proses pra-proses. saka foto.
Ayo nganggo tutup kepala:
Miturut cara, iki minangka conto saka kahanan sing angel banget, amarga pasuryane banget didhelikake, lan ing foto ngisor ana uga bayangan jero sing ndhelikake mripat. Ing urip nyata, wong kerep banget ngganti tampilan kanthi bantuan kaca tingal peteng. Ayo padha karo Tom.
Oke, ayo nyoba mbuwang foto saka macem-macem umur, lan wektu iki kita bakal nyoba karo aktor sing beda. Ayo njupuk conto sing luwih rumit, ing ngendi owah-owahan sing ana hubungane karo umur utamane diucapake. Kahanan kasebut ora adoh banget, asring kedadeyan nalika sampeyan kudu mbandhingake foto ing paspor karo pasuryan sing nggawa. Sawise kabeh, foto pisanan ditambahake menyang paspor nalika pemilik umur 20 taun, lan nalika umur 45 taun, wong bisa owah banget:
Apa sampeyan mikir yen spesialis utama ing misi mokal ora owah akeh karo umur? Aku sing malah sawetara wong bakal gabungke foto ndhuwur lan ngisor, cah lanang wis diganti dadi luwih liwat taun.
Jaringan saraf nemu owah-owahan ing tampilan luwih kerep. Contone, kadhangkala wanita bisa ngganti gambar kanthi bantuan kosmetik:
Saiki ayo luwih rumit tugas kasebut: umpamane bagean pasuryan sing beda-beda ditutupi foto sing beda. Ing kasus kasebut, algoritma ora bisa mbandhingake kabeh conto. Nanging, Vision nangani kahanan kaya iki kanthi apik.
Miturut cara, bisa uga ana akeh pasuryan ing foto, contone, luwih saka 100 wong bisa pas ing foto umum bale. Iki minangka kahanan sing angel kanggo jaringan saraf, amarga akeh pasuryan sing bisa dipadhangi kanthi beda, sawetara ora fokus. Nanging, yen foto dijupuk kanthi resolusi lan kualitas sing cukup (paling ora 75 piksel saben kothak nutupi pasuryan), Vision bakal bisa ndeteksi lan ngenali.
Keanehan foto reportase lan gambar saka kamera pengawasan yaiku wong asring burem amarga ora fokus utawa obah ing wektu kasebut:
Kajaba iku, intensitas cahya bisa beda-beda gumantung saka gambar menyang gambar. Iki uga asring dadi sandhungan; akeh algoritma sing angel banget ngolah gambar sing peteng banget lan entheng, lan ora bisa dicocogake kanthi akurat. Ayo kula ngelingake sampeyan supaya entuk asil iki sampeyan kudu ngatur ambang kanthi cara tartamtu; fitur iki durung kasedhiya kanggo umum. Kita nggunakake jaringan syaraf sing padha kanggo kabeh klien; nduweni ambang sing cocog kanggo tugas paling praktis.
We bubar mbalek metu versi anyar saka model sing ngenali pasuryan Asian karo akurasi dhuwur. Iki biyen dadi masalah gedhe, sing malah diarani rasisme "pembelajaran mesin" (utawa "jaringan saraf"). Jaringan saraf Eropa lan Amerika ngerteni pasuryan Kaukasia kanthi apik, nanging kanthi pasuryan Mongoloid lan Negroid, kahanan kasebut luwih elek. Mbokmenawa, ing China kahanane pancen kosok baline. Iku kabeh babagan latihan set data sing nggambarake jinis dominan wong ing negara tartamtu. Nanging, kahanan saya ganti, saiki masalah iki ora akut. Vision ora masalah karo wong saka macem-macem ras.
Pangenalan rai mung salah siji saka akeh aplikasi teknologi kita; Visi bisa dilatih kanggo ngenali apa wae. Contone, piring lisensi, kalebu ing kahanan angel kanggo algoritma: ing sudhut cetha, reged lan angel kanggo maca piring lisensi.
2. Kasus panggunaan praktis
2.1. Kontrol akses fisik: nalika wong loro nggunakake pass sing padha
Kanthi bantuan saka Vision, sampeyan bisa ngleksanakake sistem kanggo ngrekam rawuh lan budhal karyawan. Sistem tradisional adhedhasar pass elektronik duwe kerugian sing jelas, contone, sampeyan bisa ngliwati rong wong nggunakake siji lencana. Yen sistem kontrol akses (ACS) ditambah karo Vision, bakal jujur ββββngrekam sing teka / kiwa lan nalika.
2.2. nelusuri wektu
Kasus panggunaan Vision iki raket banget karo sing sadurunge. Yen sampeyan nambahake sistem akses kanthi layanan pangenalan rai, ora mung bisa ndeteksi pelanggaran kontrol akses, nanging uga kanggo ndhaptar ananΓ© karyawan ing bangunan utawa fasilitas kasebut. Ing tembung liyane, Vision bakal mbantu sampeyan kanthi jujur ββnggatekake sapa sing teka kerja lan lunga ing wektu apa, lan sapa sing ora kerja, sanajan kanca-kancane nutupi dheweke ing ngarepe atasane.
2.3. Analisis Video: Nelusuri lan Keamanan Wong
Kanthi nelusuri wong nggunakake Vision, sampeyan bisa netepake lalu lintas nyata ing wilayah blanja, stasiun sepur, dalan, dalan lan akeh papan umum liyane. Pelacakan kita uga bisa dadi bantuan gedhe kanggo ngontrol akses, contone, menyang gudang utawa papan kantor penting liyane. Lan mesthi, nelusuri wong lan pasuryan mbantu ngatasi masalah keamanan. Kejiret wong nyolong saka toko sampeyan? Tambahake PersonID, sing wis dibalekake dening Vision, menyang dhaptar ireng piranti lunak analitik video, lan sabanjure sistem bakal langsung menehi tandha keamanan yen jinis iki katon maneh.
2.4. Ing perdagangan
Retail lan macem-macem layanan bisnis kasengsem ing pangenalan antrian. Kanthi bantuan saka Vision, sampeyan bisa ngerteni manawa iki dudu akeh wong sing acak, nanging antrian, lan nemtokake dawane. Banjur sistem kasebut menehi informasi marang sing tanggung jawab babagan antrian supaya bisa ngerteni kahanan kasebut: ana panyebaran pengunjung lan karyawan tambahan kudu ditelpon, utawa ana wong sing slacking ing tugas.
Tugas liyane sing menarik yaiku misahake karyawan perusahaan ing aula saka pengunjung. Biasane, sistem kasebut dilatih kanggo misahake obyek sing nganggo sandhangan tartamtu (kode busana) utawa kanthi fitur khas (selendang bermerek, lencana ing dhadha, lan liya-liyane). Iki mbantu kanggo luwih akurat netepke rawuh (supaya karyawan ora "inflate" statistik wong ing aula dening mung ngarsane).
Nggunakake pangenalan rai, sampeyan uga bisa ngevaluasi pamirsa: apa kesetiaan pengunjung, yaiku, pirang-pirang wong bali menyang panyiapan sampeyan lan frekuensi apa. Etung jumlah pengunjung unik sing teka saben wulan. Kanggo ngoptimalake biaya atraksi lan retensi, sampeyan uga bisa ngerteni owah-owahan lalu lintas gumantung ing dina minggu lan malah wektu.
Franchisor lan perusahaan rantai bisa menehi pambiji adhedhasar foto kualitas merek saka macem-macem toko ritel: anane logo, pratandha, poster, spanduk, lan liya-liyane.
2.5. Kanthi transportasi
Conto liyane kanggo njamin keamanan nggunakake analytics video yaiku ngenali barang sing ditinggal ing aula bandara utawa stasiun sepur. Visi bisa dilatih kanggo ngenali obyek saka atusan kelas: potongan perabot, tas, koper, payung, macem-macem jinis sandhangan, botol, lan liya-liyane. Yen sistem analitik video sampeyan ndeteksi obyek sing ora nduweni lan ngenali kanthi nggunakake Vision, iku ngirim sinyal menyang layanan keamanan. Tugas sing padha digandhengake karo deteksi otomatis kahanan sing ora biasa ing papan umum: ana sing nandhang lara, utawa ana sing ngrokok ing papan sing salah, utawa ana sing tiba ing rel, lan liya-liyane - kabeh pola kasebut bisa dingerteni dening sistem analitik video. liwat Vision API.
2.6. Alur dokumen
Aplikasi Vision liyane sing menarik ing mangsa ngarep sing lagi dikembangake yaiku pangenalan dokumen lan parsing otomatis menyang database. Tinimbang ngetik kanthi manual (utawa luwih elek, ngetik) seri, nomer, tanggal diterbitake, nomer akun, rincian bank, tanggal lan panggonan lair lan akeh data resmi liyane, sampeyan bisa mindhai dokumen lan ngirim kanthi otomatis liwat saluran sing aman liwat API menyang mΓ©ga, ing ngendi sistem bakal ngenali dokumen kasebut kanthi cepet, ngurai lan ngasilake respon karo data ing format sing dibutuhake kanggo entri otomatis menyang database. Dina iki Vision wis ngerti carane nggolongake dokumen (kalebu PDF) - mbedakake antarane paspor, SNILS, TIN, sertifikat lair, sertifikat nikah lan liya-liyane.
Mesthine, jaringan saraf ora bisa nangani kabeh kahanan kasebut metu saka kothak. Ing saben kasus, model anyar dibangun kanggo pelanggan tartamtu, akeh faktor, nuansa lan syarat sing dianggep, set data dipilih, lan pengulangan latihan, pengujian, lan konfigurasi ditindakake.
3. skema operasi API
"Gerbang mlebu" Vision kanggo pangguna yaiku REST API. Bisa nampa foto, file video lan siaran saka kamera jaringan (stream RTSP) minangka input.
Kanggo nggunakake Vision, sampeyan kudu
Tuladha wangsulan
{
"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
}
Jawaban kasebut ngemot keajaiban parameter sing menarik - iki minangka "kesejukan" kondisional saka pasuryan ing foto, kanthi bantuan kita milih gambar sing paling apik saka pasuryan saka urutan kasebut. Kita nglatih jaringan saraf kanggo prΓ©dhiksi kemungkinan foto bakal disenengi ing jaringan sosial. Kualitas foto sing luwih apik lan rai sing luwih mesem, luwih apik banget.
API Vision nggunakake konsep sing disebut spasi. Iki minangka alat kanggo nggawe macem-macem pasuryan. Conto spasi yaiku dhaptar ireng lan putih, dhaptar pengunjung, karyawan, klien, lan liya-liyane. Kanggo saben token ing Vision, sampeyan bisa nggawe nganti 10 spasi, saben spasi bisa nganti 50 ewu PersonID, yaiku, nganti 500 ewu. saben token. Kajaba iku, jumlah token saben akun ora diwatesi.
Saiki API ndhukung cara deteksi lan pangenalan ing ngisor iki:
- Ngenali / Setel - deteksi lan pangenalan pasuryan. Kanthi otomatis nemtokake PersonID kanggo saben wong sing unik, ngasilake PersonID lan koordinat wong sing ditemokake.
- Mbusak - mbusak PersonID tartamtu saka database wong.
- Truncate - mbusak kabeh spasi saka PersonID, migunani yen digunakake minangka ruang test lan sampeyan kudu ngreset database kanggo produksi.
- Deteksi - deteksi obyek, pemandangan, piring lisensi, landmark, antrian, lsp. Ngasilake kelas obyek sing ditemokake lan koordinate
- Ndeteksi kanggo dokumen - ndeteksi jinis tartamtu saka dokumen Federasi Rusia (mbedakake passport, SNILS, nomer identifikasi tax, etc.).
Kita uga bakal ngrampungake cara kanggo OCR, nemtokake jender, umur lan emosi, uga ngrampungake masalah dagang, yaiku, kanthi otomatis ngontrol tampilan barang ing toko. Sampeyan bisa nemokake dokumentasi API lengkap ing kene:
4. Kesimpulan
Saiki, liwat API umum, sampeyan bisa ngakses pangenalan rai ing foto lan video; identifikasi macem-macem obyek, piring lisensi, landmark, dokumen lan kabeh adegan didhukung. Skenario aplikasi - segara. Ayo, nyoba layanan kita, atur tugas sing paling angel. 5000 transaksi pisanan gratis. Mbok menawa bakal dadi "bahan sing ilang" kanggo proyek sampeyan.
Sampeyan bisa langsung ngakses API nalika registrasi lan sambungan.
Source: www.habr.com