
Meie tulevase arvutinĂ€gemise sĂŒsteemi tehnoloogiad ja mudelid on jĂ€rk-jĂ€rgult vĂ€lja töötatud ja tĂ€iustatud erinevates meie ettevĂ”tte projektides â Postis, Pilves, Otsingus. Need on kĂŒpsenud nagu hea juust vĂ”i konjak. Ăhel pĂ€eval mĂ”istsime, et meie nĂ€rvivĂ”rgud nĂ€itavad suurepĂ€raseid tulemusi tunnustamises, ja otsustasime koondada need ĂŒheks B2B tooteks â Visioniks, millega me nĂŒĂŒd ise kasutame ja soovitame ka teile kasutada.
TĂ€na töötab meie arvutinĂ€gemise tehnoloogia Mail.Ru Cloud Solutions platvormil edukalt ja lahendab vĂ€ga keerulisi praktilisi ĂŒlesandeid. Selle aluseks on rida nĂ€rvivĂ”rke, mis on treenitud meie andmekogumite pĂ”hjal ja spetsialiseeruvad rakendusprobleemide lahendamisele. KĂ”ik teenused toimivad meie serveriressurssidel. Te saate integreerida oma rakendustesse Visioni avaliku API, mille kaudu on kergesti kĂ€tte saada kĂ”ik teenuse vĂ”imalused. API on kiire â tĂ€nu serveri GPU-dele on meie vĂ”rgus keskmine vastamisaeg 100 ms tasemel.
Tulge edasi, seal on pÔhjalik lugu ja palju nÀiteid Visioni tööst.
NĂ€iteks teenus, kus me ise kasutame nimetatud nĂ€otuvustustehnoloogiat, on . Ăks selle komponente on Vision fotokioskid, mida paigutame erinevatele konverentsidele. Kui te lĂ€henete sellisele fotokioskile, pildistatakse teid sisse ehitatud kaameraga ja palutakse teil sisestada oma e-posti aadress. SĂŒsteem leiab kohe fotode hulgast need, kus teid on pildistanud konverentsi ametlikud fotograafid, ja soovi korral saadab leitud fotod teie e-postile. Ja jutt pole mitte tehisportree piltidest â Vision tunneb teid Ă€ra isegi ĂŒrituse kĂŒlalistest koosneva rahva tagaplaanil. Loomulikult ei tunne kioskid ise Ă€ra, need on lihtsalt kaunites stendides tabletid, mis pildistavad kĂŒlalisi oma sisseehitatud kaameratega ja edastavad teavet serveritesse, kus kogu nĂ€otuvumise maagia toimub. Oleme korduvalt nĂ€inud, kui hĂ€mmastav on tehnoloogia efektiivsus isegi pildituvustuse spetsialistide seas. Allpool rÀÀgime mĂ”nest nĂ€iteks.

1. Meie nĂ€otuvustussĂŒsteem
1.1. NeuraalvÔrk ja töötlemise kiirus
Meie mudel pĂ”hineb ResNet 101 nĂ€rvivĂ”rgu variatsioonil, kus keskmine kogumine on asendatud tĂ€ieliku ĂŒhenduskiibiga, sarnaselt ArcFace'iga. Siiski on vektorite esinduste suurus 128, mitte 512. Meie koolitusandmestikus on umbes 10 miljonit fotot 273 593 inimesest.
Mudel töötab vĂ€ga kiiresti tĂ€nu hoolikalt valitud serveri arhitektuurile ja GPU arvutustele. API vastuse saamiseks kulub meie sisemistes vĂ”rkudes 100 ms â see hĂ”lmab nĂ€o tuvastamist (nĂ€o avastamine fotol), Ă€ratundmist ja PersonID tagasi saatmist API vastuses. Suuremate andmemahutitega â fotode ja videote â kulub rohkem aega andmete saatmiseks teenusele ja vastuse saamiseks.
1.2. Mudeli efektiivsuse hindamine
Kuid nĂ€rvivĂ”rkude efektiivsuse mÀÀramine on vĂ€ga ambivalentne ĂŒlesanne. Nende töö kvaliteet sĂ”ltub andmestikutest, millega mudeleid koolitati, ja kas need on optimeeritud konkreetsete andmete töötlemiseks.
Oma mudeli tĂ€psuse hindamist alustasime populaarsest valideerimistestist LFW, kuid see on liiga vĂ€ike ja lihtne. PĂ€rast 99,8% tĂ€psuse saavutamist pole sellest enam kasu. Hea konkurentsi mudelite hindamiseks pakub Megaface, kus jĂ”udsime jĂ€rk-jĂ€rgult 82% rank 1. Megaface'i test koosneb miljonist fotost, mis toimivad distraktorina, ning mudel peaks suutma hĂ€sti eristada mitmeid tuhandeid kuulsuste fotosid Facescrub andmestikust nende distraktoritest. Kuid pĂ€rast Megaface testi vigade puhastamist selgus, et saavutasime puhastatud variandis 98% rank 1 tĂ€psuse (kuulsuste fotod on ĂŒldiselt ĂŒsna spetsiifilised). SeetĂ”ttu lĂ”ime eraldi tuvastustesti, mis sarnaneb Megaface'iga, kuid sisaldab 'tavaliste' inimeste fotosid. Edasi arendasime tuvastamise tĂ€psust oma andmestikes ja jĂ”udsime kaugele. Lisaks kasutame klasterdamise kvaliteeditesti, mis koosneb mitmest tuhandest fotost; see simuleerib nĂ€gude mĂ€rgistamist kasutaja pilves. Antud juhul on klastrid sarnaste nĂ€gude rĂŒhmad, iga tuvastatud isiku kohta ĂŒks grupp. Kontrollisime töö kvaliteeti tĂ”eliste gruppide (tĂ”eliste) peal.
Muidugi, igasuguseid tuvastusvigu vĂ”ib esineda igas mudelis. Kuid selliseid olukordi saab sageli lahendada, kohandades lĂ€ve spetsiifilistele tingimustele (kĂ”ikide konverentside jaoks kasutame samu lĂ€ve, aga nĂ€iteks turvajuhtimise sĂŒsteemi puhul tuleb lĂ€ve oluliselt tĂ”sta, et vĂ€hendada valepositiivsete tulemuste arvu). Suur enamus konverentsi kĂŒlastajatest tuvastati meie Vision fotonurkade poolt Ă”igesti. MĂ”nikord vaatas keegi lĂ”igatud eelvaadet ja ĂŒtles: âTeie sĂŒsteem eksis, see ei ole mina.â Siis avasime foto tĂ€ielikult ja selgus, et pildil on tĂ”epoolest see kĂŒlastaja, lihtsalt ei olnud see tema, vaid keegi teine, kes sattus juhuslikult taustal teravusse. Veelgi enam, nĂ€rvivĂ”rk tuvastab sageli Ă”igesti isegi siis, kui osa nĂ€ost ei ole nĂ€htav, vĂ”i inimene seisab profiilis, vĂ”i isegi tĂ€iesti poolseisundis. SĂŒsteem vĂ”ib tuvastada isiku isegi siis, kui nĂ€gu on sattunud optiliste moonutuste alale, nĂ€iteks laiekangelise objektiivi kasutamisel.
1.3. TÔendite testimise nÀited keerulistes olukordades
Allpool on nĂ€idised meie tehisnavigatsiooni tööst. Sisendiks on fotod, mida tuleb tĂ€histada PersonID-ga â unikaalne isiku identifikaator. Kui kahel vĂ”i enamal pildil on sama identifikaator, tĂ€hendab see, et mudelid arvavad, et need pildid kujutavad sama inimest.
Paraku on meie testimisel saadaval erinevad parameetrid ja kĂŒnnised, mida saame seadistada, et saavutada soovitud tulemusi. Avalik API on optimeeritud maksimaalse tĂ€psuse saavutamiseks tavapĂ€rastes olukordades.
Alustame kÔige lihtsamast, nÀo tuvastamisest eesprofilis.

Noh, see oli liiga lihtne. Teeme ĂŒlesande keerulisemaks, lisame habeme ja kĂ€e tĂ€is lund.

Keegi vĂ”ib öelda, et see polnud samuti liiga keeruline, kuna mĂ”lemal juhul on nĂ€gu tĂ€ielikult nĂ€htav ning algoritmi jaoks on palju teavet nĂ€o kohta. Olgu, keerame Tom Hardy profiili. See ĂŒlesanne on tunduvalt keerulisem ja selle edukaks lahendamiseks madalate vigade tasemega oleme me palju vaeva nĂ€inud: valisime vĂ€lja Ă”ppeandmestiku, mĂ”tlesime vĂ€lja nĂ€rvivĂ”rgu arhitektuuri, lihvisime kaotusfunktsioone ja tĂ€iustasime fotode eelkĂ€ideldust.

Paneme talle peasaloosi:

Muide, see on nĂ€ide eriti keerulisest olukorrast, kuna siin on nĂ€gu tugevalt varjatud ja alumisel pildil on sĂŒgava varju tĂ”ttu silmad varjatud. Reaalses elus muudavad inimesed sageli oma vĂ€limust tumedate prillidega. Teeme sama ka Tomiga.

HÀsti, proovime kokku panna fotosid erinevas vanuses ning seekord paneme kogemuse teise nÀitlejasse. Valime palju keerulisema nÀite, kus vanuselised muutused on eriti silmatorkavad. Selline olukord ei ole vÀlja mÔeldud, vaid esineb igapÀevaselt, kui tuleb vÔrrelda passi fotot esitaja nÀoga. Esimene foto kleebitakse passi, kui omanik on 20-aastane, ja 45-aastaseks saades vÔib inimene vÀga palju muutuda:

Kas arvate, et peamine ekspert vĂ”imatutes missioonides ei ole vanuse tĂ”ttu vĂ€ga palju muutunud? Ma arvan, et isegi vĂ€hesed inimesed suudaksid siduda ĂŒlemised ja alumised fotod, kuna poisil on selle aja jooksul nii palju muutunud.

NeuraalvÔrgud puutuvad vÀljanÀgemise muutustega palju sagedamini kokku. NÀiteks vÔivad naised mÔnikord oma ilmet kosmeetika abil tÀiesti muuta:

NĂŒĂŒd raskendame ĂŒlesannet veelgi: las erinevatel fotodel on suletud erinevad nĂ€o osad. Sellistes olukordades ei saa algoritm mudeleid tĂ€ielikult vĂ”rrelda. Siiski toime tuleb Vision selliste olukordadega hĂ€sti.

Ăks asi, mida tuleks silmas pidada, on see, et pildil vĂ”ib olla palju nĂ€gusid, nĂ€iteks ĂŒldpildil vĂ”ib olla ĂŒle 100 inimese. See on keeruline olukord nĂ€rvivĂ”rkude jaoks, kuna paljusid nĂ€gusid vĂ”ib valgustada erinevalt ja mĂ”ned vĂ”ivad olla keskpunktist vĂ€ljas. Siiski, kui foto on tehtud piisava resolutsiooniga ja kvaliteediga (vĂ€hemalt 75 pikslit ruutsentimeetri kohta, mis katab nĂ€o), suudab Vision selle tuvastada ja Ă€ra tunda.

ReportaaĆŸifotode ja jĂ€lgimiskaamerate piltide iseloomulikuks jooneks on see, et inimesed on sageli hĂ€gused, kuna nad on olnud teravushypost vĂ€ljaspool vĂ”i liikunud sel hetkel:

Samuti vĂ”ib piltide vahel valgustuse intensiivsus mĂ€rgatavalt varieeruda. See muutub sageli tĂ”siseks probleemiks, kuna paljud algoritmid kogevad suurte raskustega liiga tumedate ja liiga heledate piltide korrektse töötlemisega, rÀÀkimata tĂ€psest vastavusest. Tuletan meelde, et sellise tulemuse saavutamiseks tuleb teatud viisil seadistada lĂ€vivÀÀrtused, mis ei ole avalikult kergesti kĂ€ttesaadavad. KĂ”ikide klientide jaoks kasutame sama neurovĂ”rku, millel on seatud lĂ€vivÀÀrtused, mis sobivad enamiku praktiliste ĂŒlesannete jaoks.

Hiljuti vÀljakutsusime uue mudeli versiooni, mis tuvastab Aasia nÀgusid kÔrge tÀpsusega. See oli varem suur probleem, mida nimetati isegi "masinÔppe rassismiks" (vÔi "neuraalseteks vÔrkudeks"). Euroopa ja Ameerika nÀrvivÔrgud tuvastasid Euroopa nÀgusid hÀsti, kuid mongoloidsete ja negroidsete nÀgudega oli asi palju raskem. TÔenÀoliselt oli olukord Hiinas vastupidine. KÔik sÔltub koolitusandmestikest, mis peegeldavad valitsevaid nÀotype eri riikides. Siiski olukord muutub, tÀna ei ole see probleem enam nii terav. Vision ei kohtu erinevate rassi esindajatega mingeid raskusi.

NĂ€otuvastus on vaid ĂŒks paljusid meie tehnoloogia rakendusi, Visionit saab Ă”petada tuvastama ĂŒkskĂ”ik mida. NĂ€iteks auto numbreid, sealhulgas keerulistes tingimustes algoritmide jaoks: teravate nurkade alt, mÀÀrdunud ja raskesti loetavad numbrid.

2. Praktilised kasutusnÀited
2.1. FĂŒĂŒsilise juurdepÀÀsu kontroll: kui kaks inimest liiguvad ĂŒhe pÀÀsme kaudu
Visioni abiliteerib töötajate sisse- ja vĂ€ljasĂ”itude jĂ€lgimissĂŒsteemide rakendamist. Traditsioonilisel elektrooniliste kaardide sĂŒsteemil on ilmseid puudusi, nĂ€iteks on vĂ”imalik kahekesi ĂŒhe kaardi kaudu siseneda. Kui aga pÀÀsukontrollisĂŒsteemi (SKUD) tĂ€iendada Visioniga, fikseerib see Ă”iglaselt, kes ja millal sisse vĂ”i vĂ€lja lĂ€ks.
2.2. Tööaja arvestus
See Visioni kasutusstsenaarium on tihedalt seotud eelnevaga. Kui tĂ€iendada pÀÀsukontrollisĂŒsteemi meie nĂ€otuvastus teenusega, suudab see mitte ainult rikkumisi tuvastada, vaid ka registreerida töötajate tegelikku viibimist hoones vĂ”i objektil. TeisisĂ”nu, Vision aitab Ă”iglaselt arvestada, kes ja kellest viis tööle ja lahkus, ning kes oli hoopis eemal, isegi kui kolleegid teda juhataja ees varjasid.
2.3. Videotehnoloogia: inimeste jÀlgimine ja turvalisus
Visioni kasutamine inimeste jĂ€lgimiseks vĂ”imaldab tĂ€pselt hinnata kaubanduse, jaamade, ĂŒlekĂ€iguradade, tĂ€navate ja paljude teiste avalike kohtade liiklust. Samuti aitab meie jĂ€lgimistehnoloogia oluliselt juurdepÀÀsu kontrollimisel, nĂ€iteks laos vĂ”i muudes tĂ€htsates teenistusruumides. Ja loomulikult aitab inimeste ja nĂ€gude jĂ€lgimine lahendada turvalisuse ĂŒlesandeid. Kas tabasite kedagi varastamast teie poest? Lisage tema PersonID, mille Vision tagastas, teie videoanalĂŒĂŒsi tarkvara musta nimekirja ja jĂ€rgmisel korral hoiatab sĂŒsteem kohe valvekioskis, kui see isik taas kohal on.
2.4. Kaubanduses
JaemĂŒĂŒk ja erinevad teenindusettevĂ”tted on huvitatud jĂ€rjekordade tuvastamisest. Visioni abil saab tuvastada, et see ei ole juhuslik inimeste kogunemine, vaid jĂ€rjekord, ja mÀÀrata selle pikkus. SeejĂ€rel teatab sĂŒsteem vastutavatele isikutele jĂ€rjekorra tekkimisest, et olukorda lahendada: kas tekib kĂŒlastajate voog ning on vajalik lisatöötajate kutsumine vĂ”i mĂ”ni töötaja ei tĂ€ida oma kohustusi.
Veel huvitav ĂŒlesanne on eristada ettevĂ”tte töötajaid saalis kĂŒlastajatest. Tavaliselt Ă”pitakse sĂŒsteemi eristama objekte, kellel on teatud riietus (dress code) vĂ”i mingi eristav mĂ€rk (firmaneed, rinnamĂ€rk jne). See aitab tĂ€psemalt hinnata kĂŒlastatavust, et töötajad ei âsuurendaksâ statistikat oma kohalolekuga saalis.
NĂ€otuvastuse abil saate hinnata ka oma publikut: kui lojaalsed on kĂŒlastajad, st kui palju inimesi tuleb teie asutusse tagasi ja kui tihti. Arvutage, kui palju unikaalseid kĂŒlastajaid te kuus vastu vĂ”tate. Kulude optimeerimiseks uute kĂŒlastajate toomisel ja hoidmisel on vĂ”imalik uurida ka kĂŒlastatavuse muutumist nĂ€dalapĂ€evade ja isegi ööaja jĂ€rgi.
Frantsiisiandjad ja ketiettevĂ”tted saavad tellida kvaliteedi hindamise fotode pĂ”hjal erinevate jaemĂŒĂŒgikohtade brĂ€ndimise kohta: logode, siltide, plakatite, bĂ€nnerite jms olemasolu.
2.5. Transport
Veel muud turvalisuse tagamise nĂ€ideteks videanalĂŒĂŒtikaga on unustatud esemete tuvastamine lennujaamades vĂ”i jaamades. Visionit saab Ă”petada tuvastama objekte sadade klasside kaupa: mööbel, kotid, kohvrid, vihmad, erinevad rĂ”ivad, pudelid ja nii edasi. Kui teie videanalĂŒĂŒsi sĂŒsteem avastab kodutuks jĂ€etud objekti ja tunnustab seda Visioni abil, saadab see signaali turvateenistusele. Sarnane ĂŒlesanne on automaatne mittestandardsete olukordade tuvastamine avalikes kohtades: keegi tunneb end halvasti, keegi suitsetab lubamatul kohal, vĂ”i inimene kukub raudtee peale ja nii edasi â kĂ”ik need mustrid saavad videanalĂŒĂŒsi sĂŒsteemis tuvastada lĂ€bi Visioni API.
2.6. Dokumentide haldus
Veel huvitav tuleviku rakendus Visionist, millega me praegu töötame, on dokumentide tuvastamine ja nende automaatne andmebaasidesse sisestamine. Selle asemel, et kĂ€sitsi sisestada (vĂ”i veel hullem, kĂ€sitsi kirjutada) lĂ”putud seeriad, numbreid, vĂ€ljastamiskuupĂ€evi, arvenumbreid, pangarekviseerimise detaile, sĂŒnnikuupĂ€evi ja -kohti ning palju muid formaliseeritud andmeid, saab dokumente skaneerida ja saata need turvaliselt API kaudu pilve, kus sĂŒsteem tuvastab need dokumendid reaalajas, parsib nad ja tagastab vastuse vajaliku formaadiga automaatseks andmete sisestamiseks andmebaasi. TĂ€na suudab Vision juba klassifitseerida dokumente (sealhulgas PDF-formaadis) â eristab passe, SNIILSi, INN-e, sĂŒnnitunnistusi, abielutunnistusi ja teisi.
Muidugi ei suuda neuralvĂ”rk kĂ”iki neid olukordi kohe lahendada. Igas konkreetses juhul ehitatakse kliendi jaoks uus mudel, arvesse vĂ”etakse palju tegureid, nĂŒansse ja nĂ”udeid, valitakse andmekogud, tehakse iteratsioonid Ă”ppimise-testimise-seadmise protsessis.
3. API tööprotsess
Visioni «sisenevÀrav» kasutajatele on REST API. See suudab aktsepteerida fotosid, videofailide ja voogedastusteenuste (RTSP-voogude) kaudu saadetud andmeid.
Visioni kasutamiseks peate Mail.ru Cloud Solutions teenuses registreeruma ja saama juurdepÀÀsetokenid (client_id + client_secret). Kasutaja autentimine toimub OAuth-protokolli kaudu. Algandmed saadetakse API-sse POST-pÀringute kehades. Vastuseks saate API-lt Àra tuntud objektide ja nende koordinaatide teabe JSON-vormingus, mille vastus on struktureeritud.

Vastuse nÀide
{
"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
}Vastus sisaldab huvitavat parameetrit awesomeness â see on tinglik "laheduse" nĂ€itaja pildil olevale inimesele, mille abil valime parimat nĂ€otĂ”mmist jĂ€rjestusest. Oleme koolitanud nĂ€rvivĂ”rku ennustama tĂ”enĂ€osust, et foto saab sotsiaalmeedias meeldimise. Mida kvaliteetsem on pilt ja naeratavam on nĂ€gu, seda kĂ”rgem on awesomeness.
API Visionis kasutatakse mĂ”istet nimega spais (space). See on tööriist, millega luuakse erinevaid isikute kogumeid. Spaiside nĂ€idised on mustad ja valged nimekirjad, kĂŒlastajate, töötajate, klientide nimekirjad jne. Iga tokeni jaoks Visionis vĂ”ib luua kuni 10 spaisid, igas spais vĂ”ib olla kuni 50 tuhat PersonID, st kuni 500 tuhat ĂŒhe tokeni kohta. Samuti ei ole ĂŒhe konto jaoks tokenite arv piiratud.
Praegu toetab API jÀrgmisi mÀÀratlemise ja tuvastamise meetodeid:
- Recognize/Set â nĂ€gude tuvastamine ja mÀÀramine. Automaatne PersonID mÀÀramine iga ainulaadse nĂ€o jaoks, tagastab PersonID ja leitud nĂ€gude koordinaadid.
- Delete â konkreetse PersonID eemaldamine isikuandmete baasist.
- Truncate â kogu spaisi puhastamine PersonID-st, kasulik, kui seda on kasutatud testina ja on vajalik andmebaasi nullida tootmisel.
- Detect â objektide, stseenide, numbrimĂ€rkide, vaatamisvÀÀrsuste jne mÀÀramine. Tagastab leitud objektide klassi ja nende koordinaadid.
- Dokumentide mÀÀramine â tuvastab konkreetsed dokumentide tĂŒĂŒbid Venemaal (eristab passi, SNILS-i, INN-i jne).
Samuti viime peagi lÔpule OCR-i, soo, vanuse ja emotsioonide mÀÀramise meetodid, samuti kaubanduse probleemide lahendamise lahendused, see tÀhendab, et automaatne kontroll kaubafookustes kauplustes toimub. TÀieliku API dokumentatsiooni leiate siit:
4. KokkuvÔte
Praegu on avaliku API kaudu vĂ”imalik saada juurdepÀÀs nĂ€otuvastusele fotodel ja videotest, toimetatakse erinevate objektide tuvastamine, autorite numbrimĂ€rkide, monumentide, dokumentide ja kogu stseenide tuvastamine. Rakenduste stsenaariume on tohutult. Tule, testige meie teenust, esitage talle kĂ”ige keerulisemaid ĂŒlesandeid. Esimesed 5000 tehingut - tasuta. VĂ”ib-olla on see teie projektide jaoks âpuuduolev koostisosaâ.
API-le pÀÀseb kohe ligi, kui olete registreerunud ja ĂŒhendatud. . KĂ”igile hubluse kasutajatele - sooduskood tĂ€iendavate tehingute jaoks. Kirjutage mulle isiklikult e-posti aadress, millega registreerisite konto!
Allikas: habr.com
