Kursinnehåll
Grundläggande Datorseende
Grundläggande Datorseende
Förutsägelser av Avgränsningsrutor
Avgränsningsrutor är avgörande för objektigenkänning och används för att markera objektens positioner. Objektigenkänningsmodeller använder dessa rutor för att definiera position och dimensioner för detekterade objekt i en bild. Noggrann förutsägelse av avgränsningsrutor är grundläggande för tillförlitlig objektigenkänning.
Hur CNN:er förutsäger koordinater för avgränsningsrutor
Konvolutionella neurala nätverk (CNN:er) bearbetar bilder genom lager av konvolutioner och pooling för att extrahera egenskaper. För objektigenkänning genererar CNN:er feature maps som representerar olika delar av en bild. Förutsägelse av avgränsningsrutor uppnås vanligtvis genom:
Extrahering av egenskapsrepresentationer från bilden;
Tillämpning av en regressionsfunktion för att förutsäga koordinater för avgränsningsrutor;
Klassificering av de detekterade objekten inom varje ruta.
Förutsägelser för avgränsningsrutor representeras som numeriska värden som motsvarar:
(x, y): koordinaterna för rutans centrum;
(w, h): rutans bredd och höjd.
Exempel: Förutsägelse av avgränsningsrutor med en förtränad modell
Istället för att träna en CNN från grunden kan en förtränad modell som Faster R-CNN från TensorFlows model zoo användas för att förutsäga avgränsningsrutor på en bild. Nedan visas ett exempel på hur man laddar en förtränad modell, laddar en bild, gör förutsägelser och visualiserar avgränsningsrutorna med klassetiketter.
Importera bibliotek
Ladda modell och bild
Förbehandla bilden
Gör en förutsägelse och extrahera egenskaper för avgränsningsrutor
Rita avgränsningsrutor
Visualisera
Resultat:
Regressionsbaserade förutsägelser av avgränsningsrutor
Ett tillvägagångssätt för att förutsäga avgränsningsrutor är direkt regression, där ett CNN returnerar fyra numeriska värden som representerar boxens position och storlek. Modeller som YOLO (You Only Look Once) använder denna teknik genom att dela upp en bild i ett rutnät och tilldela förutsägelser av avgränsningsrutor till rutnätsceller.
Direkt regression har dock begränsningar:
Svårigheter med objekt av varierande storlekar och proportioner;
Hanterar inte överlappande objekt effektivt;
Avgränsningsrutor kan förskjutas oförutsägbart, vilket leder till inkonsekvenser.
Anchor-baserade vs. anchor-fria metoder
Anchor-baserade metoder
Anchor-rutor är fördefinierade avgränsningsrutor med fasta storlekar och proportioner. Modeller som Faster R-CNN och SSD (Single Shot MultiBox Detector) använder anchor-rutor för att förbättra förutsägelseprecisionen. Modellen förutsäger justeringar av anchor-rutor istället för att förutsäga avgränsningsrutor från grunden. Denna metod fungerar bra för att detektera objekt i olika skalor men ökar den beräkningsmässiga komplexiteten.
Anchor-fria metoder
Anchor-fria metoder, såsom CenterNet och FCOS (Fully Convolutional One-Stage Object Detection), eliminerar fördefinierade anchor-rutor och förutspår istället objektens centrum direkt. Dessa metoder erbjuder:
Enklare modellarkitekturer;
Snabbare inferenshastigheter;
Förbättrad generalisering till okända objektstorlekar.
Förutsägelse av begränsningsrutor är en viktig komponent inom objektdetektering, och olika tillvägagångssätt balanserar noggrannhet och effektivitet. Medan anchor-baserade metoder förbättrar precisionen genom att använda fördefinierade former, förenklar anchor-fria metoder detekteringen genom att direkt förutsäga objektens positioner. Förståelse för dessa tekniker hjälper till att utforma bättre objektdetekteringssystem för olika verkliga tillämpningar.
1. Vilken information innehåller vanligtvis en förutsägelse av en begränsningsruta?
2. Vad är den främsta fördelen med ankare-baserade metoder inom objektigenkänning?
3. Vilken utmaning möter direkt regression vid prediktion av begränsningsrutor?
Tack för dina kommentarer!