Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

A jövőbeli számítógépes látásrendszerünk technológiáit és modelljeit fokozatosan és cégünk különböző projektjei során - Mail, Cloud, Search - hoztuk létre és fejlesztettük. Úgy érleltek, mint a jó sajt vagy konyak. Egy nap rájöttünk, hogy neurális hálózataink kiváló eredményeket mutatnak a felismerésben, és úgy döntöttünk, hogy egyetlen b2b termékké – Vision – egyesítjük őket, amelyet most mi magunk használunk és felajánlunk Önnek.

Ma a számítógépes látástechnológiánk a Mail.Ru Cloud Solutions platformon sikeresen működik, és nagyon összetett gyakorlati problémákat old meg. Számos neurális hálózaton alapul, amelyek az adatkészleteinkre vannak kiképezve, és az alkalmazott problémák megoldására specializálódtak. Minden szolgáltatás a szervereinken fut. Alkalmazásaiba integrálhatja a nyilvános Vision API-t, amelyen keresztül a szolgáltatás összes képessége elérhető. Az API gyors – a szerver GPU-knak köszönhetően hálózatunkon belül az átlagos válaszidő 100 ms.

Menj a macskához, ott van egy részletes történet és sok példa a Vision munkájára.

Példa egy olyan szolgáltatásra, amelyben mi magunk használjuk az említett arcfelismerő technológiákat Események. Ennek egyik alkotóeleme a Vision fotóállványok, melyeket különféle konferenciákon szerelünk fel. Ha egy ilyen fotóállványhoz közeledik, készítsen fényképet a beépített kamerával, és adja meg e-mail címét, a rendszer azonnal megtalálja a fényképek között azokat, amelyeken Önt a konferencia munkatársai fotósai örökítették meg, és ha kívánja, a talált fényképeket e-mailben elküldi Önnek. És nem a színpadi portréképekről beszélünk – a Vision még a háttérben is felismeri Önt a látogatók tömegében. Természetesen nem magukat a fotóállványokat ismerik fel, ezek csak táblagépek gyönyörű állványokon, amelyek egyszerűen lefotózzák a vendégeket a beépített kameráikkal, és továbbítják az információkat a szerverekre, ahol minden felismerési varázslat megtörténik. És nem egyszer láthattuk, mennyire meglepő a technológia hatékonysága még a képfelismerő szakemberek körében is. Az alábbiakban néhány példáról fogunk beszélni.

1. Arcfelismerő modellünk

1.1. Neurális hálózat és feldolgozási sebesség

A felismeréshez a ResNet 101 neurális hálózati modell egy módosítását használjuk, melynek végén az Average Pooling-ot egy teljesen összekapcsolt réteg váltja fel, hasonlóan az ArcFace-hez. A vektoros ábrázolások mérete azonban nem 128, hanem 512. Oktatókészletünk mintegy 10 millió fotót tartalmaz 273 593 emberről.

A modell nagyon gyorsan fut a gondosan kiválasztott szerverkonfigurációs architektúrának és a GPU-számításnak köszönhetően. 100 ms-ig tart, amíg választ kapunk az API-tól a belső hálózatainkon – ez magában foglalja az arcfelismerést (arcérzékelést a fényképen), a PersonID felismerését és visszaadását az API-válaszban. Nagy mennyiségű bejövő adat – fotók és videók – esetén sokkal több időbe telik az adatok továbbítása a szolgáltatásba és a válasz megérkezése.

1.2. A modell hatékonyságának felmérése

De a neurális hálózatok hatékonyságának meghatározása nagyon kétértelmű feladat. Munkájuk minősége attól függ, hogy milyen adathalmazokra képezték ki a modelleket, és hogy optimalizálták-e őket konkrét adatokkal való munkavégzésre.

Modellünk pontosságát a népszerű LFW ellenőrző teszttel kezdtük el értékelni, de az túl kicsi és egyszerű. A 99,8%-os pontosság elérése után már nem használható. Jó verseny folyik a felismerő modellek értékelésében – a Megaface, amelyen fokozatosan elértük a 82%-os 1. helyezést. A Megaface teszt egymillió fényképből – zavaró tényezőkből – áll, és a modellnek képesnek kell lennie arra, hogy jól meg tudja különböztetni több ezer híresség fényképét a Facescrubtól. adatkészlet zavaró eszközökből. A Megaface tesztjének hibáinak törlése után azonban azt találtuk, hogy a törölt verzióval 98%-os pontosságot érünk el az 1. helyen (a hírességek fotói általában meglehetősen specifikusak). Ezért létrehoztak egy külön azonosítási tesztet, hasonlóan a Megaface-hez, de „hétköznapi” emberek fényképeivel. Ezután javítottuk az adatkészleteink felismerési pontosságát, és messze előre mentünk. Ezen kívül használunk egy klaszterezési minőségi tesztet, amely több ezer fotóból áll; szimulálja az arccímkézést a felhasználó felhőjében. Ebben az esetben a klaszterek hasonló egyének csoportjai, minden felismerhető személyhez egy csoport. Valós csoportokon ellenőriztük a munka minőségét (igaz).

Természetesen minden modellnél előfordulhatnak felismerési hibák. Ám az ilyen helyzeteket gyakran úgy oldják meg, hogy finomhangolják a küszöbértékeket az adott feltételekhez (minden konferencián ugyanazokat a küszöbértékeket használjuk, de pl. a beléptető rendszereknél erősen meg kell emelni a küszöbértékeket, hogy kevesebb téves pozitív legyen). A konferencia látogatóinak túlnyomó többségét helyesen ismerte fel Vision fotófülkéink. Néha valaki ránézett a kivágott előnézetre, és azt mondta: „A rendszere hibázott, nem én.” Aztán teljes egészében kinyitottuk a képet, és kiderült, hogy tényleg ez a látogató van a képen, csak nem őt fotóztuk, hanem valaki mást, az illető véletlenül a háttérben volt az elmosódási zónában. Sőt, a neurális hálózat gyakran akkor is helyesen felismeri, ha az arc egy része nem látszik, vagy az ember profilban áll, vagy akár félig megfordult. A rendszer akkor is képes felismerni egy személyt, ha az arc az optikai torzítás tartományában van, például nagylátószögű objektívvel fényképezve.

1.3. Példák nehéz helyzetekben való tesztelésre

Az alábbiakban példákat mutatunk be neurális hálózatunk működésére. A bemenetre beküldik a fényképeket, amelyeket személyazonosítóval - egy személy egyedi azonosítójával - kell felcímkéznie. Ha két vagy több kép azonos azonosítóval rendelkezik, akkor a modellek szerint ezek a fotók ugyanazt a személyt ábrázolják.

Rögtön megjegyezzük, hogy a tesztelés során különféle paraméterekhez és modellküszöbökhöz férünk hozzá, amelyeket beállíthatunk egy adott eredmény eléréséhez. A nyilvános API-t a gyakori esetek maximális pontosságára optimalizáltuk.

Kezdjük a legegyszerűbb dologgal, az előlapi arcfelismeréssel.

Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

Hát ez túl könnyű volt. Bonyolítsuk a feladatot, adjunk hozzá egy szakállt és egy marék évet.

Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

Egyesek azt mondják, hogy ez sem volt túl nehéz, mert mindkét esetben a teljes arc látható, és az arcról sok információ áll az algoritmus rendelkezésére. Oké, alakítsuk Tom Hardyt profilba. Ez a probléma sokkal összetettebb, és sok erőfeszítést fordítottunk a sikeres megoldására, miközben alacsony hibaarányt tartottunk: kiválasztottunk egy betanító készletet, átgondoltuk a neurális hálózat architektúráját, csiszoltuk a veszteségfüggvényeket és javítottuk az előfeldolgozást. fényképekről.

Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

Tegyünk rá egy fejdíszt:

Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

Ez egyébként egy különösen nehéz helyzet példája, hiszen az arc erősen el van takarva, az alsó fotón pedig egy mély árnyék is rejti a szemet. A való életben az emberek gyakran megváltoztatják megjelenésüket sötét szemüveg segítségével. Tegyük ugyanezt Tommal.

Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

Rendben, próbáljunk meg fotókat bedobni különböző korokból, és ezúttal egy másik színésszel kísérletezünk. Vegyünk egy sokkal összetettebb példát, ahol az életkorral összefüggő változások különösen szembetűnőek. A helyzet nem túlzás, gyakran előfordul, amikor össze kell hasonlítani az útlevélben szereplő fényképet a viselő arcával. Végül is az első fényképet akkor adják hozzá az útlevélhez, amikor a tulajdonos 20 éves, és 45 éves korára az ember jelentősen megváltozhat:

Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

Ön szerint a lehetetlen küldetések fő specialistája nem sokat változott az életkorral? Szerintem még kevesen is kombinálnák a felső és alsó fotókat, annyit változott a fiú az évek során.

Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

A neurális hálózatok sokkal gyakrabban találkoznak megjelenési változásokkal. Például néha a nők nagymértékben megváltoztathatják képüket kozmetikumok segítségével:

Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

Most bonyolítsuk még jobban a feladatot: tegyük fel, hogy az arc különböző részeit különböző fényképek fedik le. Ilyen esetekben az algoritmus nem tud teljes mintákat összehasonlítani. A Vision azonban jól kezeli az ilyen helyzeteket.

Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

Egyébként egy fényképen sok arc lehet, például egy terem általános fényképén több mint 100 ember fér el. Ez egy nehéz helyzet a neurális hálózatok számára, mivel sok arc másképp világíthat, néhány pedig életlen. Ha azonban a fénykép megfelelő felbontásban és minőségben készül (legalább 75 pixel négyzetenként, amely az arcot fedi), a Vision képes lesz észlelni és felismerni.

Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

A riportfotók és a térfigyelő kamerákról készült képek sajátossága, hogy az emberek gyakran elmosódnak, mert életlenek voltak, vagy éppen mozogtak abban a pillanatban:

Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

Ezenkívül a megvilágítás intenzitása képenként nagymértékben változhat. Ez is gyakran buktatóvá válik, sok algoritmus számára nagy nehézségekbe ütközik a túl sötét és túl világos képek helyes feldolgozása, nem is beszélve a pontos illeszkedésükről. Hadd emlékeztesselek arra, hogy ennek az eredménynek az eléréséhez bizonyos módon be kell állítani a küszöbértékeket, ez a funkció még nem elérhető nyilvánosan. Minden kliensnél ugyanazt a neurális hálózatot használjuk, amelynek a legtöbb gyakorlati feladathoz megfelelő küszöbértékei vannak.

Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

Nemrég bemutattuk a modell új verzióját, amely nagy pontossággal ismeri fel az ázsiai arcokat. Ez korábban nagy probléma volt, amit még „gépi tanulás” (vagy „neurális hálózat”) rasszizmusnak is neveztek. Az európai és amerikai neurális hálózatok jól felismerték a kaukázusi arcokat, de a mongoloid és a negroid arcok esetében a helyzet sokkal rosszabb volt. Valószínűleg Kínában a helyzet pont az ellenkezője volt. Ez a képzési adatkészletekről szól, amelyek tükrözik az adott országban uralkodó embertípusokat. A helyzet azonban változik, ma ez a probléma nem olyan akut. A látásnak nincs problémája a különböző fajokhoz tartozó emberekkel.

Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

Az arcfelismerés csak egy a technológiánk számos alkalmazása közül; A látást meg lehet tanítani arra, hogy bármit felismerjen. Például rendszámtáblák, beleértve az algoritmusok számára nehéz körülményeket is: éles szögek, piszkos és nehezen olvasható rendszámok.

Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

2. Gyakorlati felhasználási esetek

2.1. Fizikai hozzáférés-szabályozás: amikor két személy használja ugyanazt a bérletet

A Vision segítségével a dolgozók érkezését és távozását rögzítő rendszereket valósíthat meg. A hagyományos, elektronikus bérletekre épülő rendszernek nyilvánvaló hátrányai vannak, például egy kitűzővel két embert is átengedhetünk. Ha a beléptető rendszer (ACS) kiegészül Visionnal, akkor őszintén rögzíti, hogy ki és mikor jött/ment el.

2.2. Időmérés

Ez a Vision használati eset szorosan kapcsolódik az előzőhöz. Ha a beléptető rendszert arcfelismerő szolgáltatásunkkal egészíti ki, az nemcsak a beléptető-szabálysértések észlelésére lesz képes, hanem a munkavállalók épületben, létesítményben való tényleges jelenlétének regisztrálására is. Vagyis a Vision segít abban, hogy őszintén figyelembe vegye, ki mikor jött dolgozni és mikor ment el, és ki hagyta el teljesen a munkát, még akkor is, ha a kollégái fedezték őt a felettesei előtt.

2.3. Videóelemzés: Emberkövetés és biztonság

A Vision segítségével követve az embereket, pontosan felmérheti a bevásárlóterületek, vasútállomások, átjárók, utcák és sok más nyilvános hely valós forgalmát. Nyomon követésünk nagy segítséget jelenthet például egy raktárba vagy más fontos irodahelyiségbe való bejutás szabályozásában is. És természetesen az emberek és arcok követése segít megoldani a biztonsági problémákat. Elkaptak valakit lopáson az üzletedből? Adja hozzá a Vision által visszaadott PersonID-jét videóelemző szoftverének feketelistájához, és legközelebb a rendszer azonnal értesíti a biztonságiakat, ha ez a típus ismét megjelenik.

2.4. Cserébe

A kiskereskedelmi és különféle szolgáltató vállalkozások érdeklődnek a sorfelismerés iránt. A Vision segítségével felismerheti, hogy ez nem egy véletlenszerű embertömeg, hanem egy sor, és meghatározhatja a hosszát. És akkor a rendszer értesíti az illetékeseket a sorban állásról, hogy rájöjjenek a helyzetre: vagy látogatók özönlenek, és további munkásokat kell hívni, vagy valaki laza a munkakörében.

További érdekes feladat a csarnokban tartózkodó céges dolgozók elkülönítése a látogatóktól. Jellemzően a rendszer arra van kiképezve, hogy bizonyos ruhákat viselő tárgyakat (dress code) vagy valamilyen jellegzetes tulajdonsággal (márkás sál, kitűző a mellkason stb.) elkülönítsen egymástól. Ez segít a látogatottság pontosabb felmérésében (hogy a dolgozók puszta jelenlétükkel ne „felfújják” a teremben tartózkodók statisztikáit).

Az arcfelismerés segítségével a közönségedet is értékelheted: milyen a látogatók hűsége, vagyis hányan és milyen gyakorisággal térnek vissza az intézménybe. Számolja ki, hány egyedi látogató érkezik Önhöz havonta. A vonzás és a megtartás költségeinek optimalizálása érdekében megtudhatja a forgalom változását is a hét napjától, sőt a napszaktól függően.

A franchise-adók és lánccégek fényképek alapján rendelhetnek értékelést a különböző kiskereskedelmi egységek márkajelzésének minőségéről: logók, táblák, plakátok, transzparensek stb.

2.5. Közlekedéssel

Egy másik példa a biztonság videóelemzés segítségével történő biztosítására az elhagyott tárgyak azonosítása a repülőterek vagy a vasútállomások csarnokában. A látás több száz osztályba tartozó tárgyak felismerésére tanítható: bútorok, táskák, bőröndök, esernyők, különféle ruhadarabok, palackok stb. Ha videóelemző rendszere tulajdonos nélküli objektumot észlel, és a Vision segítségével felismeri, akkor jelzést küld a biztonsági szolgálatnak. Hasonló feladathoz kapcsolódik a nyilvános helyeken előforduló szokatlan helyzetek automatikus észlelése: valaki rosszul érzi magát, valaki rossz helyen dohányzik, vagy valaki a sínekre esik stb. a Vision API-n keresztül.

2.6. Dokumentumfolyam

A Vision másik érdekes jövőbeni alkalmazása, amelyet jelenleg fejlesztünk, a dokumentumfelismerés és azok automatikus elemzése adatbázisokba. A végtelen sorozatok, számok, kibocsátási dátumok, számlaszámok, banki adatok, születési dátumok és helyek és sok más formalizált adat manuális bevitele (vagy rosszabb esetben bevitele) helyett a dokumentumokat beszkennelheti, és automatikusan elküldheti egy biztonságos csatornán keresztül a API-t a felhőbe, ahol a rendszer menet közben felismeri ezeket a dokumentumokat, elemzi őket, és választ küld a szükséges formátumú adatokkal az adatbázisba való automatikus belépéshez. Ma a Vision már tudja, hogyan kell osztályozni a dokumentumokat (beleértve a PDF-et is) - különbséget tesz az útlevelek, SNILS, TIN, születési anyakönyvi kivonatok, házassági anyakönyvi kivonatok és mások között.

Természetesen a neurális hálózat nem képes ezeket a helyzeteket a dobozból kezelni. Minden esetben egy új modellt építenek egy adott ügyfél számára, számos tényezőt, árnyalatot és követelményt figyelembe vesznek, kiválasztják az adatkészleteket, és elvégzik a képzés, tesztelés és konfiguráció iterációit.

3. API működési séma

A Vision „bejárati kapuja” a felhasználók számára a REST API. Bemenetként képes fényképeket, videofájlokat és adásokat fogadni a hálózati kamerákról (RTSP stream).

A Vision használatához szüksége van nyilvántartás a Mail.ru Cloud Solutions szolgáltatásban, és megkapja a hozzáférési tokeneket (client_id + client_secret). A felhasználói hitelesítés az OAuth protokoll használatával történik. A POST-kérelmek törzsében található forrásadatok elküldésre kerülnek az API-nak. És válaszul a kliens egy felismerési eredményt kap az API-tól JSON formátumban, és a válasz strukturált: információkat tartalmaz a talált objektumokról és azok koordinátáiról.

Szakállal, sötét szemüveggel és profilban: nehéz helyzetek a számítógépes látás számára

Válaszminta

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

A válasz egy érdekes félelmetes paramétert tartalmaz - ez az arc feltételes „hűvössége” egy fényképen, segítségével kiválasztjuk a sorozatból a legjobb arcfelvételt. Megtanítottunk egy neurális hálózatot, hogy előre jelezze, mekkora a valószínűsége annak, hogy egy fotót kedvelni fognak a közösségi hálózatokon. Minél jobb a fénykép minősége és minél mosolygósabb az arc, annál nagyobb a fantasztikusság.

Az API Vision a space nevű fogalmat használja. Ez egy eszköz különböző arckészletek létrehozására. Példák a terekre a fekete-fehér listák, a látogatók, alkalmazottak, ügyfelek listái stb. A Visionban minden tokenhez legfeljebb 10 mezőt hozhat létre, minden mezőhöz legfeljebb 50 ezer, azaz legfeljebb 500 ezer személyazonosító tartozhat. tokenenként. Ezenkívül a tokenek száma fiókonként nincs korlátozva.

Ma az API a következő észlelési és felismerési módszereket támogatja:

  • Felismerés/beállítás – arcok felismerése és felismerése. Minden egyedi személyhez automatikusan személyazonosítót rendel, visszaadja a talált személyek személyazonosítóját és koordinátáit.
  • Törlés - egy adott személyazonosító törlése a személyi adatbázisból.
  • Csonkítás – törli a teljes területet a PersonID-ből, ami akkor hasznos, ha tesztterületként használták, és vissza kell állítania az adatbázist az éles használatra.
  • Detect – tárgyak, jelenetek, rendszámok, tereptárgyak, sorok stb. észlelése. Visszaadja a talált tárgyak osztályát és koordinátáit
  • Dokumentumok észlelése - észleli az Orosz Föderáció bizonyos típusú dokumentumait (megkülönbözteti az útlevelet, az SNILS-t, az adóazonosító számot stb.).

Hamarosan befejezzük az OCR-módszereket is, a nem, az életkor és az érzelmek meghatározását, valamint a merchandising problémák megoldását, vagyis az áruk bolti megjelenítésének automatikus vezérlését. A teljes API dokumentációt itt találja: https://mcs.mail.ru/help/vision-api

4. következtetés

Mostantól a nyilvános API-n keresztül hozzáférhet az arcfelismeréshez a fényképeken és videókon; támogatott a különféle objektumok, rendszámtáblák, tereptárgyak, dokumentumok és teljes jelenetek azonosítása. Alkalmazási forgatókönyvek - a tenger. Gyere, teszteld szolgáltatásunkat, állítsd be a legnehezebb feladatokat. Az első 5000 tranzakció ingyenes. Talán ez lesz a „hiányzó összetevő” a projektjeihez.

A regisztráció és a csatlakozás után azonnal hozzáférhet az API-hoz. Jövőkép. Minden Habra felhasználó promóciós kódot kap további tranzakciókhoz. Kérem, írja meg nekem azt az e-mail címet, amelyet a fiók regisztrálásához használt!

Forrás: will.com

Hozzászólás