stub Hvad er Computer Vision? - Unite.AI
Følg os

AI 101

Hvad er Computer Vision?

mm
Opdateret on

Hvad er Computer Vision?

Computervisionsalgoritmer er et af de mest transformative og kraftfulde AI-systemer i verden i øjeblikket. Computer vision systemer se brug i autonome køretøjer, robotnavigation, ansigtsgenkendelsessystemer og mere. Men hvad er computervisionsalgoritmer præcist? Hvordan fungerer de? For at besvare disse spørgsmål vil vi dykke dybt ned i teorien bag computersyn, computervisionsalgoritmer og applikationer til computervisionssystemer.

Hvordan fungerer computersynssystemer?

For fuldt ud at forstå, hvordan computersynssystemer fungerer, lad os først tage et øjeblik på at diskutere, hvordan mennesker genkender objekter. Den bedste forklaring neuropsykologien har på, hvordan vi genkender objekter, er en model, der beskriver den indledende fase af genkendelse af objekt som en, hvor de grundlæggende komponenter i objekter, såsom form, farve og dybde, fortolkes af hjernen først. Signalerne fra øjet, der kommer ind i hjernen, analyseres for at trække kanterne af et objekt ud først, og disse kanter sættes sammen til en mere kompleks repræsentation, der fuldender objektets form.

Computervisionssystemer fungerer meget på samme måde som det menneskelige visuelle system, ved først at skelne kanterne på et objekt og derefter forbinde disse kanter til objektets form. Den store forskel er, at fordi computere fortolker billeder som tal, har et computervisionssystem brug for en måde at fortolke de individuelle pixels, der udgør billedet. Computervisionssystemet vil tildele værdier til pixels i billedet, og ved at undersøge forskellen i værdier mellem et område af pixels og et andet område af pixels, kan computeren skelne kanter. For eksempel, hvis det pågældende billede er gråtoner, vil værdierne variere fra sort (repræsenteret af 0) til hvid (repræsenteret af 255). En pludselig ændring i intervallet af værdier af pixels nær hinanden vil indikere en kant.

Dette grundlæggende princip med at sammenligne pixelværdier kan også udføres med farvede billeder, hvor computeren sammenligner forskelle mellem de forskellige RGB-farvekanaler. Så ved, at vi ved, hvordan et computervisionssystem undersøger pixelværdier for at fortolke et billede, lad os tage et kig på arkitekturen af ​​et computervisionssystem.

Convolutional Neural Networks (CNN'er)

Den primære type AI, der bruges i computervisionsopgaver, er en baseret på konvolutionelle neurale netværk. Hvad er en foldning helt præcist?

Konvolutioner er matematiske processer, netværket bruger til at bestemme forskellen i værdier mellem pixels. Hvis du forestiller dig et gitter af pixelværdier, kan du forestille dig, at et mindre gitter flyttes over dette hovedgitter. Værdierne under det andet gitter analyseres af netværket, så netværket undersøger kun en håndfuld pixels ad gangen. Dette kaldes ofte "skydevinduer"-teknikken. Værdierne, der analyseres af det glidende vindue, opsummeres af netværket, hvilket hjælper med at reducere kompleksiteten af ​​billedet og gøre det lettere for netværket at udtrække mønstre.

Konvolutionelle neurale netværk er opdelt i to forskellige sektioner, foldningssektionen og den fuldt forbundne sektion. Netværkets foldningslag er funktionsudtrækkerne, hvis opgave er at analysere pixels i billedet og danne repræsentationer af dem, som de tæt forbundne lag i det neurale netværk kan lære mønstre af. De foldede lag starter med blot at undersøge pixels og udtrække lavniveau-funktionerne i billedet som kanter. Senere foldede lag forbinder kanterne til mere komplekse former. Ved udgangen vil netværket forhåbentlig have en repræsentation af billedets kanter og detaljer, som det kan overføre til de fuldt forbundne lag.

Billedannotation

Mens et foldet neuralt netværk kan udtrække mønstre fra billeder af sig selv, kan nøjagtigheden af ​​computervisionssystemet forbedres betydeligt ved at annotere billederne. Billedkommentar er processen med at tilføje metadata til billedet, der hjælper klassificereren med at opdage vigtige objekter i billedet. Brugen af ​​billedannotering er vigtig, når computervisionssystemer skal være meget nøjagtige, såsom når man styrer et autonomt køretøj eller en robot.

Der er forskellige måder, hvorpå billeder kan annoteres for at forbedre ydeevnen af ​​en computersynsklassifikator. Billedkommentarer udføres ofte med afgrænsningsfelter, en boks, der omgiver målobjektets kanter og fortæller computeren, at den skal fokusere sin opmærksomhed i feltet. Semantisk segmentering er en anden type billedannotering, som fungerer ved at tildele en billedklasse til hver pixel i et billede. 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 præcision på pixelniveau, men at skabe semantiske segmenteringsannoteringer er mere komplekst og tidskrævende end at skabe simple afgrænsningsfelter. Andre annoteringsmetoder, som linjer og punkter, findes også.

Blogger og programmør med speciale i Maskinelæring , Deep Learning emner. Daniel håber at kunne hjælpe andre med at bruge AI's kraft til socialt gode.