Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

Tegnologieë en modelle vir ons toekomstige rekenaarvisiestelsel is geskep en geleidelik verbeter en in verskillende projekte van ons maatskappy - in Mail, Cloud, Search. Hulle het verouder soos goeie kaas of konjak. Ons het eendag besef dat ons neurale netwerke uitstekende resultate in erkenning toon, en ons het besluit om dit te kombineer in 'n enkele b2b-produk - Visie - wat ons nou self gebruik en jou aanbied om te gebruik.

Vandag werk ons ​​rekenaarvisietegnologie op die Mail.Ru Cloud Solutions-platform suksesvol en los baie komplekse praktiese probleme op. Dit is gebaseer op 'n aantal neurale netwerke wat op ons datastelle opgelei is en spesialiseer in die oplossing van toegepaste probleme. Alle dienste loop op ons bedienerfasiliteite. U kan die publieke Visie API in u toepassings integreer, waardeur al die vermoëns van die diens beskikbaar is. Die API is vinnig - danksy bediener GPU's is die gemiddelde reaksietyd binne ons netwerk 100 ms.

Gaan na die kat, daar is 'n gedetailleerde storie en baie voorbeelde van Vision se werk.

'n Voorbeeld van 'n diens waarin ons self die genoemde gesigsherkenningstegnologie gebruik, is Aanbiedings. Een van sy komponente is Vision-fotostaanders, wat ons by verskeie konferensies installeer. As jy so 'n fotostaanplek nader, 'n foto met die ingeboude kamera neem en jou e-posadres invoer, sal die stelsel onmiddellik onder die reeks foto's dié vind waarop jy deur personeelfotograwe van die konferensie vasgevang is, en, indien verlang, sal die gevind foto's per e-pos aan jou stuur. En ons praat nie van verhoogde portretskote nie - Visie herken jou selfs in die agtergrond in 'n skare besoekers. Natuurlik is dit nie die fotostaanders self wat herken word nie, dit is net tablette in pragtige staanders wat bloot foto's neem van gaste met hul ingeboude kameras en inligting oordra na die bedieners, waar al die herkenningsmagies plaasvind. En ons het meer as een keer gesien hoe verbasend die tegnologie se doeltreffendheid selfs onder beeldherkenningspesialiste is. Hieronder sal ons oor 'n paar voorbeelde praat.

1. Ons gesigsherkenningsmodel

1.1. Neurale netwerk en verwerkingspoed

Vir herkenning gebruik ons ​​'n wysiging van die ResNet 101 neurale netwerkmodel. Gemiddelde poel aan die einde word vervang deur 'n volledig gekoppelde laag, soortgelyk aan hoe dit in ArcFace gedoen word. Die grootte van die vektorvoorstellings is egter 128, nie 512 nie. Ons opleidingstel bevat ongeveer 10 miljoen foto's van 273 593 mense.

Die model loop baie vinnig danksy 'n noukeurig geselekteerde bedienerkonfigurasie-argitektuur en GPU-berekening. Dit neem van 100 ms om 'n antwoord van die API op ons interne netwerke te ontvang - dit sluit in gesigbespeuring (opsporing van 'n gesig op 'n foto), herkenning en terugstuur van Persoon-ID in die API-antwoord. Met groot volumes van inkomende data - foto's en video's - sal dit baie meer tyd neem om die data na die diens oor te dra en om 'n antwoord te ontvang.

1.2. Evaluering van die doeltreffendheid van die model

Maar die bepaling van die doeltreffendheid van neurale netwerke is 'n baie dubbelsinnige taak. Die kwaliteit van hul werk hang af van watter datastelle die modelle opgelei is en of hulle geoptimaliseer is om met spesifieke data te werk.

Ons het begin om die akkuraatheid van ons model te evalueer met die gewilde LFW-verifikasietoets, maar dit is te klein en eenvoudig. Nadat dit 99,8% akkuraatheid bereik het, is dit nie meer bruikbaar nie. Daar is 'n goeie kompetisie vir die evaluering van herkenningsmodelle - Megaface, waarop ons geleidelik 82% rang 1 bereik het. Die Megaface-toets bestaan ​​uit 'n miljoen foto's - afleiers - en die model behoort 'n paar duisend foto's van bekendes goed te kan onderskei van die Facescrub datastel van afleiers. Nadat ons egter die Megaface-toets van foute verwyder het, het ons gevind dat ons met die skoongemaakte weergawe 'n akkuraatheid van 98% rang 1 behaal (foto's van bekende persoonlikhede is oor die algemeen redelik spesifiek). Daarom het hulle 'n aparte identifikasietoets geskep, soortgelyk aan Megaface, maar met foto's van "gewone" mense. Toe het ons die herkenningsakkuraatheid op ons datastelle verbeter en ver vooruit gegaan. Daarbenewens gebruik ons ​​'n groepering kwaliteit toets wat bestaan ​​uit 'n paar duisend foto's; dit simuleer gesigmerking in die gebruiker se wolk. In hierdie geval is groepe groepe soortgelyke individue, een groep vir elke herkenbare persoon. Ons het die kwaliteit van werk op werklike groepe nagegaan (waar).

Natuurlik kom herkenningsfoute met enige model voor. Maar sulke situasies word dikwels opgelos deur die drempels vir spesifieke toestande fyn te stel (vir alle konferensies gebruik ons ​​dieselfde drempels, maar byvoorbeeld vir toegangsbeheerstelsels moet ons die drempels baie verhoog sodat daar minder vals positiewes is). Die oorgrote meerderheid konferensiebesoekers is korrek deur ons Vision-fotohokkies herken. Soms het iemand na die uitgesnyde voorskou gekyk en gesê: "Jou stelsel het 'n fout gemaak, dit was nie ek nie." Toe maak ons ​​die foto in sy geheel oop, en dit blyk dat daar regtig hierdie besoeker op die foto was, net ons fotografeer hom nie, maar iemand anders, die persoon was toevallig in die agtergrond in die blur zone. Boonop herken die neurale netwerk dikwels korrek selfs wanneer 'n deel van die gesig nie sigbaar is nie, of die persoon in profiel staan, of selfs half gedraai. Die stelsel kan 'n persoon herken selfs al is die gesig in die gebied van optiese vervorming, byvoorbeeld wanneer jy met 'n wyehoeklens skiet.

1.3. Voorbeelde van toetsing in moeilike situasies

Hieronder is voorbeelde van hoe ons neurale netwerk werk. Foto's word by die insette ingedien, wat sy moet etiketteer met PersonID - 'n unieke identifiseerder van 'n persoon. As twee of meer beelde dieselfde ID het, dan beeld hierdie foto's, volgens die modelle, dieselfde persoon uit.

Kom ons let dadelik daarop dat wanneer ons toets, ons toegang het tot verskeie parameters en modeldrempels wat ons kan instel om 'n spesifieke resultaat te bereik. Die publieke API is geoptimaliseer vir maksimum akkuraatheid op algemene gevalle.

Kom ons begin met die eenvoudigste ding, met gesigherkenning aan die voorkant.

Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

Wel, dit was te maklik. Kom ons bemoeilik die taak, voeg 'n baard en 'n handvol jare by.

Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

Sommige sal sê dat dit ook nie te moeilik was nie, want in beide gevalle is die hele gesig sigbaar, en baie inligting oor die gesig is beskikbaar vir die algoritme. Goed, kom ons verander Tom Hardy in profiel. Hierdie probleem is baie meer kompleks, en ons het baie moeite spandeer om dit suksesvol op te los terwyl ons 'n lae foutkoers handhaaf: ons het 'n opleidingstel gekies, deur die argitektuur van die neurale netwerk gedink, die verliesfunksies geslyp en die voorafverwerking verbeter van foto's.

Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

Kom ons sit 'n hooftooisel op hom:

Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

Terloops, dit is 'n voorbeeld van 'n besonder moeilike situasie, aangesien die gesig baie verduister is, en op die onderste foto is daar ook 'n diep skaduwee wat die oë verberg. In die werklike lewe verander mense baie dikwels hul voorkoms met behulp van donkerbrille. Kom ons doen dieselfde met Tom.

Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

Goed, kom ons probeer om foto's van verskillende ouderdomme in te gooi, en hierdie keer sal ons eksperimenteer met 'n ander akteur. Kom ons neem 'n baie meer komplekse voorbeeld, waar ouderdomsverwante veranderinge veral uitgespreek word. Die situasie is nie vergesog nie; dit kom gereeld voor wanneer jy die foto in die paspoort met die gesig van die draer moet vergelyk. Die eerste foto word immers by 'n paspoort gevoeg wanneer die eienaar 20 jaar oud is, en teen die ouderdom van 45 kan 'n persoon baie verander:

Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

Dink jy dat die hoofspesialis op onmoontlike missies nie veel verander het met ouderdom nie? Ek dink dat selfs 'n paar mense die boonste en onderste foto's sal kombineer, die seun het so baie verander oor die jare.

Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

Neurale netwerke kom baie meer gereeld voor veranderinge in voorkoms teë. Byvoorbeeld, soms kan vroue hul beeld baie verander met behulp van skoonheidsmiddels:

Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

Kom ons bemoeilik nou die taak nog meer: ​​veronderstel verskillende dele van die gesig is bedek met verskillende foto's. In sulke gevalle kan die algoritme nie hele monsters vergelyk nie. Vision hanteer situasies soos hierdie egter goed.

Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

Terloops, daar kan baie gesigte in 'n foto wees; meer as 100 mense kan byvoorbeeld in 'n algemene foto van 'n saal pas. Dit is 'n moeilike situasie vir neurale netwerke, aangesien baie gesigte anders belig kan word, sommige uit fokus. As die foto egter met voldoende resolusie en kwaliteit geneem word (ten minste 75 pixels per vierkant wat die gesig bedek), sal Vision dit kan opspoor en herken.

Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

Die eienaardigheid van verslaggewende foto's en beelde van toesigkameras is dat mense dikwels wasig is omdat hulle uit fokus was of op daardie oomblik beweeg het:

Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

Die beligtingsintensiteit kan ook baie van beeld tot beeld verskil. Dit word ook dikwels 'n struikelblok; baie algoritmes sukkel baie om beelde wat te donker en te lig is korrek te verwerk, om nie eers te praat van om hulle akkuraat te pas nie. Laat ek u daaraan herinner dat u die drempels op 'n sekere manier moet opstel om hierdie resultaat te bereik; hierdie kenmerk is nog nie publiek beskikbaar nie. Ons gebruik dieselfde neurale netwerk vir alle kliënte; dit het drempels wat geskik is vir die meeste praktiese take.

Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

Ons het onlangs 'n nuwe weergawe van die model bekendgestel wat Asiatiese gesigte met hoë akkuraatheid herken. Dit was vroeër 'n groot probleem, wat selfs "masjienleer" (of "neurale netwerk") rassisme genoem is. Europese en Amerikaanse neurale netwerke het Kaukasiese gesigte goed herken, maar met Mongoloïede en Negroïede gesigte was die situasie baie erger. Waarskynlik, in China was die situasie presies die teenoorgestelde. Dit gaan alles oor opleidingsdatastelle wat die dominante tipe mense in 'n spesifieke land weerspieël. Die situasie is egter besig om te verander; vandag is hierdie probleem nie so akuut nie. Visie het geen probleem met mense van verskillende rasse nie.

Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

Gesigsherkenning is net een van die vele toepassings van ons tegnologie; Visie kan opgelei word om enigiets te herken. Byvoorbeeld, nommerplate, insluitend in toestande wat moeilik is vir algoritmes: teen skerp hoeke, vuil en moeilik leesbare nommerplate.

Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

2. Praktiese gebruiksgevalle

2.1. Fisiese toegangsbeheer: wanneer twee mense dieselfde pas gebruik

Met die hulp van Vision kan u stelsels implementeer om die aankoms en vertrek van werknemers aan te teken. Die tradisionele stelsel wat op elektroniese pas gebaseer is, het ooglopende nadele, byvoorbeeld, jy kan twee mense slaag met een kenteken. As die toegangsbeheerstelsel (ACS) met Vision aangevul word, sal dit eerlik aanteken wie gekom/vertrek het en wanneer.

2.2. Tyd dop

Hierdie Vision-gebruiksgeval is nou verwant aan die vorige een. As jy die toegangstelsel met ons gesigsherkenningsdiens aanvul, sal dit nie net toegangsbeheeroortredings kan opspoor nie, maar ook die werklike teenwoordigheid van werknemers in die gebou of fasiliteit kan registreer. Met ander woorde, Visie sal jou help om eerlik in ag te neem wie werk toe gekom en op watter tyd vertrek het, en wie heeltemal werk oorgeslaan het, selfs al het sy kollegas vir hom gedek voor sy meerderes.

2.3. Video-analise: Mense dop en sekuriteit

Deur mense op te spoor wat Vision gebruik, kan jy die werklike verkeer van winkelgebiede, treinstasies, gange, strate en baie ander openbare plekke akkuraat assesseer. Ons opsporing kan ook van groot hulp wees om toegang te beheer, byvoorbeeld tot 'n pakhuis of ander belangrike kantoorperseel. En natuurlik, om mense en gesigte op te spoor help om sekuriteitsprobleme op te los. Het iemand gevang wat uit jou winkel gesteel het? Voeg sy PersonID, wat deur Vision teruggestuur is, by die swartlys van jou video-ontledingsagteware, en volgende keer sal die stelsel die sekuriteit onmiddellik waarsku as hierdie tipe weer verskyn.

2.4. In die handel

Kleinhandel- en verskeie diensondernemings stel belang in tou-herkenning. Met die hulp van Vision kan jy herken dat dit nie 'n lukrake skare mense is nie, maar 'n tou, en die lengte daarvan bepaal. En dan lig die stelsel diegene in beheer van 'n tou in sodat hulle die situasie kan uitpluis: óf daar is 'n toestroming van besoekers en bykomende werkers moet ontbied word, óf iemand vertraag hul werkspligte.

Nog 'n interessante taak is om maatskappywerknemers in die saal van besoekers te skei. Tipies word die stelsel opgelei om voorwerpe te skei wat sekere klere dra (dragkode) of met een of ander kenmerkende kenmerk (handelsmerkserp, kenteken op die bors, ensovoorts). Dit help om bywoning meer akkuraat te assesseer (sodat werknemers nie die statistieke van mense in die saal “opblaas” deur hul blote teenwoordigheid nie).

Deur gesigsherkenning te gebruik, kan jy ook jou gehoor evalueer: wat is die lojaliteit van besoekers, dit wil sê hoeveel mense terugkeer na jou onderneming en met watter frekwensie. Bereken hoeveel unieke besoekers per maand na jou toe kom. Om die koste van aantrekking en behoud te optimaliseer, kan jy ook die verandering in die verkeer uitvind, afhangende van die dag van die week en selfs die tyd van die dag.

Franchisegewers en kettingmaatskappye kan 'n beoordeling bestel gebaseer op foto's van die kwaliteit van handelsmerke van verskeie kleinhandelwinkels: die teenwoordigheid van logo's, tekens, plakkate, baniere, ensovoorts.

2.5. Met vervoer

Nog 'n voorbeeld van die versekering van sekuriteit met behulp van video-analise is die identifisering van verlate items in die sale van lughawens of treinstasies. Visie kan opgelei word om voorwerpe van honderde klasse te herken: meubelstukke, sakke, tasse, sambrele, verskillende soorte klere, bottels, ensovoorts. As jou video-analise-stelsel 'n eienaarlose voorwerp opspoor en dit herken met Vision, stuur dit 'n sein na die sekuriteitsdiens. 'n Soortgelyke taak word geassosieer met die outomatiese opsporing van ongewone situasies in openbare plekke: iemand voel siek, of iemand rook op die verkeerde plek, of 'n persoon val op die relings, ensovoorts - al hierdie patrone kan herken word deur video-analisestelsels deur die Vision API.

2.6. Dokumentvloei

Nog 'n interessante toekomstige toepassing van Vision wat ons tans ontwikkel, is dokumentherkenning en die outomatiese ontleding daarvan in databasisse. In plaas daarvan om handmatig eindelose reekse, nommers, datums van uitreiking, rekeningnommers, bankbesonderhede, datums en plekke van geboorte en baie ander geformaliseerde data in te voer (of erger nog, in te voer), kan jy dokumente skandeer en dit outomaties oor 'n veilige kanaal stuur via die API na die wolk, waar die stelsel hierdie dokumente dadelik sal herken, hulle sal ontleed en 'n antwoord met data in die vereiste formaat sal terugstuur vir outomatiese toegang tot die databasis. Vandag weet Vision reeds hoe om dokumente (insluitend PDF) te klassifiseer - onderskei tussen paspoorte, SNILS, TIN, geboortesertifikate, huweliksertifikate en ander.

Natuurlik is die neurale netwerk nie in staat om al hierdie situasies buite die boks te hanteer nie. In elke geval word 'n nuwe model vir 'n spesifieke kliënt gebou, baie faktore, nuanses en vereistes word in ag geneem, datastelle word gekies, en herhalings van opleiding, toetsing en konfigurasie word uitgevoer.

3. API werking skema

Vision se "ingangshek" vir gebruikers is die REST API. Dit kan foto's, videolêers en uitsendings vanaf netwerkkameras (RTSP-strome) as insette ontvang.

Om Visie te gebruik, benodig jy registreer in die Mail.ru Cloud Solutions-diens en ontvang toegangstekens (client_id + client_secret). Gebruikerstawing word uitgevoer met behulp van die OAuth-protokol. Die brondata in die liggame van POST-versoeke word na die API gestuur. En in reaksie ontvang die kliënt van die API 'n herkenningsresultaat in JSON-formaat, en die reaksie is gestruktureer: dit bevat inligting oor die voorwerpe wat gevind is en hul koördinate.

Met 'n baard, in 'n donkerbril en in profiel: moeilike situasies vir rekenaarvisie

Voorbeeld antwoord

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

Die antwoord bevat 'n interessante parameter awesomeness - dit is die voorwaardelike "coolness" van 'n gesig in 'n foto, met sy hulp kies ons die beste skoot van 'n gesig uit die volgorde. Ons het 'n neurale netwerk opgelei om die waarskynlikheid te voorspel dat 'n foto op sosiale netwerke gelaai sal word. Hoe beter die kwaliteit van die foto en hoe meer glimlag die gesig, hoe groter is die awesomeness.

API Vision gebruik 'n konsep genaamd ruimte. Dit is 'n hulpmiddel om verskillende stelle gesigte te skep. Voorbeelde van spasies is swart en wit lyste, lyste van besoekers, werknemers, kliënte, ens. Vir elke teken in Vision kan jy tot 10 spasies skep, elke spasie kan tot 50 duisend Persoon-ID's hê, dit wil sê tot 500 duisend per teken. Boonop is die aantal tokens per rekening nie beperk nie.

Vandag ondersteun die API die volgende opsporing- en herkenningsmetodes:

  • Herken/stel - opsporing en herkenning van gesigte. Ken outomaties 'n Persoon-ID aan elke unieke persoon toe, gee die Persoon-ID en koördinate van die gevind persone terug.
  • Delete - verwydering van 'n spesifieke Persoon-ID van die persoondatabasis.
  • Truncate - maak die hele spasie uit PersonID skoon, nuttig as dit as 'n toetsspasie gebruik is en jy die databasis vir produksie moet terugstel.
  • Bespeur - opsporing van voorwerpe, tonele, nommerplate, landmerke, toue, ens. Wys die klas van voorwerpe wat gevind is en hul koördinate
  • Bespeur vir dokumente - bespeur spesifieke soorte dokumente van die Russiese Federasie (onderskei paspoort, SNILS, belasting-identifikasienommer, ens.).

Ons sal ook binnekort klaar werk aan metodes vir OCR, die bepaling van geslag, ouderdom en emosies, asook die oplossing van handelswareprobleme, dit wil sê om die vertoon van goedere in winkels outomaties te beheer. U kan volledige API-dokumentasie hier vind: https://mcs.mail.ru/help/vision-api

4. gevolgtrekking

Nou, deur die publieke API, kan jy toegang tot gesigsherkenning in foto's en video's kry; identifikasie van verskeie voorwerpe, nommerplate, landmerke, dokumente en hele tonele word ondersteun. Toepassing scenario's - die see. Kom, toets ons diens, stel dit die moeilikste take. Die eerste 5000 transaksies is gratis. Miskien sal dit die "ontbrekende bestanddeel" vir jou projekte wees.

U kan onmiddellik toegang tot die API kry met registrasie en verbinding. visie. Alle Habra-gebruikers ontvang 'n promosiekode vir bykomende transaksies. Skryf asseblief vir my die e-posadres wat jy gebruik het om jou rekening te registreer!

Bron: will.com

Voeg 'n opmerking