Ett vanligt tillvägagångssätt för bildigenkänning är objektdetektering, vilket innebär att man identifierar specifika objekt i en bild. Detta görs vanligtvis med en teknik som kallas konvolutionella neurala nätverk (CNN), en typ av djupinlärningsalgoritm som är speciellt utformad för att känna igen mönster i bilder.
I ett CNN delas bilden först upp i mindre regioner, och varje region analyseras av en serie filter. Dessa filter är utformade för att identifiera specifika egenskaper, såsom kanter, hörn och texturer. Utdata från filtren passerar sedan genom en serie poolande lager, vilket minskar dimensionaliteten hos datan och gör det lättare att identifiera mönster.
Efter poolningsskikten skickas data genom ett helt anslutet skikt, som är ett traditionellt neuralt nätverkslager som kombinerar de egenskaper som identifieras av faltningsskikten och klassificerar bilden. Utsignalen från det helt anslutna lagret är en vektor av sannolikheter, vilket indikerar sannolikheten att bilden innehåller ett specifikt objekt.
Genom att träna CNN på en stor datamängd av bilder som har märkts med sina motsvarande objekt, är det möjligt att lära datorn att känna igen specifika objekt i nya bilder.
En annan metod för bildigenkänning är ansiktsigenkänning, vilket innebär att man identifierar specifika ansikten i en bild. Detta görs vanligtvis med en teknik som kallas Eigenfaces, vilket innebär att skapa en uppsättning basbilder som representerar huvuddragen i ett ansikte.
För att identifiera ett ansikte i en ny bild projiceras bilden först på basbilderna och den resulterande vektorn jämförs med vektorerna för kända ansikten. Ansiktet med den mest lika vektorn identifieras sedan som den troliga matchningen.
Bildigenkänning är ett snabbt växande område och nya tekniker utvecklas ständigt för att förbättra noggrannheten och effektiviteten av objekt- och ansiktsigenkänning. Dessa tekniker används i en mängd olika tillämpningar, såsom säkerhetssystem, medicinsk bildbehandling och autonoma fordon.