Kursusindhold
Computer Vision Grundlæggende
Computer Vision Grundlæggende
Ankerbokse
Hvorfor bruges anchor-bokse i objektdetektion
Anchor-bokse er et grundlæggende koncept i moderne objektdetektionsmodeller såsom Faster R-CNN og YOLO. De fungerer som foruddefinerede referencebokse, der hjælper med at detektere objekter af forskellige størrelser og størrelsesforhold, hvilket gør detektionen hurtigere og mere pålidelig.
I stedet for at detektere objekter fra bunden bruger modeller anchor-bokse som udgangspunkt og justerer dem for bedre at tilpasse sig de detekterede objekter. Denne tilgang forbedrer effektivitet og nøjagtighed, især ved detektion af objekter i varierende skalaer.
Forskel mellem anchor-boks og bounding box
Anchor-boks: en foruddefineret skabelon, der fungerer som reference under objektdetektion;
Bounding box: den endelige forudsagte boks efter justeringer af en anchor-boks for at matche det faktiske objekt.
I modsætning til bounding bokse, som justeres dynamisk under forudsigelsen, er anchor-bokse fastlagt på specifikke positioner, før nogen objektdetektion finder sted. Modeller lærer at forfine anchor-bokse ved at justere deres størrelse, position og størrelsesforhold, hvilket til sidst omdanner dem til endelige bounding bokse, der nøjagtigt repræsenterer de detekterede objekter.
Hvordan et netværk genererer anchor-bokse
Anchor-bokse anvendes ikke direkte på et billede, men på feature-maps, der er udtrukket fra billedet. Efter feature-ekstraktion placeres et sæt anchor-bokse på disse feature-maps, varierende i størrelse og aspektforhold. Valget af anchor-boks-former er afgørende og indebærer en balance mellem detektering af små og store objekter.
For at definere størrelser på anchor-bokse anvender modeller typisk en kombination af manuel udvælgelse og klyngealgoritmer som K-Means til at analysere datasættet og bestemme de mest almindelige objektformer og -størrelser. Disse foruddefinerede anchor-bokse anvendes derefter på forskellige placeringer på feature-maps. For eksempel kan en objekt-detekteringsmodel anvende anchor-bokse i størrelserne (16x16), (32x32), (64x64)
, med aspektforhold som 1:1, 1:2, and 2:1
.
Når disse anchor-bokse er defineret, anvendes de på feature-maps, ikke det originale billede. Modellen tildeler flere anchor-bokse til hver placering på feature-mappet, så forskellige former og størrelser dækkes. Under træning justerer netværket anchor-boksene ved at forudsige forskydninger, hvilket forfiner deres størrelse og position for bedre at matche objekterne.
Fra anchor-boks til bounding box
Når anchor-bokse er tildelt objekter, forudsiger modellen forskydninger for at forfine dem. Disse forskydninger omfatter:
Justering af boksens centerkoordinater;
Skalering af bredde og højde;
Forskydning af boksen for bedre at tilpasse sig objektet.
Ved at anvende disse transformationer konverterer modellen anchor-bokse til endelige bounding boxes, der nøje matcher objekterne i et billede.
Tilgange uden ankre eller med færre ankre
Selvom ankerbokse er udbredte, forsøger nogle modeller at mindske afhængigheden af dem eller helt undlade dem:
Ankerfri metoder: Modeller som
CenterNet
ogFCOS
forudsiger objekters placering direkte uden foruddefinerede ankre, hvilket reducerer kompleksiteten;Reducerede anker-tilgange:
EfficientDet
ogYOLOv4
optimerer antallet af anvendte ankerbokse for at balancere detektionshastighed og nøjagtighed.
Disse tilgange har til formål at forbedre effektiviteten af objektdetektion og samtidig opretholde høj ydeevne, især til realtidsapplikationer.
Sammenfattende er ankerbokse en central del af objektdetektion, da de hjælper modeller med effektivt at detektere objekter på tværs af forskellige størrelser og billedforhold. Nye fremskridt undersøger dog måder at reducere eller eliminere ankerbokse for endnu hurtigere og mere fleksibel detektion.
1. Hvad er den primære rolle for ankerbokse i objektdetektion?
2. Hvordan adskiller anchor boxes sig fra bounding boxes?
3. Hvilken metode bruges ofte til at bestemme optimale størrelser for anchor boxes?
Tak for dine kommentarer!