Kursusindhold
Computer Vision Grundlæggende
Computer Vision Grundlæggende
Ikke-maks-undertrykkelse (NMS)
Objektdetektionsmodeller forudsiger ofte flere overlappende afgrænsningsbokse for det samme objekt. Dette sker, fordi modeller scanner et billede i forskellige skalaer og positioner, hvilket fører til redundante forudsigelser. Non-Max Suppression (NMS) er et afgørende efterbehandlingsskridt, der forfiner disse detektioner ved at udvælge de mest relevante afgrænsningsbokse og kassere unødvendige.
Hvorfor opstår flere overlappende bokse
Objektdetektorer forudsiger flere afgrænsningsbokse for et enkelt objekt på grund af:
Anchor-bokse: nogle modeller, såsom Faster R-CNN og YOLO, anvender foruddefinerede anchor-bokse i forskellige størrelser, hvilket fører til flere detektioner af det samme objekt;
Sliding window-metoder: nogle detektionsmetoder scanner et billede i små regioner, hvilket medfører gentagne detektioner af et objekt i overlappende områder;
Høje konfidensscorer: modellen tildeler konfidensscorer til hver forudsigelse, og lignende forudsigelser med høj konfidens kan overlappe betydeligt.
Hvis disse redundante bokse ikke filtreres, kan de påvirke objektdetektionsydelsen negativt ved at øge den beregningsmæssige kompleksitet og gøre objektoptællinger upålidelige.
Hvordan Non-Max Suppression fungerer
NMS anvendes for at fjerne duplikerede detektioner, mens den mest sikre afgrænsningsboks bevares. Processen følger disse trin:
Score-sortering: arranger alle forudsagte afgrænsningsbokse i faldende rækkefølge baseret på deres konfidensscorer;
Udvælgelse af bedste boks: vælg boksen med den højeste score og tilføj den til den endelige liste over detektioner;
IoU-beregning: beregn Intersection Over Union (IoU) mellem den valgte boks og alle resterende bokse;
Tærskelværdi: undertryk (fjern) bokse, der har en IoU over en fastsat tærskelværdi (f.eks. 0,5), da de sandsynligvis repræsenterer det samme objekt;
Gentag: fortsæt denne proces for den næste højest scorende boks, indtil alle bokse er behandlet.
Soft-NMS: En smartere alternativ
Standard NMS fjerner alle overlappende bokse over en bestemt IoU-tærskel, hvilket nogle gange kan eliminere nyttige detektioner. Soft-NMS forbedrer dette ved at nedjustere tillidsværdierne for overlappende bokse i stedet for at fjerne dem fuldstændigt. Denne metode muliggør en mere glidende undertrykkelsesproces og kan forbedre detektionspræstationen i tætte objektscenarier.
Væsentlige forskelle mellem Standard NMS og Soft-NMS:
Standard NMS: fjerner overlappende bokse over IoU-tærsklen;
Soft-NMS: reducerer tillidsværdierne for overlappende bokse i stedet for at eliminere dem, hvilket gør den mere fleksibel til detektion af delvist skjulte objekter.
Afvejning mellem nøjagtighed og hastighed i NMS
Valg af den rette IoU-tærskel er afgørende:
Højere tærskler (f.eks. 0.6 - 0.7): mere aggressiv filtrering, hvor kun de mest sikre bokse bevares, men nogle gyldige detektioner kan gå tabt;
Lavere tærskler (f.eks. 0.3 - 0.4): bevarer flere overlappende bokse, hvilket kan være nyttigt i tætpakkede scener, men kan øge antallet af falske positiver.
Brug af optimerede implementeringer, såsom TensorFlow eller OpenCV's indbyggede NMS-funktioner, kan hjælpe med at øge hastigheden for realtidsapplikationer.
Non-Max Suppression er en vigtig teknik inden for objektdetektion til at fjerne overflødige afgrænsningsbokse og forbedre modellens nøjagtighed. Standard NMS eliminerer effektivt dublerede detektioner, mens Soft-NMS forfiner processen ved at justere tillidsværdier i stedet for at fjerne dem direkte. Ved at finjustere IoU-tærskler kan man opnå den rette balance mellem detektionsnøjagtighed og beregningseffektivitet.
1. Hvad er hovedformålet med Non-Max Suppression (NMS) i objektdetektion?
2. Hvordan bestemmer standard NMS, hvilke afgrænsningsbokse der skal undertrykkes?
3. Hvad er den væsentligste forskel mellem standard NMS og Soft-NMS?
Tak for dine kommentarer!