A különféle iparágakban, például a pénzügyi szolgáltatásokban, a telekommunikációban és az egészségügyben az ügyfelek digitális identitási eljárást alkalmaznak, amely általában több lépésből áll a végfelhasználók ellenőrzésére az online beléptetés vagy a fokozott hitelesítés során. Az egyik használható lépésre példa az arckeresés, amely segíthet meghatározni, hogy egy új végfelhasználó arca megegyezik-e egy meglévő fiókhoz társított arccal.
A pontos arckereső rendszer felépítése több lépésből áll. A rendszernek képesnek kell lennie arra, hogy felismerje az emberi arcokat a képeken, kivonja az arcokat vektoros ábrázolásokba, tárolja az arcvektorokat egy adatbázisban, és összehasonlítsa az új arcokat a meglévő bejegyzésekkel. Amazon felismerés ezt egyszerűvé teszi azáltal, hogy előre betanított modelleket biztosít, amelyek egyszerű API-hívásokkal hívhatók meg.
Az Amazon Rekognition segítségével nagyon nagy arckeresési pontosságot érhet el egyetlen arcképpel. Egyes esetekben több képet is használhat ugyanarról a személyről, hogy felhasználói vektorokat hozzon létre, és még tovább javítsa a pontosságot. Ez különösen akkor hasznos, ha a képek megvilágítása, pózai és megjelenése eltérő.
Ebben a bejegyzésben bemutatjuk, hogyan használhatjuk az Amazon Rekognition Face Search API-kat felhasználói vektorokkal, hogy növeljük a hasonlósági pontszámot a valódi egyezéseknél, és csökkentsük a hasonlósági pontszámot a valódi nem egyezéseknél.
Összehasonlítjuk a felhasználói vektorokkal és anélkül végzett arcegyeztetés eredményeit.
Amazon Rekognition arcegyeztetés
Az Amazon Rekognition arcillesztése lehetővé teszi az egyik képből kivont arcvektor és egy másik képről kinyert arcvektor hasonlóságának mérését. Egy arcképpárról azt mondják, hogy a igaz meccs ha mindkét kép ugyanazon személy arcát tartalmazza, és a igaz nem egyezés másképp. Az Amazon Rekognition egy pontszámot ad vissza a forrás és a célfelület hasonlóságára. A minimális hasonlósági pontszám 0, ami nagyon csekély hasonlóságot jelent, a maximális pedig 100.
A forrásarcok és a célarcok gyűjteményének (1:N egyezés) összehasonlításához az Amazon Rekognition lehetővé teszi egy Gyűjtemény objektum létrehozását, és API-hívások segítségével képekből való arcokkal való feltöltését.
Amikor egy arcot ad hozzá egy gyűjteményhez, az Amazon Rekognition nem az arc tényleges képét tárolja, hanem az arc vektorát, az arc matematikai ábrázolását. A ... val SearchArcok API, összehasonlíthat egy forráslapot egy vagy több célarc-gyűjteményével.
Júniusban az 2023, Az AWS elindította a felhasználói vektorokat, egy új képességet, amely jelentősen javítja az arckeresés pontosságát egy felhasználó több arcképének használatával. Mostantól létrehozhat felhasználói vektorokat, amelyek ugyanazon felhasználó több arcvektorát aggregálják. A felhasználói vektorok nagyobb arckeresési pontosságot kínálnak robusztusabb ábrázolásokkal, mivel különböző fokú megvilágítást, élességet, pózt, megjelenést és egyebeket tartalmaznak. Ez javítja a pontosságot az egyes arcvektorok szerinti kereséshez képest.
A következő szakaszokban felvázoljuk az Amazon Rekognition felhasználói vektorok használatának folyamatát. Végigvezetjük Önt egy gyűjtemény létrehozásán, az arcvektorok gyűjteményben való tárolásán, az arcvektorok felhasználói vektorokká történő összesítésén, majd a keresés eredményeinek az egyedi arcvektorokkal és felhasználói vektorokkal való összehasonlításán.
Megoldás áttekintése
Ehhez a megoldáshoz egy Amazon Rekognition felhasználói gyűjteményt használunk, amelyek mindegyike a hozzá tartozó indexelt arcvektorokkal rendelkezik számos különböző arcképből az egyes felhasználók számára.
Nézzük meg a munkafolyamatot egy gyűjtemény létrehozásához felhasználókkal és arcokkal:
- Hozzon létre egy Amazon Rekognition gyűjteményt.
- Minden felhasználóhoz hozzon létre egy felhasználót a gyűjteményben.
- A felhasználó minden képéhez adja hozzá az arcot a gyűjteményhez (IndexArcok, amely az egyes arcvektoroknak megfelelő arcazonosítót adja vissza).
- Az összes indexelt arcazonosítót társítsa a felhasználóhoz (ez szükséges a felhasználói vektorokhoz).
Ezután összehasonlítjuk a következő munkafolyamatokat:
Keresés egy új megadott bemeneti képpel a gyűjteményünkben lévő egyes arcvektorok alapján:
- Minden arc lekérése egy képről (Arcok észlelése).
- Hasonlítsa össze az egyes arcokat a gyűjteményünkben található arcokkal (Search FacesByImage).
Keresés egy új megadott bemeneti képpel a gyűjteményünkben található felhasználói vektorok alapján:
- Minden arc lekérése egy képről (Arcok észlelése).
- Minden arc esetében hasonlítsa össze a felhasználói vektorral (SearchUsersByImage).
Most pedig írjuk le részletesen a megoldást.
Előfeltételek
Adja hozzá a következő szabályzatot AWS Identity and Access Management (IAM) felhasználó vagy szerepkör. A házirend engedélyt ad Önnek a vonatkozó Amazon Rekognition API-khoz, és hozzáférést biztosít egy Amazon egyszerű tárolási szolgáltatás (Amazon S3) vödör a képek tárolására:
Hozzon létre egy Amazon Rekognition gyűjteményt, és adjon hozzá felhasználókat és arcokat
Először létrehozunk egy S3 tárolót a felhasználók képeinek tárolására. A tárolót úgy rendezzük, hogy minden felhasználó számára létrehozunk egy mappát, amely tartalmazza a személyes képeiket. A miénk képek mappa így néz ki a szerkezet:
Az S3 tárolónkban minden felhasználó számára van egy könyvtár, amely a képeiket tárolja. Jelenleg két mappa van, és mindegyik több képet tartalmaz. Felvehet további mappákat a felhasználók számára, amelyek mindegyike egy vagy több indexelendő képet tartalmaz.
Ezután létrehozzuk az Amazon Rekognition gyűjteményünket. szállítottunk helpers.py, amely különböző általunk használt módszereket tartalmaz:
- Create_collection – Hozzon létre egy új kollekciót
- delete_collection – Gyűjtemény törlése
- felhasználó létrehozása – Hozzon létre egy új felhasználót egy gyűjteményben
- arcok_adása a gyűjteményhez – Arcok hozzáadása a gyűjteményhez
- társított_arcok – A face_ids társítása egy felhasználóhoz a gyűjteményben
- get_subdirs – Az összes alkönyvtár lekérése az S3 előtag alatt
- get_files – Az összes fájl lekérése az S3 előtag alatt
A következő példa egy Amazon Rekognition gyűjtemény létrehozására szolgáló módszer:
Hozd létre a gyűjteményt a következő kóddal:
Ezután adjuk hozzá az arcvektorokat a gyűjteményünkhöz, és aggregáljuk őket felhasználói vektorokká.
Az S3 könyvtárban minden felhasználóhoz létrehozunk egy felhasználói vektort a gyűjteményben. Ezután az egyes felhasználók arcképeit egyedi arcvektorokként indexeljük a gyűjteménybe, amely arcazonosítókat generál. Végül az arcazonosítókat a megfelelő felhasználói vektorhoz társítjuk.
Ez kétféle vektort hoz létre a gyűjteményünkben:
- Egyéni arc vektorok
- Felhasználói vektorok, amelyek a módszerrel biztosított arcvektor-azonosítók alapján épülnek fel
associate_faces
Lásd a következő kódot:
A következő módszereket használjuk:
- get_subdirs – Visszaadja az összes felhasználó könyvtárának listáját. Példánkban az érték [Swami,Werner].
- get_files – Visszaadja az összes képfájlt az S3 előtag alatt a felhasználó számára.
- face_ids – Ez egy olyan lista, amely egy felhasználóhoz tartozó összes arcazonosítót tartalmazza. Ezt a listát használjuk a AssociateFaces API.
A korábban kifejtetteknek megfelelően további felhasználókat is hozzáadhat mappák hozzáadásával (a mappa diktálja a felhasználói azonosítót), és hozzáadhatja a képeket ebbe a mappába (a fájlok nem igényelnek sorrendet).
Most, hogy a környezetünk be van állítva, és egyedi arcvektorokkal és felhasználói vektorokkal is rendelkezünk, hasonlítsuk össze keresési minőségünket mindegyikkel. Ehhez egy új fényképet használunk több emberrel, és megpróbáljuk összeilleszteni az arcukat a gyűjteményünkkel, először az egyes arcvektorokkal, majd a felhasználói vektorokkal.
Arckeresés a képen egyéni arcvektorok gyűjteményével szemben
Az egyéni arcvektorainkkal való kereséshez az Amazon Rekognitiont használjuk Search FacesByImage API. Ez a függvény egy forrásarckép segítségével keres a gyűjteményünkben lévő egyes arcvektorok alapján, és olyan arcokat ad vissza, amelyek megfelelnek a meghatározott hasonlósági pontszám küszöbértékének.
Fontos szempont, hogy a SearchFacesByImage
Az API csak a képen észlelt legnagyobb arcon működik. Ha több arc is jelen van, minden egyes arcot le kell vágnia, és külön kell átadnia az azonosítási módszernek.
Az arcok képének részleteinek (például a képen elfoglalt helyének) kinyeréséhez az Amazon Rekognitiont használjuk Arcok észlelése API.
A következő észlel_arcok_a_képben módszer arcokat észlel a képen. Minden arc esetében a következő műveleteket hajtja végre:
- Nyomtassa ki a határolókeret helyét
- Vágja le az arcot a képről, és ellenőrizze, hogy létezik-e ilyen arc a gyűjteményben, és nyomtassa ki a felhasználót vagy az „Ismeretlen”
- Nyomtassa ki a hasonlósági pontszámot
A példa Python kód a Párna könyvtár a képkezeléshez (például nyomtatáshoz, rajzoláshoz és vágáshoz).
A hasonlósági pontszám 99%-os küszöbértékét használjuk, amely általános beállítás a személyazonosság-ellenőrzési használati eseteknél.
Futtassa a következő kódot:
file_key
az S3 objektumkulcs, amelyet össze akarunk egyeztetni a gyűjteményünkkel. Példaképet adtunk (photo.jpeg
) a képek mappa alatt.
Az alábbi képen az eredményeink láthatók.
99%-os küszöböt használva csak egy személyt azonosítottak. Dr. Werner Vogelst ismeretlenként jelölték meg. Ha ugyanazt a kódot egy alacsonyabb 90-es küszöbértékkel futtatjuk (beállítás threshold=90), a következő eredményeket kapjuk.
Most azt látjuk, hogy Dr. Werner Vogel arcának hasonlósági pontszáma 96.86%. Ezután ellenőrizzük, hogy felhasználói vektorok használatával elérhetjük-e a hasonlósági pontszámot a meghatározott küszöbérték felett.
Arckeresés a képen a felhasználói vektorok gyűjteményével szemben
A felhasználói vektorainkkal való kereséshez az Amazon Rekognitiont használjuk SearchUsersByImage API. Ez a függvény egy forrás arcképet használ a gyűjteményünkben található felhasználói vektorok szerinti kereséshez, és olyan felhasználókat ad vissza, amelyek megfelelnek a meghatározott hasonlósági pontszám küszöbértékének.
Ugyanez a megfontolás itt is releváns – a SearchUsersByImage
Az API csak a képen észlelt legnagyobb arcon működik. Ha több arc is jelen van, akkor minden egyes arcot le kell vágnia, és külön kell átadnia az azonosítási módszernek.
Az arcok képének részleteinek (például a képen elfoglalt helyének) kinyeréséhez az Amazon Rekognitiont használjuk Arcok észlelése API.
A következő detect_users_in_image módszer arcokat észlel a képen. Minden arc esetében a következő műveleteket hajtja végre:
- Nyomtassa ki a határolókeret helyét
- Vágja le az arcot a képről, és ellenőrizze, hogy létezik-e ilyen felhasználói arc a gyűjteményünkben, majd nyomtassa ki a felhasználót vagy az „Ismeretlen” nevet.
- Nyomtassa ki a hasonlósági pontszámot
Lásd a következő kódot:
A függvény egy módosított képet ad vissza az eredményekkel, amelyek elmenthetők az Amazon S3-ra vagy kinyomtathatók. A függvény ezenkívül statisztikát ad ki az arcok becsült életkoráról a terminálra.
Futtassa a következő kódot:
Az alábbi képen az eredményeink láthatók.
A gyűjteményünkben szereplő felhasználókat helyesen azonosították, nagy hasonlósággal (több mint 99%).
Sikerült növelni a hasonlósági pontszámot felhasználói vektoronként három arcvektor használatával. Ahogy növeljük a használt arcvektorok számát, arra számítunk, hogy a valódi egyezések hasonlósági pontszáma is növekedni fog. Felhasználói vektoronként legfeljebb 100 arcvektort használhat.
Egy végpontok közötti példakód található a GitHub tárház. Ez tartalmaz egy részletes Jupyter jegyzetfüzet hogy tovább tud futni Amazon SageMaker Studio (vagy más alternatívák).
Tisztítsuk meg
A gyűjtemény törléséhez használja a következő kódot:
Következtetés
Ebben a bejegyzésben bemutattuk, hogyan használhatók az Amazon Rekognition felhasználói vektorok az arckeresés megvalósítására a felhasználók arcainak gyűjteményével szemben. Bemutattuk, hogyan javítható az arckeresés pontossága felhasználónként több arckép használatával, és összehasonlítottuk az egyes arcvektorokkal. Ezenkívül leírtuk, hogyan használhatja a különböző Amazon Rekognition API-kat az arcok észlelésére. A megadott példakód szilárd alapot nyújt egy funkcionális arckereső rendszer felépítéséhez.
Az Amazon Rekognition felhasználói vektorokkal kapcsolatos további információkért lásd: Arcok keresése egy gyűjteményben. Ha még nem ismeri az Amazon Rekognition szolgáltatást, használhatja ingyenes rétegünket, amely 12 hónapig tart, és havonta 5,000 kép feldolgozását és havi 1,000 felhasználói vektorobjektum tárolását tartalmazza.
A szerzőkről
Arik Porat az Amazon Web Services vezető startup megoldások építésze. Startup vállalkozásokkal dolgozik, hogy segítsen nekik megoldásaikat felhőben kiépíteni és megtervezni, és szenvedélyesen rajong a gépi tanulásért és a konténeralapú megoldásokért. Szabadidejében Arik szeret sakkozni és videojátékokat játszani.
Eliran Efron az Amazon Web Services Startups Solutions építésze. Eliran az adatok és a számítástechnika rajongója, segít az induló vállalkozásoknak rendszerarchitektúra tervezésében. Szabadidejében Eliran szeret autókat építeni és versenyezni a Touring versenyeken, valamint IoT-eszközöket építeni.
- SEO által támogatott tartalom és PR terjesztés. Erősödjön még ma.
- PlatoData.Network Vertical Generative Ai. Erősítse meg magát. Hozzáférés itt.
- PlatoAiStream. Web3 Intelligence. Felerősített tudás. Hozzáférés itt.
- PlatoESG. Carbon, CleanTech, Energia, Környezet, Nap, Hulladékgazdálkodás. Hozzáférés itt.
- PlatoHealth. Biotechnológiai és klinikai vizsgálatok intelligencia. Hozzáférés itt.
- Forrás: https://aws.amazon.com/blogs/machine-learning/improve-accuracy-of-amazon-rekognition-face-search-with-user-vectors/
- :van
- :is
- $ UP
- 000
- 1
- 10
- 100
- 12
- 12 hónap
- 17
- 2023
- 28
- 30
- 7
- 9
- a
- Képes
- Rólunk
- felett
- hozzáférés
- Fiók
- pontosság
- pontos
- Elérése
- Akció
- cselekvések
- tényleges
- hozzá
- hozzáadásával
- Ezen kívül
- ellen
- Korosztály
- adalékanyag
- összesítés
- Minden termék
- lehetővé
- lehetővé teszi, hogy
- már
- Is
- alternatívák
- amazon
- Amazon felismerés
- Az Amazon Web Services
- an
- és a
- Másik
- api
- API-k
- megjelenés
- megjelenések
- megfelelő
- architektúrák
- VANNAK
- Sor
- AS
- segítő
- Társult
- társult
- At
- kísérlet
- Hitelesítés
- AWS
- alapján
- BE
- mert
- tartozó
- között
- test
- mindkét
- Doboz
- dobozok
- épít
- épült
- de
- by
- számít
- hívás
- hívás
- kéri
- TUD
- Kaphat
- képesség
- autók
- esetek
- ellenőrizze
- sakk
- vásárló
- felhő
- kód
- gyűjtemény
- gyűjtemény
- Közös
- összehasonlítani
- képest
- összehasonlítva
- Kiszámít
- megfontolás
- építése
- tartalmaz
- tartalmaz
- megtérít
- helyesen
- Megfelelő
- teremt
- teremt
- létrehozása
- termés
- Jelenleg
- Ügyfelek
- dátum
- adatbázis
- csökkenés
- meghatározott
- bizonyítani
- igazolták
- leírni
- leírt
- Design
- tervezés
- részletes
- részletek
- kimutatására
- észlelt
- Határozzuk meg
- Eszközök
- diktálja
- különböző
- digitális
- digitális identitás
- könyvtárak
- könyvtár
- kijelző
- do
- Nem
- Ennek
- csinált
- dr
- húz
- rajz
- alatt
- minden
- Korábban
- hatás
- megerőltetés nélküli
- más
- lehetővé teszi
- végtől végig
- rajongó
- Környezet
- különösen
- becsült
- Még
- példa
- Kivéve
- létezik
- létező
- létezik
- kilép
- vár
- magyarázható
- kivonat
- Arc
- arcok
- Fájlok
- pénzügyi
- pénzügyi szolgáltatások
- Találjon
- vezetéknév
- megjelölve
- Úszó
- következő
- A
- formátum
- talált
- Alapítvány
- Ingyenes
- ból ből
- funkció
- funkcionális
- további
- Games
- generál
- kap
- adott
- Giving
- támogatások
- útmutató
- Legyen
- he
- egészségügyi
- magasság
- segít
- segítők
- hasznos
- itt
- Magas
- <p></p>
- övé
- Hogyan
- How To
- HTML
- http
- HTTPS
- emberi
- ID
- Azonosítás
- azonosított
- Identitás
- Azonosító igazolás
- ids
- if
- kép
- képek
- végre
- importál
- fontos
- javul
- javítja
- in
- magában foglalja a
- Növelje
- index
- indexelt
- egyéni
- iparágak
- információ
- bemenet
- bele
- hivatkozni
- jár
- tárgyak internete
- iot eszközök
- IT
- ITS
- jpeg
- június
- Kulcs
- legnagyobb
- végül
- indított
- tanulás
- balra
- könyvtár
- minőségi
- mint
- Kedvencek
- Lista
- kis
- kiszámításának
- elhelyezkedés
- néz
- MEGJELENÉS
- Elő/Utó
- alacsonyabb
- gép
- gépi tanulás
- KÉSZÍT
- manipulációk
- Mérkőzés
- gyufa
- egyező
- matematikai
- matematikai
- maximális
- mérő
- módszer
- mód
- minimum
- modellek
- módosított
- Hónap
- hónap
- több
- többszörös
- kell
- név
- elengedhetetlen
- Szükség
- Új
- következő
- nem
- Most
- szám
- tárgy
- objektumok
- of
- ajánlat
- Régi
- on
- Beszállás
- ONE
- online
- csak
- működik
- or
- Más
- másképp
- mi
- vázlat
- kimenetek
- felett
- pár
- elhalad
- szenvedélyes
- Emberek (People)
- mert
- előadó
- Előadja
- engedély
- person
- személyes
- Plató
- Platón adatintelligencia
- PlatoData
- játszani
- pont
- politika
- póz
- pózok
- állás
- be
- bemutatott
- nyomtatás
- folyamat
- feldolgozás
- feltéve,
- Piton
- világítás
- Futam
- lóverseny
- Inkább
- utal
- képviselet
- kötelező
- forrás
- válasz
- Eredmények
- visszatérés
- Visszatér
- erős
- Szerep
- futás
- sagemaker
- Mondott
- azonos
- mentett
- pontszám
- Keresés
- keres
- szakaszok
- lát
- idősebb
- szolgálja
- Szolgáltatások
- ülés
- készlet
- beállítás
- számos
- Műsorok
- jelentősen
- Egyszerű
- egyetlen
- Méret
- szilárd
- megoldások
- Megoldások
- néhány
- forrás
- Startups
- nyilatkozat
- statisztika
- Állapot
- Lépés
- Lépései
- tárolás
- tárolni
- árnyékolók
- tárolása
- folyam
- struktúra
- ilyen
- mellékelt
- rendszer
- cél
- távközlés
- terminál
- hogy
- A
- The Source
- azok
- Őket
- akkor
- Ott.
- ők
- ezt
- azok
- három
- küszöb
- Keresztül
- tier
- idő
- nak nek
- felső
- túrázó
- igaz
- megpróbál
- kettő
- típusok
- alatt
- ismeretlen
- használ
- használt
- használó
- Felhasználók
- használ
- segítségével
- rendszerint
- érték
- variációk
- különféle
- változó
- Igazolás
- ellenőrzése
- változat
- nagyon
- keresztül
- videó
- videojátékok
- akar
- volt
- we
- háló
- webes szolgáltatások
- voltak
- amikor
- vajon
- ami
- szélesség
- lesz
- val vel
- nélkül
- munkafolyamat
- munkafolyamatok
- művek
- lenne
- év
- te
- A te
- zephyrnet