Grunderna i AI

Vad ÃĪr datorseende?

mm
LÃĪgg till Unite.AI bland dina fÃķredragna kÃĪllor pÃĨ Google

Vad ÃĪr datorseende?

Datorseendealgoritmer ÃĪr ett av de mest omvÃĪlvande och kraftfulla AI-systemen i vÃĪrlden just nu. Datorseendesystem anvÃĪnds i autonoma fordon, robotnavigation, ansiktsigenkÃĪnningsystem och mer. Men vad ÃĪr datorseendealgoritmer egentligen? Hur fungerar de? FÃķr att besvara dessa frÃĨgor kommer vi att dyka djupt in i teorin bakom datorseende, datorseendealgoritmer och tillÃĪmpningar fÃķr datorseendesystem.

Hur fungerar datorseendesystem?

FÃķr att fullt ut uppskatta hur datorseendesystem fungerar, lÃĨt oss fÃķrst ta en stund att diskutera hur mÃĪnniskor kÃĪnner igen fÃķremÃĨl. Den bÃĪsta fÃķrklaringen neuropsykologin har fÃķr hur vi kÃĪnner igen fÃķremÃĨl ÃĪr en modell som beskriver den initiala fasen av fÃķremÃĨlsigenkÃĪnning som en dÃĪr de grundlÃĪggande komponenterna i fÃķremÃĨl, sÃĨsom form, fÃĪrg och djup, tolkas av hjÃĪrnan fÃķrst. Signalerna frÃĨn Ãķgat som kommer in i hjÃĪrnan analyseras fÃķr att dra ut fÃķremÃĨlets kanter fÃķrst, och dessa kanter fogas samman till en mer komplex representation som kompletterar fÃķremÃĨlets form.

Datorseendesystem fungerar mycket likt det mÃĪnskliga synsystemet, genom att fÃķrst urskilja fÃķremÃĨlets kanter och sedan fÃķrena dessa kanter till fÃķremÃĨlets form. Den stora skillnaden ÃĪr att eftersom datorer tolkar bilder som siffror, behÃķver ett datorseendesystem nÃĨgot sÃĪtt att tolka de enskilda pixlarna som utgÃķr bilden. Datorseendesystemet kommer att tilldela vÃĪrden till pixlarna i bilden och genom att undersÃķka skillnaden i vÃĪrden mellan en region av pixlar och en annan region av pixlar, kan datorn urskilja kanter. Till exempel, om bilden i frÃĨga ÃĪr i grÃĨskala, kommer vÃĪrdena att strÃĪcka sig frÃĨn svart (representerad av 0) till vit (representerad av 255). En plÃķtslig fÃķrÃĪndring i vÃĪrdena av pixlar nÃĪra varandra kommer att indikera en kant.

Denna grundlÃĪggande princip fÃķr att jÃĪmfÃķra pixelvÃĪrden kan ocksÃĨ gÃķras med fÃĪrgbilder, med datorn som jÃĪmfÃķr skillnader mellan de olika RGB-fÃĪrgkanalerna. Nu nÃĪr vi vet hur ett datorseendesystem undersÃķker pixelvÃĪrden fÃķr att tolka en bild, lÃĨt oss ta en titt pÃĨ arkitekturen fÃķr ett datorseendesystem.

Konvolutionsneurala nÃĪtverk (CNN)

Den primÃĪra typen av AI som anvÃĪnds i datorseendeuppgifter ÃĪr en baserad pÃĨ konvolutionsneurala nÃĪtverk. Vad ÃĪr en konvolution exakt?

Konvolutioner ÃĪr matematiska processer som nÃĪtverket anvÃĪnder fÃķr att bestÃĪmma skillnaden i vÃĪrden mellan pixlar. Om du fÃķrestÃĪller dig ett rutnÃĪt av pixelvÃĪrden, fÃķrestÃĪll dig ett mindre rutnÃĪt som flyttas Ãķver detta huvudrutnÃĪt. VÃĪrdena under det mindre rutnÃĪtet analyseras av nÃĪtverket, sÃĨ nÃĪtverket undersÃķker bara ett fÃĨtal pixlar ÃĨt gÃĨngen. Detta kallas ofta fÃķr “sliding windows”-tekniken. VÃĪrdena som analyseras av det glidande fÃķnstret summeras av nÃĪtverket, vilket hjÃĪlper till att reducera komplexiteten i bilden och gÃķra det lÃĪttare fÃķr nÃĪtverket att extrahera mÃķnster.

Konvolutionsneurala nÃĪtverk delas in i tvÃĨ olika sektioner, konvolutionssektionen och den fullstÃĪndigt anslutna sektionen. Konvolutionslagren i nÃĪtverket ÃĪr funktionsextraherarna, vars uppgift ÃĪr att analysera pixlarna inom bilden och bilda representationer av dem som de tÃĪt anslutna lagren i neuronnÃĪtverket kan lÃĪra sig mÃķnster frÃĨn. Konvolutionslagren bÃķrjar med att bara undersÃķka pixlarna och extrahera de lÃĨgnivÃĨfunktionerna i bilden, som kanter. Senare konvolutionslager fogar samman kanterna till mer komplexa former. I slutet kommer nÃĪtverket fÃķrhoppningsvis att ha en representation av kanterna och detaljerna i bilden som det kan skicka till de fullstÃĪndigt anslutna lagren.

Bildannotering

Medan ett konvolutionsneuralt nÃĪtverk kan extrahera mÃķnster frÃĨn bilder pÃĨ egen hand, kan noggrannheten i datorseendesystemet fÃķrbÃĪttras avsevÃĪrt genom att annotera bilderna. Bildannotering ÃĪr processen att lÃĪgga till metadata till bilden som hjÃĪlper klassificeraren att upptÃĪcka viktiga fÃķremÃĨl i bilden. AnvÃĪndningen av bildannotering ÃĪr viktig nÃĪr datorseendesystem behÃķver vara mycket exakta, som nÃĪr de kontrollerar ett autonomt fordon eller en robot.

Det finns olika sÃĪtt som bilder kan annoteras fÃķr att fÃķrbÃĪttra prestandan fÃķr en datorseendeklassificerare. Bildannotering gÃķrs ofta med begrÃĪnsningsrutor, en ruta som omger fÃķremÃĨlets kanter och berÃĪttar fÃķr datorn att fokusera sin uppmÃĪrksamhet inom rutan. Semantisk segmentering ÃĪr en annan typ av bildannotering, som fungerar genom att tilldela en bildklass till varje pixel i bilden. Med andra ord kommer varje pixel som kan anses vara “grÃĪs” eller “trÃĪd” att mÃĪrkas som tillhÃķrande dessa klasser. Tekniken ger pixelnivÃĨprecision, men skapandet av semantisk segmenteringsannoteringar ÃĪr mer komplext och tidskrÃĪvande ÃĪn att skapa enkla begrÃĪnsningsrutor. Andra annoteringsmetoder, som linjer och punkter, finns ocksÃĨ.

Blogger och programmerare med specialomrÃĨden inom Machine Learning och Deep Learning ÃĪmnen. Daniel hoppas pÃĨ att hjÃĪlpa andra att anvÃĪnda kraften frÃĨn AI fÃķr socialt vÃĪl.