Cursusinhoud
Essentiële Computervisie
Essentiële Computervisie
Non-max Suppressie (NMS)
Objectdetectiemodellen voorspellen vaak meerdere overlappende begrenzingskaders voor hetzelfde object. Dit gebeurt omdat modellen een afbeelding op verschillende schalen en posities scannen, wat leidt tot overbodige voorspellingen. Non-Max Suppression (NMS) is een cruciale nabewerkingsstap die deze detecties verfijnt door de meest relevante begrenzingskaders te selecteren en onnodige te verwijderen.
Waarom Meerdere Overlappende Kaders Voorkomen
Objectdetectoren voorspellen meerdere begrenzingskaders voor één object vanwege:
Anchor boxes: sommige modellen, zoals Faster R-CNN en YOLO, gebruiken vooraf gedefinieerde anchor boxes van verschillende groottes, wat leidt tot meerdere detecties van hetzelfde object;
Sliding window-benaderingen: sommige detectiemethoden scannen een afbeelding in kleine regio's, waardoor herhaalde detecties van een object binnen overlappende gebieden ontstaan;
Hoge vertrouwensscores: het model kent vertrouwensscores toe aan elke voorspelling, en vergelijkbare voorspellingen met hoge scores kunnen aanzienlijk overlappen.
Als deze overbodige kaders niet worden gefilterd, kan dit de prestaties van objectdetectie negatief beïnvloeden door de computationele complexiteit te verhogen en het aantal objecten onbetrouwbaar te maken.
Hoe Non-Max Suppression Werkt
NMS wordt toegepast om dubbele detecties te verwijderen terwijl het meest zekere begrenzingskader behouden blijft. Het volgt deze stappen:
Score sorteren: rangschik alle voorspelde begrenzingskaders in aflopende volgorde op basis van hun vertrouwensscores;
Beste kader selecteren: kies het kader met de hoogste score en voeg dit toe aan de uiteindelijke lijst met detecties;
IoU-berekening: bereken de Intersection Over Union (IoU) tussen het geselecteerde kader en alle resterende kaders;
Drempelwaarde: onderdruk (verwijder) kaders die een IoU boven een ingestelde drempel (bijv. 0,5) hebben, aangezien deze waarschijnlijk hetzelfde object vertegenwoordigen;
Herhalen: ga door met dit proces voor het volgende kader met de hoogste score totdat alle kaders zijn verwerkt.
Soft-NMS: Een Slimmer Alternatief
Standaard NMS verwijdert alle overlappende vakken boven een bepaalde IoU-drempel, wat soms nuttige detecties kan elimineren. Soft-NMS verbetert dit door de vertrouwensscores van overlappende vakken te verlagen in plaats van ze direct te verwijderen. Deze methode zorgt voor een soepelere onderdrukkingsprocedure en kan de detectieprestaties verbeteren in scenario's met veel objecten.
Belangrijkste Verschillen Tussen Standaard NMS en Soft-NMS:
Standaard NMS: verwijdert overlappende vakken boven de IoU-drempel;
Soft-NMS: verlaagt de vertrouwensscores van overlappende vakken in plaats van ze te elimineren, waardoor het flexibeler is voor het detecteren van gedeeltelijk bedekte objecten.
Balans Tussen Nauwkeurigheid en Snelheid in NMS
Het kiezen van de juiste IoU-drempel is cruciaal:
Hogere drempels (bijv. 0.6 - 0.7): agressievere filtering, waarbij alleen de meest zekere vakken behouden blijven, maar mogelijk enkele geldige detecties worden gemist;
Lagere drempels (bijv. 0.3 - 0.4): behoudt meer overlappende vakken, wat nuttig kan zijn in drukke scènes maar het aantal fout-positieven kan verhogen.
Het gebruik van geoptimaliseerde implementaties, zoals de ingebouwde NMS-functies van TensorFlow of OpenCV, kan de verwerking versnellen voor real-time toepassingen.
Non-Max Suppression is een essentiële techniek in objectdetectie om overbodige begrenzingsvakken te verwijderen en de modelnauwkeurigheid te verbeteren. Standaard NMS elimineert efficiënt dubbele detecties, terwijl Soft-NMS het proces verfijnt door vertrouwensscores aan te passen in plaats van directe verwijdering. Door het nauwkeurig afstellen van IoU-drempels kan de juiste balans worden gevonden tussen detectienauwkeurigheid en rekenefficiëntie.
1. Wat is het belangrijkste doel van Non-Max Suppression (NMS) bij objectdetectie?
2. Hoe bepaalt standaard NMS welke bounding boxes onderdrukt moeten worden?
3. Wat is het belangrijkste verschil tussen standaard NMS en Soft-NMS?
Bedankt voor je feedback!