Suivez nous sur

YOLOv7 : l'algorithme de dĂ©tection d'objets le plus avancĂ© ?

Intelligence Artificielle

YOLOv7 : l'algorithme de dĂ©tection d'objets le plus avancĂ© ?

mm

Le 6 juillet 2022 sera marquĂ© comme un jalon dans l’histoire de l’IA car c’est ce jour-lĂ  que YOLOv7 est sorti. Depuis son lancement, le YOLOv7 est le sujet le plus brĂ»lant dans la communautĂ© des dĂ©veloppeurs Computer Vision, et pour les bonnes raisons. YOLOv7 est dĂ©jĂ  considĂ©rĂ© comme une Ă©tape importante dans l'industrie de la dĂ©tection d'objets. 

Peu de temps après la L'article YOLOv7 a Ă©tĂ© publiĂ©, il s'est avĂ©rĂ© ĂŞtre le modèle de dĂ©tection d'objections en temps rĂ©el le plus rapide et le plus prĂ©cis. Mais comment YOLOv7 surpasse-t-il ses prĂ©dĂ©cesseurs ? Qu'est-ce qui rend YOLOv7 si efficace dans l'exĂ©cution de tâches de vision par ordinateur ? 

Dans cet article, nous allons essayer d'analyser le modèle YOLOv7 et essayer de trouver la rĂ©ponse Ă  la raison pour laquelle YOLOv7 devient maintenant la norme de l'industrie ? Mais avant de pouvoir rĂ©pondre Ă  cela, nous devrons jeter un coup d'Ĺ“il Ă  la brève histoire de la dĂ©tection d'objets. 

Qu'est-ce que la dĂ©tection d'objets ?

La dĂ©tection d'objets est une branche de la vision par ordinateur qui identifie et localise des objets dans une image ou un fichier vidĂ©o. La dĂ©tection d'objets est la pierre angulaire de nombreuses applications, notamment les voitures autonomes, la surveillance surveillĂ©e et mĂŞme la robotique. 

Un modèle de dĂ©tection d'objet peut ĂŞtre classĂ© en deux catĂ©gories diffĂ©rentes, dĂ©tecteurs monocoup, et dĂ©tecteurs multi-coups. 

Détection d'objets en temps réel

Pour vraiment comprendre le fonctionnement de YOLOv7, il est essentiel pour nous de comprendre l'objectif principal de YOLOv7, "DĂ©tection d'objets en temps rĂ©el ». La dĂ©tection d'objets en temps rĂ©el est un Ă©lĂ©ment clĂ© de la vision par ordinateur moderne. Les modèles de dĂ©tection d'objets en temps rĂ©el tentent d'identifier et de localiser des objets d'intĂ©rĂŞt en temps rĂ©el. Les modèles de dĂ©tection d'objets en temps rĂ©el ont rendu très efficace pour les dĂ©veloppeurs le suivi d'objets d'intĂ©rĂŞt dans une image en mouvement comme une vidĂ©o ou une entrĂ©e de surveillance en direct. 

Les modèles de dĂ©tection d'objets en temps rĂ©el ont essentiellement une longueur d'avance sur les modèles de dĂ©tection d'images conventionnels. Alors que le premier est utilisĂ© pour suivre les objets dans les fichiers vidĂ©o, le second localise et identifie les objets dans un cadre fixe comme une image. 

En consĂ©quence, les modèles de dĂ©tection d'objets en temps rĂ©el sont vraiment efficaces pour l'analyse vidĂ©o, les vĂ©hicules autonomes, le comptage d'objets, le suivi multi-objets, et bien plus encore. 

Qu'est-ce que YOLO ?

YOLO ou "Vous ne regardez qu'une seule fois» est une famille de modèles de dĂ©tection d'objets en temps rĂ©el. Le concept YOLO a Ă©tĂ© introduit pour la première fois en 2016 par Joseph Redmon, et il a fait parler de lui presque instantanĂ©ment car il Ă©tait beaucoup plus rapide et beaucoup plus prĂ©cis que les algorithmes de dĂ©tection d'objets existants. Il ne fallut pas longtemps avant que l'algorithme YOLO ne devienne une norme dans l'industrie de la vision par ordinateur. 

Le concept fondamental proposĂ© par l'algorithme YOLO est d'utiliser un rĂ©seau de neurones de bout en bout utilisant des boĂ®tes englobantes et des probabilitĂ©s de classe pour faire des prĂ©dictions en temps rĂ©el. YOLO Ă©tait diffĂ©rent du modèle de dĂ©tection d'objets prĂ©cĂ©dent en ce sens qu'il proposait une approche diffĂ©rente pour effectuer la dĂ©tection d'objets en rĂ©affectant les classificateurs. 

Le changement d'approche a fonctionnĂ© car YOLO est rapidement devenu la norme de l'industrie, car l'Ă©cart de performances entre lui-mĂŞme et d'autres algorithmes de dĂ©tection d'objets en temps rĂ©el Ă©tait important. Mais quelle Ă©tait la raison pour laquelle YOLO Ă©tait si efficace ? 

Par rapport Ă  YOLO, les algorithmes de dĂ©tection d'objets utilisaient Ă  l'Ă©poque des rĂ©seaux de proposition de rĂ©gion pour dĂ©tecter d'Ă©ventuelles rĂ©gions d'intĂ©rĂŞt. Le processus de reconnaissance a ensuite Ă©tĂ© effectuĂ© sur chaque rĂ©gion sĂ©parĂ©ment. En consĂ©quence, ces modèles effectuaient souvent plusieurs itĂ©rations sur la mĂŞme image, d'oĂą un manque de prĂ©cision et un temps d'exĂ©cution plus Ă©levĂ©. D'autre part, l'algorithme YOLO utilise une seule couche entièrement connectĂ©e pour effectuer la prĂ©diction en une seule fois. 

Comment fonctionne YOLO ?

Trois Ă©tapes expliquent le fonctionnement d'un algorithme YOLO. 

Recadrage de la détection d'objets en tant que problème de régression unique

Le L'algorithme YOLO tente de recadrer la dĂ©tection d'objets comme un problème de rĂ©gression unique, y compris les pixels de l'image, aux probabilitĂ©s de classe et aux coordonnĂ©es de la boĂ®te englobante. Par consĂ©quent, l'algorithme doit regarder l'image une seule fois pour prĂ©dire et localiser les objets cibles dans les images. 

Raisons l'image à l'échelle mondiale

De plus, lorsque l'algorithme YOLO fait des prĂ©dictions, il raisonne globalement l'image. C'est diffĂ©rent des techniques basĂ©es sur les propositions de rĂ©gion et de glissement car l'algorithme YOLO voit l'image complète pendant la formation et les tests sur l'ensemble de donnĂ©es, et est capable d'encoder des informations contextuelles sur les classes et leur apparence. 

Avant YOLO, Fast R-CNN Ă©tait l'un des algorithmes de dĂ©tection d'objets les plus populaires qui ne pouvaient pas voir le contexte plus large de l'image car il confondait les correctifs d'arrière-plan d'une image avec un objet. ComparĂ© Ă  l'algorithme Fast R-CNN, YOLO est 50% plus prĂ©cis lorsqu'il s'agit d'erreurs d'arrière-plan. 

Généralise la représentation des objets

Enfin, l'algorithme YOLO vise Ă©galement Ă  gĂ©nĂ©raliser les reprĂ©sentations d'objets dans une image. En consĂ©quence, lorsqu'un algorithme YOLO a Ă©tĂ© exĂ©cutĂ© sur un ensemble de donnĂ©es avec des images naturelles et testĂ© pour les rĂ©sultats, YOLO a surpassĂ© les modèles R-CNN existants par une large marge. C'est parce que YOLO est hautement gĂ©nĂ©ralisable, les chances qu'il tombe en panne lorsqu'il est implĂ©mentĂ© sur des entrĂ©es inattendues ou de nouveaux domaines Ă©taient minces. 

YOLOv7 : Quoi de neuf ?

Maintenant que nous avons une comprĂ©hension de base de ce que sont les modèles de dĂ©tection d'objets en temps rĂ©el et de l'algorithme YOLO, il est temps de discuter de l'algorithme YOLOv7. 

Optimiser le processus de formation

L'algorithme YOLOv7 essaie non seulement d'optimiser l'architecture du modèle, mais il vise Ă©galement Ă  optimiser le processus de formation. Il vise Ă  utiliser des modules et des mĂ©thodes d'optimisation pour amĂ©liorer la prĂ©cision de la dĂ©tection d'objets, en renforçant le coĂ»t de la formation, tout en maintenant le coĂ»t des interfĂ©rences. Ces modules d'optimisation peuvent ĂŞtre appelĂ©s sac de cadeaux entraĂ®nable. 

Affectation d'étiquettes guidée par pas grossier à fin

L'algorithme YOLOv7 prĂ©voit d'utiliser une nouvelle attribution d'Ă©tiquettes guidĂ©es grossière Ă  fine au lieu de la mĂ©thode conventionnelle Attribution dynamique d'Ă©tiquettes. Il en est ainsi parce qu'avec l'attribution dynamique d'Ă©tiquettes, la formation d'un modèle avec plusieurs couches de sortie pose certains problèmes, le plus courant Ă©tant de savoir comment attribuer des cibles dynamiques pour diffĂ©rentes branches et leurs sorties. 

Re-paramétrage du modèle

La reparamĂ©trisation du modèle est un concept important dans la dĂ©tection d'objets, et son utilisation est gĂ©nĂ©ralement suivie avec quelques problèmes lors de la formation. L'algorithme YOLOv7 prĂ©voit d'utiliser le concept de chemin de propagation du gradient pour analyser les politiques de reparamĂ©trisation du modèle applicable aux diffĂ©rentes couches du rĂ©seau. 

Extension et mise à l'échelle composée

L'algorithme YOLOv7 introduit Ă©galement le mĂ©thodes de mise Ă  l'Ă©chelle Ă©tendue et composĂ©e pour utiliser et utiliser efficacement les paramètres et les calculs pour la dĂ©tection d'objets en temps rĂ©el. 

YOLOv7 : travaux connexes

Détection d'objets en temps réel

YOLO est actuellement la norme de l'industrie, et la plupart des détecteurs d'objets en temps réel déploient des algorithmes YOLO et FCOS (Fully Convolutional One-Stage Object-Detection). Un détecteur d'objets en temps réel de pointe a généralement les caractéristiques suivantes

  • Architecture rĂ©seau plus solide et plus rapide. 
  • Une mĂ©thode efficace d'intĂ©gration de fonctionnalitĂ©s. 
  • Une mĂ©thode prĂ©cise de dĂ©tection d'objets. 
  • Une fonction de perte robuste. 
  • Une mĂ©thode efficace d'attribution d'Ă©tiquettes. 
  • Une mĂ©thode d'entraĂ®nement efficace. 

L'algorithme YOLOv7 n'utilise pas de mĂ©thodes d'apprentissage et de distillation auto-supervisĂ©es qui nĂ©cessitent souvent de grandes quantitĂ©s de donnĂ©es. Ă€ l'inverse, l'algorithme YOLOv7 utilise une mĂ©thode de sac de cadeaux entraĂ®nable. 

Re-paramétrage du modèle

Les techniques de reparamĂ©trisation des modèles sont considĂ©rĂ©es comme une technique d'ensemble qui fusionne plusieurs modules de calcul dans une Ă©tape d'interfĂ©rence. La technique peut ĂŞtre divisĂ©e en deux catĂ©gories, ensemble au niveau du modèle, et ensemble au niveau du module. 

Maintenant, pour obtenir le modèle d'interfĂ©rence final, la technique de reparamĂ©trisation au niveau du modèle utilise deux pratiques. La première pratique utilise diffĂ©rentes donnĂ©es de formation pour former de nombreux modèles identiques, puis fait la moyenne des poids des modèles formĂ©s. Alternativement, l'autre pratique fait la moyenne des poids des modèles au cours de diffĂ©rentes itĂ©rations. 

La re-paramĂ©trisation au niveau du module gagne rĂ©cemment en popularitĂ© car elle divise un module en diffĂ©rentes branches de module, ou diffĂ©rentes branches identiques pendant la phase de formation, puis procède Ă  l'intĂ©gration de ces diffĂ©rentes branches dans un module Ă©quivalent tout en interfĂ©rence. 

Cependant, les techniques de re-paramĂ©trage ne peuvent pas ĂŞtre appliquĂ©es Ă  tous les types d'architecture. C'est la raison pour laquelle le L'algorithme YOLOv7 utilise de nouvelles techniques de reparamĂ©trisation du modèle pour concevoir des stratĂ©gies connexes adaptĂ© aux diffĂ©rentes architectures. 

Mise à l'échelle du modèle

La mise Ă  l'Ă©chelle du modèle est le processus de mise Ă  l'Ă©chelle vers le haut ou vers le bas d'un modèle existant afin qu'il s'adapte Ă  diffĂ©rents appareils informatiques. La mise Ă  l'Ă©chelle du modèle utilise gĂ©nĂ©ralement une variĂ©tĂ© de facteurs tels que le nombre de couches (profondeur), taille des images d'entrĂ©e(RAPIDE), nombre de pyramides d'entitĂ©s(Ă©tape) et le nombre de canaux(largeur). Ces facteurs jouent un rĂ´le crucial pour assurer un compromis Ă©quilibrĂ© entre les paramètres du rĂ©seau, la vitesse d'interfĂ©rence, le calcul et la prĂ©cision du modèle. 

L'une des mĂ©thodes de mise Ă  l'Ă©chelle les plus couramment utilisĂ©es est NAS ou recherche d'architecture rĂ©seau qui recherche automatiquement les facteurs d'Ă©chelle appropriĂ©s Ă  partir des moteurs de recherche sans règles compliquĂ©es. Le principal inconvĂ©nient de l'utilisation du NAS est qu'il s'agit d'une approche coĂ»teuse pour rechercher des facteurs de mise Ă  l'Ă©chelle appropriĂ©s. 

Presque tous les modèles de reparamĂ©trisation de modèle analysent indĂ©pendamment les facteurs de mise Ă  l'Ă©chelle individuels et uniques, et en outre, optimisent mĂŞme ces facteurs indĂ©pendamment. C'est parce que l'architecture NAS fonctionne avec des facteurs de mise Ă  l'Ă©chelle non corrĂ©lĂ©s. 

Il convient de noter que les modèles basés sur la concaténation tels que VoVNet or DenseNet modifier la largeur d'entrée de quelques calques lorsque la profondeur des modèles est mise à l'échelle. YOLOv7 fonctionne sur une architecture proposée basée sur la concaténation et utilise donc une méthode de mise à l'échelle composée.

Le chiffre mentionnĂ© ci-dessus compare rĂ©seaux Ă©tendus d'agrĂ©gation de couches efficaces (E-ELAN) de diffĂ©rents modèles. La mĂ©thode E-ELAN proposĂ©e maintient le chemin de transmission de gradient de l'architecture d'origine, mais vise Ă  augmenter la cardinalitĂ© des fonctionnalitĂ©s ajoutĂ©es en utilisant la convolution de groupe. Le processus peut amĂ©liorer les caractĂ©ristiques apprises par diffĂ©rentes cartes et peut en outre rendre l'utilisation des calculs et des paramètres plus efficace. 

Architecture YOLOv7

Le modèle YOLOv7 utilise les modèles YOLOv4, YOLO-R et Scaled YOLOv4 comme base. Le YOLOv7 est le rĂ©sultat des expĂ©rimentations menĂ©es sur ces modèles pour amĂ©liorer les rĂ©sultats, et rendre le modèle plus prĂ©cis. 

Réseau étendu d'agrégation de couches efficaces ou E-ELAN

E-ELAN est le bloc de construction fondamental du modèle YOLOv7, et il est dĂ©rivĂ© de modèles dĂ©jĂ  existants sur l'efficacitĂ© du rĂ©seau, principalement le ÉLAN. 

Les principales considĂ©rations lors de la conception d'une architecture efficace sont le nombre de paramètres, la densitĂ© de calcul et la quantitĂ© de calcul. D'autres modèles prennent Ă©galement en compte des facteurs tels que l'influence du rapport des canaux d'entrĂ©e/sortie, les branches du rĂ©seau d'architecture, la vitesse d'interfĂ©rence du rĂ©seau, le nombre d'Ă©lĂ©ments dans les tenseurs du rĂ©seau convolutif, etc. 

Le CSPVoNet Le modèle considère non seulement les paramètres mentionnĂ©s ci-dessus, mais il analyse Ă©galement le chemin du gradient pour apprendre des fonctionnalitĂ©s plus diverses en activant les poids des diffĂ©rentes couches. L'approche permet aux interfĂ©rences d'ĂŞtre beaucoup plus rapides et prĂ©cises. Le ELAN L'architecture vise Ă  concevoir un rĂ©seau efficace pour contrĂ´ler le chemin de gradient le plus court et le plus long afin que le rĂ©seau puisse ĂŞtre plus efficace dans l'apprentissage et la convergence. 

ELAN a dĂ©jĂ  atteint un stade stable quel que soit le nombre d'empilements de blocs de calcul et la longueur du chemin de gradient. L'Ă©tat stable peut ĂŞtre dĂ©truit si les blocs de calcul sont empilĂ©s de manière illimitĂ©e, et le taux d'utilisation des paramètres diminuera. Le l'architecture E-ELAN proposĂ©e peut rĂ©soudre le problème car elle utilise l'expansion, le brassage et la cardinalitĂ© de fusion pour amĂ©liorer en permanence la capacitĂ© d'apprentissage du rĂ©seau tout en conservant le chemin de gradient d'origine. 

De plus, en comparant l'architecture d'E-ELAN avec ELAN, la seule diffĂ©rence rĂ©side dans le bloc de calcul, tandis que l'architecture de la couche de transition est inchangĂ©e. 

E-ELAN propose d'Ă©tendre la cardinalitĂ© des blocs de calcul et d'Ă©tendre le canal en utilisant circonvolution de groupe. La carte d'entitĂ©s sera ensuite calculĂ©e et mĂ©langĂ©e en groupes selon le paramètre de groupe, puis sera concatĂ©nĂ©e. Le nombre de canaux dans chaque groupe restera le mĂŞme que dans l'architecture d'origine. Enfin, les groupes de cartes d'entitĂ©s seront ajoutĂ©s pour effectuer la cardinalitĂ©. 

Mise à l'échelle du modèle pour les modèles basés sur la concaténation

La mise Ă  l'Ă©chelle du modèle aide Ă  ajuster les attributs des modèles qui aide Ă  gĂ©nĂ©rer des modèles selon les exigences et Ă  diffĂ©rentes Ă©chelles pour rĂ©pondre aux diffĂ©rentes vitesses d'interfĂ©rence. 

La figure parle de la mise Ă  l'Ă©chelle du modèle pour diffĂ©rents modèles basĂ©s sur la concatĂ©nation. Comme vous pouvez le faire sur les figures (a) et (b), la largeur de sortie du bloc de calcul augmente avec une augmentation de la mise Ă  l'Ă©chelle de la profondeur des modèles. Par consĂ©quent, la largeur d'entrĂ©e des couches de transmission est augmentĂ©e. Si ces mĂ©thodes sont implĂ©mentĂ©es sur une architecture basĂ©e sur la concatĂ©nation, le processus de mise Ă  l'Ă©chelle est effectuĂ© en profondeur et est illustrĂ© Ă  la figure (c). 

On peut donc conclure qu'il n'est pas possible d'analyser les facteurs d'Ă©chelle indĂ©pendamment pour les modèles basĂ©s sur la concatĂ©nation, et qu'ils doivent plutĂ´t ĂŞtre considĂ©rĂ©s ou analysĂ©s ensemble. Par consĂ©quent, pour un modèle basĂ© sur la concatĂ©nation, il convient d'utiliser la mĂ©thode de mise Ă  l'Ă©chelle du modèle composĂ© correspondant. De plus, lorsque le facteur de profondeur est mis Ă  l'Ă©chelle, le canal de sortie du bloc doit Ă©galement ĂŞtre mis Ă  l'Ă©chelle. 

Sac de cadeaux entraĂ®nable 

Un sac de cadeaux est un terme que les dĂ©veloppeurs utilisent pour dĂ©crire un ensemble de mĂ©thodes ou de techniques qui peuvent modifier la stratĂ©gie ou le coĂ»t de la formation dans le but d'amĂ©liorer la prĂ©cision du modèle. Alors, quels sont ces sacs de cadeaux pouvant ĂŞtre entraĂ®nĂ©s dans YOLOv7 ? Regardons. 

Convolution reparamétrée planifiée

L'algorithme YOLOv7 utilise des chemins de propagation de flux de gradient pour dĂ©terminer comment combiner idĂ©alement un rĂ©seau avec la convolution reparamĂ©trĂ©e. Cette approche de YOLov7 est une tentative de contrer Algorithme RepConv qui, bien qu'il ait fonctionnĂ© sereinement sur le modèle VGG, fonctionne mal lorsqu'il est appliquĂ© directement aux modèles DenseNet et ResNet. 

Pour identifier les connexions dans une couche convolutive, le L'algorithme RepConv combine la convolution 3 × 3 et la convolution 1 × 1. Si nous analysons l'algorithme, ses performances et l'architecture, nous observerons que RepConv détruit le concaténation dans DenseNet et le résidu dans ResNet

L'image ci-dessus illustre un modèle reparamĂ©trĂ© planifiĂ©. On constate que l'algorithme YOLov7 a dĂ©terminĂ© qu'une couche du rĂ©seau avec des connexions de concatĂ©nation ou rĂ©siduelles ne devrait pas avoir de connexion d'identitĂ© dans l'algorithme RepConv. Par consĂ©quent, il est acceptable de passer Ă  RepConvN sans connexion d'identitĂ©. 

Grossier pour Auxiliaire et Fin pour Perte de Plomb

Surveillance approfondie est une branche de l'informatique qui trouve souvent son utilitĂ© dans le processus de formation des rĂ©seaux profonds. Le principe fondamental de la supervision approfondie est qu'elle ajoute une tĂŞte auxiliaire supplĂ©mentaire dans les couches intermĂ©diaires du rĂ©seau ainsi que les poids du rĂ©seau peu profond avec la perte d'assistant comme guide. L'algorithme YOLOv7 fait rĂ©fĂ©rence Ă  la tĂŞte responsable de la sortie finale en tant que tĂŞte principale, et la tĂŞte auxiliaire est la tĂŞte qui aide Ă  l'entraĂ®nement. 

En continuant, YOLOv7 utilise une mĂ©thode diffĂ©rente pour l'attribution d'Ă©tiquettes. Classiquement, l'attribution d'Ă©tiquettes a Ă©tĂ© utilisĂ©e pour gĂ©nĂ©rer des Ă©tiquettes en se rĂ©fĂ©rant directement Ă  la vĂ©ritĂ© terrain et sur la base d'un ensemble de règles donnĂ©. Cependant, ces dernières annĂ©es, la distribution et la qualitĂ© de l'entrĂ©e de prĂ©diction jouent un rĂ´le important pour gĂ©nĂ©rer une Ă©tiquette fiable. YOLOv7 gĂ©nère une Ă©tiquette logicielle de l'objet en utilisant les prĂ©dictions de la boĂ®te englobante et de la vĂ©ritĂ© terrain. 

De plus, la nouvelle mĂ©thode d'attribution d'Ă©tiquettes de l'algorithme YOLOv7 utilise les prĂ©dictions de la tĂŞte principale pour guider Ă  la fois la tĂŞte principale et la tĂŞte auxiliaire. La mĂ©thode d'attribution d'Ă©tiquettes propose deux stratĂ©gies. 

Attribueur d'étiquettes guidé par la tête principale

La stratĂ©gie effectue des calculs sur la base des rĂ©sultats de prĂ©diction de la tĂŞte principale et de la vĂ©ritĂ© terrain, puis utilise l'optimisation pour gĂ©nĂ©rer des Ă©tiquettes souples. Ces Ă©tiquettes souples sont ensuite utilisĂ©es comme modèle de formation pour la tĂŞte principale et la tĂŞte auxiliaire. 

La stratĂ©gie repose sur l'hypothèse que, parce que le responsable principal a une plus grande capacitĂ© d'apprentissage, les Ă©tiquettes qu'il gĂ©nère doivent ĂŞtre plus reprĂ©sentatives et corrĂ©lĂ©es entre la source et la cible. 

Assignateur d'étiquettes guidé par tête de plomb grossière à fine

Cette stratĂ©gie effectue Ă©galement des calculs sur la base des rĂ©sultats de prĂ©diction de la tĂŞte principale et de la vĂ©ritĂ© terrain, puis utilise l'optimisation pour gĂ©nĂ©rer des Ă©tiquettes souples. Cependant, il y a une diffĂ©rence essentielle. Dans cette stratĂ©gie, il existe deux ensembles d'Ă©tiquettes souples, niveau grossier, et belle Ă©tiquette. 

L'étiquette grossière est générée en relâchant les contraintes de l'échantillon positif

processus d'attribution qui traite plus de grilles comme des cibles positives. C'est fait pour Ă©viter le risque de perdre des informations en raison de la force d'apprentissage plus faible de la tĂŞte auxiliaire. 

La figure ci-dessus explique l'utilisation d'un sac de cadeaux pouvant ĂŞtre entraĂ®nĂ© dans l'algorithme YOLOv7. Il reprĂ©sente grossier pour la tĂŞte auxiliaire et fin pour la tĂŞte principale. Lorsque nous comparons un modèle avec tĂŞte auxiliaire (b) avec le modèle normal (a), nous observons que le schĂ©ma en (b) a une tĂŞte auxiliaire, alors qu'il n'en est pas en (a). 

La figure (c) reprĂ©sente l'assignateur d'Ă©tiquette indĂ©pendant commun tandis que la figure (d) et la figure (e) reprĂ©sentent respectivement l'assignateur guidĂ© principal et l'assignateur guidĂ© principal grossier Ă  fin utilisĂ© par YOLOv7.  

Autre sac de cadeaux entraînable

En plus de ceux mentionnés ci-dessus, l'algorithme YOLOv7 utilise des sacs supplémentaires de cadeaux, bien qu'ils n'aient pas été proposés par eux à l'origine. Ils sont

  • Normalisation par lots dans la technologie Conv-Bn-Activation : Cette stratĂ©gie est utilisĂ©e pour connecter une couche convolutive directement Ă  la couche de normalisation par lots. 
  • Connaissances implicites dans YOLOR : Le YOLOv7 combine la stratĂ©gie avec la carte de fonctionnalitĂ©s convolutive. 
  • Modèle EMA : Le modèle EMA est utilisĂ© comme modèle de rĂ©fĂ©rence final dans YOLOv7, bien que son utilisation principale doive ĂŞtre utilisĂ©e dans la mĂ©thode de l'enseignant moyen. 

YOLOv7 : ExpĂ©rimentations

Installation expérimentale

L'algorithme YOLOv7 utilise le Ensemble de donnĂ©es Microsoft COCO pour la formation et la validation leur modèle de dĂ©tection d'objet, et toutes ces expĂ©riences n'utilisent pas un modèle prĂ©-entraĂ®nĂ©. Les dĂ©veloppeurs ont utilisĂ© l'ensemble de donnĂ©es de train 2017 pour la formation et l'ensemble de donnĂ©es de validation 2017 pour sĂ©lectionner les hyperparamètres. Enfin, les performances des rĂ©sultats de dĂ©tection d'objets YOLOv7 sont comparĂ©es aux algorithmes de pointe pour la dĂ©tection d'objets. 

Les dĂ©veloppeurs ont conçu un modèle de base pour GPU Edge (YOLOv7-tiny), GPU normal (YOLOv7) et GPU cloud (YOLOv7-W6). De plus, l'algorithme YOLOv7 utilise Ă©galement un modèle de base pour la mise Ă  l'Ă©chelle du modèle en fonction des diffĂ©rentes exigences de service et obtient diffĂ©rents modèles. Pour l'algorithme YOLOv7, la mise Ă  l'Ă©chelle de la pile est effectuĂ©e sur le cou et les composĂ©s proposĂ©s sont utilisĂ©s pour augmenter la profondeur et la largeur du modèle. 

Lignes de base

L'algorithme YOLOv7 utilise les modèles YOLO précédents et l'algorithme de détection d'objets YOLOR comme ligne de base.

La figure ci-dessus compare la ligne de base du modèle YOLOv7 avec d'autres modèles de dĂ©tection d'objets, et les rĂ©sultats sont assez Ă©vidents. Lorsqu'on le compare avec le Algorithme YOLOv4, YOLOv7 utilise non seulement 75 % de paramètres en moins, mais il utilise Ă©galement 15 % de calcul en moins et a une prĂ©cision de 0.4 % supĂ©rieure. 

Comparaison avec les modèles de détecteurs d'objets de pointe

La figure ci-dessus montre les rĂ©sultats lorsque YOLOv7 est comparĂ© Ă  des modèles de dĂ©tection d'objets de pointe pour les GPU mobiles et gĂ©nĂ©raux. On peut observer que la mĂ©thode proposĂ©e par l'algorithme YOLOv7 a le meilleur score de compromis vitesse-prĂ©cision. 

Étude d'ablation : mĂ©thode de mise Ă  l'Ă©chelle composĂ©e proposĂ©e

La figure ci-dessus compare les rĂ©sultats de l'utilisation de diffĂ©rentes stratĂ©gies de mise Ă  l'Ă©chelle du modèle. La stratĂ©gie de mise Ă  l'Ă©chelle du modèle YOLOv7 augmente la profondeur du bloc de calcul de 1.5 fois et la largeur de 1.25 fois. 

ComparĂ© Ă  un modèle qui ne fait qu'augmenter la profondeur, le modèle YOLOv7 fonctionne mieux de 0.5 % tout en utilisant moins de paramètres et de puissance de calcul. D'autre part, par rapport aux modèles qui ne font qu'augmenter la profondeur, la prĂ©cision de YOLOv7 est amĂ©liorĂ©e de 0.2 %, mais le nombre de paramètres doit ĂŞtre mis Ă  l'Ă©chelle de 2.9 % et le calcul de 1.2 %. 

Modèle reparamétré planifié proposé

Pour vĂ©rifier la gĂ©nĂ©ralitĂ© de son modèle reparamĂ©trĂ© proposĂ©, le L'algorithme YOLOv7 l'utilise sur des modèles basĂ©s sur les rĂ©sidus et sur la concatĂ©nation pour la vĂ©rification. Pour le processus de vĂ©rification, l'algorithme YOLOv7 utilise ELAN Ă  3 couches pour le modèle basĂ© sur la concatĂ©nation et CSPDarknet pour le modèle basĂ© sur les rĂ©sidus. 

Pour le modèle basĂ© sur la concatĂ©nation, l'algorithme remplace les couches convolutives 3 Ă— 3 dans l'ELAN Ă  3 empilements par RepConv. La figure ci-dessous montre la configuration dĂ©taillĂ©e de RepConv planifiĂ©e et ELAN Ă  3 couches. 

De plus, lorsqu'il s'agit du modèle basĂ© sur les rĂ©sidus, l'algorithme YOLOv7 utilise un bloc sombre inversĂ© car le bloc sombre d'origine n'a pas de bloc de convolution 3 Ă— 3. La figure ci-dessous montre l'architecture du CSPDarknet inversĂ© qui inverse les positions des couches convolutives 3 Ă— 3 et 1 Ă— 1. 

Perte d'assistant proposée pour le chef auxiliaire

Pour la perte d'assistant pour la tĂŞte auxiliaire, le modèle YOLOv7 compare l'attribution d'Ă©tiquettes indĂ©pendantes pour les mĂ©thodes de tĂŞte auxiliaire et de tĂŞte principale. 

La figure ci-dessus contient les rĂ©sultats de l'Ă©tude sur la tĂŞte auxiliaire proposĂ©e. On peut voir que la performance globale du modèle augmente avec une augmentation de la perte de l'assistant. De plus, l'attribution d'Ă©tiquettes guidĂ©e par le plomb proposĂ©e par le modèle YOLOv7 est plus performante que les stratĂ©gies d'attribution de plomb indĂ©pendantes. 

Résultats YOLOv7

Sur la base des expĂ©riences ci-dessus, voici le rĂ©sultat des performances de YOLov7 par rapport Ă  d'autres algorithmes de dĂ©tection d'objets. 

La figure ci-dessus compare le modèle YOLOv7 avec d'autres algorithmes de détection d'objets, et on peut clairement observer que le YOLOv7 surpasse les autres modèles de détection d'objection en termes de Précision moyenne (AP) v/s interférence de lot

De plus, la figure ci-dessous compare les performances de YOLOv7 Ă  d'autres algorithmes de dĂ©tection d'objection en temps rĂ©el. Une fois de plus, YOLOv7 succède Ă  d'autres modèles en termes de performances globales, de prĂ©cision et d'efficacitĂ©. 

Voici quelques observations supplĂ©mentaires Ă  partir des rĂ©sultats et des performances de YOLOv7. 

  1. Le YOLOv7-Tiny est le plus petit modèle de la famille YOLO, avec plus de 6 millions de paramètres. Le YOLOv7-Tiny a une prĂ©cision moyenne de 35.2 % et il surpasse les modèles YOLOv4-Tiny avec des paramètres comparables. 
  2. Le modèle YOLOv7 compte plus de 37 millions de paramètres et surpasse les modèles avec des paramètres plus Ă©levĂ©s comme YOLov4. 
  3. Le modèle YOLOv7 a le taux mAP et FPS le plus Ă©levĂ© dans la plage de 5 Ă  160 FPS. 

Conclusion

YOLO ou You Only Look Once est le modèle de dĂ©tection d'objets de pointe dans la vision par ordinateur moderne. L'algorithme YOLO est connu pour sa grande prĂ©cision et son efficacitĂ©, et par consĂ©quent, il trouve une application Ă©tendue dans l'industrie de la dĂ©tection d'objets en temps rĂ©el. Depuis l'introduction du premier algorithme YOLO en 2016, les expĂ©riences ont permis aux dĂ©veloppeurs d'amĂ©liorer continuellement le modèle. 

Le modèle YOLOv7 est le dernier nĂ© de la famille YOLO, et c'est l'algorithme YOLO le plus puissant Ă  ce jour. Dans cet article, nous avons parlĂ© des principes fondamentaux de YOLOv7 et essayĂ© d'expliquer ce qui rend YOLOv7 si efficace. 

« IngĂ©nieur de profession, Ă©crivain de cĹ“ur Â». Kunal est un rĂ©dacteur technique avec un amour et une comprĂ©hension profonds de l'IA et du ML, dĂ©diĂ© Ă  la simplification de concepts complexes dans ces domaines grâce Ă  sa documentation engageante et informative.