GrundlÃĶggende AI

Hvad er Computer Vision?

mm
FÃļj Unite.AI til dine foretrukne kilder pÃĨ Google

Hvad er Computer Vision?

Computer vision-algoritmer er en af de mest transformative og kraftfulde AI-systemer i verden lige nu. Computer vision-systemer bruges i selvstÃĶndige kÃļretÃļjer, robotnavigation, ansigtsgenkendelsessystemer og mere. Men hvad er computer vision-algoritmer nÃļjagtig? 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 af 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, som neuropsykologien har for, hvordan vi genkender objekter, er en model, der beskriver den initielle fase af objektgenkendelse som en fase, hvor de grundlÃĶggende komponenter af objekter, sÃĨsom form, farve og dybde, fortolkes af hjernen fÃļrst. Signalerne fra Ãļjet, der indgÃĨr i hjernen, analyseres for at trÃĶkke objekters kanter ud fÃļrst, og disse kanter samles derefter sammen til en mere kompleks reprÃĶsentation, der fuldender objektsformen.

Computer vision-systemer fungerer meget ligesom det menneskelige synssystem, ved fÃļrst at skelne objekters kanter og derefter samle disse kanter sammen til objektsformen. 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ÃĶrdiernes rÃĶkkevidde af pixels nÃĶr hinanden vil indikere en kant.

Denne grundlÃĶggende princip om at sammenligne pixelvÃĶrdier kan ogsÃĨ gÃļres med farvebilder, 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 se pÃĨ arkitekturen af et computer vision-system.

Convolutional Neural Networks (CNNs)

Den primÃĶre type AI, der bruges i computer vision-opgaver, er en baseret pÃĨ convolutional neural networks. Hvad er en convolution nÃļjagtig?

Convolutions er matematiske processer, som netvÃĶrket bruger til at bestemme forskellen i vÃĶrdier mellem pixels. Hvis du forestiller dig et grid af pixelvÃĶrdier, forestil dig et mindre grid, der flyttes over dette hovedgrid. VÃĶrdierne under det andet grid analyseres af netvÃĶrket, sÃĨ netvÃĶrket undersÃļger kun en hÃĨndfuld pixels ad gangen. Dette kaldes ofte “sliding windows”-teknikken. VÃĶrdierne, der analyseres af det 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 sektioner, den convolutionelle sektion og den fuldt forbundne sektion. Den convolutionelle del af netvÃĶrket er funktionsekstraktorerne, hvis opgave 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. Den convolutionelle del starter med at undersÃļge pixels og trÃĶkke lavniveaufunktioner af billedet som kanter. Senere convolutionelle lag samler kanterne sammen til mere komplekse former. Ved slutningen af netvÃĶrket vil det 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 convolutionelt neuralt netvÃĶrk kan trÃĶkke mÃļnstre ud af billeder pÃĨ egen hÃĨnd, kan nÃļjagtigheden af computer vision-systemet forbedres vÃĶsentligt 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. Brugen af billedeannotering er vigtig, nÃĨr computer vision-systemer skal vÃĶre meget nÃļjagtige, sÃĨsom nÃĨr de kontrollerer en selvstÃĶndig bil eller robot.

Der er forskellige mÃĨder, hvorpÃĨ billeder kan annoteres for at forbedre computer vision-klassificatorens prÃĶstation. Billedeannotering udfÃļres ofte med begrÃĶnsningsbokse, en boks, der omgiver objekts kanter, og fortÃĶller computeren at fokusere sin opmÃĶrksomhed inden for boksen. Semantisk segmentering er en anden type billedeannotering, der 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 klassificeret som tilhÃļrende disse klasser. Teknikken giver pixelniveau-prÃĶcision, men oprettelse af semantisk segmenteringsannotationer er mere kompleks og tidskrÃĶvende end at oprette simple begrÃĶnsningsbokse. Andre annoteringsmetoder, som linjer og punkter, findes ogsÃĨ.

Blogger og programmÃļr med specialer i Machine Learning og Deep Learning emner. Daniel hÃĨber at hjÃĶlpe andre med at bruge AI's kraft til sociale formÃĨl.