Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

Les tecnologies i models per al nostre futur sistema de visió per computador es van crear i millorar gradualment i en diferents projectes de la nostra empresa -en Mail, Cloud, Search. Maduraven com un bon formatge o conyac. Un dia ens vam adonar que les nostres xarxes neuronals mostraven excel·lents resultats en reconeixement i vam decidir combinar-les en un únic producte b2b, Vision, que ara fem servir nosaltres mateixos i us oferim.

Avui, la nostra tecnologia de visió per computador a la plataforma Mail.Ru Cloud Solutions funciona amb èxit i resol problemes pràctics molt complexos. Es basa en una sèrie de xarxes neuronals que s'entrenen amb els nostres conjunts de dades i s'especialitzen en la resolució de problemes aplicats. Tots els serveis funcionen a les nostres instal·lacions de servidor. Podeu integrar l'API pública de Vision a les vostres aplicacions, a través de les quals totes les capacitats del servei estan disponibles. L'API és ràpida: gràcies a les GPU del servidor, el temps mitjà de resposta a la nostra xarxa és de 100 ms.

Vés al gat, hi ha una història detallada i molts exemples del treball de Vision.

Com a exemple de servei en què nosaltres mateixos utilitzem les esmentades tecnologies de reconeixement facial, podem citar Esdeveniments. Un dels seus components són els estands fotogràfics Vision, que instal·lem en diferents congressos. Si us apropeu a aquest estand de fotos, feu una foto amb la càmera integrada i introduïu el vostre correu electrònic, el sistema trobarà immediatament entre la sèrie de fotografies aquelles en què vau ser capturat pels fotògrafs del personal de la conferència i, si ho desitja, us enviarà les fotografies trobades per correu electrònic. I no estem parlant de retrats escenificats: Vision et reconeix fins i tot al fons en una multitud de visitants. Per descomptat, no són els propis estands de fotos els que es reconeixen, només són tauletes en estands preciosos que simplement fan fotos dels convidats amb les seves càmeres integrades i transmeten informació als servidors, on es produeix tota la màgia del reconeixement. I hem vist més d'una vegada com de sorprenent és l'eficàcia de la tecnologia fins i tot entre els especialistes en reconeixement d'imatges. A continuació parlarem d'alguns exemples.

1. El nostre model de reconeixement facial

1.1. Xarxa neuronal i velocitat de processament

Per al reconeixement, utilitzem una modificació del model de xarxa neuronal ResNet 101, al final, l'agrupació mitjana es substitueix per una capa totalment connectada, de manera similar a com es fa a ArcFace. Tanmateix, la mida de les representacions vectorials és de 128, no de 512. El nostre conjunt de formació conté uns 10 milions de fotos de 273 persones.

El model s'executa molt ràpidament gràcies a una arquitectura de configuració de servidor seleccionada amb cura i a la informàtica GPU. Es triguen 100 ms a rebre una resposta de l'API a les nostres xarxes internes; això inclou la detecció de cares (detecció d'una cara en una foto), el reconeixement i el retorn de PersonID a la resposta de l'API. Amb grans volums de dades entrants (fotos i vídeos), es necessitarà molt més temps per transferir les dades al servei i rebre una resposta.

1.2. Avaluació de l'eficàcia del model

Però determinar l'eficiència de les xarxes neuronals és una tasca molt ambigua. La qualitat del seu treball depèn de quins conjunts de dades es van formar els models i de si s'han optimitzat per treballar amb dades específiques.

Vam començar a avaluar la precisió del nostre model amb la popular prova de verificació LFW, però és massa petit i senzill. Després d'arribar al 99,8% de precisió, ja no és útil. Hi ha una bona competència per avaluar els models de reconeixement: Megaface, en què a poc a poc hem arribat al 82% de rànquing 1. La prova Megaface consta d'un milió de fotografies -distractores- i la model hauria de poder distingir bé diversos milers de fotografies de celebritats del Facescrub. conjunt de dades dels distractors. No obstant això, després d'haver esborrat els errors de la prova de Megaface, vam trobar que amb la versió esborrada aconseguim una precisió del 98% de rànquing 1 (les fotos de celebritats són generalment força específiques). Per tant, van crear una prova d'identificació independent, semblant a Megaface, però amb fotografies de persones "normals". Després vam millorar la precisió del reconeixement dels nostres conjunts de dades i vam avançar molt. A més, fem servir una prova de qualitat de agrupació que consta de diversos milers de fotos; simula les marques facials al núvol de l'usuari. En aquest cas, els clústers són grups d'individus similars, un grup per cada persona reconeixible. Hem comprovat la qualitat del treball en grups reals (cert).

Per descomptat, es produeixen errors de reconeixement amb qualsevol model. Però aquestes situacions sovint es resolen ajustant els llindars per a condicions específiques (per a totes les conferències fem servir els mateixos llindars, però, per exemple, per als sistemes de control d'accés hem d'augmentar molt els llindars perquè hi hagi menys falsos positius). La gran majoria dels visitants de la conferència van ser reconeguts correctament pels nostres cabines de fotos Vision. De vegades, algú mirava la vista prèvia retallada i deia: "El vostre sistema s'ha equivocat, no he estat jo". Llavors vam obrir la foto sencera, i va resultar que realment hi havia aquest visitant a la foto, només que no el vam fotografiar, sinó algú més, la persona simplement estava al fons a la zona de desenfocament. A més, sovint la xarxa neuronal reconeix correctament fins i tot quan una part de la cara no és visible, o la persona està de perfil, o fins i tot mig girada. El sistema pot reconèixer una persona fins i tot si la cara es troba a la zona de distorsió òptica, per exemple, quan es dispara amb una lent gran angular.

1.3. Exemples de proves en situacions difícils

A continuació es mostren exemples de com funciona la nostra xarxa neuronal. Les fotos s'envien a l'entrada, que ha d'etiquetar amb PersonID, un identificador únic d'una persona. Si dues o més imatges tenen el mateix DNI, llavors, segons els models, aquestes fotografies representen la mateixa persona.

Observem immediatament que quan fem les proves, tenim accés a diversos paràmetres i llindars de model que podem configurar per aconseguir un resultat determinat. L'API pública està optimitzada per obtenir la màxima precisió en casos habituals.

Comencem pel més senzill, amb el reconeixement facial frontal.

Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

Bé, això era massa fàcil. Ens compliquem la tasca, afegim una barba i un grapat d'anys.

Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

Alguns diran que això tampoc va ser massa difícil, perquè en ambdós casos es veu tota la cara, i l'algorisme disposa de molta informació sobre la cara. D'acord, convertim Tom Hardy en perfil. Aquest problema és molt més complex i hem dedicat molts esforços a resoldre'l amb èxit mantenint una baixa taxa d'error: hem seleccionat un conjunt d'entrenament, pensat a través de l'arquitectura de la xarxa neuronal, hem perfeccionat les funcions de pèrdua i hem millorat el preprocessament. de fotografies.

Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

Posem-li un tocat:

Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

Per cert, aquest és un exemple d'una situació especialment difícil, ja que la cara està molt enfosquida, i a la foto inferior també hi ha una ombra profunda que amaga els ulls. A la vida real, la gent sovint canvia la seva aparença amb l'ajuda d'ulleres fosques. Fem el mateix amb Tom.

Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

D'acord, intentem posar fotos de diferents edats, i aquesta vegada experimentarem amb un actor diferent. Prenguem un exemple molt més complex, on els canvis relacionats amb l'edat són especialment pronunciats. La situació no és descabellada; es produeix amb força freqüència quan cal comparar la foto del passaport amb la cara del portador. Després de tot, la primera fotografia s'afegeix al passaport quan el propietari té 20 anys, i als 45 una persona pot canviar molt:

Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

Creus que el principal especialista en missions impossibles no ha canviat gaire amb l'edat? Crec que fins i tot algunes persones combinarien les fotos de dalt i de baix, el nen ha canviat molt amb els anys.

Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

Les xarxes neuronals es troben amb canvis d'aparença molt més sovint. Per exemple, de vegades les dones poden canviar molt la seva imatge amb l'ajuda de cosmètics:

Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

Ara compliquem encara més la tasca: suposem que diferents parts de la cara estan cobertes en fotografies diferents. En aquests casos, l'algorisme no pot comparar mostres senceres. Tanmateix, Vision gestiona bé situacions com aquesta.

Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

Per cert, hi pot haver moltes cares en una fotografia, per exemple, més de 100 persones poden cabre en una fotografia general d'una sala. Aquesta és una situació difícil per a les xarxes neuronals, ja que moltes cares es poden il·luminar de manera diferent, algunes desenfocades. Tanmateix, si la foto es fa amb una resolució i qualitat suficients (almenys 75 píxels per quadrat que cobreix la cara), Vision podrà detectar-la i reconèixer-la.

Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

La particularitat de les fotografies de reportatge i les imatges de les càmeres de vigilància és que sovint les persones es veuen borroses perquè estaven desenfocades o es movien en aquell moment:

Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

A més, la intensitat de la il·luminació pot variar molt d'una imatge a una altra. Això també es converteix sovint en un obstacle per a molts algorismes que tenen grans dificultats per processar correctament les imatges massa fosques i massa clares, per no parlar de fer-les coincidir amb precisió. Us recordo que per aconseguir aquest resultat cal configurar els llindars d'una determinada manera, aquesta característica encara no està disponible públicament. Utilitzem la mateixa xarxa neuronal per a tots els clients; té uns llindars adequats per a la majoria de tasques pràctiques.

Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

Recentment hem llançat una nova versió del model que reconeix les cares asiàtiques amb gran precisió. Això solia ser un gran problema, que fins i tot s'anomenava racisme d'"aprenentatge automàtic" (o "xarxa neuronal"). Les xarxes neuronals europees i americanes reconeixien bé les cares caucàsiques, però amb les cares mongoloides i negroides la situació era molt pitjor. Probablement, a la Xina la situació era exactament la contrària. Es tracta de conjunts de dades d'entrenament que reflecteixen els tipus dominants de persones en un país concret. Tanmateix, la situació està canviant avui dia aquest problema no és tan agut. La visió no té cap problema amb persones de diferents races.

Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

El reconeixement facial és només una de les moltes aplicacions de la nostra tecnologia Vision es pot entrenar per reconèixer qualsevol cosa. Per exemple, matrícules, fins i tot en condicions difícils per als algorismes: en angles aguts, matrícules brutes i difícils de llegir.

Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

2. Casos d'ús pràctic

2.1. Control d'accés físic: quan dues persones utilitzen el mateix passi

Amb l'ajuda de Vision, podeu implementar sistemes per registrar l'arribada i la sortida dels empleats. El sistema tradicional basat en abonaments electrònics té desavantatges evidents, per exemple, es poden passar dues persones amb un distintiu. Si el sistema de control d'accés (ACS) es complementa amb Vision, registrarà honestament qui va venir/va sortir i quan.

2.2. Seguiment del temps

Aquest cas d'ús de Vision està molt relacionat amb l'anterior. Si complementes el sistema d'accés amb el nostre servei de reconeixement facial, no només podrà detectar infraccions de control d'accés, sinó també registrar la presència real dels empleats a l'edifici o instal·lació. És a dir, Vision us ajudarà a tenir en compte honestament qui va venir a treballar i va marxar a quina hora, i qui va saltar la feina del tot, encara que els seus companys el cobreixin davant dels seus superiors.

2.3. Analítica de vídeo: seguiment de persones i seguretat

Mitjançant el seguiment de les persones que utilitzen Vision, podeu avaluar amb precisió el trànsit real de zones comercials, estacions de tren, passatges, carrers i molts altres llocs públics. El nostre seguiment també pot ser de gran ajuda per controlar l'accés, per exemple, a un magatzem o altres instal·lacions importants d'oficines. I, per descomptat, el seguiment de persones i cares ajuda a resoldre problemes de seguretat. Heu atrapat algú robant de la vostra botiga? Afegiu el seu PersonID, que va ser retornat per Vision, a la llista negra del vostre programari d'anàlisi de vídeo i, la propera vegada, el sistema avisarà immediatament la seguretat si aquest tipus torna a aparèixer.

2.4. En el comerç

Els comerços minoristes i diversos negocis de serveis estan interessats en el reconeixement de la cua. Amb l'ajuda de Vision, podeu reconèixer que no es tracta d'una multitud aleatòria de persones, sinó d'una cua i determinar-ne la durada. I aleshores el sistema informa els responsables sobre una cua perquè puguin esbrinar la situació: o hi ha una afluència de visitants i cal trucar treballadors addicionals, o algú està deixant de fer les seves tasques laborals.

Una altra tasca interessant és separar els empleats de l'empresa a la sala dels visitants. Normalment, el sistema està entrenat per separar objectes que porten certa roba (codi de vestimenta) o amb algun tret distintiu (mocador de marca, insígnia al pit, etc.). Això ajuda a avaluar amb més precisió l'assistència (de manera que els empleats no "inflen" les estadístiques de les persones a la sala per la seva mera presència).

Mitjançant el reconeixement facial també pots avaluar el teu públic: quina és la fidelitat dels visitants, és a dir, quantes persones tornen al teu establiment i amb quina freqüència. Calcula quants visitants únics vénen a tu al mes. Per optimitzar els costos d'atracció i retenció, també podeu conèixer l'evolució del trànsit en funció del dia de la setmana i fins i tot de l'hora del dia.

Els franquiciadors i les empreses de cadena poden demanar una valoració a partir de fotografies de la qualitat de la marca de diferents punts de venda: presència de logotips, rètols, cartells, pancartes, etc.

2.5. Amb transport

Un altre exemple de garantir la seguretat mitjançant l'anàlisi de vídeo és la identificació d'articles abandonats als vestíbuls d'aeroports o estacions de tren. La visió es pot entrenar per reconèixer objectes de centenars de classes: mobles, bosses, maletes, paraigües, diversos tipus de roba, ampolles, etc. Si el vostre sistema d'anàlisi de vídeo detecta un objecte sense propietari i el reconeix mitjançant Vision, envia un senyal al servei de seguretat. Una tasca similar s'associa amb la detecció automàtica de situacions inusuals en llocs públics: algú se sent malalt, algú fuma al lloc equivocat, o una persona cau a les baranes, etc.; tots aquests patrons es poden reconèixer pels sistemes d'anàlisi de vídeo. mitjançant l'API Vision.

2.6. Flux de documents

Una altra aplicació futura interessant de Vision que estem desenvolupant actualment és el reconeixement de documents i la seva anàlisi automàtica en bases de dades. En lloc d'introduir manualment (o pitjor, introduir) infinites sèries, números, dates d'emissió, números de compte, dades bancàries, dates i llocs de naixement i moltes altres dades formalitzades, podeu escanejar documents i enviar-los automàticament per un canal segur mitjançant el API al núvol, on el sistema reconeixerà aquests documents sobre la marxa, els analitzarà i retornarà una resposta amb dades en el format requerit per a l'entrada automàtica a la base de dades. Avui Vision ja sap com classificar els documents (inclòs el PDF): distingeix entre passaports, SNILS, TIN, certificats de naixement, certificats de matrimoni i altres.

Per descomptat, la xarxa neuronal no és capaç d'afrontar totes aquestes situacions fora de la caixa. En cada cas, es construeix un nou model per a un client concret, es tenen en compte molts factors, matisos i requisits, es seleccionen conjunts de dades i es duen a terme iteracions de formació, proves i configuració.

3. Esquema de funcionament de l'API

La "porta d'entrada" de Vision per als usuaris és l'API REST. Pot rebre fotos, fitxers de vídeo i emissions de càmeres de xarxa (streams RTSP) com a entrada.

Per utilitzar Vision, necessiteu registre al servei Mail.ru Cloud Solutions i rebeu fitxes d'accés (client_id + client_secret). L'autenticació de l'usuari es realitza mitjançant el protocol OAuth. Les dades d'origen dels cossos de sol·licituds POST s'envien a l'API. I com a resposta, el client rep de l'API un resultat de reconeixement en format JSON, i la resposta s'estructura: conté informació sobre els objectes trobats i les seves coordenades.

Amb barba, ulleres fosques i de perfil: situacions difícils per a la visió per ordinador

Resposta de mostra

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

La resposta conté un paràmetre interessant: aquesta és la "fredesa" condicional d'una cara en una foto, amb la seva ajuda, seleccionem la millor foto d'una cara de la seqüència. Hem entrenat una xarxa neuronal per predir la probabilitat que una foto li agradi a les xarxes socials. Com millor sigui la qualitat de la foto i com més somriure sigui la cara, més gran serà la meravella.

API Vision utilitza un concepte anomenat espai. Aquesta és una eina per crear diferents conjunts de cares. Exemples d'espais són llistes en blanc i negre, llistes de visitants, empleats, clients, etc. Per a cada testimoni a Vision, podeu crear fins a 10 espais, cada espai pot tenir fins a 50 mil PersonID, és a dir, fins a 500 mil. per testimoni. A més, el nombre de fitxes per compte no està limitat.

Actualment, l'API admet els mètodes de detecció i reconeixement següents:

  • Reconeix/Estableix: detecció i reconeixement de cares. Assigna automàticament un PersonID a cada persona única, retorna el PersonID i les coordenades de les persones trobades.
  • Suprimeix: elimina un PersonID específic de la base de dades de persones.
  • Truncar: esborra tot l'espai de PersonID, útil si s'ha utilitzat com a espai de prova i cal restablir la base de dades per a la producció.
  • Detectar: ​​detecció d'objectes, escenes, matrícules, punts de referència, cues, etc. Retorna la classe d'objectes trobats i les seves coordenades
  • Detectar documents: detecta tipus específics de documents de la Federació Russa (distingeix el passaport, el SNILS, el número d'identificació fiscal, etc.).

En breu també acabarem treballant en mètodes d'OCR, determinació de gènere, edat i emocions, així com la resolució de problemes de marxandatge, és a dir, de control automàtic de l'exposició de la mercaderia a les botigues. Podeu trobar la documentació completa de l'API aquí: https://mcs.mail.ru/help/vision-api

4. Conclusió

Ara, a través de l'API pública, podeu accedir al reconeixement facial en fotos i vídeos, la identificació de diversos objectes, matrícules, punts de referència, documents i escenes senceres. Escenaris d'aplicació: el mar. Vine, prova el nostre servei, configura'l les tasques més complicades. Les primeres 5000 transaccions són gratuïtes. Potser serà l'"ingredient que falta" per als vostres projectes.

Podeu accedir instantàniament a l'API després de registrar-vos i connectar-vos. Visió. Tots els usuaris d'Habra reben un codi promocional per a transaccions addicionals. Escriu-me l'adreça de correu electrònic que has utilitzat per registrar el teu compte!

Font: www.habr.com

Afegeix comentari