
Tehnoloogiad ja mudelid meie tulevase arvutinĂ€gemise sĂŒsteemi jaoks on loodud ja tĂ€iustatud jĂ€rk-jĂ€rgult ning erinevates meie ettevĂ”tte projektides â Postis, Pilves, Otsingus. Need on kĂŒpsenud nagu hea juust vĂ”i konjak. Ăhel hetkel mĂ”istsime, et meie nĂ€rvivĂ”rgud nĂ€itavad suurepĂ€raseid tulemusi tuvastamises ja otsustasime neid koondada ĂŒhte b2b-tootesse â Vision, mida me nĂŒĂŒd ise kasutame ja mida soovime teile pakkuda.
TĂ€napĂ€eval töötab meie arvutinĂ€gemise tehnoloogia Mail.Ru Cloud Solutions platvormil edukalt ja lahendab vĂ€ga keerulisi praktilisi probleeme. Selle aluseks on mitmed nĂ€rvivĂ”rgud, mis on koolitatud meie andmekogudel ja on spetsialiseerunud rakenduslike probleemide lahendamisele. KĂ”ik teenused töötavad meie serveriressursside peal. Saate oma rakendustes integreerida Visioni avaliku API, mille kaudu on saadaval kĂ”ik teenuse vĂ”imalused. API on kiire â tĂ€nu serveri GPU-dele on meil keskmine vastusaeg meie vĂ”rgus umbes 100 ms.
Tulge sisse, seal on pÔhjalik lugu ja palju nÀiteid Visioni tööst.
NĂ€iteks teenus, kus me ise kasutame nimetatud nĂ€otuvastuse tehnoloogiaid, on . Ăks selle komponente on Visioni fotostendid, mida me paigutame erinevatele konverentsidele. Kui te lĂ€henete sellisele fotostendile, pildistate end sisse ehitatud kaameraga ja sisestate oma e-posti, leiab sĂŒsteem kohe paljude piltide hulgast need, kus teid jÀÀdvustasid konverentsi ametlikud fotograafid, ja soovikorral saadab leitud pildid teile e-postiga. Ja jutt ei kĂ€i poseeritud portreepiltidest â Vision tuvastab teid isegi kĂ”ige tagumisest plaanist rahvahulga seas. Loomulikult ei tunne neid fotostendid ise, need on lihtsalt tabletid ilusates alustes, mis lihtsalt pildistavad kĂŒlalisi oma sisseehitatud kaameratega ja edastavad teavet serveritesse, kus kogu tuvastamise maagia leiab aset. Ja me oleme korduvalt nĂ€inud, kui ĂŒllatunud on spetsialistid pildituvastuse tehnoloogia efektiivsusest. Allpool rÀÀgime mĂ”nest nĂ€itest.

1. Meie nÀotuvastuse mudel
1.1. NÀrvivÔrk ja töötlemise kiirus
MĂ”istmiseks kasutame modifitseeritud neuronaalvĂ”rgu mudelit ResNet 101. Average Pooling on asendatud tĂ€isĂŒhendatud kihiga, nagu on tehtud ArcFace'is. Kuid vektori esinduste suurus on 128, mitte 512. Meie treeningandmete valim sisaldab umbes 10 miljonit fotot 273 593 isikust.
Mudeli töötab vĂ€ga kiiresti, tĂ€nu hoolikalt valitud serveri arhitektuurile ja GPU arvutustele. API vastuse saamiseks meie sisevĂ”rkudes kulub alates 100 ms â see hĂ”lmab nĂ€o tuvastamist (nĂ€o tuvastamine fotol), Ă€ratundmist ja PersonID tagastamist API vastuses. Suurte sissetulevate andmemahtude â fotode ja videote â puhul kulub palju rohkem aega andmete edastamiseks teenusele ja vastuse saamiseks.
1.2. Mudeli efektiivsuse hindamine
Kuid neuronaalvĂ”rkude töö efektiivsuse mÀÀramine on vĂ€ga subjektiivne ĂŒlesanne. Nende töö kvaliteet sĂ”ltub andmekogudest, millel mudelid on treenitud, ja kas need on optimeeritud tööks konkreetsete andmete jaoks.
Hakkasime oma mudeli tĂ€psust hindama tuntud valideerimise testiga LFW, kuid see on liiga vĂ€ike ja lihtne. PĂ€rast 99,8% tĂ€psuse saavutamist ei ole sellel enam mĂ”tet. On hea konkurss mudelite Ă€ratunde hindamiseks â Megaface, kus oleme jĂ€rk-jĂ€rgult jĂ”udnud 82% rank 1. Megaface'i test koosneb miljonist fotost â hĂ€irijast â ja mudel peab suutma hĂ€sti eristada mĂ”ni tuhat kuulsuste fotot andmekogust Facescrub hĂ€irijatest. Kuid Megaface'i testist vigade eemaldamisel avastasime, et puhastatud variandil saavutame 98 % rank 1 tĂ€psuse (kuulsuste fotod on ĂŒsna spetsiifilised). SeetĂ”ttu lĂ”ime eraldi identifitseerimistesti, mis sarnaneb Megaface'iga, kuid sisaldab
Muidugi, iga mudeli puhul juhtub tunnustusviga. Kuid sellised olukorrad lahendatakse sageli piiride kohandamisega konkreetsete tingimuste jaoks (kĂ”ikide konverentside jaoks kasutame samu piire, kuid nĂ€iteks juurdepÀÀsukontrolli puhul tuleb piire oluliselt tĂ”sta, et vale positiivne tuvastamine oleks vĂ€iksem). Enamus konverentsi kĂŒlastajatest tuvastati meie Vision fotokioskitega Ă”igesti. MĂ”nikord vaatas keegi lĂ”igatud eelvaadet ja ĂŒtles: "Teie sĂŒsteem eksis, see ei ole mina". Siis avasime pildi tĂ€ielikult ja selgus, et pildil on tĂ”epoolest see kĂŒlastaja, lihtsalt kaamera jÀÀdvustas kedagi muud, inimene sattus lihtsalt juhuslikult udusesse tausta. Veelgi enam, nĂ€rvivĂ”rk tuvastab sageli Ă”igesti isegi juhul, kui osa nĂ€ost ei ole nĂ€htav, vĂ”i inimene seisab profiilis, vĂ”i isegi keerab selga. SĂŒsteem suudab tuvastada isiku ka siis, kui nĂ€gu on optiliste moonutuste piirkonnas, nĂ€iteks laia nurga objektiiviga pildistamisel.
1.3. Testimise nÀidised keerulistes olukordades
Allpool on esitatud nÀited meie nÀrvivÔrgu tööst. Sisendiks on fotod, mida ta peab mÀrgistama PersonID - unikaalse nÀo identifikaatoriga. Kui kahel vÔi enamal pildil on sama identifikaator, siis tÀhendab see, et mudelite arvates on need pildid sama inimesega.
TÔstame kohe esile, et testimise kÀigus on meil saadaval erinevad parameetrid ja mudelite piirid, mida saame tulemuse saavutamiseks kohandada. Avalik API on optimeeritud maksimaalse tÀpsuse saavutamiseks tavalistes juhtumites.
Alustame kÔige lihtsamast, nÀo tuvastamisest otsevaates.

Noh, see oli liiga lihtne. Teeme ĂŒlesande keerulisemaks, lisame habeme ja paar aastat.

Keegi vĂ”ib öelda, et see ei olnud samuti liiga keeruline, sest mĂ”lemal juhul on nĂ€gu tĂ€ielikult nĂ€htav, algoritmil on palju teavet nĂ€o kohta. HĂ€sti, keerame Tom Hardy profiili. See ĂŒlesanne on oluliselt keerulisem ning selle edukaks lahendamiseks madala vigade tasemega kulus meil palju vaeva: valisime treeningu proovivĂ”tu, lĂ”ime nĂ€rvivĂ”rgu arhitektuuri, hiilime kaotuse funktsioonidega ja tĂ€iustasime piltide eeltöötlust.

Paneme talle peakate.

See on eriti keeruline olukord, kuna nĂ€gu on tugevalt varjatud, ja alumisel pildil katab sĂŒgav vari ka silmad. Tegelikus elus muudavad inimesed oma vĂ€limust vĂ€ga sageli tumedate prillide abil. Teeme sama ka Tomiga.

HĂ€sti, proovime koostada fotosid erinevatest vanuserĂŒhmadest, ja seekord katsetame teise nĂ€itlejaga. Vaatame palju keerulisemat nĂ€idet, kus vanuseline muutus on eriti mĂ€rgatav. Selline olukord pole vĂ€lja mĂ”eldud, vaid esineb pidevalt, kui tuleb vĂ”rrelda passi pilti esitleja nĂ€oga. Esimene pilt kleebitakse passile siis, kui omanik on 20-aastane, ja 45-aastaseks saades vĂ”ib inimene vĂ€ga palju muutuda.

Kas arvan, et peamine ekspert vĂ”imatutes missioonides pole vanusega eriti muutunud? Ma arvan, et vĂ€hesed inimesed suudaksid ĂŒhendada ĂŒlemised ja alumised pildid, nii palju on poiss nende aastate jooksul muutunud.

NeuraalvÔrgud puutuvad vÀlimuse muutustega kokku sagedamini. NÀiteks vÔivad naised mÔnikord oma vÀlimust kosmeetika abil tugevalt muuta:

NĂŒĂŒd veelgi keerulisemaks: oletame, et erinevates piltides on erinevad nĂ€oosad varjatud. Sellistel juhtudel ei saa algoritm nĂ€idiseid tervikuna vĂ”rrelda. Kuid Vision suudab selliste olukordadega hĂ€sti toime tulla.

Ăks asi, millega nĂ€opiltide puhul arvestada, on see, et piltidel vĂ”ib olla palju nĂ€gusid, nĂ€iteks vĂ”ib ĂŒhisel grupifotol olla ĂŒle 100 inimese. See on neuraalvĂ”rkude jaoks keeruline olukord, kuna paljusid nĂ€gusid vĂ”ib olla erinevalt valgustatud, keegi on teravustamata. Kuid kui foto on tehtud piisava resolutsiooniga ja kvaliteediga (vĂ€hemalt 75 pikslit ruudu kohta, mis katab nĂ€o), suudab Vision selle tuvastada ja Ă€ra tunda.

ReportaaĆŸifotode ja jĂ€lgimiskaamerate piltide eripĂ€ra on see, et inimesed on sageli udused, kuna nad on olnud teravustamisest vĂ€ljas vĂ”i liiguvad sel hetkel:

Ka pildilt pildile vĂ”ib valguse intensiivsus oluliselt erineda. See muutub sageli probleemiks, paljud algoritmid koguvad suurt raskust liiga tumedate ja liiga heledate piltide Ă”ige töötlemisega, rÀÀkimata tĂ€psest vaste leidmisest. Tuletan meelde, et sellise tulemuse saavutamiseks tuleb eelmisi kĂŒnniseid Ă”igesti seadistada, kuid avalikus juurdepÀÀs pole veel saadaval. Meie kliendid kasutavad sama nĂ€rvivĂ”rku, millel on seatud kĂŒnnised, mis sobivad enamiku praktiliste probleemide jaoks.

Hiljuti tuvastasime uue mudeli, mis tuvastab Aasia nĂ€gusid kĂ”rge tĂ€psusega. Varem oli see suur probleem, millel oli isegi nimi âmasinĂ”ppe rassismâ (vĂ”i âneurovĂ”rgudâ). Euroopa ja Ameerika nĂ€rvivĂ”rgud suudavad hĂ€sti tuvastada euroopa nĂ€gusid, kuid mongoliidsete ja negroidsete nĂ€gudega oli olukord palju keerulisem. TĂ”enĂ€oliselt oli Hiinas vastupidine olukord. Probleem on treeningandmestikes, mis kajastavad domineeerivaid nĂ€otĂŒĂŒpe erinevates riikides. Siiski, olukord on muutumas, tĂ€na ei ole see probleem enam nii terav. Vision ei kohtu mingite tĂ”ketega erinevate rasside esindajatega.

NĂ€otuvastus on vaid ĂŒks paljusid meie tehnoloogia rakendusi, Visionit saab Ă”petada tuvastama mida iganes. NĂ€iteks auto numbrimĂ€rke, isegi keerulistes tingimustes algoritmide jaoks: teravate nurkade all, mustad ja raskesti loetavad numbrimĂ€rgid.

2. Praktilised kasutusnÀited
2.1. FĂŒĂŒsilise ligipÀÀsu kontroll: kui kaks inimest lĂ€hevad ĂŒhe kaardiga sisse
Visioni abil saab rakendada töötajate saabumise ja lahkumise jĂ€lgimise sĂŒsteeme. Traditsioonilisel sĂŒsteemil, mis pĂ”hineb elektroonilistel kaartidel, on ilmseid puudusi, nĂ€iteks vĂ”ib kaks inimest minna ĂŒhe kaardi kaudu. Kui aga pÀÀsme sĂŒsteemi (SKUD) tĂ€iendada Visioniga, siis registreerib see tĂ”eliselt, kes ja millal tuli/lĂ€ks.
2.2. Töötamise aja jÀlgimine
See kasutusskenaar Vision on tihedalt seotud eelneva teemaga. Kui lisada meie nĂ€otuvastusteenus juurdepÀÀsusĂŒsteemi, suudab see mitte ainult tuvastada reeglite rikkumisi, vaid ka registreerida töötajate tegelikku viibimist hoones vĂ”i objektis. TeisisĂ”nu aitab Vision ausalt arvestada, kes ja millal tööle tuli ja lahkus, ning kes tegelikult puudus, isegi kui kolleegid teda juhatajatele varjasid.
2.3. Videotehnoloogia: inimeste jÀlgimine ja turvalisus
Inimeste jĂ€lgimisega Visioni abil on vĂ”imalik tĂ€pselt hinnata kaubandusalade, jaamade, ĂŒleminekute, tĂ€navate ja paljude teiste avalike kohtade tegelikku lĂ€bilaskevĂ”imet. Samuti saab meie jĂ€lgimisteenus oluliselt aidata juurdepÀÀsu kontrollimisel, nĂ€iteks laos vĂ”i muudes olulistes ametiruumides. Ja muidugi aitab inimeste ja nĂ€gude jĂ€lgimine lahendada turvalisuse probleeme. Kas nĂ€gite kedagi varastamas teie poes? Lisage tema PersonID, mille Vision vĂ€ljastas, teie videotehnika tarkvara musta nimekirja, ja jĂ€rgmine kord hoiatab sĂŒsteem turvamehi kohe, kui see isik uuesti teie juurde ilmub.
2.4. Kaubanduses
JaemĂŒĂŒgil ja erinevates teenindusettevĂ”tetes on huvi jĂ€rjekordade tuvastamise vastu. Visioni abil on vĂ”imalik tuvastada, et tegu ei ole juhusliku inimeste kogunemisega, vaid jĂ€rjekorraga, ning mÀÀrata selle pikkus. Ja siis teatab sĂŒsteem vastutavatele isikutele jĂ€rjekorra tekkimisest, et nad olukorrast aru saaksid: kas raskuspunkt on kĂŒlastajate suurenemisega ja tuleb kutsuda lisatöötajaid, vĂ”i keegi ei tĂ€ida oma tĂ¶Ă¶ĂŒlesandeid.
Veel ĂŒks huvitav ĂŒlesanne on ettevĂ”tte töötajate eristamine saalis kĂŒlastajatest. TĂŒĂŒpiliselt Ă”petatakse sĂŒsteem eristama objekte teatud riietuse (dresses-code) vĂ”i mingi eristava tunnuse (firmamĂ€rk, rinnakelpk vĂ”i muu sarnane) alusel. See aitab tĂ€psemalt hinnata kĂŒlastatavust (et töötajad ei âtĂ”staksâ ĂŒksi oma kohaloleku statistikat saalis).
NĂ€o tuvastamise abil saate hinnata ka oma publikut: kui suur on kĂŒlastajate lojaalsus, ehk kui palju inimesi naaseb teie ettevĂ”ttesse ja kui tihti. Arvutage, kui palju unikaalseid kĂŒlastajaid te kuu jooksul vastu vĂ”tate. Kulude optimeerimiseks kĂŒlaliste meelitamiseks ja hoidmiseks on vĂ”imalik kindlaks teha ka kĂŒlastatavuse muutused vastavalt nĂ€dalapĂ€evadele ja isegi pĂ€evaajas.
Frantsiisiandjad ja kettide ettevĂ”tted saavad tellida hinnangu brĂ€ndimise kvaliteedile erinevates jaemĂŒĂŒgikohtades fotode abil: logode, vĂ€ljapanekute, plakatite, bĂ€nnerite jne olemasolu.
2.5. Transport
Teine nĂ€ide turvalisuse tagamisest videoanalĂŒĂŒtika abil on unustatud esemete tuvastamine lennujaamade vĂ”i jaamade saalides. Visionit saab Ă”petada tuvastama sadu klasside objekte: mööbliesemed, kotid, kohvrid, vihmavarjud, erinevad riietuse tĂŒĂŒbid, pudelid jne. Kui teie videoanalĂŒĂŒtiline sĂŒsteem tuvastab kodutuks jÀÀva objekti ja tuvastab selle Visioni abil, saadab see signaali turvateenistusele. Sarnane ĂŒlesanne on seotud ebatavalisemade olukordade automaatse tuvastamisega avalikes kohtades: kellelgi on halb, keegi suitsetab keelatud kohas vĂ”i inimene kukkus rööbastele, jne â kĂ”ik need mustrid vĂ”ivad videoanalĂŒĂŒsi sĂŒsteemid API Visioni kaudu Ă€ra tunda.
2.6. Dokumentide haldamine
Veel ĂŒks huvitav tuleviku rakendus Visionilt, mida me praegu arendame, on dokumentide tuvastamine ja nende automaatne parseerimine andmebaasidesse. Selle asemel, et kĂ€sitsi sisestada (vĂ”i veel hullem, ĂŒles kirjutada) lĂ”putud seeriad, numbrid, vĂ€ljastamise kuupĂ€evad, arvenumbrid, panganduse andmed, sĂŒnnikuupĂ€evad ja -kohad ning paljud muud formaliseeritud andmed, saab nĂŒĂŒd skaneerida dokumente ja automaatselt saata need kaitstud kanali kaudu API kaudu pilve, kus sĂŒsteem tunnustab need dokumendid reaalajas, parseerib need ning tagastab vastuse andmetega soovitud formaadis automaatseks andmebaasi sisestamiseks. TĂ€na suudab Vision juba dokumente klassifitseerida (sealhulgas PDF formaadis) â eristab passe, SNI lise, INN, sĂŒnnitunnistusi, abielutunnistusi ja teisi.
Muidugi ei suuda nĂ€rvivĂ”rk neid olukordi vaikimisi töödelda. Igas olukorras luuakse konkreetse tellija jaoks uus mudel, arvesse vĂ”etakse mitmeid tegureid, nĂŒansse ja nĂ”udeid, valitakse andmekogusid ning viiakse lĂ€bi Ă”pikatsed.
3. API tööpÔhimÔte
Visioni «sisenemispunkt» kasutajatele on REST API. See suudab vastu vÔtta fotosid, videofailide ja vÔrgukaamerate (RTSP-voogude) edastusi.
Visioni kasutamiseks on vaja Mail.ru Cloud Solutions teenuses ja saada pÀÀsme tokenid (client_id + client_secret). Kasutajate autentimine toimub OAuth protokolli abil. ALGANDMED saadetakse API-s Posti pÀringute kehas. Vastuseks saab klient API-lt tuvastamise tulemuse JSON-formaadis, kusjuures vastus on struktureeritud: see sisaldab teavet leitud objektide ja nende koordinaatide kohta.

Vastuse nÀidis
{
"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
}Vastuses on huvitav parameeter awesomeness â see on tinglik âlahedusâ pildil olevale nĂ€ole, millega valime parima nĂ€opildi jĂ€rjestikus. Oleme Ă”petanud nĂ€rvivĂ”rku ennustama tĂ”enĂ€osust, et pildile antakse sotsiaalmeedias meeldimise nupp. Mida kvaliteetsem on pilt ja mida naeratavam on nĂ€gu, seda suurem on awesomeness.
Vision API kasutab mĂ”istet nagu spaas (space). See on tööriist erinevate nĂ€gude kogumite loomiseks. Spaaside nĂ€ideteks on mustad ja valged nimekirjad, kĂŒlastajate, töötajate, klientide nimekirjad jne. Iga tokeni jaoks Visionis saab luua kuni 10 spaasit, kus igas spaasis vĂ”ib olla kuni 50 tuhat PersonID-d, ehk kokku kuni 500 tuhat ĂŒhe tokeni kohta. Samuti ei ole ĂŒhe konto kohta tokenite arv piiratud.
TÀna toetab API jÀrgmisi mÀÀramise ja tuvastamise meetodeid:
- Tuvasta/Sea â nĂ€gude mÀÀramine ja tuvastamine. Automaatne PersonID mÀÀramine igale unikaalsele nĂ€ole, tagastades PersonID ja leitud nĂ€gude koordinaadid.
- Kustuta â konkreetse PersonID eemaldamine isikute andmebaasist.
- Truncate â kogu spaasist PersonID-de kustutamine, kasulik, kui see on kasutatud testimiseks ja andmebaasi tuleb tootmisse nullida.
- Tuvasta â objektide, stseenide, autode numbrite, maamĂ€rkide, jĂ€rjekordade jne mÀÀramine. Tagastab leitud objektide klassi ja nende koordinaadid.
- Dokumentide jaoks tuvastamine â tuvastab Venemaa konkreetseid dokumenditĂŒĂŒpe (eristab passi, SNILS-i, INN-i jne).
Samuti lÔpetame peagi meetodite arendamise OCR-iks, soo, vanuse ja emotsioonide mÀÀramiseks, samuti kaubanduse probleemide lahendamiseks, s.t. kauplustes kauplemise automatiseeritud kontrollimiseks. TÀieliku dokumentatsiooni API kohta leiate siit:
4. KokkuvÔte
Praegu saab avaliku API kaudu juurdepÀÀsu nĂ€gude tuvastamisele fotodel ja videotest, toetatakse erinevate objektide, autode numbrite, maamĂ€rkide, dokumentide ja tĂ€isteenuste mÀÀramist. Rakendusskeemide vĂ”imalusi on tohutult. Tulge ja testige meie teenust, seades sellele kĂ”ige keerulisemaid ĂŒlesandeid. Esimesed 5000 tehingut â tasuta. VĂ”ib-olla on see teie projektide jaoks âpuuduv koostisosaâ.
API juurde pÀÀseb kohe registreerimise ja ĂŒhendamise korral. . KĂ”ik hublane kasutajad â sooduskood tĂ€iendavatele tehingutele. Kirjutage isiklikult elektronposti aadress, millele registreerisite konto!
Allikas: habr.com
