I det här blogginlägget ska vi enkelt och tydligt titta på principerna och processerna bakom hur datorer känner igen mänskliga ansikten.
Vilka principer ligger till grund för ansiktsigenkänning?
Du har förmodligen spelat ett spel minst en gång som barn där du var tvungen att skapa ett mänskligt ansikte. I det här spelet väljer du först en ansiktsform, sedan väljer du frisyr, ögon, näsa och mun en efter en och placerar dem på ansiktet. Genom att växla mellan olika frisyrer, ögon, näsor och munnar kan du skapa det ansikte du vill ha. Sättet som datorer känner igen och jämför ansikten på skiljer sig inte mycket från detta. Datorer identifierar och lagrar ansiktsdrag; när ett nytt foto av ett ansikte matas in jämför de det med de lagrade dragen för att avgöra vem personen är.
Ett färskt exempel på lättillgänglig ansiktsigenkänningsteknik är ansiktsigenkänningsapplikationer (Appar). Dessa appar extraherar och lagrar viktiga funktioner – såsom ansiktskonturer, ögon, näsor och munnar – från foton av kändisar. Senare, när en persons ansikte fångas via kameran, extraherar appen ansiktsdrag på samma sätt och jämför dem med kändisarnas lagrade ansiktsdrag för att identifiera och visa den person som bäst matchar.
Hur känner en dator igen ett ansikte?
Nu ska vi undersöka datorns ansiktsigenkänningsprocess. Ansiktsigenkänning består av fyra huvudsteg: inmatning, ansiktsigenkänning, funktionsutvinning och jämförelse.
I inmatningssteget överförs en enda bildruta från ett foto eller en video till datorn via en inmatningsenhet. Generellt sett gäller att ju högre upplösning inmatningsenheten har och ju högre bildrutor per sekund (FPS), desto mer exakt kan ansikten kännas igen. Denna princip liknar hur en person med god syn mer exakt kan känna igen ansiktet på någon som står långt borta.
I ansiktsigenkänningsteget kontrollerar systemet först om ett ansikte finns i det inmatade fotot eller videon. För att göra detta identifierar det ansiktets konturer och viktiga drag som ögon, näsa och mun. Även om olika ansiktsigenkänningsmetoder används för närvarande, kommer vi här att fokusera på den representativa Haar-liknande detekteringsmetoden.
Haar-liknande detekteringsmetoden använder Haar-wavelets. En wavelet är ett enkelt rektangulärt mönster som består av svarta och vita områden. Dessa svartvita områden används för att identifiera områden i en bild där skillnader i ljusstyrka uppstår. Genom att applicera wavelets av olika storlekar och former över hela inmatningsbilden eller videon, och sedan bara behålla de platser där ljusstyrkeskillnaden mellan de svarta och vita områdena är betydande, kan systemet effektivt detektera ansiktskonturerna och viktiga ansiktsdrag som ögon, näsa, mun och ögonbryn. Dessutom möjliggör denna process även extraktion av positionsinformation om ansiktsdrag.
Till exempel, när man extraherar information om ögonen, placeras de svarta områdena i waveleten så att de motsvarar relativt mörka områden – såsom pupillen – medan de vita områdena motsvarar ljusa områden, såsom huden. Genom att utnyttja dessa skillnader i ljusstyrka kan ögonens position och form detekteras effektivt.
Hur extraheras ansiktsdrag?
När ansiktsdetekteringsfasen är klar avgör systemet om det ska gå vidare till funktionsextraheringsfasen.
I ansiktsextraktionssteget extraheras ansiktsdrag för att fullt ut utnyttja de ansiktskomponenter som identifierats under ansiktsdetekteringssteget. Till skillnad från ansiktsdetekteringssteget involverar denna process ett förbehandlingssteg. Eftersom rotationsvinkeln, storleken och ljusintensiteten för ansikten varierar med varje fotografi eller video, utförs en normaliseringsprocess för att standardisera dem så mycket som möjligt. Dessutom kan färgfotografier eller videor konverteras till svartvita bilder efter behov.
Till exempel konverteras originalfotot till gråskala, sedan beskärs endast ansiktsområdet och storleksändras till en enhetlig storlek, och histogramutjämning utförs för att korrigera ljusstyrkan. Med hjälp av positionsinformationen för ansiktskomponenterna som erhållits under ansiktsdetekteringsfasen extraheras ansiktsdrag från de foton eller videor som har genomgått denna förbehandling.
Hur används de extraherade ansiktsdragen?
Under jämförelsefasen lagras informationen om dessa extraherade ansiktskomponenter antingen i en databas (DB) eller jämförs med befintlig ansiktsdata för att identifiera den bästa matchningen.
Vi har nu undersökt processen för datorbaserad ansiktsigenkänning. För bara några decennier sedan verkade idén om en dator som kunde skilja mellan människor som en teknik långt ifrån verkligheten. Men med den snabba utvecklingen av datorhårdvara, mjukvara och artificiell intelligens används ansiktsigenkänning nu i stor utsträckning inom olika områden – inklusive smartphones och bärbara datorer, såväl som åtkomstkontroll, finansiella tjänster och flygplatssäkerhet. Idag är tekniken som gör det möjligt för datorer att känna igen mänskliga ansikten inte längre en framtidshistoria utan har blivit en teknik som är naturligt integrerad i våra dagliga liv.