Kursinnhold
Grunnleggende Datamaskinsyn
Grunnleggende Datamaskinsyn
Ankerbokser
Hvorfor ankerbokser brukes i objektdeteksjon
Ankerbokser er et grunnleggende konsept i moderne objektdeteksjonsmodeller som Faster R-CNN og YOLO. De fungerer som forhåndsdefinerte referansebokser som hjelper til med å oppdage objekter av ulike størrelser og sideforhold, noe som gjør deteksjonen raskere og mer pålitelig.
I stedet for å oppdage objekter fra bunnen av, bruker modeller ankerbokser som utgangspunkt og justerer dem for å passe bedre til de oppdagede objektene. Denne tilnærmingen forbedrer effektivitet og nøyaktighet, spesielt ved deteksjon av objekter i ulike skalaer.
Forskjell mellom ankerboks og avgrensningsboks
Ankerboks: en forhåndsdefinert mal som fungerer som referanse under objektdeteksjon;
Avgrensningsboks: den endelige predikerte boksen etter at justeringer er gjort på en ankerboks for å tilpasses det faktiske objektet.
I motsetning til avgrensningsbokser, som justeres dynamisk under prediksjon, er ankerbokser faste på bestemte posisjoner før objektdeteksjon finner sted. Modeller lærer å forbedre ankerboksene ved å justere størrelse, posisjon og sideforhold, og omdanner dem til slutt til endelige avgrensningsbokser som nøyaktig representerer de oppdagede objektene.
Hvordan et nettverk genererer ankerbokser
Ankerbokser brukes ikke direkte på et bilde, men på funksjonskart som er hentet ut fra bildet. Etter funksjonsekstraksjon plasseres et sett med ankerbokser på disse funksjonskartene, med varierende størrelse og sideforhold. Valg av form på ankerbokser er avgjørende og innebærer en balanse mellom å oppdage små og store objekter.
For å definere størrelser på ankerbokser benytter modeller vanligvis en kombinasjon av manuell utvelgelse og klyngingsalgoritmer som K-Means for å analysere datasettet og finne de vanligste objekttypene og -størrelsene. Disse forhåndsdefinerte ankerboksene brukes deretter på ulike steder i funksjonskartene. For eksempel kan en objektdeteksjonsmodell bruke ankerbokser med størrelsene (16x16), (32x32), (64x64)
, med sideforhold som 1:1, 1:2, and 2:1
.
Når disse ankerboksene er definert, brukes de på funksjonskartene, ikke det originale bildet. Modellen tildeler flere ankerbokser til hver posisjon i funksjonskartet, slik at ulike former og størrelser dekkes. Under trening justerer nettverket ankerboksene ved å forutsi forskyvninger, og forbedrer dermed størrelse og posisjon for å tilpasse dem bedre til objektene.
Fra ankerboks til avgrensningsboks
Når ankerbokser er tilordnet objekter, forutsier modellen forskyvninger for å forbedre dem. Disse forskyvningene inkluderer:
Justering av boksens sentrumkoordinater;
Skalering av bredde og høyde;
Forskyvning av boksen for bedre tilpasning til objektet.
Ved å bruke disse transformasjonene konverterer modellen ankerbokser til endelige avgrensningsbokser som ligger tett opptil objektene i et bilde.
Tilnærminger som ikke bruker ankerbokser eller reduserer antallet
Selv om ankerbokser er mye brukt, forsøker noen modeller å redusere avhengigheten av dem eller eliminere dem helt:
Ankerfrie metoder: modeller som
CenterNet
ogFCOS
predikerer objekters posisjoner direkte uten forhåndsdefinerte ankerbokser, noe som reduserer kompleksiteten;Reduserte anker-tilnærminger:
EfficientDet
ogYOLOv4
optimaliserer antallet ankerbokser som brukes, og balanserer deteksjonshastighet og nøyaktighet.
Disse tilnærmingene har som mål å forbedre effektiviteten i objektdeteksjon samtidig som høy ytelse opprettholdes, spesielt for sanntidsapplikasjoner.
Oppsummert er ankerbokser en viktig del av objektdeteksjon, og hjelper modeller med å oppdage objekter effektivt på tvers av ulike størrelser og sideforhold. Nye fremskritt utforsker imidlertid måter å redusere eller eliminere ankerbokser for enda raskere og mer fleksibel deteksjon.
1. Hva er hovedrollen til ankerbokser i objektdeteksjon?
2. Hvordan skiller ankerbokser seg fra avgrensningsbokser?
3. Hvilken metode brukes vanligvis for å bestemme optimale størrelser på ankerbokser?
Takk for tilbakemeldingene dine!