Useilla toimialoilla, kuten rahoituspalveluissa, tietoliikenteessä ja terveydenhuollossa, asiakkaat käyttävät digitaalista identiteettiprosessia, joka sisältää yleensä useita vaiheita loppukäyttäjien varmentamiseksi online-onboarding- tai step-up-autentikoinnin aikana. Esimerkki yhdestä käytettävästä vaiheesta on kasvohaku, joka voi auttaa määrittämään, vastaavatko uuden loppukäyttäjän kasvot olemassa olevaan tiliin liitettyjä kasvoja.
Tarkan kasvojenhakujärjestelmän rakentaminen sisältää useita vaiheita. Järjestelmän on kyettävä tunnistamaan ihmiskasvot kuvissa, erottamaan kasvot vektoriesityksiksi, tallentamaan kasvovektoreita tietokantaan ja vertaamaan uusia kasvoja olemassa oleviin merkintöihin. Amazonin tunnistus tekee tästä vaivatonta antamalla sinulle valmiiksi koulutettuja malleja, jotka kutsutaan yksinkertaisten API-kutsujen kautta.
Amazon Rekognitionin avulla voit saavuttaa erittäin suuren kasvojenhaun tarkkuuden yhdellä kasvokuvalla. Joissakin tapauksissa voit käyttää useita kuvia saman henkilön kasvoista luodaksesi käyttäjävektoreita ja parantaaksesi tarkkuutta entisestään. Tämä on erityisen hyödyllistä, kun kuvien valaistus, asento ja ulkonäkö vaihtelevat.
Tässä viestissä näytämme, kuinka Amazon Rekognition Face Search -sovellusliittymiä käytetään käyttäjävektoreiden kanssa todellisten osumien samankaltaisuuspisteiden lisäämiseksi ja todellisten ei-osuuksien samankaltaisuuspisteiden pienentämiseksi.
Vertailemme kasvojen täsmäämisen tuloksia käyttäjävektoreiden kanssa ja ilman.
Amazon Rekognition -kasvojen täsmäys
Amazon Rekognition -kasvojen täsmäys mahdollistaa yhdestä kuvasta poimitun kasvovektorin samankaltaisuuden mittaamisen toisesta kuvasta erotetun kasvovektorin kanssa. Kasvokuvaparin sanotaan olevan a oikea ottelu jos molemmat kuvat sisältävät saman henkilön kasvot ja a todellista yhteensopimattomuutta muuten. Amazon Rekognition palauttaa pistemäärän lähteen ja kohteen kasvojen samankaltaisuudesta. Minimi samankaltaisuuspiste on 0, mikä tarkoittaa hyvin vähän samankaltaisuutta, ja maksimi on 100.
Vertaaksesi lähdekasvoja joukkoon kohdekasvoja (1:N-vastaavuus), Amazon Rekognition antaa sinun luoda kokoelmaobjektin ja täyttää sen kuvien kasvoilla API-kutsujen avulla.
Kun lisäät kasvoja kokoelmaan, Amazon Rekognition ei tallenna kasvojen todellista kuvaa, vaan kasvovektorin, kasvojen matemaattisen esityksen. Kanssa Search Faces API, voit verrata lähdekasvoja yhteen tai useampaan kohdekasvojen kokoelmaan.
Kesäkuussa 2023, AWS julkaisi käyttäjävektorit, uuden ominaisuuden, joka parantaa merkittävästi kasvojen haun tarkkuutta käyttämällä useita käyttäjän kasvokuvia. Nyt voit luoda käyttäjävektoreita, jotka yhdistävät saman käyttäjän useita kasvovektoreita. Käyttäjävektorit tarjoavat paremman kasvojenhaun tarkkuuden ja vankemmat kuvat, koska ne sisältävät vaihtelevia valaistusasteita, terävyyttä, asentoa, ulkonäköä ja paljon muuta. Tämä parantaa tarkkuutta verrattuna etsimiseen yksittäisiä kasvovektoreita vastaan.
Seuraavissa osioissa kuvataan Amazon Rekognition -käyttäjävektorien käyttöprosessi. Opastamme sinua luomaan kokoelman, tallentamaan kasvovektorit kyseiseen kokoelmaan, yhdistämään nämä kasvovektorit käyttäjävektoreiksi ja vertaamaan sitten haun tuloksia yksittäisiin kasvovektoreihin ja käyttäjävektoreihin.
Ratkaisun yleiskatsaus
Tässä ratkaisussa käytämme Amazon Rekognition -käyttäjien kokoelmaa, joista jokaisella on siihen liittyvät indeksoidut kasvovektorit useista eri kasvokuvista jokaiselle käyttäjälle.
Katsotaanpa työnkulkua kokoelman rakentamiseksi käyttäjistä ja kasvoista:
- Luo Amazon Rekognition -kokoelma.
- Luo jokaiselle käyttäjälle käyttäjä kokoelmaan.
- Lisää jokaiselle käyttäjän kuvalle kasvot kokoelmaan (IndexFaces, joka palauttaa kutakin kasvovektoria vastaavan kasvotunnuksen).
- Yhdistä kaikki indeksoidut kasvotunnukset käyttäjään (tämä on välttämätöntä käyttäjävektoreille).
Sitten vertaamme seuraavia työnkulkuja:
Haku uudella annetulla syöttökuvalla yksittäisiä kasvovektoreita vastaan kokoelmassamme:
- Hae kaikki kasvot kuvasta (Tunnista kasvot).
- Vertaa jokaista kasvoja kokoelmamme yksittäisiin kasvoihin (Search FacesByImage).
Haku uudella annetulla syöttökuvalla kokoelmassamme olevia käyttäjävektoreita vastaan:
- Hae kaikki kasvot kuvasta (Tunnista kasvot).
- Vertaa jokaista kasvoa käyttäjävektoriin (Search UsersByImage).
Kuvataan nyt ratkaisua yksityiskohtaisesti.
Edellytykset
Lisää seuraava käytäntö omaan AWS-henkilöllisyyden ja käyttöoikeuksien hallinta (IAM) käyttäjä tai rooli. Käytäntö antaa sinulle luvan asiaankuuluviin Amazon Rekognition API:ihin ja sallii pääsyn Amazonin yksinkertainen tallennuspalvelu (Amazon S3) ämpäri kuvien tallentamiseen:
Luo Amazon Rekognition -kokoelma ja lisää käyttäjiä ja kasvoja
Ensin luodaan S3-ämpäri käyttäjien kuvien tallentamiseen. Järjestämme kauhan luomalla kullekin käyttäjälle kansion, joka sisältää hänen henkilökohtaiset kuvat. Meidän kuvat -kansioon näyttää seuraavalta rakenteelta:
S3-ämpärissämme on jokaiselle käyttäjälle hakemisto, johon hänen kuvat tallennetaan. Tällä hetkellä kansioita on kaksi, ja jokainen sisältää useita kuvia. Voit lisätä käyttäjillesi lisää kansioita, joista jokainen sisältää yhden tai useamman indeksoitavan kuvan.
Seuraavaksi luomme Amazon Rekognition -kokoelmamme. Olemme toimittaneet helpers.py, joka sisältää erilaisia käyttämiämme menetelmiä:
- luo_kokoelma – Luo uusi kokoelma
- delete_collection – Poista kokoelma
- luo käyttäjä – Luo uusi käyttäjä kokoelmaan
- lisää_kasvot_kokoelmaan – Lisää kasvoja kokoelmaan
- associate_faces – Liitä face_ids käyttäjälle kokoelmassa
- get_subdirs – Hanki kaikki alihakemistot S3-etuliitteellä
- get_files – Hae kaikki tiedostot S3-etuliitteellä
Seuraavassa on esimerkkimenetelmä Amazon Rekognition -kokoelman luomiseen:
Luo kokoelma seuraavalla koodilla:
Lisätään seuraavaksi kasvovektorit kokoelmaamme ja kootaan ne käyttäjävektoreiksi.
Jokaiselle S3-hakemiston käyttäjälle luomme käyttäjävektorin kokoelmaan. Sitten indeksoimme jokaisen käyttäjän kasvokuvat kokoelmaan yksittäisinä kasvovektoreina, jotka luovat kasvotunnukset. Lopuksi yhdistämme kasvojen tunnukset sopivaan käyttäjävektoriin.
Tämä luo kahden tyyppisiä vektoreita kokoelmaamme:
- Yksittäiset kasvovektorit
- Käyttäjävektorit, jotka on rakennettu menetelmällä toimitettujen kasvovektoritunnusten perusteella
associate_faces
Katso seuraava koodi:
Käytämme seuraavia menetelmiä:
- get_subdirs – Palauttaa luettelon kaikista käyttäjien hakemistoista. Esimerkissämme arvo on [Swami,Werner].
- get_files – Palauttaa käyttäjälle kaikki kuvatiedostot S3-etuliitteellä.
- face_ids – Tämä on luettelo, joka sisältää kaikki käyttäjälle kuuluvat kasvotunnukset. Käytämme tätä luetteloa soittaessamme numeroon AssociateFaces API.
Kuten aiemmin selitettiin, voit lisätä käyttäjiä lisäämällä heille kansioita (kansio sanelee käyttäjätunnuksen) ja lisää kuviasi kyseiseen kansioon (tiedostot eivät vaadi tilausta).
Nyt kun ympäristömme on määritetty ja meillä on sekä yksittäiset kasvovektorit että käyttäjävektorit, verrataan hakujen laatua niihin. Käytämme tätä varten uutta valokuvaa useista ihmisistä ja yritämme sovittaa heidän kasvonsa kokoelmaamme vastaan ensin yksittäisiä kasvovektoreita ja sitten käyttäjävektoreita vastaan.
Kuvan kasvohaku yksittäisten kasvovektoreiden kokoelmaa vastaan
Käytämme Amazon Rekognition -sovellusta etsiäksemme yksittäisiä kasvovektoreitamme vastaan Search FacesByImage API. Tämä toiminto käyttää lähdekasvokuvaa hakeakseen yksittäisiä kasvovektoreita kokoelmassamme ja palauttaa kasvot, jotka vastaavat määrittämäämme samankaltaisuuspisteiden kynnysarvoa.
Tärkeä näkökohta on, että SearchFacesByImage
API toimii vain kuvassa havaituissa suurimmissa kasvoissa. Jos käytössä on useita kasvoja, sinun on rajattava jokainen yksittäinen kasvo ja siirrettävä ne erikseen tunnistusmenetelmään.
Käytämme Amazon Rekognition -sovellusta kasvojen yksityiskohtien poimimiseen kuvasta (kuten niiden sijainnin kuvassa). Tunnista kasvot API.
Seuraavat havaitse_kasvot_kuvassa menetelmä tunnistaa kasvot kuvasta. Jokaiselle kasvoille se suorittaa seuraavat toiminnot:
- Tulosta sen rajauslaatikon sijainti
- Rajaa kasvot kuvasta ja tarkista, onko sellaisia kasvoja kokoelmassa ja tulosta käyttäjä tai Tuntematon
- Tulosta samankaltaisuuspisteet
Esimerkki Python-koodissa käyttää Tyyny kirjasto kuvien käsittelyyn (kuten tulostus, piirtäminen ja rajaus).
Käytämme 99 prosentin samankaltaisuuspisteiden kynnystä, joka on yleinen asetus henkilöllisyyden vahvistamisen käyttötapauksissa.
Suorita seuraava koodi:
file_key
on S3-objektiavain, jonka haluamme yhdistää kokoelmaamme. Olemme toimittaneet esimerkkikuvan (photo.jpeg
) kuvakansion alla.
Seuraava kuva näyttää tuloksemme.
99 prosentin kynnyksellä tunnistettiin vain yksi henkilö. Tri Werner Vogels merkittiin tuntemattomaksi. Jos suoritamme saman koodin käyttämällä alempaa kynnysarvoa 90 (asetettu kynnys = 90), saamme seuraavat tulokset.
Nyt näemme tohtori Werner Vogelin kasvojen samankaltaisuuspisteet 96.86%. Seuraavaksi tarkistetaan, saadaanko samankaltaisuuspisteet määritetyn kynnysarvon yläpuolelle käyttämällä käyttäjävektoreita.
Kuvan kasvohaku käyttäjän vektoreiden kokoelmaa vastaan
Käytämme Amazon Rekognition -sovellusta etsiäksemme käyttäjävektoreitamme vastaan Search UsersByImage API. Tämä toiminto käyttää lähdekasvokuvaa hakeakseen kokoelmassamme olevia käyttäjävektoreita ja palauttaa käyttäjiä, jotka vastaavat määrittämäämme samankaltaisuuspistekynnystä.
Sama pohdiskelu pätee tässäkin – SearchUsersByImage
API toimii vain kuvassa havaituissa suurimmissa kasvoissa. Jos kasvoja on useita, sinun on rajattava jokainen yksittäinen kasvot ja siirrettävä ne erikseen tunnistusmenetelmään.
Käytämme Amazon Rekognition -sovellusta kasvojen yksityiskohtien poimimiseen kuvasta (kuten niiden sijainnin kuvassa). Tunnista kasvot API.
Seuraavat detect_users_in_image menetelmä tunnistaa kasvot kuvasta. Jokaiselle kasvoille se suorittaa seuraavat toiminnot:
- Tulosta sen rajauslaatikon sijainti
- Rajaa kasvot kuvasta ja tarkista, onko kokoelmassamme tällaisia kasvoja ja tulosta käyttäjä tai Tuntematon
- Tulosta samankaltaisuuspisteet
Katso seuraava koodi:
Toiminto palauttaa muokatun kuvan, jonka tulokset voidaan tallentaa Amazon S3:een tai tulostaa. Toiminto tuottaa myös tilastoja kasvojen arvioiduista iästä päätelaitteelle.
Suorita seuraava koodi:
Seuraava kuva näyttää tuloksemme.
Kokoelmassamme olevat käyttäjät tunnistettiin oikein hyvin samankaltaisina (yli 99 %).
Pystyimme kasvattamaan samankaltaisuuspisteitä käyttämällä kolmea kasvovektoria käyttäjävektoria kohden. Kun lisäämme käytettyjen kasvovektoreiden määrää, odotamme myös todellisten osumien samankaltaisuuspisteiden kasvavan. Voit käyttää enintään 100 kasvovektoria käyttäjävektoria kohden.
Päästä päähän -esimerkkikoodi löytyy GitHub-arkisto. Se sisältää yksityiskohtaisen Jupyter-muistikirja jota voit juosta Amazon SageMaker Studio (tai muita vaihtoehtoja).
Puhdistaa
Poista kokoelma käyttämällä seuraavaa koodia:
Yhteenveto
Tässä viestissä esittelimme, kuinka Amazon Rekognition -käyttäjävektoreita käytetään kasvojenhaun toteuttamiseen käyttäjien kasvojen kokoelmaa vastaan. Osoitimme, kuinka parantaa kasvohaun tarkkuutta käyttämällä useita kasvokuvia käyttäjää kohti, ja vertasimme sitä yksittäisiin kasvovektoreihin. Lisäksi kuvailimme, kuinka voit käyttää erilaisia Amazon Rekognition API:ita kasvojen havaitsemiseen. Esitetty esimerkkikoodi toimii vankana perustana toimivan kasvojenhakujärjestelmän rakentamiselle.
Lisätietoja Amazon Rekognition -käyttäjävektoreista on kohdassa Haetaan kasvoja kokoelmasta. Jos olet uusi Amazon Rekognitionissa, voit käyttää Free Tier -tasoamme, joka kestää 12 kuukautta ja sisältää 5,000 1,000 kuvan käsittelyn kuukaudessa ja XNUMX XNUMX käyttäjävektoriobjektin tallentamisen kuukaudessa.
Tietoja Tekijät
Arik Porat on vanhempi Startups Solutions -arkkitehti Amazon Web Servicesissä. Hän työskentelee startup-yritysten kanssa auttaakseen niitä rakentamaan ja suunnittelemaan ratkaisujaan pilvessä, ja hän on intohimoinen koneoppimisesta ja konttipohjaisista ratkaisuista. Vapaa-ajallaan Arik tykkää pelata shakkia ja videopelejä.
Eliran Efron on Startups Solutions -arkkitehti Amazon Web Servicesissä. Eliran on tiedon ja laskennan harrastaja, joka auttaa startup-yrityksiä suunnittelemaan järjestelmäarkkitehtuuriaan. Vapaa-ajallaan Eliran tykkää rakentaa ja kilpailla Touring-kilpailuissa ja rakentaa IoT-laitteita.
- SEO-pohjainen sisällön ja PR-jakelu. Vahvista jo tänään.
- PlatoData.Network Vertical Generatiivinen Ai. Vahvista itseäsi. Pääsy tästä.
- PlatoAiStream. Web3 Intelligence. Tietoa laajennettu. Pääsy tästä.
- PlatoESG. hiili, CleanTech, energia, ympäristö, Aurinko, Jätehuolto. Pääsy tästä.
- PlatonHealth. Biotekniikan ja kliinisten kokeiden älykkyys. Pääsy tästä.
- Lähde: https://aws.amazon.com/blogs/machine-learning/improve-accuracy-of-amazon-rekognition-face-search-with-user-vectors/
- :on
- :On
- $ YLÖS
- 000
- 1
- 10
- 100
- 12
- 12 kuukautta
- 17
- 2023
- 28
- 30
- 7
- 9
- a
- pystyy
- Meistä
- edellä
- pääsy
- Tili
- tarkkuus
- tarkka
- Saavuttaa
- Toiminta
- toimet
- todellinen
- lisätä
- lisää
- Lisäksi
- vastaan
- Ages
- aggregaatti
- aggregaatioainetta
- Kaikki
- sallia
- mahdollistaa
- jo
- Myös
- vaihtoehdot
- Amazon
- Amazonin tunnistus
- Amazon Web Services
- an
- ja
- Toinen
- api
- API
- ulkomuoto
- esiintymisiä
- sopiva
- arkkitehtuurit
- OVAT
- Ryhmä
- AS
- avustaminen
- Työtoveri
- liittyvä
- At
- yritys
- Authentication
- AWS
- perustua
- BE
- koska
- kuuluvat
- välillä
- elin
- sekä
- Laatikko
- laatikot
- rakentaa
- rakennettu
- mutta
- by
- laskea
- soittaa
- soittamalla
- Puhelut
- CAN
- Voi saada
- valmiudet
- autot
- tapauksissa
- tarkastaa
- shakki
- asiakas
- pilvi
- koodi
- kokoelma
- kokoelmat
- Yhteinen
- verrata
- verrattuna
- vertaamalla
- Laskea
- harkinta
- rakentamalla
- sisältää
- sisältää
- muuntaa
- oikein
- vastaava
- luoda
- luo
- Luominen
- sato
- Tällä hetkellä
- Asiakkaat
- tiedot
- tietokanta
- vähentää
- määritelty
- osoittaa
- osoittivat
- kuvata
- on kuvattu
- Malli
- suunnittelu
- yksityiskohtainen
- yksityiskohdat
- havaita
- havaittu
- Määrittää
- Laitteet
- sanelee
- eri
- digitaalinen
- digitaalinen identiteetti
- hakemistot
- hakemisto
- näyttö
- do
- ei
- tekee
- tehty
- dr
- piirtää
- piirustus
- aikana
- kukin
- Aikaisemmin
- vaikutus
- vaivaton
- muu
- mahdollistaa
- päittäin
- intoilija
- ympäristö
- erityisesti
- arvioidaan
- Jopa
- esimerkki
- Paitsi
- olla
- olemassa
- olemassa
- uloskäynnit
- odottaa
- selitti
- uute
- Kasvot
- kasvot
- Asiakirjat
- taloudellinen
- rahoituspalvelut
- Löytää
- Etunimi
- Merkityt
- kellua
- jälkeen
- varten
- muoto
- löytyi
- perusta
- Ilmainen
- alkaen
- toiminto
- toiminnallinen
- edelleen
- Pelit
- synnyttää
- saada
- tietty
- Antaminen
- avustukset
- ohjaavat
- Olla
- he
- terveydenhuollon
- korkeus
- auttaa
- auttajia
- hyödyllinen
- tätä
- Korkea
- korkeampi
- hänen
- Miten
- Miten
- HTML
- http
- HTTPS
- ihmisen
- ID
- Tunnistaminen
- tunnistettu
- Identiteetti
- Identiteettitarkastus
- ids
- if
- kuva
- kuvien
- toteuttaa
- tuoda
- tärkeä
- parantaa
- parantaa
- in
- sisältää
- Kasvaa
- indeksi
- indeksoitu
- henkilökohtainen
- teollisuuden
- tiedot
- panos
- tulee
- kutsuttuihin
- liittyy
- Esineiden internet
- ei laitteita
- IT
- SEN
- jpeg
- kesäkuu
- avain
- suurin
- lopuksi
- käynnistettiin
- oppiminen
- vasemmalle
- Kirjasto
- Valaistus
- pitää
- tykkää
- Lista
- vähän
- kuormitus
- sijainti
- katso
- ulkonäkö
- Matala
- alentaa
- kone
- koneoppiminen
- TEE
- manipulointi
- ottelu
- tulitikut
- matching
- matematiikka
- matemaattinen
- maksimi
- mittaus
- menetelmä
- menetelmät
- minimi
- mallit
- muokattu
- Kuukausi
- kk
- lisää
- moninkertainen
- täytyy
- nimi
- välttämätön
- Tarve
- Uusi
- seuraava
- Nro
- nyt
- numero
- objekti
- esineet
- of
- kampanja
- Vanha
- on
- perehdytyksessä
- ONE
- verkossa
- vain
- käyttää
- or
- Muut
- muuten
- meidän
- ääriviivat
- lähdöt
- yli
- pari
- kulkea
- intohimoinen
- Ihmiset
- varten
- esittävä
- suorittaa
- lupa
- henkilö
- henkilöstö
- kuva
- Platon
- Platonin tietotieto
- PlatonData
- Pelaa
- pistettä
- politiikka
- aiheuttaa
- aiheuttaa
- Kirje
- esittää
- esitetty
- Painaa
- tulostus
- prosessi
- käsittely
- mikäli
- Python
- laatu
- Rotu
- kilpailuista
- pikemminkin
- katso
- merkityksellinen
- edustus
- tarvitaan
- resurssi
- vastaus
- tulokset
- palata
- Tuotto
- luja
- Rooli
- ajaa
- sagemaker
- Said
- sama
- tallennettu
- pisteet
- Haku
- haku
- osiot
- nähdä
- vanhempi
- palvelee
- Palvelut
- Istunto
- setti
- asetus
- useat
- Näytä
- merkittävästi
- Yksinkertainen
- single
- Koko
- vankka
- ratkaisu
- Ratkaisumme
- jonkin verran
- lähde
- Startups
- Lausunto
- tilasto
- Tila
- Vaihe
- Askeleet
- Levytila
- verkkokaupasta
- varastot
- tallentamiseksi
- virta
- rakenne
- niin
- toimitetaan
- järjestelmä
- Kohde
- tietoliikenne
- terminaali
- että
- -
- Lähde
- heidän
- Niitä
- sitten
- Siellä.
- ne
- tätä
- ne
- kolmella
- kynnys
- Kautta
- porras
- aika
- että
- ylin
- farmari
- totta
- yrittää
- kaksi
- tyypit
- varten
- tuntematon
- käyttää
- käytetty
- käyttäjä
- Käyttäjät
- käyttötarkoituksiin
- käyttämällä
- yleensä
- arvo
- vaihtelut
- eri
- Vaihteleva
- Vahvistus
- todentaa
- versio
- hyvin
- kautta
- Video
- Videopelit
- haluta
- oli
- we
- verkko
- verkkopalvelut
- olivat
- kun
- onko
- joka
- leveys
- tulee
- with
- ilman
- työnkulku
- työnkulkuja
- toimii
- olisi
- vuotta
- Voit
- Sinun
- zephyrnet