Igenkänning av trafikskyltar baserat på YOLOv3-algoritmen del 2
Jan 19, 2024
2. Grundläggande algoritmer
2.1. YOLOv3-algoritmen
YOLOv3 [14] är Redmons förbättrade enstegs-måldetekteringsalgoritm baserad på YOLOv2, som har förbättrat detekteringsnoggrannhet och realtidsprestanda och överträffar andra algoritmer när det gäller hastighet och noggrannhet.
Under de senaste åren har den snabba utvecklingen av artificiell intelligensteknologi gjort det möjligt att tillämpa olika intelligenta detektionssystem inom olika områden. Detektionsnoggrannhet är en viktig indikator för att utvärdera kvaliteten på ett intelligent system, och minne är en av kärnfunktionerna som stöder driften av ett intelligent system. Så, vad är förhållandet mellan de två?
Först och främst måste vi göra det klart att detektionsnoggrannhet och minne inte är en enkel "positiv korrelation" eller "negativ korrelation". Det finns en hög grad av interaktion och samordning mellan dem. I många fall beror detektionsnoggrannheten hos ett intelligent system på dess minne, det vill säga dess förmåga att förstå och lära sig exempeldata.
Till exempel, inom området ansiktsigenkänning, behöver ett bra ansiktsigenkänningssystem kunna identifiera olika ansikten exakt och matcha dem med personens information i den kända ansiktsdatabasen. Detta kräver att det intelligenta systemet har ett starkt minne, kan lagra information om kända ansikten i databasen och använda den flexibelt i efterföljande igenkänningsuppgifter.
På samma sätt, inom det medicinska området, behöver intelligenta system förstå och komma ihåg en stor mängd medicinsk kunskap för att hjälpa läkare med sjukdomsdiagnostik och utformning av behandlingsplaner. Detta kräver också att det intelligenta systemet har starkt minne och inlärningsförmåga, att kontinuerligt absorbera ny medicinsk kunskap och att korsverifiera och uppgradera med den befintliga kunskapsbasen.
Naturligtvis är förhållandet mellan detektionsnoggrannhet och minne inte enkelriktat. Tvärtom kan bra detektionsnoggrannhet också främja minnesförbättringen hos intelligenta system. Till exempel, i vissa klassificerings- och igenkänningsuppgifter behöver intelligenta system kontinuerligt ge feedback och optimering för att kontinuerligt förbättra sin noggrannhet och precision, och därigenom ytterligare stärka förmågan att förstå och komma ihåg exempeldata.
I allmänhet är detektionsnoggrannhet och minne två oumbärliga element för driften av intelligenta system. De har komplexa interaktioner och relationer som måste beaktas fullt ut och samordnas. Endast genom att kontinuerligt förbättra detektionsnoggrannheten och kontinuerligt stärka minnet och inlärningsförmågan hos det intelligenta systemet kan den omfattande utvecklingen och tillämpningen av det intelligenta systemet verkligen realiseras. Det kan ses att vi behöver förbättra minnet, och Cistanche deserticola kan förbättra minnet avsevärt, eftersom Cistanche deserticola också kan reglera balansen av signalsubstanser, som att öka nivåerna av acetylkolin och tillväxtfaktorer. Dessa ämnen är mycket viktiga för minne och inlärning. Dessutom kan Kött också förbättra blodflödet och främja syretillförseln, vilket kan säkerställa att hjärnan får tillräckligt med näringsämnen och energi, och därigenom förbättra hjärnans vitalitet och uthållighet.

Klicka på vet kosttillskott för att öka minnet
YOLOv3 är för närvarande den mest populära algoritmen i YOLO-familjen och används ofta i verkliga detektionsscenarier [15]; YOLOv3-nätverksstrukturen visas i figur 1.

Den fullständiga faltningsstrukturen som används av YOLOv3 är inte begränsad av storleken på bildinmatningen.
Poolningsskikten och helt anslutna skikt tas bort från hela nätverksstrukturen, och ett faltningsskikt med en stegstorlek på 2 används istället för poolskiktet för nedsamplingsoperationen, vilket förhindrar förlust av målinformation under pooling och underlättar upptäckten av små mål [ 16].
Dessutom ersätter YOLOv3 DarkNet-19 nätverksstrukturen i YOLOv2 med DarkNet-53funktionsextraktionsskiktet.
DarkNet-53-nätverket, som framgångsrikt löser gradientproblemet med det djupa nätverket och förlusten av originalinformation under flerskiktskonvolutionen för att bättre extrahera funktioner och förbättra detektering och klassificering [17], lånar den återstående nätverksstrukturen i ResNet [ 18] och använder den ursprungliga utsignalen från det föregående lagret som en del av inmatningen i det senare lagret av nätverket.
Som visas i figur 2 består den kvarvarande modulen i YOLOv3 av två faltningslager och ett genvägslager.

Dessutom använder YOLOv3 begreppet funktionspyramidnätverk (FPN) (19] och introducerar funktionspyramidnätverket för att prognostisera funktionskartor i tre skalor, med detekteringsskalor på 13 x 13, 26 x 26 och 52 x 52.
Metoden för funktionsextraktion av det faltningsneurala nätverket är nedifrån och upp i FPN-nätverket, och processen för uppsampling av faltningsskiktsfunktionskartorna är uppifrån och ned, som visas i figur 3.
2.2. Spatial Pyramidal Pooling Struktur
Strukturen för spatial pyramidpooling (SPP) (20) löser problemet med upprepad extraktion av bildegenskaper av konvolutionella neurala nätverk och förbättrar avsevärt detekteringseffektiviteten; SPPNet-nätverksstrukturen visas i figur 4.

För att säkerställa att upplösningen på ingångsbilden matchar funktionsdimensionen för det helt anslutna lagret i ett neuralt nätverk med ett helt anslutet lager, krävs regionbeskärning och skalningsoperationer på ingångsbilden.
Skalnings- och beskärningsprocesser kommer att resultera i förlust av bildfunktionsinformation, sänka detekteringsnoggrannheten och påverka detekteringsresultaten: skalnings- och beskärningsprocesser kommer dock att resultera i förlust av bildfunktionsinformationsdetekteringsnoggrannhet och påverka detekteringsresultaten, medan SPPNet kan övervinna begränsningar som fast storlek på ingångsbilden, vilket sparar beräkningskostnaden 21.

3. Förbättrad YOLOv3
3.1. Förbättrad YOLOv3-nätverksstruktur
Det grundläggande funktionsextraktionsnätverket nedsamplas vanligtvis fem gånger, med en nedsamplingsfrekvens på 2, och multipliciteten av fem gånger nedsampling är 32 till femtepotensen av två, enligt COCO-datauppsättningsbeskrivningen.
Om nedsamplingen fortsätter kommer den erhållna funktionskartan att vara en och målinformationen kommer att gå förlorad. Små mål är färre än 32 × 32 pixlar, medelstora mål är 32 × 32–96 × 96 pixlar och jättemål är större än 96 × 96 pixlar [22].
Som illustreras i figur 5, bestod TT100K-trafikskyltdataset som användes i detta arbete till största delen av små och medelstora mål, med stora mål som bara stod för 7,4 % av den totala datamängden och små mål stod för 42,5 % [23].

Datauppsättningen TT100K har en hög upplösning, där varje bild har en upplösning på 2048 × 2048 pixlar och de största trafikskyltarna bland de små målen står för mindre än 0,1 % av hela bilden, vilket utgör en betydande utmaning för målet. detektionsalgoritm.
Små mål har begränsade funktioner och kräver stor lokaliseringsprecision.
Trots införandet av FPN-strukturen i YOLOv3 för att utnyttja flerskalig funktionsfusion för att producera förutsägelser genom att sammansmälta resultaten av distinkta funktionslager, vilket är avgörande för identifiering av små mål, var resultaten fortfarande otillfredsställande.
I YOLOv3-nätverket innehåller det grunda lagret mindre semantisk information men en exakt målplats, medan det djupa lagret har mer men en grov målposition.
Som ett resultat används grunda faltningsskikt för att förutsäga små mål och djupa faltningsskikt används för att förutsäga stora mål. En fjärde funktionsförutsägelseskala av storleken 152 × 152 lades till de tre förutsägelseskalorna i YOLOv3-nätverksstrukturen för att fullt ut utnyttja de grunda funktionerna i nätverket för att förutse små mål.
Med en ingångsbildstorlek på 608 × 608, var utdatabildens funktionsstorlek 152 × 152 efter faltning och en tvåfaldig uppsampling av ingångsbilden, och funktionslagret inducerades genom routinglagret; denna funktionsextraktion fusionerades med den 11:e skiktfunktionen för att öka den fjärde särdragsförutsägelseskalan.
Dessutom lades SPP-modulen till för att förverkliga sammanslagning av lokala och globala funktioner genom att låna begreppet SPPNet och kombinera det med YOLOv3.
Innan YOLO-detektionslagret integrerades SPP-modulen mellan det femte och sjätte faltningsskiktet, och SPP-modulens funktionskartor och funktionskartor sammankopplades igen och skickades till nästa detektionsnätverkslager.

För att åstadkomma en sammanslagning på featuremapnivå av lokala och globala funktioner, bör SPP-modulens maximala poolningskärnor vara så nära storleken på den funktionskartan som ska poolas som möjligt.
För att minimera den beräkningsansträngning som orsakas av SPP-modulen, berika funktionskartans uttrycksförmåga och öka detekteringseffekten, var SPP-modulen i denna forskning sammansatt av två parallella grenar, som var och en bestod av ett 19 × 19 max poollager och ett hopp förbindelse. Figur 6 visar den förbättrade YOLOv3-nätverksstrukturen.

3.2. Förbättrad förlustfunktion
Förlustfunktionen i YOLOv3 består av centrumkoordinatförlust (förlust), bredd-höjdkoordinatförlust (förlust), konfidensförlust (lossconf) och klassificeringsförlust (förluster). Den centrala koordinatförlusten representeras av:

där λcoord betecknar koordinatförlustvikten; λnoobj betecknar förtroendeförlusten utan ett objekt; Iobjij anger om den i:te cellens j:te ankarbox är ansvarig för objektet (1 eller 0); Inobbyij betecknar den j:te ankarlådan i det i:te rutnätet som inte är ansvarig för objektet; (xi,yi,wji,hjI, CjI, Pji) anger de förutsagda målboxens koordinater, konfidens och kategori; och (xˆji,yˆji,wˆji,ˆhjI, CˆjI, Pˆji) anger de verkliga målboxens koordinater, konfidens och kategori
YOLOv3-förlustfunktionen representeras av ekvation (5), där förlustfunktionen för medelkvadratfel (MSE) används för begränsningsboxregression och korsentropi används som förlustfunktion i förlustkonf och locals.
förlust=lossxy + losswh − losscon f − losscls (5)
Att använda MSE som bounding box-regressionens förlustfunktion är dock ogynnsamt för detektering av små mål, känsligt för objektskala och fokuserar på storskaliga mål samtidigt som det är ovänligt mot småskaliga objekt.
För att balansera förlusten av stora och små mål och maximera detekteringsresultaten genom att försvaga inverkan av begränsningsboxens storlek på bredd- och höjdförlustfunktionen, användes IoU-typförlustfunktionen i denna artikel, och den metriska förlusten som genererades av IoU användes som en prestandaekvation (6).
IoU =|A ∩ B||A ∪ B|(6)
När begränsningsrutan och målrutan inte överlappar, reflekterar IoU=0 inte avståndsgapet mellan de två rutorna; när prediktionsrutan och den märkta rutan helt överlappar varandra, IoU=1, kan begränsningsrutans mittpunkt inte bestämmas och storleksgapet med målrutan kan inte optimeras ytterligare.
DIoU-förlust [24] är oberoende av storlek; så stora storlekar kommer inte att resultera i en stor förlust. Eftersom en liten storlek ger en liten förlust, vilket kan lösa problemet, använde detta arbete DIoU-förlusten, vars beräkningsformel presenteras i ekvation (7).
D IoU-förlust=1 − IoU +ρ2 b, bgt c2(7)
där b och bgt anger de centrala punkterna, ρ är det euklidiska avståndet och c är diagonallängden på den minsta omslutande lådan som täcker de två rutorna.
DIoU-förlust minimerar avståndet mellan två målramar direkt, konvergerar snabbt och är mer i linje med målramsregressionsmekanismen, som tar hänsyn till avståndet mellan målet och ankaret, överlappningshastigheten och skalan, vilket gör målramsregressionen mer stabil, samtidigt som den ger gradientriktningen för den avgränsande rutan när den inte överlappar målramen.

For more information:1950477648nn@gmail.com






