Ansiktsigenkänning sträcker sig bortom enbart datavetenskap och har betydande affärsmässiga användningsområden.
Ett av de mest diskuterade ämnena inom teknik under det senaste decenniet är just ansiktsigenkänning.
Detta område inom tillämpad maskininlärning är dedikerat till att upptäcka och identifiera mänskliga ansikten, en uppgift som tidigare varit anmärkningsvärt svår för datorer. Denna framgång har öppnat en ny era av spännande möjligheter och utmaningar för företag, myndigheter och individer.
Om du är företagsledare och undrar över denna hype och vilka fördelar denna nya teknik kan erbjuda, så har vi svaren. I den här artikeln kommer vi att granska ansiktsigenkänningens historia, dess utveckling, aktuella användningsområden, kontroverser, spridning och andra aspekter.
Efter genomläsning kommer du ha en solid förståelse för vad ansiktsigenkänningsteknik innebär och vilka implikationer den har för näringslivet.
Låt oss börja!
Ansiktsigenkänningens utveckling
Trots det stora intresset och mediebevakningen har tekniken funnits en tid. Det första betydande arbetet med algoritmer för ansiktsdetektering var Viola-Jones Object Detection Framework, som publicerades år 2001. Trots att ramverket var avsett för identifiering av objekt i bilder generellt, användes det snabbt och med stor framgång för ansiktsdetektering. Algoritmens popularitet grundade sig främst i dess snabbhet. Även om träningsprocessen var långsam, var själva detekteringsprocessen extremt snabb.
Redan under åren 2001-2004 kunde en vanlig stationär dator bearbeta en bildruta på 300 x 300 pixlar på 0,07 sekunder (mer här). Noggrannhetsgraden, trots att den inte nådde samma nivå som människan, var imponerande på 90 %.
Verkliga framsteg skedde dock först under 2010-2020, då Convolutional Neural Networks visade sig vara den mest effektiva metoden för ansiktsdetektion. Det berodde på tillgången till rå processorkraft och enorma systemminnen, tack vare molntjänster från IaaS-leverantörer (Infrastructure-as-a-Service). För första gången i historien överträffade datorer konsekvent människan när det gällde att känna igen ansikten, särskilt vid hantering av ett stort antal slumpmässiga ansikten.
Källa: medium.com
Hur fungerar ansiktsigenkänning?
Ansiktsigenkänning är en process i flera steg, med ett flertal specialiserade delsystem inblandade.
Här följer en förklaring av de olika stegen:
Detektering/spårning: Denna del av förbehandlingssteget ansvarar för att identifiera och spåra ansikten i den givna bilden eller videofilen. När denna process är klar vet vi säkert att det finns ett ansikte i den givna inmatningen, och det kan bearbetas vidare. Spårningsfasen är även ansvarig för att följa vissa delar, egenskaper eller uttryck i ett ansikte, om det skulle krävas.
Justering: Ansiktsigenkänningsproblemet kompliceras av att ansikten i en bild eller video inte följer några fasta riktlinjer. Personen kan vara in- eller utzoomad, skymd bakom ett föremål eller vänd i profil. Det är här ansiktsjusteringen kommer in; den indikerar var ansiktslinjerna finns i den givna bilden/videon samt konturerna av ansiktsdragen.
Källa: csc.kth.se
Funktionsextraktion: Som namnet antyder, under denna fas av processen (vi befinner oss nu i igenkänningsstadiet), extraheras de individuella egenskaperna i ansiktet, som ögon, näsa, haka, läppar etc., i en form som algoritmerna kan använda i nästa steg. I det här skedet har datorn samlat in tillräckligt med detaljerad information för att kunna särskilja ett ansikte unikt.
Funktionsmatchning/klassificering: I detta steg matchas data som hämtats från funktionsextraktionen mot en given databas för att fastställa personens identitet. Denna fas kallas också klassificering eftersom algoritmen kan behöva kategorisera ansikten snarare än att identifiera dem individuellt.
Efter att processen är klar, kan vi fastställa med säkerhet om det givna ansiktet finns i den databas som vi jämförde med. Det slutliga resultatet kan också inkludera taggning, som vi är vana vid att se på Facebook.
Källa: towardsdatascience.com
Distributionsöverväganden: Serversidan kontra klientsidan
Ansiktsigenkänning kan fungera både på servern och på enheten som användaren interagerar med. När du till exempel laddar upp ett foto på Facebook körs algoritmerna på serversidan, medan ett ID-system som använder ditt ansikte för att låsa upp enheten körs på klientsidan. Så vilket är bäst?
Sanningen är att det inte finns något som är bäst. Både serversidan och klientsidan har sina fördelar; i praktiken använder företag ett hybridsystem. Det rekommenderas att träna dina modeller på serversidan där träningsdata och beräkningsresurser är obegränsade. När modellerna har tränats kan de packas och distribueras på klientsidan, vilket förbättrar systemets hastighet samtidigt som användarens integritet upprätthålls.
Att skicka allt till servern skapar en fördröjning, vilket kan vara oönskat eller oacceptabelt i vissa situationer. Att hålla allt på klientsidan kan samtidigt resultera i svagare modeller.
Hur exakt är ansiktsigenkänning?
Noggrannhet är inte en väldefinierad term inom ansiktsigenkänning. Främst för att det är ett komplext problem med varierande förutsättningar (dåligt ljus, ansikte delvis täckt, kamerakvalitet etc) och missledande data. Som följd måste de neurala nätverk som används anpassas för det specifika problemet, vilket begränsar deras omfång. Även om ett industriellt ansiktsigenkänningssystem anger 100 % noggrannhet (vilket är vanligt), kanske samma system inte ger ett resultat ens på 20 % om det ska identifiera ansikten i ett folksamling.
I en studie nådde en viss typ av ansiktsigenkänningsalgoritm 98,52 % noggrannhet, högre än den mänskliga noggrannheten på 97,53 % i samma test. I en annan studie inom kriminalteknik gav kombinationen av mänsklig bedömning och algoritmer de bästa resultaten i vissa fall.
Sammanfattningsvis är ansiktsigenkänning det bästa verktyg vi har för fokuserade, väldefinierade tillämpningar.
Var används ansiktsigenkänning?
Även under den korta tid som effektiva algoritmer har utvecklats har ansiktsigenkänning fått många användbara och intressanta tillämpningar. En del är iögonfallande, medan andra är subtilt och grundläggande invävda i vår vardag att vi sällan tänker på dem.
Facebook är kanske det vanligaste exemplet på ett modernt ansiktsigenkänningssystem. Så snart du laddar upp ett foto kan det sociala nätverket upptäcka ansikten. Medan du tidigare ombads att tagga vänner, kan Facebook nu göra det automatiskt.
Källa: labnol.org
En ny funktion från Facebook är att informera användare när bilder som innehåller deras ansikte laddas upp av någon annan, även om de inte har taggats i fotot.
Snapchat använder flitigt ansiktsdetektering och igenkänning för många av sina funktioner, särskilt de populära filtren.
Källa: gistreel.com
För att dessa filter ska fungera krävs att ansiktets konturer och egenskaper detekteras korrekt, annars ser inte överläggen realistiska ut. Samma sak gäller Face Swap, en annan populär funktion på Snapchat. Om du vill fördjupa dig i Snapchats ansiktsigenkänningsfunktioner, se här.
Uber har länge tampats med integritets- och säkerhetsfrågor, och det senaste vapnet i företagets arsenal är ansiktsigenkänning. Företaget har introducerat en funktion där förare verifierar sin identitet genom att använda sina ansikten. Enligt företagets blogg testade man flera leverantörer av ansiktsigenkänning innan man valde Microsoft Face API för dess höga kvalitet. Intressant nog fungerar den här ID-kontrollen i realtid bra i svagt ljus och kan upptäcka glasögon.
Eftersom ansiktsigenkänning visat sig framgångsrik, är det rimligt att anta att det snart kan ersätta andra identifieringsmetoder på utbildningsinstitutioner, sjukhus, bibliotek etc.
Att förebygga brottslighet inom detaljhandeln är en naturlig fortsättning av ansiktsigenkänningens tillämpning. Detaljhandeln förlorar uppskattningsvis 45 miljarder dollar per år på grund av snatteri och andra brott, med få motmedel. Nu hjälper företag som FaceFirst detaljhandlare att använda ansiktsigenkänning för att identifiera tidigare brottslingar och varna säkerhetsansvariga.
Polisövervakning börjar också utnyttja ansiktsigenkänning. Exempelvis använder polisen i södra Wales kameror monterade på fordon för att göra övervakning av folkmassor enklare.
Källa: theconversation.com
Denna nya superkraft i polisens händer har lett till intensiva offentliga debatter om individuell integritet, men polisen anser att det kommer hjälpa dem att begränsa brottslighet mer effektivt. Som Richard Lewis, biträdande chefskonstapel för South Wales-polisen, sa till Financial Times:
Om du identifierar någon som har begått ett brott [tidigare] sägs i princip: vi vet att du är här, sköt dig.
Inom hälsovården upptäcktes nyligen en oväntad tillämpning där ansiktsigenkänning hjälpte till att identifiera den sällsynta genetiska sjukdomen DiGeorges syndrom.
DiGeorges syndrom drabbar cirka 1 av 6 000 barn och leder till missbildningar i flera delar av kroppen. Inom sjukvården är problemet mer allvarligt i fattigare länder som saknar resurser till kostsamma diagnosmetoder. Därför erbjuder ansiktsigenkänning med en häpnadsväckande noggrannhet på 96,6 %, nytt hopp för de drabbade av DiGeorges syndrom.
Inom flygbranschen ökar användningen av ansiktsigenkänning och kommer snart ersätta traditionella boardingkort. För närvarande finns det begränsade men lovande resultat när det gäller att identifiera passagerare när de lämnar landet. Faktum är att den amerikanska transportsäkerhetsmyndigheten (TSA) har presenterat en plan för den utbredda användningen av ansiktsigenkänningsbaserad biometri.
Kontroversiell användning av ansiktsigenkänning
Tekniken ger oss makt, men hur den används är upp till oss. Det råder ingen tvekan om att något så kraftfullt och radikalt som ansiktsigenkänning används på sätt som väcker oro om grundläggande mänskliga rättigheter och etik.
Det mest anmärkningsvärda exemplet på kontroversiell användning av ansiktsigenkänning är Kinas omfattande övervakningssystem som använder uppskattningsvis 200 miljoner kameror för att hålla koll på sina 1,4 miljarder medborgare.
Källa: sbs.com
Systemet spårar människor, utvärderar deras handlingar och uppdaterar ständigt ett mått kallat medborgarpoäng. Även om det finns ett visst värde i ett kraftfullt, statligt övervakningssystem (t.ex. spåra obetalda skulder), ser de flesta det som ankomsten av den dystopiska framtid som George Orwell beskrev. En framtid där regeringar har obegränsad makt över individen och där privatlivet saknar betydelse.
Det andra exemplet på tvivelaktig användning av ansiktsigenkänning kommer också (kanske inte så förvånande?) från Kina. Denna gång använder skolsystemet ansiktsigenkänning för att säkerställa att eleverna är ”uppmärksamma” under lektionerna. Det nya ansiktsigenkänningssystemet ersätter ID-kort, bibliotekskort, närvarosystem etc., med hjälp av elevens ansikte för identifiering, även om det ännu inte är allmänt implementerat.
Källa: businessinsider.com
Det skrämmande är att systemet övervakar elevernas koncentrationsnivå, användning av mobiltelefoner etc. och larmar läraren när en viss gräns passeras.
Även om videoövervakning baserad på ansiktsigenkänning inte är unikt för Kina, har USA gjort försök att använda den för att minska vapenvåld i skolor, men det verkar som om Kina går längre än något annat land.
Jämförelse av populära API:er för ansiktsigenkänning
Vilka alternativ har du när det gäller att använda ansiktsigenkänning? I det här avsnittet granskar vi några vanliga alternativ och jämför de olika lösningarna.
Innan vi börjar, kom ihåg att dessa API:er utvecklas i snabb takt och att du troligen stöter på blogginlägg där det sägs att ett visst API saknar en viss funktion. Fatta inte dina beslut utifrån detta. Analysera dina affärsbehov, granska de funktioner som erbjuds noggrant och prova på egen hand innan du fattar ett beslut.
OpenCV
AI-forskning är ett bottenlöst hål. Att träna och fullända ett ansiktsigenkänningssystem är svårt och lämnas bäst till stora företag med djupa fickor och många forskare. Men om dina behov är enkla och du vill ha full kontroll – och självklart är redo att underhålla det med ett litet teknikteam – kan OpenCV vara lämpligt för dig.
Det är ett open source-bibliotek för datorseende som är anmärkningsvärt exakt och tillgängligt för alla programmeringsplattformar. Här är ett skrämmande exempel på hur du kan skapa ett ansiktsdetekteringssystem med Python och OpenCV på 25 rader kod!
Du kan stöta på bloggar som säger att OpenCV saknar ansiktsigenkänning, men det är helt felaktigt och här är beviset. Sammanfattningsvis kan OpenCV vara ett utmärkt val för ditt företag om behoven är enkla och specifika.
Amazon Rekognition
Rekognition är ett starkt erbjudande från en av de största molnleverantörerna – AWS. Det är en fullständigt hanterad och kraftfull tjänst för AWS-plattformen, och om du redan använder AWS för distribution är Rekognition antagligen det bästa valet.
Några av de imponerande funktionerna som Rekognition erbjuder är:
- Realtidsanalys (när du laddar upp en bild eller video till S3)
- Omfattande ansiktsanalys (kön, hårfärg, ansiktsuttryck, öppna ögon eller inte etc.)
- Ruttspårning (fånga rutter för identifierade objekt i video)
- Scen- och aktivitetsdetektion (inomhus/utomhus, ”spelar fotboll” etc.)
- Moderering av osäkert innehåll (exempelvis nakenhet)
Den största fördelen med Rekognition är samtidigt den största nackdelen: Det är svårt att använda den med icke-AWS-tjänster, i en sådan grad att det kan vara nödvändigt att ge upp.
Kairos
Till skillnad från Rekognition ger Kairos dig AI via ett API (rimmet är oavsiktligt!), vilket ger dig full kontroll över din data och dina servrar. Kairos profilerar sig som en tjänst med fokus på integritet och är starkt kritisk till Amazon och andra företag som samarbetar med myndigheter (det är även ACLU).
Kairos fungerar med både bilder och videor och har alla de funktioner som du kan förvänta dig av ett modernt API för ansiktsigenkänning. Den har några av de imponerande funktionerna som finns i Rekognition, men om du inte behöver dem och redan hanterar din data, varför bry sig?
Kairos erbjuder lokal distribution för de som oroar sig för integritet och inte vill skicka data för bearbetning. Priset beror på ditt användningsfall och kan vara högt.
Google Cloud Vision
Google har valt att separera sina tjänster för ansiktsigenkänning för bilder och videor. Bild-API:et kallas Cloud Vision medan den videofokuserade tjänsten kallas Video Intelligence.
Medan den bildfokuserade tjänsten liknar det som AWS har att erbjuda, har videotjänsten en bra funktion för katalogisering och sökning. Detta är användbart för företag som har stora videoarkiv som de vill analysera eller söka igenom.
Video Intelligence saknar dock ansiktsigenkänningsfunktioner och det verkar som att dessa endast erbjuds i Cloud Vision. Objektspårning och textdetektering är också i beta, vilket gör att den ligger efter Amazons erbjudanden.
Azure Face API
Microsoft tar sina molnerbjudanden på allvar (äntligen) och Azure Face API är ett bra erbjudande. Det har alla intressanta funktioner du kan förvänta dig (identifiering, igenkänning, ansiktsgruppering, sökning efter liknande ansikten, känslor etc.) och fungerar lika bra med videor.
Även om det inte är direkt relaterat till ansiktsigenkänning, är det värt att nämna att Azure även erbjuder en anpassad datorseende- tjänst där du kan använda dina egna data och träna modeller enligt dina behov.
Precis som Googles tjänst, finns det en demonstrationssida direkt på startsidan, vilket gör det roligt att testa API:et!
Finns det betydande skillnader mellan de främsta hanterade tjänsterna för ansiktsigenkänning? Inte egentligen. Det är hård konkurrens inom området och nya funktioner lanseras snabbt. Om du redan använder ett visst ekosystem, är det vettigt att använda deras egna tjänster för ansiktsigenkänning. I annat fall kan du vilja välja en annan leverantör om dina behov är specifika (kontrollera dina egna data, behöver endast vanlig detektering etc).
Anti-ansiktsigenkänningssystem
Precis som vissa forskare har ägnat sina liv åt att fullända tekniken för ansiktsigenkänning, är andra upptagna med att utveckla tekniker för att lura dem. En intressant utveckling är motstridiga glasögon som ser normala ut för människor men har lurat avancerade ansiktsigenkänningssystem.
Källa: digitaltrends.com
Glasögonen är ännu inte tillgängliga på marknaden, men forskarna menar att de enkelt kan 3D-printas.
En annan intressant utveckling var lanseringen av ekō-glasögon på Kickstarter. Även om produkten är inställd fungerade den på en enkel idé: vanliga solglasögon för 45 USD som reflekterade ljuset och fick kameror och videoövervakningsutrustning att krångla.
Precis som inom cybersäkerhetsområdet kämpar ”hackare” och forskare för att förbättra ansiktsigenkänning. Runt 2014 såg vi populariteten av kamouflagesmink som gav osynlighet mot ansiktsigenkänning, men det är inte ett användbart alternativ längre. Kommer det finnas en AES-kryptering av ansiktsigenkänning? Tiden får utvisa!
Är ansiktsigenkänning rätt för dig?
Den typ av verksamhet som kan dra nytta av ansiktsigenkänning är den som involverar människor – vilket betyder alla företag! Den nuvarande användningen av ansiktsigenkänning tycks främst bedrivas av regeringar, stora företag eller teknikstartups, men det finns ingen anledning till varför inte ditt företag kan dra nytta av det.
Möjligheterna är oändliga om vi tänker kreativt: identifiera kunder på ett hotell, hitta din vän i en folkmassa, hitta personer med liknande ansikten (kanske för att använda som skådespelare), identifiera personlighetstyper för jobbintervjuer (vi låter fantasin flöda här, det kanske inte finns någon vetenskaplig grund för sådana studier), anpassa bankupplevelsen när en viktig kund kommer in. Det finns oändliga sätt att använda ansiktsigenkänning på i liten och stor skala för att förbättra företagets prestanda.
Slutsats
Snart kommer ansiktsigenkänning vara så utbrett och vanligt att vi inte ens kommer att märka det (som mobiltelefoner?). Den underliggande tekniken är nästan fulländad, men i verkligheten handlar det inte bara om att upptäcka ansikten, det handlar om vad vi kan göra med den förmågan.
Låter det intressant och vill du lära dig mer? Kolla in den här fantastiska kursen om datorseende.