Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Lære Konvolutionslag | Sektion
/
Anvendt Computer Vision

bookKonvolutionslag

Stryg for at vise menuen

Konvolutionslag udgør kernen i konvolutionelle neurale netværk (CNN'er). De anvender konvolution, hvor en lille matrix kaldet et filter (eller kerne) bevæger sig hen over et billede for at registrere kanter, teksturer og former. Dette gør det muligt for CNN'er at behandle billeder mere effektivt end traditionelle netværk.

I stedet for at analysere et helt billede på én gang, opdeler CNN'er det i mindre sektioner og registrerer egenskaber på forskellige niveauer. Tidlige lag genkender simple mønstre som kanter, mens dybere lag identificerer komplekse strukturer.

Sådan fungerer konvolution

Konvolution indebærer, at et filter (kerne) bevæger sig hen over et billede og følger disse trin:

  1. Anvend kernen øverst til venstre på billedet;
  2. Udfør elementvis multiplikation mellem kernen og pixelværdierne;
  3. Summér produkterne for at generere en outputpixel;
  4. Flyt kernen i henhold til stridet og gentag;
  5. Generér et feature map, der fremhæver de registrerede mønstre.
Konvolutions-GIF

Flere filtre hjælper CNN'er med at opfange forskellige træk, såsom lodrette kanter, kurver og teksturer.

Filtre (Kerne):

Filtre spiller en afgørende rolle i udtrækning af meningsfulde mønstre fra billeder. Forskellige typer filtre specialiserer sig i at identificere forskellige træk:

  • Kantdetektionsfiltre: identificerer objektgrænser ved at registrere pludselige intensitetsændringer (f.eks. Sobel, Prewitt og Laplacian filtre);
  • Teksturfiltre: opfanger gentagne mønstre såsom bølger eller gitter (f.eks. Gabor filtre);
  • Skarphedsfiltre: forstærker billeddetaljer ved at forstærke højfrekvente komponenter;
  • Sløringsfiltre: reducerer støj og udglatter billeder (f.eks. Gaussisk sløringsfilter);
  • Emboss-filtre: fremhæver kanter og tilføjer en 3D-effekt ved at understrege dybde.
Kerne sammenlignet

Hvert filter trænes til at detektere specifikke mønstre og bidrager til opbygning af hierarkiske funktionsrepræsentationer i dybe CNN'er.

Convolution-lag genbruger samme filter på tværs af et billede, hvilket reducerer antallet af parametre og gør CNN'er effektive. Specialiserede lokalt forbundne lag anvender dog forskellige filtre for forskellige områder, når det er nødvendigt.

Ved at stable convolution-lag udtrækker CNN'er detaljerede mønstre, hvilket gør dem effektive til billedklassifikation, objektdetektion og vision-opgaver.

Hyperparametre:

  • Stride: styrer hvor langt filteret flyttes pr. trin;
  • Padding: tilføjer pixels for at kontrollere outputstørrelsen (samme padding bevarer størrelsen, valid padding reducerer den);
  • Antal filtre (dybde): flere filtre forbedrer funktionsdetektionen, men øger beregningstiden.
Note
Bemærk

Example: For a 24×24 grayscale image using a 3×3 kernel with 64 filters, the output size is 22×22×64, computed as:

(WF+1)×(HF+1)×D==(243+1)×(243+1)×64==22×22×64,(W - F + 1) \times (H - F + 1) \times D =\\= (24 - 3 + 1) \times (24 - 3 + 1) \times 64 =\\= 22\times22\times64,

Where:

  • WW: width of the input image = 24;
  • HH: height of the input image = 24;
  • FF: size of the filter (kernel) = 3 (assuming a square 3×3 kernel);
  • DD: number of filters (depth of the output) = 64.

Før næste kapitel

Selvom konvolutionslag kan formindske outputstørrelsen, er deres primære formål feature-ekstraktion, ikke dimensionsreduktion. Pooling-lag derimod reducerer eksplicit dimensionerne samtidig med, at vigtig information bevares, hvilket sikrer effektivitet i dybere lag.

1. Hvad er den primære rolle for et konvolutionslag i et CNN?

2. Hvilken hyperparameter bestemmer, hvor langt et filter bevæger sig under konvolution?

3. Hvad er formålet med at anvende flere filtre i et konvolutionslag?

question mark

Hvad er den primære rolle for et konvolutionslag i et CNN?

Select the correct answer

question mark

Hvilken hyperparameter bestemmer, hvor langt et filter bevæger sig under konvolution?

Select the correct answer

question mark

Hvad er formålet med at anvende flere filtre i et konvolutionslag?

Select the correct answer

Var alt klart?

Hvordan kan vi forbedre det?

Tak for dine kommentarer!

Sektion 1. Kapitel 13

Spørg AI

expand

Spørg AI

ChatGPT

Spørg om hvad som helst eller prøv et af de foreslåede spørgsmål for at starte vores chat

Sektion 1. Kapitel 13
some-alt