Kursinnhold
Grunnleggende Datamaskinsyn
Grunnleggende Datamaskinsyn
Ikke-maks-undertrykking (NMS)
Objektdeteksjonsmodeller forutsier ofte flere overlappende avgrensningsbokser for det samme objektet. Dette skjer fordi modellene skanner et bilde i ulike skalaer og posisjoner, noe som fører til redundante prediksjoner. Non-Max Suppression (NMS) er et viktig etterbehandlingssteg som forbedrer disse deteksjonene ved å velge de mest relevante avgrensningsboksene og forkaste unødvendige.
Hvorfor oppstår flere overlappende bokser
Objektdetektorer forutsier flere avgrensningsbokser for ett enkelt objekt på grunn av:
Anchor-bokser: noen modeller, som Faster R-CNN og YOLO, bruker forhåndsdefinerte anchor-bokser i ulike størrelser, noe som gir flere deteksjoner av samme objekt;
Sliding window-metoder: enkelte deteksjonsmetoder skanner et bilde i små regioner, noe som fører til gjentatte deteksjoner av et objekt i overlappende områder;
Høye konfidensscore: modellen tildeler konfidensscore til hver prediksjon, og lignende prediksjoner med høy konfidens kan overlappe betydelig.
Hvis disse redundante boksene ikke filtreres, kan de påvirke ytelsen til objektdeteksjon negativt ved å øke beregningskompleksiteten og gjøre objekttellinger upålitelige.
Hvordan Non-Max Suppression fungerer
NMS brukes for å fjerne dupliserte deteksjoner samtidig som den mest pålitelige avgrensningsboksen beholdes. Prosessen følger disse stegene:
Sortering etter score: sorter alle predikerte avgrensningsbokser i synkende rekkefølge basert på konfidensscore;
Velge beste boks: velg boksen med høyest score og legg den til i den endelige listen over deteksjoner;
IoU-beregning: beregn Intersection Over Union (IoU) mellom den valgte boksen og alle gjenværende bokser;
Terskelverdi: undertrykk (fjern) bokser som har en IoU over en satt terskelverdi (f.eks. 0,5), siden de sannsynligvis representerer det samme objektet;
Gjenta: fortsett denne prosessen for neste boks med høyest score til alle bokser er behandlet.
Soft-NMS: Et smartere alternativ
Standard NMS fjerner alle overlappende bokser over en viss IoU-grense, noe som noen ganger kan eliminere nyttige deteksjoner. Soft-NMS forbedrer dette ved å redusere tillitsverdiene til overlappende bokser i stedet for å fjerne dem helt. Denne metoden gir en jevnere undertrykkelsesprosess og kan forbedre deteksjonsytelsen i tette objektscenarier.
Viktige forskjeller mellom Standard NMS og Soft-NMS:
Standard NMS: fjerner overlappende bokser over IoU-grensen;
Soft-NMS: reduserer tillitsverdiene til overlappende bokser i stedet for å eliminere dem, noe som gjør den mer fleksibel for å oppdage delvis tildekkede objekter.
Balansering av nøyaktighet og hastighet i NMS
Valg av riktig IoU-grense er avgjørende:
Høyere grenser (f.eks. 0.6 - 0.7): mer aggressiv filtrering, beholder kun de mest pålitelige boksene, men kan gå glipp av noen gyldige deteksjoner;
Lavere grenser (f.eks. 0.3 - 0.4): beholder flere overlappende bokser, noe som kan være nyttig i folkerike scener, men kan øke antall falske positiver.
Bruk av optimaliserte implementasjoner, som TensorFlow eller OpenCVs innebygde NMS-funksjoner, kan bidra til å øke hastigheten på prosesseringen for sanntidsapplikasjoner.
Non-Max Suppression er en viktig teknikk innen objektdeteksjon for å fjerne overflødige avgrensningsbokser og forbedre modellens nøyaktighet. Standard NMS eliminerer effektivt dupliserte deteksjoner, mens Soft-NMS forbedrer prosessen ved å justere tillitsverdiene i stedet for å fjerne dem helt. Ved å finjustere IoU-grenser kan man finne riktig balanse mellom deteksjonsnøyaktighet og beregningseffektivitet.
1. Hva er hovedformålet med Non-Max Suppression (NMS) i objektdeteksjon?
2. Hvordan avgjør standard NMS hvilke avgrensningsbokser som skal undertrykkes?
3. Hva er hovedforskjellen mellom standard NMS og Soft-NMS?
Takk for tilbakemeldingene dine!