Connect with us

Hva er datavisjon?

AI 101

Hva er datavisjon?

mm

Hva er datavisjon?

Datavisjonsalgoritmer er ett av de mest transformative og kraftfulle AI-systemene i verden, for øyeblikket. Datavisjonssystemer brukes i autonome kjøretøy, robotnavigasjon, ansiktsgjenkjenningssystemer og mer. Men hva er datavisjonsalgoritmer egentlig? Hvordan fungerer de? For å svare på disse spørsmålene, vil vi dykke dypt inn i teorien bak datavisjon, datavisjonsalgoritmer og anvendelser for datavisjonssystemer.

Hvordan fungerer datavisjonssystemer?

For å fullt ut å kunne appreciere hvordan datavisjonssystemer fungerer, la oss først ta en øyeblikk til å diskutere hvordan mennesker gjenkjenner objekter. Den beste forklaringen nevropsykologien har for hvordan vi gjenkjenner objekter er en modell som beskriver den innledende fasen av objektgjenkjenning som en hvor de grunnleggende komponentene av objekter, som form, farge og dybde, tolkes av hjernen først. Signalene fra øyet som kommer inn i hjernen analyseres for å trekke ut kantene av et objekt først, og disse kantene kobles sammen til en mer kompleks representasjon som fullfører objektets form.

Datavisjonssystemer fungerer veldig likt det menneskelige visuelle systemet, ved først å skille ut kantene av et objekt og deretter kobler disse kantene sammen til objektets form. Den store forskjellen er at fordi datamaskiner tolker bilder som tall, trenger et datavisjonssystem en måte å tolke de enkelte pikslene som utgjør bildet på. Datavisjonssystemet vil tildele verdier til pikslene i bildet og ved å undersøke forskjellen i verdier mellom en region av piksler og en annen region av piksler, kan datamaskinen skille ut kantene. For eksempel, hvis bildet i question er gråskala, så vil verdiene variere fra svart (representert av 0) til hvit (representert av 255). En plutselig endring i rekken av verdier av piksler nær hverandre vil indikere en kant.

Dette grunnleggende prinsippet om å sammenligne piksverdier kan også gjøres med fargede bilder, med datamaskinen sammenligner forskjeller mellom de forskjellige RGB-fargekanalene. Nå som vi vet hvordan et datavisjonssystem undersøker piksverdier for å tolke et bilde, la oss se på arkitekturen av et datavisjonssystem.

Convolutional Neural Networks (CNNs)

Den primære typen AI som brukes i datavisjonsoppgaver er en basert på convolutional neural networks. Hva er en konvolusjon egentlig?

Konvolusjoner er matematiske prosesser nettverket bruker for å bestemme forskjellen i verdier mellom piksler. Hvis du forestiller deg en rutenett av piksverdier, forestill deg en mindre rutenett som flyttes over dette hovedrutenettet. Verdier under det andre rutenettet analyseres av nettverket, så nettverket analyserer bare en håndfull piksler om gangen. Dette kalles ofte “sliding windows”-teknikken. Verdier som analyseres av glidevinduet summeres av nettverket, som hjelper med å redusere kompleksiteten i bildet og gjøre det lettere for nettverket å trekke ut mønster.

Convolutional neural networks er delt inn i to forskjellige seksjoner, den convolutionale seksjonen og den fullstendig koblete seksjonen. De convolutionale lagene i nettverket er funksjonsuttrekkere, hvis jobb er å analysere pikslene i bildet og danne representasjoner av dem som de tett koblete lagene i neuronnnettverket kan lære mønster fra. De convolutionale lagene starter med å bare analysere pikslene og trekke ut de lavtnivåfunksjonene av bildet som kantene. Senere convolutionale lag kobler kantene sammen til mer komplekse former. Til slutt vil nettverket håpefullt ha en representasjon av kantene og detaljene i bildet som det kan overføre til de fullstendig koblete lagene.

Bildeannotering

Mens en convolutional neural network kan trekke ut mønster fra bilder på egen hånd, kan nøyaktigheten av datavisjonssystemet økes betraktelig ved å annotere bildene. Bildeannotering er prosessen med å legge til metadata til bildet som hjelper klassifisatoren med å detektere viktige objekter i bildet. Bruken av bildeannotering er viktig når datavisjonssystemer må være svært nøyaktige, som når de kontrollerer et autonomt kjøretøy eller robot.

Det finnes flere måter å annotere bilder for å forbedre ytelsen av en datavisjonsklassifikator. Bildeannotering gjøres ofte med avgrensningsskjermer, en skjerme som omgir kantene av målobjektet og forteller datamaskinen å fokusere sin oppmerksomhet innenfor skjerme. Semantisk segmentering er en annen type bildeannotering, som opererer ved å tildele en bildeklasse til hver piksel i bildet. Med andre ord, hver piksel som kan regnes som “gress” eller “trær” vil bli merket som tilhørende disse klassene. Teknikken gir pikselnivåpresisjon, men å lage semantisk segmenteringsannoteringer er mer komplekst og tidskrevende enn å lage enkle avgrensningsskjermer. Andre annoteringsmetoder, som linjer og punkter, finnes også.

Blogger og programmerer med spesialområder i Machine Learning og Deep Learning emner. Daniel håper å hjelpe andre med å bruke kraften av AI for sosialt godt.