Kunstmatige intelligentie

YOLOv7: De Meest Geavanceerde Objectdetectiealgoritme?

mm

6 juli 2022 zal een mijlpaal zijn in de geschiedenis van AI, omdat op deze dag YOLOv7 werd uitgebracht. Sinds de lancering is YOLOv7 het meest besproken onderwerp in de Computer Vision-ontwikkelaarsgemeenschap, en terecht.

Kort na de publicatie van het YOLOv7-artikel bleek het de snelste en meest nauwkeurige real-time objectdetectiemodel te zijn. Maar hoe overtreft YOLOv7 zijn voorgangers? Wat maakt YOLOv7 zo efficiënt in het uitvoeren van computer vision-taken?

In dit artikel zullen we proberen het YOLOv7-model te analyseren en te begrijpen waarom YOLOv7 nu de industrienorm wordt. Maar voordat we dat kunnen doen, moeten we eerst een korte geschiedenis van objectdetectie bekijken.

Wat is Objectdetectie?

Objectdetectie is een tak van computer vision die objecten in een afbeelding of een videobestand identificeert en lokaliseert. Objectdetectie is de basis voor talloze toepassingen, waaronder zelfrijdende auto’s, bewaakte surveillance en zelfs robotica.

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

Real-time Objectdetectie

Om echt te begrijpen hoe YOLOv7 werkt, is het essentieel om YOLOv7’s hoofddoel te begrijpen, “Real-time Objectdetectie”. Real-time objectdetectie is een sleutelcomponent van moderne computer vision. De real-time objectdetectiemodellen proberen objecten van interesse in real-time te identificeren en te lokaliseren. Real-time objectdetectiemodellen maken het voor ontwikkelaars erg efficiënt om objecten van interesse in een bewegend kader, zoals een video of een live-surveillance-input, te volgen.

Real-time objectdetectiemodellen zijn eigenlijk een stap verder dan de conventionele beelddetectiemodellen. Terwijl de eerste wordt gebruikt om objecten in videobestanden te volgen, lokaliseert en identificeert de laatste objecten binnen een stationair kader, zoals een afbeelding.

Als gevolg daarvan zijn real-time objectdetectiemodellen erg efficiënt voor video-analyse, autonome voertuigen, objecttelling, multi-objectvolging en nog veel meer.

Wat is YOLO?

YOLO of “U Kijkt Alleen Eenmaal” is een familie van real-time objectdetectiemodellen. Het YOLO-concept werd voor het eerst geïntroduceerd in 2016 door Joseph Redmon en was meteen het onderwerp van gesprek omdat het veel sneller en nauwkeuriger was dan de bestaande objectdetectiealgoritmen. Het duurde niet lang voordat het YOLO-algoritme de standaard werd in de computer vision-industrie.

Het fundamentale concept dat het YOLO-algoritme voorstelt, is het gebruik van een end-to-end neurale netwerk met behulp van begrenzingsvakken en klassewaarschijnlijkheden om voorspellingen in real-time te doen. YOLO was anders dan het vorige objectdetectiemodel omdat het een andere benadering voorstelde om objectdetectie uit te voeren door classificatoren opnieuw te gebruiken.

De verandering in benadering werkte, want YOLO werd al snel de industrienorm omdat het prestatieverschil tussen zichzelf en andere real-time objectdetectiealgoritmen aanzienlijk was. Maar wat was de reden waarom YOLO zo efficiënt was?

In vergelijking met YOLO gebruikten objectdetectiealgoritmen vóór YOLO Region Proposal Networks om mogelijke regio’s van interesse te detecteren. Het herkenningproces werd vervolgens uitgevoerd op elke regio afzonderlijk. Als gevolg daarvan voerden deze modellen vaak meerdere iteraties uit op hetzelfde beeld en waren ze minder nauwkeurig en hadden ze een hogere uitvoertijd. 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.

Objectdetectie Hervormen als een Enkel Regressieprobleem

Het YOLO-algoritme probeert objectdetectie te hervormen als een enkel regressieprobleem, inclusief beeldpixels, tot klassewaarschijnlijkheden en begrenzingsvakcoördinaten. Daarom hoeft het algoritme slechts één keer naar het beeld te kijken om de doelobjecten in de afbeeldingen te voorspellen en te lokaliseren.

Redenen voor het Beeld Globaal

Bovendien redeneert het YOLO-algoritme het beeld globaal wanneer het voorspellingen doet. Het is anders dan regio-gebaseerde en schuiftechnieken, omdat het YOLO-algoritme het volledige beeld ziet tijdens training en testen op 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 objectdetectiealgoritmen die de grotere context in het beeld niet konden zien omdat het achtergrondpatches in een afbeelding voor een object aanzag. YOLO is 50% nauwkeuriger wanneer het gaat om achtergrondfouten.

Algemene Representatie van Objecten

Tenslotte probeert het YOLO-algoritme de representatie van objecten in een afbeelding te generaliseren. Als gevolg daarvan presteerde YOLO, toen het op een dataset met natuurlijke afbeeldingen werd uitgevoerd en getest, beter dan bestaande R-CNN-modellen met een grote marge.

YOLOv7: Wat is Nieuw?

Nu we een basisbegrip 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 Trainingsproces

Het YOLOv7-algoritme probeert niet alleen de modelarchitectuur te optimaliseren, maar het probeert ook het trainingsproces te optimaliseren. Het probeert optimalisatiemodules en -methoden te gebruiken om de nauwkeurigheid van objectdetectie te verbeteren, de kosten voor training te verhogen, terwijl de interferentiekosten worden verlaagd.

Coarse to Fine Lead Guided Label Assignment

Het YOLOv7-algoritme probeert een nieuwe Coarse to Fine Lead Guided Label Assignment te gebruiken in plaats van de conventionele Dynamic Label Assignment. Dit is omdat, met dynamische labeltoewijzing, het trainen van een model met meerdere uitvoerlagen enkele problemen veroorzaakt, waarvan de meest voorkomende is hoe dynamische doelen voor verschillende takken en hun uitvoer moeten worden toegewezen.

Model Re-Parameterization

Modelre-parameterisatie is een belangrijk concept in objectdetectie en het gebruik ervan wordt meestal gevolgd door enkele problemen tijdens de training.

Extend en Compound Scaling

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

YOLOv7: Gerelateerd Werk

Real-time Objectdetectie

YOLO is momenteel de industrienorm en de meeste real-time objectdetectoren gebruiken YOLO-algoritmen en FCOS (Fully Convolutional One-Stage Object-Detection).

  • Sterkere en snellere netwerkarchitectuur.
  • Een effectieve functie-integratiemethode.
  • Een nauwkeurige objectdetectiemethode.
  • Een robuuste verliesfunctie.
  • Een efficiënte labeltoewijzingsmethode.
  • Een efficiënte trainingsmethode.

Het YOLOv7-algoritme gebruikt geen zelfsupervised learning- en destillatiemethoden die vaak grote hoeveelheden gegevens vereisen.

Model Re-Parameterization

Modelre-parameterisatietechnieken worden beschouwd als een ensembletechniek die meerdere berekeningsmodules in een interferentiefase combineert.

Model Scaling

Modelscaling is het proces van het schalen van een bestaand model om het aan te passen aan verschillende compute-apparaten.

Modelscaling gebruikt meestal factoren als het aantal lagen (diepte), de grootte van de invoerbeeld (resolutie), het aantal functiepiramides (fase) en het aantal kanalen (breedte).

YOLOv7 Architectuur

Het YOLOv7-model gebruikt YOLOv4, YOLO-R en de geschaalde YOLOv4-modellen als basis.

Uitgebreide Efficiënte Laagaggregatienetwerk of E-ELAN

E-ELAN is de basisbouwsteen van het YOLOv7-model en is afgeleid van bestaande modellen op netwerkefficiëntie, voornamelijk ELAN.

Model Scaling voor Concatenation-Based Modellen

Modelscaling helpt bij het aanpassen van attributen van modellen die helpen bij het genereren van modellen volgens de vereisten en van verschillende schalen om verschillende interferentiesnelheden te bereiken.

Trainable Bag of Freebies

Een trainable bag of freebies is een term die ontwikkelaars gebruiken om een set methoden of technieken te beschrijven die de trainingsstrategie of kosten kunnen veranderen om de modelnauwkeurigheid te verbeteren.

Geplande Re-Parameterized Convolutie

Het YOLOv7-algoritme gebruikt gradientstroompropagatiepaden om te bepalen hoe een netwerk met de re-parameterized convolutie moet worden gecombineerd.

Coarse voor Auxiliary en Fine voor Lead Loss

Diepe supervisie is een tak van computerwetenschap die vaak wordt gebruikt in de trainingsprocessen van diepe netwerken.

Lead Head Guided Label Assigner

De strategie maakt berekeningen op basis van de voorspellingresultaten van de lead head en de grondwaarheid en gebruikt vervolgens optimalisatie om zachte labels te genereren.

Coarse-to-Fine Lead Head Guided Label Assigner

Deze strategie maakt ook berekeningen op basis van de voorspellingresultaten van de lead head en de grondwaarheid en gebruikt vervolgens optimalisatie om zachte labels te genereren.

Andere Trainable Bag of Freebies

Naast de bovengenoemde, gebruikt het YOLOv7-algoritme extra trainable bags of freebies, hoewel ze niet door hen zijn voorgesteld.

  • Batch Normalization in Conv-Bn-Activation Technology: Deze strategie wordt gebruikt om een convolutielaag rechtstreeks te verbinden met een batchnormalisatielaag.
  • Implicit Knowledge in YOLOR: Het YOLOv7-algoritme combineert deze strategie met de convolutionele functiekaart.
  • EMA Model: Het EMA-model wordt gebruikt als een definitief referentiemodel in YOLOv7, hoewel het primair wordt gebruikt in de mean teacher-methode.

YOLOv7: Experimenten

Experimentele Opstelling

Het YOLOv7-algoritme gebruikt de Microsoft COCO-dataset voor training en validatie van hun objectdetectiemodel en niet alle van deze experimenten gebruiken een voorgetraind model.

Baselines

Het YOLOv7-algoritme gebruikt voorgaande YOLO-modellen en het YOLOR-objectdetectiealgoritme als baseline.

Vergelijking met State of the Art Object Detector Modellen

Ablation Study: Voorgestelde Compound Scaling Methode

Voorgestelde Geplande Re-Parameterized Model

Om de generaliteit van het voorgestelde re-parameterized model te verifiëren, gebruikt het YOLOv7-algoritme het op residual-gebaseerde en concatenation-gebaseerde modellen voor verificatie.

Voorgestelde Assistant Loss voor Auxiliary Head

Voor de assistant loss voor de auxiliary head, vergelijkt het YOLOv7-model de onafhankelijke labeltoewijzing voor de auxiliary head en de lead head methoden.

YOLOv7 Resultaten

Op basis van de bovenstaande experimenten, hier zijn de resultaten van YOLOv7’s prestaties in vergelijking met andere objectdetectiealgoritmen.

Conclusie

YOLO of “U Kijkt Alleen Eenmaal” is het state-of-the-art objectdetectiemodel in de moderne computer vision. Het YOLO-algoritme is bekend om zijn hoge nauwkeurigheid en efficiëntie en wordt daarom op grote schaal toegepast in de real-time objectdetectie-industrie.

Het YOLOv7-model is de laatste toevoeging aan de YOLO-familie en is het meest krachtige YOLO-algoritme tot nu toe. In dit artikel hebben we de basisprincipes van YOLOv7 besproken en geprobeerd uit te leggen wat YOLOv7 zo efficiënt maakt.

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