Ansiktsgjenkjenning for bedrifter: En komplett guide

Ansiktsgjenkjenning er en teknologi som strekker seg langt utover datavitenskapens grenser, og den har betydelige forretningsmessige bruksområder.

Et av de mest omtalte begrepene i dette tiåret er uten tvil ansiktsgjenkjenning.

Dette er en gren av anvendt maskinlæring som har evnen til å identifisere og gjenkjenne menneskelige ansikter. Tidligere var dette en svært vanskelig oppgave for datamaskiner, men nå åpner det en ny verden full av spennende muligheter og utfordringer for bedrifter, myndigheter og enkeltpersoner.

Dersom du som bedriftsleder har vært nysgjerrig på hva all denne oppmerksomheten rundt ansiktsgjenkjenning dreier seg om, og om denne utviklingen kan være nyttig for deg, så er du kommet til rett sted. I denne artikkelen vil vi gå gjennom historien til ansiktsgjenkjenning, dens utvikling, nåværende bruk, kontroverser, distribusjon og mange andre aspekter.

Etter å ha lest denne artikkelen, vil du ha en grundig forståelse av hva ansiktsgjenkjenningsteknologi handler om og hvilke implikasjoner den har for virksomheter.

La oss begynne!

Utviklingen av Ansiktsgjenkjenning

Til tross for all oppmerksomheten og medieomtalen rundt ansiktsgjenkjenning, har teknologien eksistert en stund. Det første betydelige algoritmiske arbeidet for å oppdage ansikter var Viola-Jones Object Detection Framework, som ble publisert i 2001. Selv om dette rammeverket var designet for generell objektidentifikasjon i bilder, ble det raskt tatt i bruk for ansiktsgjenkjenning med stor suksess. Algoritmens popularitet skyldtes hovedsakelig hastigheten: selv om treningsprosessen var svært tidkrevende, var gjenkjenningsprosessen ekstremt rask.

Så tidlig som i 2001/2004 var en vanlig stasjonær datamaskin i stand til å prosessere en ramme på 300px x 300px på 0,07 sekunder ved bruk av denne algoritmen (mer informasjon her). Selv om nøyaktighetsgraden ikke var på nivå med menneskelig gjenkjennelse, var den imponerende med 90 %.

Virkelige fremskritt kom imidlertid ikke før i tiåret 2010-2020, da konvolusjonelle nevrale nettverk ble den beste metoden for ansiktsdeteksjon. Dette skyldtes tilgjengeligheten av stor prosessorkraft og enorme systemminner gjennom nettskyen via Infrastructure-as-a-Service (IaaS)-leverandører. For første gang i historien overgikk datamaskiner mennesker i å gjenkjenne ansikter, spesielt når det var snakk om et stort antall tilfeldige ansikter.

Kilde: medium.com

Hvordan fungerer ansiktsgjenkjenning?

Ansiktsgjenkjenning er en prosess som består av flere trinn, med flere spesialiserte delsystemer.

Her er en forklaring på hva de ulike trinnene innebærer:

Deteksjon/sporing: Denne delen av forbehandlingsfasen identifiserer og sporer ansikter i et gitt bilde eller en videofil. Når denne prosessen er fullført, vet vi sikkert at det finnes et ansikt i det gitte inputet, og det kan behandles videre. Sporingsfasen er også ansvarlig for å følge bestemte deler, karakteristiske trekk eller uttrykk i et ansikt, om nødvendig.

Justering: Utfordringen med ansiktsgjenkjenning forsterkes av at ansikter i et bilde eller en video ikke følger noen faste retningslinjer. Personen kan være zoomet inn eller ut, skjult bak et tre, eller vist i en sideprofil, noe som gjør det enda vanskeligere å gjenkjenne ansiktet. Det er her ansiktsjustering kommer inn. Den forteller oss hvor ansiktslinjene befinner seg i bildet/videoen, og hvilke konturer ansiktstrekkene har.

Kilde: csc.kth.se

Funksjonsuthenting: Som navnet tilsier, blir de individuelle trekkene i ansiktet, som øyne, nese, hake, lepper osv., trukket ut i en form som algoritmene kan bruke i neste trinn i denne fasen av prosessen (vi er nå i gjenkjennelsesstadiet). På dette stadiet har datamaskinen samlet nok komplekse data til å skille et ansikt på en unik måte.

Funksjonsmatching/klassifisering: I dette trinnet sammenlignes inputene som er mottatt fra funksjonsutvinningen med den gitte databasen for å identifisere personen. Denne fasen kalles også klassifisering, da algoritmen kan ha som oppgave å kategorisere ansikter i stedet for å identifisere dem individuelt.

Når denne prosessen er ferdig, vet vi med sikkerhet om det gitte ansiktet er en del av databasen vi sammenlignet med eller ikke. Det endelige resultatet kan også inneholde tagging, slik vi er vant til å se på Facebook.

Kilde: towardsdatascience.com

Implementeringshensyn: Serverside kontra klientside

Ansiktsgjenkjenning kan fungere både på serveren og på enheten som brukeren samhandler med. Når du for eksempel laster opp et bilde til Facebook, kjøres algoritmene på serversiden. Et ID-system som bruker ansiktet ditt for å låse opp enheten, må derimot kjøre på klientsiden. Så hva er best?

Egentlig handler det ikke om hva som er best. Både server- og klientsiden har sine fordeler. I praksis bruker bedrifter et hybridsystem. Anbefalt praksis er å trene modellene på serversiden, hvor treningsdata og prosesseringsressurser er ubegrensede. Når modellene er trent, kan de pakkes og distribueres på klientsiden, noe som øker systemets hastighet og samtidig ivaretar brukernes personvern.

Å sende alt til serveren introduserer en forsinkelse, som kan være uheldig eller uakseptabel i visse tilfeller. Samtidig vil det å holde alt på klientsiden resultere i svakere modeller.

Hvor nøyaktig er ansiktsgjenkjenning?

Nøyaktighet er ikke et veldig presist begrep innen ansiktsgjenkjenning. Dette skyldes hovedsakelig at det er et problem med mange uklare inndata (dårlig lys, ansiktet delvis dekket av hår, kamerakvalitet osv.), og til og med villedende inndata (mer om dette senere!). De nevrale nettverkene som brukes i ansiktsgjenkjenning, må tilpasses til det spesifikke problemet det skal løse, noe som begrenser omfanget. Selv om et industrielt ansiktsgjenkjenningssystem kan skryte av 100 % nøyaktighet (som ofte er tilfellet), kan det samme systemet ha en nøyaktighet på under 20 % hvis det blir bedt om å identifisere ansikter i et overfylt bilde.

I en undersøkelse klarte en bestemt type ansiktsgjenkjenningsalgoritme å oppnå en nøyaktighet på 98,52 %, som er høyere enn den menneskelige nøyaktigheten på 97,53 % i samme test. I en annen studie utført innen rettsmedisin, ga kombinasjonen av menneskelig dømmekraft og algoritmer de beste resultatene i noen tilfeller.

Konklusjon: For fokuserte og veldefinerte bruksområder er ansiktsgjenkjenning det beste verktøyet vi har.

Hvor brukes ansiktsgjenkjenning?

Selv i den korte tiden det har eksistert gode algoritmer for ansiktsgjenkjenning, har de vist seg utrolig nyttige og spennende. Noen av bruksområdene er lett synlige, mens andre er så subtile og grunnleggende innvevd i hverdagen at vi knapt tenker over hva som ligger bak.

Facebook er kanskje det mest vanlige eksemplet på moderne ansiktsgjenkjenningssystemer i bruk. Så snart du laster opp et bilde, kan det sosiale nettverket gjenkjenne ansikter. Mens du tidligere måtte tagge vennene dine, kan Facebook nå gjøre dette selv.

Kilde: labnol.org

En kul ny funksjon fra Facebook er evnen til å informere brukere når bilder som inneholder ansiktene deres lastes opp av andre, selv om de ikke er merket på disse bildene.

Snapchat bruker også ansiktsgjenkjenning i stor grad for mange av funksjonene, spesielt de populære og morsomme filtrene.

Kilde: gistreel.com

For at disse filtrene skal fungere, må konturene og trekkene i ansiktet til motivet gjenkjennes perfekt, ellers vil ikke overleggene se realistiske ut. Det samme gjelder Face Swap, en annen populær funksjon på Snapchat. Hvis du er interessert i å lære mer om Snapchats ansiktsgjenkjenningsfunksjoner, kan du se her.

Uber har slitt med personvern- og sikkerhetsproblemer en stund nå, og ansiktsgjenkjenning er det nyeste våpenet i selskapets arsenal. Selskapet har lansert en ny funksjon der identiteten til sjåførene bekreftes ved å bruke ansiktene deres. Selskapet skriver på bloggen sin at etter å ha testet flere leverandører av ansiktsgjenkjenningsteknologi, falt valget på Microsoft Face API for dens høye kvalitet. Interessant nok fungerer denne sanntids ID-sjekken godt under dårlige lysforhold og kan gjenkjenne briller.

Ettersom ansiktsgjenkjenning har vist seg å være så vellykket, er det lett å se for seg at den snart kan erstatte andre identifikasjonsmetoder i utdanningsinstitusjoner, sykehus, biblioteker osv.

Forebygging av kriminalitet i detaljhandelen er en naturlig utvidelse av bruken av ansiktsgjenkjenning. Detaljhandelen taper omtrent 45 milliarder dollar årlig på butikktyveri og annen detaljhandel kriminalitet, og har lite å forsvare seg med. Nå hjelper selskaper som FaceFirst forhandlere med å bruke ansiktsgjenkjenning for å identifisere tidligere lovbrytere og varsle sikkerhetsansatte.

Politiovervåking begynner også å benytte seg av ansiktsgjenkjenning. For eksempel bruker politiet i Sør-Wales i Storbritannia kameraer montert på varebiler for å gjøre overvåking av folkemengder lettere.

Kilde: theconversation.com

Denne nye superkraften i politiets hender har utløst heftige offentlige debatter om personvern, men politiet mener at det vil hjelpe dem med å holde kriminaliteten i sjakk. Som Richard Lewis, nestleder i Sør-Wales politi, sa til Financial Times:

«Hvis du identifiserer noen som har begått en kriminell handling [tidligere], sier du i utgangspunktet: vi vet at du er her, så vær så snill å oppføre deg.»

Helsevesenet har også nylig fått et uventet bruksområde for ansiktsgjenkjenning, da det hjalp til med å oppdage en sjelden genetisk lidelse kalt DiGeorge syndrom.

DiGeorge syndrom forekommer hos omtrent 1 av 6000 barn og fører til misdannelser i flere deler av kroppen. Dette helseproblemet er mer alvorlig for fattige land, som ikke har ressurser til å benytte seg av kostbare diagnosemetoder. Ansiktsgjenkjenning, med en imponerende nøyaktighet på 96,6 %, gir nytt håp for ofre for DiGeorge syndrom.

I flybransjen øker også bruken av ansiktsgjenkjenning, og det er ikke lenge før den erstatter de vanlige boardingkortene. Foreløpig er det begrensede, men lovende resultater i å hjelpe identifisere passasjerer når de forlater landet. Transport Security Administration (TSA) i USA har faktisk publisert en plan for utbredt bruk av ansiktsgjenkjenningsbasert biometri.

Kontroversiell bruk av ansiktsgjenkjenning

Teknologi gir oss makt, men det er opp til oss å bruke den på en god eller dårlig måte. Det er ingen tvil om at en så kraftig og radikal teknologi som ansiktsgjenkjenning blir brukt på måter som vekker bekymring for grunnleggende menneskerettigheter og etikk.

Det mest fremtredende eksemplet på kontroversiell bruk av ansiktsgjenkjenning er Kinas enorme overvåkingssystem som bruker anslagsvis 200 millioner kameraer for å holde øye med sine 1,4 milliarder innbyggere.

Kilde: sbs.com

Systemet sporer folk og evaluerer handlingene deres, og oppdaterer kontinuerlig en beregning som kalles borgerscore. Selv om det er en viss verdi i å ha et kraftig statlig overvåkingssystem (som for eksempel sporing av misligholdere av gjeld), ser de fleste på det som begynnelsen på den dystopiske fremtiden som George Orwell forestilte seg. Det er en fremtid der regjeringer har ubegrenset makt over enkeltpersoner, og personvern er ikke-eksisterende.

Det andre eksemplet på tvilsom bruk av ansiktsgjenkjenning kommer også (kanskje ikke overraskende) fra Kina. Denne gangen bruker skolesystemet ansiktsgjenkjenning for å sikre at elevene er «oppmerksomme» i timene. Det nye ansiktsgjenkjenningssystemet, som ennå ikke er så utbredt, erstatter ID-kort, lånekort, oppmøtesystemer osv., og bruker elevens ansikt til identifikasjon.

Kilde: businessinsider.com

Det skumle er imidlertid at systemet overvåker elevenes oppmerksomhetsnivå, bruk av mobiltelefoner osv., og varsler læreren når en viss grense overskrides.

Selv om videoovervåking med ansiktsgjenkjenning ikke er eksklusivt for Kina, har USA gjort forsøk på å bruke det for å redusere våpenvold i skolene. Det er likevel Kina som ser ut til å ta dette lengre enn noe annet land.

Sammenligning av populære ansiktsgjenkjennings-APIer

Hvilke alternativer har du når det gjelder bruk av ansiktsgjenkjenning? I denne delen skal vi se på hvilke APIer som er vanlige, og hvordan de forskjellige løsningene klarer seg i forhold til hverandre.

Men før vi begynner, må vi huske at disse APIene utvikler seg raskt, og du vil sannsynligvis komme over blogginnlegg som sier at en bestemt API mangler den ene eller andre funksjonen. Ikke ta beslutninger basert på dette. Analyser bedriftens behov først, sjekk nøye funksjonene som tilbys, velg en strategi, og bestem deg først da.

OpenCV

AI-forskning er en endeløs prosess. Å trene og perfeksjonere et ansiktsgjenkjenningssystem er vanskelig og overlates best til store selskaper med store ressurser og en hær av forskere. Men hvis behovene dine er enkle og du liker å ha full kontroll – og selvfølgelig er klar for å vedlikeholde et lite ingeniørteam – kan OpenCV være løsningen for deg.

Dette er et åpen kildekode-bibliotek for datavisjon som er svært nøyaktig og tilgjengelig for alle programmeringsplattformer. Her er et eksempel på hvordan du kan sette opp et ansiktsgjenkjenningssystem med Python og OpenCV på 25 linjer med kode!

Du vil kanskje komme over blogger som sier at OpenCV ikke har ansiktsgjenkjenning. Dette er imidlertid ikke sant, og her er beviset. OpenCV kan være et godt valg for din virksomhet hvis behovene dine er enkle og spesifikke.

Amazon Rekognition

Rekognition er et kraftfullt tilbud fra en av de største skyleverandørene – AWS. Det er en fullt administrert og kraftig tjeneste for AWS-plattformen, og hvis du allerede bruker AWS for distribusjon, er Rekognition sannsynligvis det beste valget.

Noen av de bemerkelsesverdige funksjonene som Rekognition tilbyr er:

  • Sanntidsanalyse (når du laster opp et bilde eller en video til S3)
  • Omfattende ansiktsanalyse (kjønn, hårfarge, ansiktsuttrykk, om øynene er åpne eller ikke osv.)
  • Patting (fanger opp stier til identifiserte objekter i videoer)
  • Scene- og aktivitetsdeteksjon (innendørs/utendørs, «spiller fotball» osv.)
  • Moderering av usikkert innhold (f.eks. nakenhet)

Det største plusset med Rekognition er også det største minuset: det vil være svært vanskelig å bruke den sammen med tjenester som ikke er AWS, til det punktet hvor du kanskje må gi opp.

Kairos

I motsetning til Rekognition, gir Kairos deg AI via en API, og lar deg ta full kontroll over dataene og serverne dine. Kairos presenterer seg selv som en personvernfokusert tjeneste, og er svært kritisk til Amazon og andre selskaper som samarbeider med myndighetene (forresten er også ACLU det).

Kairos fungerer både med bilder og videoer, og har alle de gode funksjonene du forventer av en moderne ansiktsgjenkjennings-API. Den tilbyr noen av de imponerende funksjonene som finnes i Rekognition, men hvis du ikke trenger dem, og allerede administrerer dataene dine, hvorfor bry seg?!

Kairos tilbyr en lokal distribusjon for de som er opptatt av personvern og ikke engang ønsker å sende data over internett for behandling. Prisene avhenger av brukssituasjonen din og kan være ganske høye.

Google Cloud Vision

Google har valgt å skille mellom sine ansiktsgjenkjenningstjenester for bilder og videoer. Bilde-APIen er kjent som Cloud Vision, mens den videofokuserte tjenesten heter Video Intelligence.

Mens den bildebaserte tjenesten ligner ganske mye på det AWS har å tilby, har videotjenesten en fin funksjon for katalogisering og søking. Dette vil være nyttig for selskaper som har store videoarkiver som de kanskje ønsker å analysere eller søke i.

Når det er sagt, mangler Video Intelligence ansiktsgjenkjenningsfunksjoner per dags dato, og disse ser ut til å kun være tilgjengelige i Cloud Vision. Objektsporing og tekstgjenkjenning er også i betaversjon, noe som gjør at denne tjenesten ligger litt etter Amazons tilbud.

Azure Face API

Med Microsoft som tar sine skytjenester mer seriøst enn stasjonære tjenester (endelig), er Azure Face API et herlig tilbud. Den har alle de spennende funksjonene du kan forvente (deteksjon, identifikasjon, ansiktsgruppering, lignende ansiktssøk, følelser osv.), og fungerer like bra med videoer.

Selv om dette ikke er direkte relatert til ansiktsgjenkjenning, er det verdt å nevne at Azure også tilbyr en tilpasset datasynstjeneste som lar deg bruke egne data og trene modeller basert på dine behov.

Akkurat som Googles tjeneste, er det en lekeplass tilgjengelig direkte på hjemmesiden, noe som gjør det veldig morsomt å teste API-en!

Er det store forskjeller mellom de beste administrerte ansiktsgjenkjenningstjenestene? Egentlig ikke. Det er stor konkurranse på feltet akkurat nå, og nye funksjoner lanseres raskere enn pizza. Hvis du allerede er knyttet til et bestemt økosystem, er det fornuftig å bruke deres egen ansiktsgjenkjenningstjeneste. Ellers kan det være lurt å velge en annen leverandør hvis behovene dine er spesifikke (kontrollere egne data, kun behov for standard deteksjon osv.).

Anti-ansiktsgjenkjenningssystemer

Akkurat som noen forskere har viet livet sitt til å perfeksjonere ansiktsgjenkjenningsteknologi, er andre opptatt med å utvikle teknikker for å lure dem. En slik interessant utvikling er motstridende briller, som ser helt normale ut for mennesker, men som har lurt avanserte ansiktsgjenkjenningssystemer.

Kilde: digitaltrends.com

Disse brillene er imidlertid ikke tilgjengelige på markedet ennå, selv om forskerne sier at de enkelt kan 3D-printes.

En annen interessant utvikling var lanseringen av ekō-briller på Kickstarter. Selv om produktet nå er kansellert, fungerte det basert på en bemerkelsesverdig enkel idé: vanlige solbriller til 45 dollar som reflekterte lyset, noe som gjorde at kameraer og videoovervåkingsutstyr gikk amok.

Akkurat som i cybersikkerhetsdomenet, konkurrerer «hackere» og forskere innen ansiktsgjenkjenning for å være best. I 2014 så vi populariteten til kamuflasjemakeup som gjorde det vanskeligere å bli gjenkjent av