stomp YOLOv7: het meest geavanceerde algoritme voor objectdetectie? - Verenig AI
Verbind je met ons

Artificial Intelligence

YOLOv7: het meest geavanceerde algoritme voor objectdetectie?

mm

gepubliceerd

 on

6 juli 2022 zal worden aangemerkt als een mijlpaal in de AI-geschiedenis, omdat het op deze dag was dat YOLOv7 werd uitgebracht. Sinds de lancering is de YOLOv7 het populairste onderwerp in de Computer Vision-ontwikkelaarsgemeenschap, en om de juiste redenen. YOLOv7 wordt nu al beschouwd als een mijlpaal in de objectdetectie-industrie. 

Kort na de YOLOv7 paper werd gepubliceerd, het bleek het snelste en meest nauwkeurige real-time objectdetectiemodel te zijn. Maar hoe overtreft YOLOv7 zijn voorgangers? Wat maakt YOLOv7 zo efficiënt bij het uitvoeren van computervisietaken? 

In dit artikel zullen we proberen het YOLOv7-model te analyseren en proberen het antwoord te vinden op de vraag waarom YOLOv7 nu de industriestandaard wordt? Maar voordat we daar antwoord op kunnen geven, zullen we de korte geschiedenis van objectdetectie moeten bekijken. 

Wat is objectdetectie?

Objectdetectie is een tak in computervisie dat objecten in een afbeelding of een videobestand identificeert en lokaliseert. Objectdetectie is de bouwsteen van tal van toepassingen, waaronder zelfrijdende auto's, bewaakte bewaking en zelfs robotica. 

Een objectdetectiemodel kan in twee verschillende categorieën worden ingedeeld, single-shot detectoren, en multi-shot detectoren. 

Realtime objectdetectie

Om echt te begrijpen hoe YOLOv7 werkt, is het essentieel voor ons om het hoofddoel van YOLOv7 te begrijpen, "Realtime objectdetectie”. Realtime objectdetectie is een belangrijk onderdeel van moderne computervisie. De Real Time Object Detection-modellen proberen interessante objecten in realtime te identificeren en te lokaliseren. Modellen voor real-time objectdetectie maakten het voor ontwikkelaars erg efficiënt om interessante objecten te volgen in een bewegend frame, zoals een video, of een live bewakingsinvoer. 

Modellen voor real-time objectdetectie zijn in wezen een stap voor op de conventionele modellen voor beelddetectie. Terwijl de eerste wordt gebruikt om objecten in videobestanden te volgen, lokaliseert en identificeert de laatste objecten binnen een stilstaand frame zoals een afbeelding. 

Als gevolg hiervan zijn Real Time Object Detection-modellen zeer efficiënt voor videoanalyse, autonome voertuigen, het tellen van objecten, het volgen van meerdere objecten en nog veel meer. 

Wat is YOLO?

YOLO of "Je kijkt maar één keer” is een familie van real-time objectdetectiemodellen. Het YOLO-concept werd voor het eerst geïntroduceerd in 2016 door Joseph Redmon, en het was vrijwel meteen het gesprek van de dag omdat het veel sneller en veel nauwkeuriger was dan de bestaande algoritmen voor objectdetectie. Het duurde niet lang voordat het YOLO-algoritme een standaard werd in de computer vision-industrie. 

Het fundamentele concept dat het YOLO-algoritme voorstelt, is het gebruik van een end-to-end neuraal netwerk met behulp van begrenzingsvakken en klassekansen om in realtime voorspellingen te doen. YOLO verschilde van het vorige objectdetectiemodel in die zin dat het een andere benadering voorstelde om objectdetectie uit te voeren door classificaties opnieuw te gebruiken. 

De verandering in aanpak werkte, aangezien YOLO al snel de industriestandaard werd, aangezien de prestatiekloof tussen zichzelf en andere algoritmen voor real-time objectdetectie aanzienlijk was. Maar wat was de reden waarom YOLO zo efficiënt was? 

In vergelijking met YOLO gebruikten objectdetectie-algoritmen destijds Region Proposal Networks om mogelijke interessegebieden te detecteren. Het herkenningsproces werd vervolgens op elke regio afzonderlijk uitgevoerd. Als gevolg hiervan voerden deze modellen vaak meerdere iteraties uit op dezelfde afbeelding, en vandaar het gebrek aan nauwkeurigheid en een hogere uitvoeringstijd. Aan de andere kant gebruikt het YOLO-algoritme een enkele volledig verbonden laag om de voorspelling in één keer uit te voeren. 

Hoe werkt YOLO?

Er zijn drie stappen die uitleggen hoe een YOLO-algoritme werkt. 

Herkaderen van objectdetectie als een enkelvoudig regressieprobleem

De Het YOLO-algoritme probeert objectdetectie te herformuleren als een enkelvoudig regressieprobleem, inclusief afbeeldingspixels, naar klassekansen en coördinaten van begrenzingskaders. Daarom hoeft het algoritme slechts één keer naar de afbeelding te kijken om de doelobjecten in de afbeeldingen te voorspellen en te lokaliseren. 

Redenen de afbeelding wereldwijd

Voorts wanneer het YOLO-algoritme voorspellingen doet, redeneert het de afbeelding globaal. Het is anders dan op regiovoorstellen gebaseerde en glijdende technieken, aangezien het YOLO-algoritme het volledige beeld ziet tijdens het trainen en testen van de dataset, en in staat is om contextuele informatie over de klassen en hoe ze verschijnen te coderen. 

Vóór YOLO was Fast R-CNN een van de meest populaire algoritmen voor objectdetectie die de grotere context in de afbeelding niet konden zien omdat het achtergrondvlakken in een afbeelding voor een object aanzag. In vergelijking met het Fast R-CNN-algoritme is YOLO 50% nauwkeuriger als het gaat om achtergrondfouten. 

Generaliseert weergave van objecten

Ten slotte beoogt het YOLO-algoritme ook de representaties van objecten in een afbeelding te generaliseren. Als gevolg hiervan presteerde YOLO, toen een YOLO-algoritme werd uitgevoerd op een dataset met natuurlijke afbeeldingen en getest op de resultaten, ruimschoots beter dan bestaande R-CNN-modellen. Omdat YOLO zeer generaliseerbaar is, was de kans klein dat het kapot ging wanneer het werd geïmplementeerd op onverwachte input of nieuwe domeinen. 

YOLOv7: Wat is er nieuw?

Nu we een basiskennis hebben van wat real-time objectdetectiemodellen zijn en wat het YOLO-algoritme is, is het tijd om het YOLOv7-algoritme te bespreken. 

Optimaliseren van het opleidingsproces

Het YOLOv7-algoritme probeert niet alleen de modelarchitectuur te optimaliseren, maar richt zich ook op het optimaliseren van het trainingsproces. Het is gericht op het gebruik van optimalisatiemodules en -methoden om de nauwkeurigheid van objectdetectie te verbeteren, de trainingskosten te verhogen en tegelijkertijd de interferentiekosten te behouden. Deze optimalisatiemodules kunnen worden aangeduid als een trainbare zak met freebies. 

Begeleide labeltoewijzing van grof naar fijn lood

Het YOLOv7-algoritme is van plan om een ​​nieuwe Coarse to Fine Lead Guided Label Assignment te gebruiken in plaats van de conventionele Dynamische labeltoewijzing. Het is zo omdat bij dynamische labeltoewijzing het trainen van een model met meerdere uitvoerlagen een aantal problemen veroorzaakt, waarvan de meest voorkomende is hoe dynamische doelen voor verschillende branches en hun uitvoer moeten worden toegewezen. 

Model opnieuw parametreren

Het herparametriseren van modellen is een belangrijk concept bij objectdetectie en het gebruik ervan leidt over het algemeen tot enkele problemen tijdens de training. Het YOLOv7-algoritme is van plan het concept van te gebruiken gradiëntvoortplantingspad om het herparametrisatiebeleid van het model te analyseren toepasbaar op verschillende lagen in het netwerk. 

Verleng en samengestelde schaling

Het YOLOv7-algoritme introduceert ook de uitgebreide en samengestelde schalingsmethoden om de parameters en berekeningen voor real-time objectdetectie te gebruiken en effectief te gebruiken. 

YOLOv7: gerelateerd werk

Realtime objectdetectie

YOLO is momenteel de industriestandaard en de meeste real-time objectdetectoren maken gebruik van YOLO-algoritmen en FCOS (Fully Convolutional One-Stage Object-Detection). Een state-of-the-art real-time objectdetector heeft meestal de volgende kenmerken

  • Sterkere en snellere netwerkarchitectuur. 
  • Een effectieve functie-integratiemethode. 
  • Een nauwkeurige objectdetectiemethode. 
  • Een robuuste verliesfunctie. 
  • Een efficiënte methode voor het toewijzen van labels. 
  • Een efficiënte trainingsmethode. 

Het YOLOv7-algoritme maakt geen gebruik van leer- en destillatiemethoden onder zelftoezicht waarvoor vaak grote hoeveelheden gegevens nodig zijn. Omgekeerd gebruikt het YOLOv7-algoritme een trainbare bag-of-freebies-methode. 

Model opnieuw parametreren

Technieken voor het opnieuw parametreren van modellen worden beschouwd als een ensembletechniek die meerdere rekenmodules samenvoegt in een interferentietrap. De techniek kan verder worden onderverdeeld in twee categorieën, ensemble op modelniveau, en ensemble op moduleniveau. 

Om nu het uiteindelijke interferentiemodel te verkrijgen, gebruikt de herparameterisatietechniek op modelniveau twee praktijken. De eerste oefening gebruikt verschillende trainingsgegevens om talloze identieke modellen te trainen en neemt vervolgens het gemiddelde van de gewichten van de getrainde modellen. Als alternatief berekent de andere praktijk het gemiddelde van de gewichten van modellen tijdens verschillende iteraties. 

Herparameterisering op moduleniveau wint de laatste tijd enorm aan populariteit omdat het een module opsplitst in verschillende moduletakken, of verschillende identieke takken tijdens de trainingsfase, en vervolgens deze verschillende takken gaat integreren in een equivalente module terwijl er interferentie optreedt. 

Herparameteriseringstechnieken kunnen echter niet op alle soorten architectuur worden toegepast. Het is de reden waarom de Het YOLOv7-algoritme gebruikt nieuwe technieken voor het opnieuw parametreren van modellen om gerelateerde strategieën te ontwerpen geschikt voor verschillende architecturen. 

Modelschaling

Modelschaling is het proces waarbij een bestaand model omhoog of omlaag wordt geschaald, zodat het op verschillende computerapparaten past. Modelschaling gebruikt over het algemeen verschillende factoren, zoals het aantal lagen (diepte), grootte van invoerafbeeldingen (resolutie), aantal kenmerkpiramides(stadium), en aantal kanalen(Breedte). Deze factoren spelen een cruciale rol bij het waarborgen van een evenwichtige afweging van netwerkparameters, interferentiesnelheid, berekening en nauwkeurigheid van het model. 

Een van de meest gebruikte schaalmethoden is NAS of netwerkarchitectuur zoeken die automatisch zoekt naar geschikte schaalfactoren van zoekmachines zonder ingewikkelde regels. Het grote nadeel van het gebruik van de NAS is dat het een dure benadering is voor het zoeken naar geschikte schaalfactoren. 

Vrijwel elk herparameteriseringsmodel analyseert individuele en unieke schaalfactoren onafhankelijk en optimaliseert deze factoren zelfs onafhankelijk. Dit komt omdat de NAS-architectuur werkt met niet-gecorreleerde schaalfactoren. 

Het is vermeldenswaard dat op aaneenschakeling gebaseerde modellen zoals VoVNet or Dichte Net verander de invoerbreedte van een paar lagen wanneer de diepte van de modellen wordt geschaald. YOLOv7 werkt aan een voorgestelde op concatenatie gebaseerde architectuur en gebruikt daarom een ​​samengestelde schaalmethode.

Bovenstaande figuur vergelijkt de uitgebreide efficiënte laagaggregatienetwerken (E-ELAN) van verschillende modellen. De voorgestelde E-ELAN-methode handhaaft het gradiënttransmissiepad van de oorspronkelijke architectuur, maar heeft tot doel de cardinaliteit van de toegevoegde kenmerken te vergroten met behulp van groepsconvolutie. Het proces kan de functies die door verschillende kaarten worden geleerd, verbeteren en kan het gebruik van berekeningen en parameters verder efficiënter maken. 

YOLOv7 Architectuur

Het YOLOv7-model gebruikt de YOLOv4-, YOLO-R- en de Scaled YOLOv4-modellen als basis. De YOLOv7 is het resultaat van de experimenten die op deze modellen zijn uitgevoerd om de resultaten te verbeteren en het model nauwkeuriger te maken. 

Uitgebreid Efficient Layer Aggregation Network of E-ELAN

E-ELAN is de fundamentele bouwsteen van het YOLOv7-model en is afgeleid van reeds bestaande modellen over netwerkefficiëntie, voornamelijk de ELAN. 

De belangrijkste overwegingen bij het ontwerpen van een efficiënte architectuur zijn het aantal parameters, de rekendichtheid en de hoeveelheid rekenwerk. Andere modellen houden ook rekening met factoren zoals de invloed van de input/output-kanaalverhouding, vertakkingen in het architectuurnetwerk, netwerkinterferentiesnelheid, aantal elementen in de tensoren van convolutioneel netwerk en meer. 

De CSPVoNet Het model houdt niet alleen rekening met de bovengenoemde parameters, maar analyseert ook het gradiëntpad om meer diverse kenmerken te leren door de gewichten van verschillende lagen in te schakelen. Door de benadering kunnen de interferenties veel sneller en nauwkeuriger zijn. De ELAN architectuur is gericht op het ontwerpen van een efficiënt netwerk om het kortste langste gradiëntpad te beheersen, zodat het netwerk effectiever kan leren en convergeren. 

ELAN heeft al een stabiele fase bereikt, ongeacht het aantal rekenblokken en de lengte van het gradiëntpad. De stabiele toestand kan worden vernietigd als rekenblokken onbeperkt worden gestapeld, en de parametergebruikssnelheid zal afnemen. De voorgestelde E-ELAN-architectuur kan het probleem oplossen, aangezien het gebruik maakt van uitbreiding, shuffling en samenvoeging van kardinaliteit om het leervermogen van het netwerk continu te verbeteren met behoud van het oorspronkelijke gradiëntpad. 

Bovendien, bij het vergelijken van de architectuur van E-ELAN met ELAN, het enige verschil zit in het rekenblok, terwijl de architectuur van de overgangslaag ongewijzigd is. 

E-ELAN stelt voor om de kardinaliteit van de rekenblokken uit te breiden en het kanaal uit te breiden door te gebruiken groepsconvolutie. De functiekaart wordt vervolgens berekend en in groepen geschud volgens de groepsparameter, en vervolgens samengevoegd. Het aantal kanalen in elke groep blijft hetzelfde als in de originele architectuur. Ten slotte zullen de groepen feature maps worden toegevoegd om kardinaliteit uit te voeren. 

Modelschaling voor op aaneenschakeling gebaseerde modellen

Modelschaling helpt hierbij attributen van de modellen aanpassen dat helpt bij het genereren van modellen volgens de vereisten, en van verschillende schalen om aan de verschillende interferentiesnelheden te voldoen. 

De figuur spreekt over modelschaling voor verschillende op aaneenschakeling gebaseerde modellen. Zoals u in figuur (a) en (b) kunt zien, neemt de uitvoerbreedte van het rekenblok toe met een toename van de diepteschaling van de modellen. Als resultaat wordt de invoerbreedte van de transmissielagen vergroot. Als deze methoden worden geïmplementeerd op een op aaneenschakeling gebaseerde architectuur, wordt het schaalproces diepgaand uitgevoerd en wordt het weergegeven in afbeelding (c). 

Er kan dus worden geconcludeerd dat het niet mogelijk is om de schaalfactoren onafhankelijk van elkaar te analyseren voor op aaneenschakeling gebaseerde modellen, en dat ze eerder samen moeten worden overwogen of geanalyseerd. Daarom, voor een op aaneenschakeling gebaseerd model, het is geschikt om de overeenkomstige schaalmethode voor samengestelde modellen te gebruiken. Als de dieptefactor wordt geschaald, moet bovendien het uitvoerkanaal van het blok ook worden geschaald. 

Trainable zak met freebies 

Een zak met gratis geschenken is een term die ontwikkelaars gebruiken om te beschrijven een reeks methoden of technieken die de trainingsstrategie of kosten kunnen veranderen in een poging de modelnauwkeurigheid te vergroten. Dus wat zijn deze trainbare tassen met freebies in YOLOv7? Laten we eens kijken. 

Geplande opnieuw geparametriseerde convolutie

Het YOLOv7-algoritme gebruikt gradiëntstroomvoortplantingspaden om te bepalen hoe je een netwerk idealiter combineert met de opnieuw geparametriseerde convolutie. Deze aanpak van YOLov7 is een poging om tegen te gaan RepConv-algoritme dat, hoewel het sereen heeft gepresteerd op het VGG-model, slecht presteert wanneer het rechtstreeks wordt toegepast op de DenseNet- en ResNet-modellen. 

Om de verbindingen in een convolutionele laag te identificeren, de Het RepConv-algoritme combineert 3×3 convolutie en 1×1 convolutie. Als we het algoritme, de prestaties en de architectuur analyseren, zullen we zien dat RepConv de aaneenschakeling in DenseNet en het residu in ResNet

De afbeelding hierboven toont een gepland opnieuw geparametriseerd model. Het is te zien dat het YOLov7-algoritme ontdekte dat een laag in het netwerk met aaneenschakeling of resterende verbindingen geen identiteitsverbinding zou moeten hebben in het RepConv-algoritme. Als gevolg hiervan is het acceptabel om te schakelen met RepConvN zonder identiteitsverbindingen. 

Grof voor hulp en fijn voor loodverlies

Diep toezicht is een tak in de informatica die vaak wordt gebruikt in het trainingsproces van diepe netwerken. Het grondbeginsel van diepgaand toezicht is dat het voegt een extra hulpkop toe in de middelste lagen van het netwerk samen met de ondiepe netwerkgewichten met assistent-verlies als leidraad. Het YOLOv7-algoritme verwijst naar het hoofd dat verantwoordelijk is voor de uiteindelijke uitvoer als het leidende hoofd, en het hulphoofd is het hoofd dat helpt bij de training. 

Verderop gebruikt YOLOv7 een andere methode voor het toewijzen van labels. Gewoonlijk wordt labeltoewijzing gebruikt om labels te genereren door rechtstreeks te verwijzen naar de grondwaarheid en op basis van een bepaalde set regels. De laatste jaren speelt de verspreiding en kwaliteit van de voorspellingsinput echter een belangrijke rol bij het genereren van een betrouwbaar label. YOLOv7 genereert een zacht label van het object door de voorspellingen van het begrenzingskader en de grondwaarheid te gebruiken. 

Bovendien gebruikt de nieuwe methode voor het toewijzen van labels van het YOLOv7-algoritme de voorspellingen van de leadhead om zowel de lead als de hulphead te begeleiden. De methode voor het toewijzen van labels heeft twee voorgestelde strategieën. 

Leidde geleide labeltoewijzer

De strategie maakt berekeningen op basis van de voorspellingsresultaten van de leidende kop en de grondwaarheid, en gebruikt vervolgens optimalisatie om zachte labels te genereren. Deze zachte labels worden vervolgens gebruikt als trainingsmodel voor zowel het leidende hoofd als het hulphoofd. 

De strategie gaat uit van de veronderstelling dat, omdat de hoofdleider een groter leervermogen heeft, de labels die hij genereert representatiever moeten zijn en moeten correleren tussen de bron en het doel. 

Grof naar fijn loodkopgeleide labeltoewijzer

Deze strategie maakt ook berekeningen op basis van de voorspellingsresultaten van de leadhead en de grondwaarheid, en gebruikt vervolgens optimalisatie om zachte labels te genereren. Er is echter een belangrijk verschil. In deze strategie zijn er twee sets zachte labels, grof niveau, en fijn etiket. 

Het grove label wordt gegenereerd door de beperkingen van het positieve monster te versoepelen

toewijzingsproces dat meer rasters als positieve doelen behandelt. Dit wordt gedaan om het risico te vermijden informatie te verliezen vanwege de zwakkere leerkracht van het hulphoofd. 

De bovenstaande afbeelding legt het gebruik uit van een trainbare zak met freebies in het YOLOv7-algoritme. Het toont grof voor de hulpkop en fijn voor de loden kop. Wanneer we een model met hulpkop(b) vergelijken met het normale model (a), zien we dat het schema in (b) een hulpkop heeft, terwijl het er niet is in (a). 

Afbeelding (c) geeft de algemene onafhankelijke labeltoewijzer weer, terwijl afbeelding (d) en afbeelding (e) respectievelijk de Lead Guided Assigner en de Coarse-toFine Lead Guided Assigner vertegenwoordigen die door YOLOv7 worden gebruikt.  

Andere trainbare zak met freebies

Naast de hierboven genoemde, gebruikt het YOLOv7-algoritme extra zakken met freebies, hoewel ze oorspronkelijk niet door hen waren voorgesteld. Zij zijn

  • Batchnormalisatie in Conv-Bn-activeringstechnologie: Deze strategie wordt gebruikt om een ​​convolutionele laag rechtstreeks te verbinden met de batchnormalisatielaag. 
  • Impliciete kennis in YOLOR: De YOLOv7 combineert de strategie met de Convolutional feature map. 
  • EMA-model: Het EMA-model wordt gebruikt als een laatste referentiemodel in YOLOv7, hoewel het primair wordt gebruikt in de gemiddelde leraar-methode. 

YOLOv7: Experimenten

Experimentele opstelling

Het YOLOv7-algoritme gebruikt de Microsoft COCO dataset voor training en validatie hun objectdetectiemodel, en niet al deze experimenten gebruiken een vooraf getraind model. De ontwikkelaars gebruikten de treindataset van 2017 voor training en gebruikten de validatiedataset van 2017 voor het selecteren van de hyperparameters. Ten slotte worden de prestaties van de YOLOv7-objectdetectieresultaten vergeleken met geavanceerde algoritmen voor objectdetectie. 

Ontwikkelaars ontwierpen een basismodel voor edge-GPU (YOLOv7-tiny), normale GPU (YOLOv7) en cloud-GPU (YOLOv7-W6). Bovendien gebruikt het YOLOv7-algoritme ook een basismodel voor modelschaling volgens verschillende servicevereisten en krijgt het verschillende modellen. Voor het YOLOv7-algoritme wordt de stapelschaling op de nek uitgevoerd en worden voorgestelde verbindingen gebruikt om de diepte en breedte van het model op te schalen. 

baselines

Het YOLOv7-algoritme gebruikt eerdere YOLO-modellen en het YOLOR-objectdetectiealgoritme als basis.

De bovenstaande afbeelding vergelijkt de basislijn van het YOLOv7-model met andere objectdetectiemodellen en de resultaten zijn vrij duidelijk. In vergelijking met de YOLOv4-algoritme, YOLOv7 gebruikt niet alleen 75% minder parameters, maar gebruikt ook 15% minder berekeningen en heeft een 0.4% hogere nauwkeurigheid. 

Vergelijking met geavanceerde objectdetectormodellen

De bovenstaande afbeelding toont de resultaten wanneer YOLOv7 wordt vergeleken met geavanceerde objectdetectiemodellen voor mobiele en algemene GPU's. Er kan worden opgemerkt dat de door het YOLOv7-algoritme voorgestelde methode de beste afwegingsscore voor snelheid en nauwkeurigheid heeft. 

Ablatiestudie: voorgestelde samengestelde schaalmethode

De bovenstaande figuur vergelijkt de resultaten van het gebruik van verschillende strategieën voor het opschalen van het model. De schaalstrategie in het YOLOv7-model schaalt de diepte van het rekenblok 1.5 keer op en de breedte 1.25 keer. 

In vergelijking met een model dat alleen de diepte opschaalt, presteert het YOLOv7-model 0.5% beter terwijl het minder parameters en rekenkracht gebruikt. Aan de andere kant, in vergelijking met modellen die alleen de diepte vergroten, is de nauwkeurigheid van YOLOv7 verbeterd met 0.2%, maar het aantal parameters moet worden geschaald met 2.9% en de berekening met 1.2%. 

Voorgesteld gepland opnieuw geparametriseerd model

Om de algemeenheid van het voorgestelde opnieuw geparametriseerde model te verifiëren, heeft de Het YOLOv7-algoritme gebruikt het op op residuen gebaseerde en op aaneenschakeling gebaseerde modellen voor verificatie. Voor het verificatieproces gebruikt het YOLOv7-algoritme 3-gestapelde ELAN voor het op aaneenschakeling gebaseerde model en CSPDarknet voor op residuen gebaseerd model. 

Voor het op aaneenschakeling gebaseerde model vervangt het algoritme de 3 × 3 convolutionele lagen in het 3-gestapelde ELAN door RepConv. De onderstaande afbeelding toont de gedetailleerde configuratie van Planned RepConv en 3-stacked ELAN. 

Bovendien gebruikt het YOLOv7-algoritme bij het op residuen gebaseerde model een omgekeerd donker blok omdat het originele donkere blok geen 3 × 3 convolutieblok heeft. De onderstaande afbeelding toont de architectuur van het Reversed CSPDarknet dat de posities van de 3×3 en de 1×1 convolutionele laag omkeert. 

Voorgesteld assistent-verlies voor hulphoofd

Voor het assistent-verlies voor hulphoofd vergelijkt het YOLOv7-model de onafhankelijke labeltoewijzing voor de hulphoofd- en hoofdhoofdmethoden. 

Bovenstaande figuur bevat de resultaten van het onderzoek naar het voorgestelde hulphoofd. Het is te zien dat de algehele prestatie van het model toeneemt met een toename van het assistentenverlies. Bovendien presteert de lead-geleide labeltoewijzing voorgesteld door het YOLOv7-model beter dan onafhankelijke leadtoewijzingsstrategieën. 

YOLOv7-resultaten

Op basis van de bovenstaande experimenten is hier het resultaat van de prestaties van YOLov7 in vergelijking met andere algoritmen voor objectdetectie. 

De bovenstaande afbeelding vergelijkt het YOLOv7-model met andere objectdetectie-algoritmen, en het is duidelijk te zien dat de YOLOv7 andere objectdetectiemodellen overtreft in termen van Gemiddelde precisie (AP) versus batchinterferentie

Bovendien vergelijkt de onderstaande afbeelding de prestaties van YOLOv7 met andere algoritmen voor real-time bezwaardetectie. Nogmaals, YOLOv7 slaagt andere modellen in termen van de algehele prestaties, nauwkeurigheid en efficiëntie. 

Hier zijn enkele aanvullende observaties van de YOLOv7-resultaten en -prestaties. 

  1. De YOLOv7-Tiny is het kleinste model in de YOLO-familie, met meer dan 6 miljoen parameters. De YOLOv7-Tiny heeft een gemiddelde precisie van 35.2% en presteert beter dan de YOLOv4-Tiny-modellen met vergelijkbare parameters. 
  2. Het YOLOv7-model heeft meer dan 37 miljoen parameters en presteert beter dan modellen met hogere parameters zoals YOLov4. 
  3. Het YOLOv7-model heeft de hoogste mAP- en FPS-snelheid in het bereik van 5 tot 160 FPS. 

Conclusie

YOLO of You Only Look Once is het state-of-the-art objectdetectiemodel in moderne computervisie. Het YOLO-algoritme staat bekend om zijn hoge nauwkeurigheid en efficiëntie, en vindt daarom uitgebreide toepassing in de real-time objectdetectie-industrie. Sinds de introductie van het eerste YOLO-algoritme in 2016 hebben ontwikkelaars door experimenten het model voortdurend kunnen verbeteren. 

Het YOLOv7-model is de nieuwste toevoeging in de YOLO-familie en het is het krachtigste YOLO-algoritme tot nu toe. In dit artikel hebben we het gehad over de basisprincipes van YOLOv7 en geprobeerd uit te leggen wat YOLOv7 zo efficiënt maakt. 

"Een ingenieur van beroep, een schrijver in hart en nieren". Kunal is een technisch schrijver met een diepe liefde voor en begrip van AI en ML, toegewijd aan het vereenvoudigen van complexe concepten op deze gebieden door middel van zijn boeiende en informatieve documentatie.