AI 101
Hvad er Computer Vision?

Hvad er Computer Vision?
Computer vision-algoritmer er en af de mest transformative og kraftfulde AI-systemer i verden lige nu. Computer vision-systemer anvendes i autonome køretøjer, robotnavigation, ansigtsgenkendelsessystemer og mere. Men hvad er computer vision-algoritmer nøjagtigt? Hvordan fungerer de? For at besvare disse spørgsmål, vil vi dykke dybt ind i teorien bag computer vision, computer vision-algoritmer og anvendelser for computer vision-systemer.
Hvordan fungerer Computer Vision-Systemer?
For at fuldt ud kunne værdsætte, hvordan computer vision-systemer fungerer, lad os først tage et øjeblik til at diskutere, hvordan mennesker genkender objekter. Den bedste forklaring, neuropsykologien har for, hvordan vi genkender objekter, er en model, der beskriver den initielle fase af objektgenkendelse som en, hvor de grundlæggende komponenter af objekter, såsom form, farve og dybde, først fortolkes af hjernen. Signalerne fra øjet, der indgår i hjernen, analyseres for at trække objekters kanter ud først, og disse kanter samles herefter sammen til en mere kompleks repræsentation, der fuldender objekts formen.
Computer vision-systemer fungerer meget ligesom det menneskelige synssystem, ved først at skelne objekters kanter og herefter samle disse kanter sammen til objekts form. Den store forskel er, at fordi computere fortolker billeder som tal, har et computer vision-system brug for en måde at fortolke de enkelte pixels, der udgør billedet på. Computer vision-systemet vil tildele værdier til pixels i billedet, og ved at undersøge forskellen i værdier mellem en region af pixels og en anden region af pixels, kan computeren skelne kanter. For eksempel, hvis billedet i spørgsmålet er gråtone, vil værdierne variere fra sort (repræsenteret af 0) til hvid (repræsenteret af 255). En pludselig ændring i værdien af pixels nær hinanden vil indikere en kant.
Denne grundlæggende princip for sammenligning af pixelværdier kan også gøres med farvebilleder, hvor computeren sammenligner forskelle mellem de forskellige RGB-farvekilder. Nu hvor vi ved, hvordan et computer vision-system undersøger pixelværdier for at fortolke et billede, lad os kaste et blik på arkitekturen af et computer vision-system.
Convolutional Neural Networks (CNNs)
Den primære type AI, der anvendes i computer vision-opgaver, er en, der er baseret på convolutional neural networks. Hvad er en convolution nøjagtigt?
Convolutions er matematiske processer, som netværket anvender for at bestemme forskellen i værdier mellem pixels. Hvis du forestiller dig en grid af pixelværdier, forestil dig en mindre grid, der flyttes over denne hovedgrid. Værdierne under den anden grid analyseres af netværket, så netværket analyserer kun en håndfuld pixels ad gangen. Dette kaldes ofte “sliding windows”-teknikken. Værdierne, der analyseres af den glidende vindue, summeres af netværket, hvilket hjælper med at reducere billedets kompleksitet og gøre det lettere for netværket at trække mønstre ud.
Convolutional neural networks er inddelt i to forskellige afdelinger, den convolutional afdeling og den fuldt forbundne afdeling. De convolutional lag i netværket er funktionsekstraktorerne, hvis job er at analysere pixels i billedet og danne repræsentationer af dem, som de tæt forbundne lag i neurale netværk kan lære mønstre fra. De convolutional lag starter med at analysere pixels og trække de lavniveuadede funktioner af billedet, som kanter. Senere convolutional lag samler kanterne sammen til mere komplekse former. Ved afslutningen vil netværket håbefuldt have en repræsentation af kanterne og detaljerne i billedet, som det kan overføre til de fuldt forbundne lag.
Billedeannotering
Selvom et convolutional neural network kan trække mønstre ud af billeder på egen hånd, kan nøjagtigheden af computer vision-systemet øges betydeligt ved at annotere billederne. Billedeannotering er processen med at tilføje metadata til billedet, som hjælper klassificatoren med at detektere vigtige objekter i billedet. Anvendelsen af billedeannotering er vigtig, når computer vision-systemer skal være meget nøjagtige, såsom når de kontrollerer et autonomt køretøj eller robot.
Der er forskellige måder, hvorpå billeder kan annoteres for at forbedre præstationen af en computer vision-klassificator. Billedeannotering udføres ofte med begrænsningsbokse, en boks, der omgiver objekters kanter, og fortæller computeren at fokusere sin opmærksomhed inden for boksen. Semantisk segmentering er en anden type billedeannotering, som fungerer ved at tildele en billedklasse til hver pixel i billedet. Med andre ord vil hver pixel, der kan betragtes som “græs” eller “træer”, blive mærket som tilhørende disse klasser. Teknikken giver pixelniveau-præcision, men oprettelse af semantisk segmenteringsannoteringer er mere kompleks og tidskrævende end oprettelse af simple begrænsningsbokse. Andre annoteringsmetoder, som linjer og punkter, findes også.












