Cursusinhoud
Essentiële Computervisie
Essentiële Computervisie
Ankerboxen
Waarom Anchor Boxes Worden Gebruikt bij Objectdetectie
Anchor boxes zijn een fundamenteel concept in moderne objectdetectiemodellen zoals Faster R-CNN en YOLO. Ze dienen als vooraf gedefinieerde referentiekaders die helpen bij het detecteren van objecten met verschillende groottes en beeldverhoudingen, waardoor detectie sneller en betrouwbaarder wordt.
In plaats van objecten volledig vanaf nul te detecteren, gebruiken modellen anchor boxes als uitgangspunt en passen deze aan om beter bij de gedetecteerde objecten te passen. Deze benadering verhoogt de efficiëntie en nauwkeurigheid, vooral bij het detecteren van objecten op verschillende schalen.
Verschil Tussen Anchor Box en Bounding Box
Anchor Box: een vooraf gedefinieerde template die als referentie dient tijdens objectdetectie;
Bounding Box: het uiteindelijke voorspelde kader nadat aanpassingen zijn gedaan aan een anchor box om overeen te komen met het daadwerkelijke object.
In tegenstelling tot bounding boxes, die dynamisch worden aangepast tijdens de voorspelling, zijn anchor boxes vastgezet op specifieke posities voordat objectdetectie plaatsvindt. Modellen leren anchor boxes te verfijnen door hun grootte, positie en beeldverhouding aan te passen, waardoor ze uiteindelijk worden omgezet in definitieve bounding boxes die de gedetecteerde objecten nauwkeurig weergeven.
Hoe een netwerk anchor boxes genereert
Anchor boxes worden niet direct op een afbeelding toegepast, maar op feature maps die uit de afbeelding zijn geëxtraheerd. Na feature-extractie wordt een set anchor boxes op deze feature maps geplaatst, variërend in grootte en beeldverhouding. De keuze van de vormen van anchor boxes is cruciaal en vereist een balans tussen het detecteren van kleine en grote objecten.
Om de groottes van anchor boxes te bepalen, gebruiken modellen doorgaans een combinatie van handmatige selectie en clustering-algoritmen zoals K-Means om de dataset te analyseren en de meest voorkomende objectvormen en -groottes vast te stellen. Deze vooraf gedefinieerde anchor boxes worden vervolgens op verschillende locaties over de feature maps toegepast. Bijvoorbeeld, een objectdetectiemodel kan anchor boxes gebruiken met groottes (16x16), (32x32), (64x64)
, met beeldverhoudingen zoals 1:1, 1:2, and 2:1
.
Zodra deze anchor boxes zijn gedefinieerd, worden ze toegepast op feature maps, niet op de originele afbeelding. Het model wijst meerdere anchor boxes toe aan elke locatie op de feature map, waarbij verschillende vormen en groottes worden gedekt. Tijdens de training past het netwerk de anchor boxes aan door offsets te voorspellen, waardoor hun grootte en positie worden verfijnd om beter bij objecten te passen.
Van anchor box naar bounding box
Zodra anchor boxes aan objecten zijn toegewezen, voorspelt het model offsets om ze te verfijnen. Deze offsets omvatten:
Aanpassen van de centrumcoördinaten van de box;
Schalen van de breedte en hoogte;
Verschuiven van de box om beter uit te lijnen met het object.
Door deze transformaties toe te passen, zet het model anchor boxes om in uiteindelijke bounding boxes die nauw aansluiten bij de objecten in een afbeelding.
Benaderingen zonder of met minder anchor boxes
Hoewel anchor boxes veel worden gebruikt, zijn er modellen die proberen het gebruik ervan te verminderen of volledig te elimineren:
Anchor-vrije methoden: modellen zoals
CenterNet
enFCOS
voorspellen objectlocaties direct zonder vooraf gedefinieerde anchors, wat de complexiteit vermindert;Benaderingen met minder anchors:
EfficientDet
enYOLOv4
optimaliseren het aantal gebruikte anchor boxes, waardoor een balans ontstaat tussen detectiesnelheid en nauwkeurigheid.
Deze benaderingen zijn gericht op het verbeteren van de efficiëntie van objectdetectie met behoud van hoge prestaties, vooral voor realtime toepassingen.
Samengevat zijn anchor boxes een essentieel onderdeel van objectdetectie en helpen ze modellen om objecten efficiënt te detecteren bij verschillende groottes en beeldverhoudingen. Nieuwe ontwikkelingen onderzoeken echter manieren om anchor boxes te verminderen of te elimineren voor nog snellere en flexibelere detectie.
1. Wat is de primaire rol van anchor boxes bij objectdetectie?
2. Hoe verschillen anchor boxes van bounding boxes?
3. Welke methode wordt vaak gebruikt om optimale anchor box-groottes te bepalen?
Bedankt voor je feedback!