Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

Technologien en modellen foar ús takomstige kompjûterfisysysteem waarden makke en stadichoan ferbettere en yn ferskate projekten fan ús bedriuw - yn Mail, Cloud, Search. Se waarden matured as goede tsiis of cognac. Op in dei realisearren wy dat ús neurale netwurken poerbêste resultaten sjen litte yn erkenning, en wy besletten se te kombinearjen yn ien b2b-produkt - Vision - dat wy no sels brûke en jo oanbiede om te brûken.

Tsjintwurdich wurket ús kompjûterfisytechnology op it Mail.Ru Cloud Solutions-platfoarm mei súkses en oplost heul komplekse praktyske problemen. It is basearre op in oantal neurale netwurken dy't oplaat binne op ús datasets en spesjalisearje yn it oplossen fan tapaste problemen. Alle tsjinsten rinne op ús serverfasiliteiten. Jo kinne de iepenbiere Vision API yntegrearje yn jo applikaasjes, wêrtroch alle mooglikheden fan 'e tsjinst beskikber binne. De API is rap - tank oan server-GPU's is de gemiddelde reaksjetiid binnen ús netwurk 100 ms.

Gean nei de kat, d'r is in detaillearre ferhaal en in protte foarbylden fan it wurk fan Vision.

In foarbyld fan in tsjinst wêryn wy sels de neamde technologyen foar gesichtsherkenning brûke is foarfallen. Ien fan syn komponinten is Vision foto stands, dy't wy ynstallearje op ferskate konferinsjes. As jo ​​​​sa'n foto-stand benaderje, in foto meitsje mei de ynboude kamera en jo e-post ynfiere, sil it systeem fuortendaliks ûnder de array fan foto's dejingen fine wêryn jo binne fêstlein troch personielsfotografen fan 'e konferinsje, en, as jo wolle, sil de fûne foto's per e-post nei jo stjoere. En wy hawwe it net oer opfierde portretfoto's - Vision herkent jo sels op 'e eftergrûn yn in mannichte fan besikers. Fansels binne it net de foto-standers sels dy't erkend wurde, dit binne gewoan tablets yn prachtige stands dy't gewoan foto's meitsje fan gasten mei har ynboude kamera's en ynformaasje oerjaan nei de servers, wêr't alle herkenningsmagy bart. En wy hawwe mear as ien kear sjoen hoe ferrassend de effektiviteit fan 'e technology sels is ûnder spesjalisten foar byldherkenning. Hjirûnder sille wy prate oer guon foarbylden.

1. Us ​​Face Recognition model

1.1. Neural netwurk en ferwurkingssnelheid

Foar erkenning brûke wy in modifikaasje fan it neurale netwurkmodel ResNet 101. Gemiddelde Pooling oan 'e ein wurdt ferfongen troch in folslein ferbûn laach, fergelykber mei hoe't it dien wurdt yn ArcFace. De grutte fan 'e fektorfoarstellings is lykwols 128, net 512. Us trainingsset befettet sa'n 10 miljoen foto's fan 273 minsken.

It model rint hiel fluch tank oan in soarchfâldich selektearre tsjinner konfiguraasje arsjitektuer en GPU computing. It duorret fan 100 ms om in antwurd te ûntfangen fan 'e API op ús ynterne netwurken - dit omfettet gesichtsdeteksje (detectie fan in gesicht op in foto), it werkennen en weromjaan fan PersonID yn 'e API-antwurd. Mei grutte folumes fan ynkommende gegevens - foto's en fideo's - sil it folle mear tiid nimme om de gegevens nei de tsjinst oer te bringen en in antwurd te ûntfangen.

1.2. Evaluearje de effektiviteit fan it model

Mar it bepalen fan de effisjinsje fan neurale netwurken is in heul dûbelsinnige taak. De kwaliteit fan har wurk hinget ôf fan hokker datasets de modellen waarden oplaat en oft se binne optimalisearre foar wurkjen mei spesifike gegevens.

Wy begon de krektens fan ús model te evaluearjen mei de populêre LFW-ferifikaasjetest, mar it is te lyts en ienfâldich. Nei it berikken fan 99,8% krektens, is it net mear nuttich. D'r is in goede konkurrinsje foar it evaluearjen fan erkenningsmodellen - Megaface, dêr't wy stadichoan 82% rang 1 berikten. De Megaface-test bestiet út in miljoen foto's - distractors - en it model moat ferskate tûzenen foto's fan ferneamden út 'e Facescrub goed kinne ûnderskiede dataset út distractors. Lykwols, neidat wy de Megaface-test fan flaters wiske hawwe, fûnen wy dat wy mei de wiske ferzje in krektens fan 98% rang 1 berikke (foto's fan ferneamden binne oer it algemien frij spesifyk). Dêrom makken se in aparte identifikaasjetest, fergelykber mei Megaface, mar mei foto's fan "gewoane" minsken. Doe ferbettere wy de herkenningsnauwkeurigheid op ús datasets en gongen fier foarút. Dêrneist brûke wy in klusterkwaliteitstest dy't bestiet út ferskate tûzen foto's; it simulearret gesichtstagging yn 'e wolk fan 'e brûker. Yn dit gefal binne klusters groepen fan ferlykbere persoanen, ien groep foar elke werkenbere persoan. Wy hawwe de kwaliteit fan wurk kontrolearre op echte groepen (wier).

Fansels komme erkenningsflaters foar mei elk model. Mar sokke situaasjes wurde faaks oplost troch de drompels foar spesifike betingsten te fine (foar alle konferinsjes brûke wy deselde drompels, mar bygelyks foar tagongskontrôlesystemen moatte wy de drompels sterk ferheegje, sadat der minder falske positives binne). De grutte mearderheid fan konferinsjebesikers waarden goed erkend troch ús Vision-fotohokjes. Soms seach immen nei it ôfsnien foarbyld en sei: "Jo systeem hat in flater makke, ik wie it net." Doe hawwe wy de foto yn syn gehiel iepene, en it die bliken dat d'r echt dizze besiker op 'e foto wie, allinich hawwe wy him net fotografearre, mar in oar, de persoan wie gewoan op 'e eftergrûn yn' e blur sône. Boppedat herkent it neuronale netwurk faaks korrekt sels as in part fan it gesicht net sichtber is, of de persoan yn it profyl stiet, of sels heal draaide. It systeem kin in persoan werkenne, sels as it gesicht yn it gebiet fan optyske ferfoarming is, bygelyks by it sjitten mei in breedhoeklens.

1.3. Foarbylden fan testen yn drege situaasjes

Hjirûnder binne foarbylden fan hoe't ús neurale netwurk wurket. Foto's wurde yntsjinne by de ynfier, dy't se moat markearje mei PersonID - in unike identifier fan in persoan. As twa of mear ôfbyldings deselde ID hawwe, dan jouwe dizze foto's, neffens de modellen, deselde persoan.

Lit ús fuortendaliks opmerke dat wy by testen tagong hawwe ta ferskate parameters en modeldrompels dy't wy kinne konfigurearje om in bepaald resultaat te berikken. De iepenbiere API is optimalisearre foar maksimale krektens op mienskiplike gefallen.

Litte wy begjinne mei it ienfâldichste ding, mei gesichtsherkenning nei foaren.

Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

No, dat wie te maklik. Litte wy de taak komplisearje, in burd tafoegje en in hantsjefol jierren.

Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

Guon sille sizze dat dit ek net te dreech wie, om't yn beide gefallen it hiele gesicht sichtber is, en in protte ynformaasje oer it gesicht is beskikber foar it algoritme. Okee, lit ús Tom Hardy omsette yn in profyl. Dit probleem is folle komplekser, en wy hawwe in protte muoite bestege om it mei súkses op te lossen, wylst wy in leech flatersifers behâlde: wy selekteare in trainingsset, tocht troch de arsjitektuer fan it neurale netwurk, skerpe de ferliesfunksjes en ferbettere de foarferwurking fan foto's.

Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

Litte wy him in hoofddeksel oanmeitsje:

Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

Trouwens, dit is in foarbyld fan in bysûnder lestige situaasje, om't it gesicht swier ferburgen is, en op 'e ûnderste foto is d'r ek in djippe skaad dy't de eagen ferberget. Yn it echte libben feroarje minsken faak har uterlik mei help fan donkere bril. Litte wy itselde dwaan mei Tom.

Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

Okee, litte wy besykje foto's fan ferskate leeftiden yn te smiten, en dizze kear sille wy eksperimintearje mei in oare akteur. Lit ús nimme in folle komplekser foarbyld, dêr't leeftyd-relatearre feroarings binne benammen útsprutsen. De situaasje is net fiersocht; it komt frij faak foar as jo de foto yn it paspoart moatte fergelykje mei it gesicht fan 'e drager. Ommers, de earste foto wurdt tafoege oan in paspoart doe't de eigner is 20 jier âld, en troch de âldens fan 45 in persoan kin sterk feroarje:

Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

Tinksto dat de wichtichste spesjalist op ûnmooglike misjes net folle feroare is mei leeftyd? Ik tink dat sels in pear minsken de boppeste en ûnderste foto's kombinearje, de jonge is troch de jierren sa folle feroare.

Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

Neurale netwurken komme folle faker feroarings yn uterlik tsjin. Bygelyks, soms kinne froulju har byld sterk feroarje mei help fan kosmetika:

Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

No litte wy de taak noch mear komplisearje: stel dat ferskate dielen fan it gesicht binne bedekt mei ferskate foto's. Yn sokke gefallen kin it algoritme gjin folsleine samples fergelykje. Vision behannelet situaasjes lykas dizze lykwols goed.

Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

Trouwens, d'r kinne in protte gesichten op in foto stean, bygelyks kinne mear as 100 minsken passe yn in algemiene foto fan in seal. Dit is in lestige situaasje foar neurale netwurken, om't in protte gesichten oars kinne wurde ferljochte, guon út fokus. As de foto lykwols is makke mei genôch resolúsje en kwaliteit (op syn minst 75 piksels per fjouwerkant dy't it gesicht bedekke), sil Vision it kinne ûntdekke en werkenne.

Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

It eigenaardichheid fan reportaazjefoto's en bylden fan tafersjochkamera's is dat minsken faak wazig binne om't se út fokus wiene of op dat stuit bewege:

Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

Ek kin de ferljochtingsintensiteit bot fariearje fan byld ta byld. Ek dit wurdt faak in stroffelstien; in protte algoritmen hawwe grutte muoite mei it korrekt ferwurkjen fan ôfbyldings dy't te tsjuster en te ljocht binne, om net te sizzen dat se krekt oerienkomme. Lit my jo herinnerje dat om dit resultaat te berikken jo de drompels op in bepaalde manier moatte konfigurearje; dizze funksje is noch net iepenbier beskikber. Wy brûke itselde neurale netwurk foar alle kliïnten; it hat drompels dy't geskikt binne foar de measte praktyske taken.

Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

Wy hawwe koartlyn in nije ferzje fan it model útrôle dy't Aziatyske gesichten herkent mei hege krektens. Dit wie eartiids in grut probleem, dat sels "masine learen" (of "neuraal netwurk") rasisme neamd waard. Jeropeeske en Amerikaanske neurale netwurken erkende Kaukasyske gesichten goed, mar mei Mongoloïde en Negroide gesichten wie de situaasje folle slimmer. Wierskynlik, yn Sina wie de situaasje krekt it tsjinoerstelde. It giet allegear oer trainingsgegevenssets dy't de dominante soarten minsken yn in bepaald lân reflektearje. De situaasje feroaret lykwols, hjoed is dit probleem net sa akuut. Fyzje hat gjin probleem mei minsken fan ferskate rassen.

Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

Gesichtsherkenning is gewoan ien fan 'e protte tapassingen fan ús technology; Fisy kin wurde traind om alles te herkennen. Bygelyks, kentekens, ynklusyf yn betingsten dreech foar algoritmen: by skerpe hoeken, smoarch en dreech te lêzen kentekens.

Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

2. Praktyske gebrûk gefallen

2.1. Fysike tagongskontrôle: as twa minsken deselde pas brûke

Mei help fan Vision kinne jo systemen ymplementearje foar it opnimmen fan de oankomst en fertrek fan meiwurkers. It tradisjonele systeem basearre op elektroanyske passes hat dúdlike neidielen, bygelyks kinne jo twa minsken trochjaan mei ien badge. As it tagongskontrôlesysteem (ACS) wurdt oanfolle mei Vision, sil it earlik opnimme wa't kaam / ferliet en wannear.

2.2. Tiid tracking

Dit gebrûk fan Vision is nau besibbe oan de foarige. As jo ​​it tagongssysteem oanfolje mei ús tsjinst foar gesichtsherkenning, sil it net allinich oertredings fan tagongskontrôle kinne ûntdekke, mar ek de eigentlike oanwêzigens fan meiwurkers yn it gebou of foarsjenning registrearje. Mei oare wurden, Vision sil jo helpe earlik rekken te hâlden wa't oan it wurk kaam en op hokker tiid fuortgien is, en wa't it wurk hielendal oerslein hat, sels as syn kollega's foar him foar syn superieuren dekken.

2.3. Fideoanalyse: Tracking en feiligens fan minsken

Troch minsken te folgjen dy't Vision brûke, kinne jo it echte ferkear fan winkelgebieten, treinstasjons, passaazjes, strjitten en in protte oare iepenbiere plakken sekuer beoardielje. Us tracking kin ek fan grutte help wêze by it kontrolearjen fan tagong, bygelyks ta in pakhús of oare wichtige kantoarromten. En fansels helpt it folgjen fan minsken en gesichten feiligensproblemen op te lossen. Immen betrape dy't stelle út jo winkel? Foegje syn PersonID, dy't waard weromjûn troch Vision, ta oan 'e swarte list fan jo fideo-analytyske software, en de folgjende kear sil it systeem de feiligens fuortendaliks warskôgje as dit type opnij ferskynt.

2.4. Yn hannel

Retail en ferskate tsjinst bedriuwen binne ynteressearre yn wachtrige erkenning. Mei help fan Vision kinne jo werkenne dat dit net in willekeurige mannichte fan minsken is, mar in wachtrige, en bepale har lingte. En dan ynformearret it systeem de ferantwurdliken oer in wachtrige, sadat se de situaasje útfine kinne: of der is in ynstream fan besikers en moat der ekstra wurknimmers oproppen wurde, of immen slûpt oan syn wurkferantwurdlikheden.

In oare nijsgjirrige taak is it skieden fan meiwurkers fan it bedriuw yn de seal fan besikers. Typysk wurdt it systeem oplaat om objekten te skieden dy't bepaalde klean drage (jurkkoade) of mei wat ûnderskiedende skaaimerken (branded sjaal, badge op 'e boarst, ensfh.). Dit helpt om de oanwêzigens krekter te beoardieljen (sadat meiwurkers de statistiken fan minsken yn 'e seal net "opblaze" troch har gewoane oanwêzigens).

Mei help fan gesichtsherkenning kinne jo jo publyk ek evaluearje: wat is de loyaliteit fan besikers, dat is hoefolle minsken weromkomme nei jo fêstiging en mei hokker frekwinsje. Berekkenje hoefolle unike besikers per moanne nei jo komme. Om de kosten fan attraksje en behâld te optimalisearjen, kinne jo ek de feroaring yn ferkear fine ôfhinklik fan 'e dei fan' e wike en sels de tiid fan 'e dei.

Franchisegearders en ketenbedriuwen kinne in beoardieling bestelle op basis fan foto's fan 'e kwaliteit fan branding fan ferskate ferkeappunten: de oanwêzigens fan logo's, buorden, posters, banners, ensfh.

2.5. Troch ferfier

In oar foarbyld fan it garandearjen fan feiligens mei fideo-analytika is it identifisearjen fan ferlitten items yn 'e sealen fan fleanfjilden as treinstasjons. Fisy kin traind wurde om objekten fan hûnderten klassen te herkennen: meubelstukken, tassen, koffers, paraplu's, ferskate soarten klean, flessen, ensfh. As jo ​​fideo-analytyksysteem in objekt sûnder eigner detektearret en it herkent mei Vision, stjoert it in sinjaal nei de befeiligingstsjinst. In soartgelikense taak is ferbûn mei de automatyske deteksje fan ûngewoane situaasjes yn iepenbiere plakken: immen fielt siik, of immen smookt op it ferkearde plak, of in persoan falt op 'e rails, ensafuorthinne - al dizze patroanen kinne wurde werkend troch fideo analytics systemen fia de Vision API.

2.6. Dokumint flow

In oare nijsgjirrige takomstige tapassing fan Vision dy't wy op it stuit ûntwikkelje is dokumintherkenning en har automatyske parsing yn databases. Ynstee fan manueel yn te fieren (of noch slimmer, yn te fieren) einleaze searjes, nûmers, datums fan útjefte, rekkennûmers, bankgegevens, bertedatums en -plakken en in protte oare formalisearre gegevens, kinne jo dokuminten scannen en automatysk stjoere oer in feilich kanaal fia de API nei de wolk, dêr't it systeem sil werkenne dizze dokuminten op 'e fly, parse se en werom in antwurd mei gegevens yn it fereaske formaat foar automatyske ynfier yn de databank. Hjoed Vision al wit hoe te klassifisearjen dokuminten (ynklusyf PDF) - ûnderskiedt tusken paspoarten, SNILS, TIN, berte sertifikaten, houlik sertifikaten en oaren.

Fansels is it neuronale netwurk net yn steat om al dizze situaasjes bûten it fak te behanneljen. Yn elk gefal wurdt in nij model boud foar in spesifike klant, in protte faktoaren, nuânses en easken wurde rekken holden, gegevenssets wurde selektearre, en iteraasjes fan training, testen en konfiguraasje wurde útfierd.

3. API operaasje skema

De "yngongspoarte" fan Vision foar brûkers is de REST API. It kin foto's, fideobestannen en útstjoerings ûntfange fan netwurkkamera's (RTSP-streams) as ynfier.

Om Vision te brûken, moatte jo sign up yn 'e Mail.ru Cloud Solutions-tsjinst en ûntfange tagongstokens (client_id + client_secret). Brûkersautentikaasje wurdt útfierd mei it OAuth-protokol. De boarnegegevens yn 'e lichems fan POST-oanfragen wurde stjoerd nei de API. En as antwurd krijt de kliïnt fan 'e API in erkenningsresultaat yn JSON-formaat, en it antwurd is strukturearre: it befettet ynformaasje oer de fûn objekten en har koördinaten.

Mei burd, donkere bril en yn profyl: drege situaasjes foar kompjûterfisy

Sample antwurd

{
   "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
}

It antwurd befettet in nijsgjirrige parameter awesomeness - dit is de betingsten "coolness" fan in gesicht op in foto, mei har help selektearje wy de bêste foto fan in gesicht út 'e folchoarder. Wy trainden in neuraal netwurk om de kâns te foarsizzen dat in foto liked wurde sil op sosjale netwurken. Hoe better de kwaliteit fan 'e foto en hoe mear glimkjend it gesicht, hoe grutter de awesomeness.

API Vision brûkt in konsept neamd romte. Dit is in ark foar it meitsjen fan ferskate sets gesichten. Foarbylden fan spaasjes binne swarte en wite listen, listen fan besikers, meiwurkers, kliïnten, ensfh Foar elke token yn Vision kinne jo maksimaal 10 romten oanmeitsje, elke romte kin maksimaal 50 tûzen PersonIDs hawwe, dat is oant 500 tûzen. per token. Boppedat is it oantal tokens per akkount net beheind.

Hjoed stipet de API de folgjende metoaden foar deteksje en erkenning:

  • Recognize / Set - deteksje en erkenning fan gesichten. Jout automatysk in PersonID ta oan elke unike persoan, jout de PersonID en koördinaten fan 'e fûn persoanen werom.
  • Wiskje - it wiskjen fan in spesifike PersonID út 'e persoan databank.
  • Truncate - wisket de folsleine romte fan PersonID, nuttich as it waard brûkt as testromte en jo moatte de databank weromsette foar produksje.
  • Detect - deteksje fan objekten, sênes, kentekenplaten, landmarks, wachtrige, ensfh. Jout de klasse fan fûn objekten en harren koördinaten werom
  • Detect foar dokuminten - detektearret spesifike soarten dokuminten fan 'e Russyske Federaasje (ûnderskiedt paspoart, SNILS, belestingidentifikaasjenûmer, ensfh.).

Wy sille ek ynkoarten ôfmeitsje wurk oan metoaden foar OCR, it bepalen fan geslacht, leeftyd en emoasjes, en ek it oplossen fan merchandisingproblemen, dat is, foar it automatysk kontrolearjen fan it werjaan fan guod yn winkels. Jo kinne hjir folsleine API-dokumintaasje fine: https://mcs.mail.ru/help/vision-api

4. Fermelding

No kinne jo fia de iepenbiere API tagong krije ta gesichtsherkenning yn foto's en fideo's; identifikaasje fan ferskate objekten, kentekenplaten, landmarks, dokuminten en heule sênes wurdt stipe. Applikaasje senario - de see. Kom, test ús tsjinst, set it de lestichste taken yn. De earste 5000 transaksjes binne fergees. Miskien sil it de "ûntbrekkende yngrediïnt" wêze foar jo projekten.

Jo kinne direkt tagong krije ta de API by registraasje en ferbining. Fisy. Alle Habra-brûkers krije in promoasjekoade foar ekstra transaksjes. Skriuw my asjebleaft it e-mailadres dat jo brûkt hawwe om jo akkount te registrearjen!

Boarne: www.habr.com

Add a comment