
{"id":6608,"date":"2023-01-19T09:42:04","date_gmt":"2023-01-19T09:42:04","guid":{"rendered":"https:\/\/novelis.io\/?post_type=news&#038;p=6608"},"modified":"2023-01-19T09:40:16","modified_gmt":"2023-01-19T09:40:16","slug":"yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image","status":"publish","type":"news","link":"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/","title":{"rendered":"Yolov7\u00a0: L\u2019intelligence artificielle pour la d\u00e9tection d\u2019objets en temps r\u00e9el dans une image"},"content":{"rendered":"\n<p>Dans cet article nous allons d\u00e9couvrir le mod\u00e8le Yolov7, un algorithme de d\u00e9tection d\u2019objet. Nous \u00e9tudierons tout d\u2019abord son utilisation et ses caract\u00e9ristiques au travers d\u2019une base de donn\u00e9es publique. Puis nous verrons comment entra\u00eener ce mod\u00e8le nous-m\u00eame \u00e0 partir de ce dataset. Enfin, nous entra\u00eenerons Yolov7 \u00e0 identifier des objets personnalis\u00e9s \u00e0 partir de nos propres.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Qu\u2019est-ce que Yolo&nbsp;? Pourquoi Yolov7&nbsp;?<\/h3>\n\n\n\n<p>Yolo est un algorithme de d\u00e9tection d\u2019objets dans une image. L\u2019objectif de la d\u00e9tection d\u2019objet est de classifier de mani\u00e8re automatique, \u00e0 l\u2019aide d\u2019un r\u00e9seau de neurones, la pr\u00e9sence et la position d\u2019objets humainement identifiables sur une image. L\u2019int\u00e9r\u00eat repose donc sur les capacit\u00e9s et performances en termes de d\u00e9tection, reconnaissance et localisation des algorithmes, dont les applications pratiques sont multiples dans le domaine de l\u2019image. La force de Yolo repose sur sa capacit\u00e9 \u00e0 ex\u00e9cuter ces t\u00e2ches en temps r\u00e9el, ce qui le rend particuli\u00e8rement utilis\u00e9 avec des flux vid\u00e9o de dizaines d\u2019images par seconde.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img fetchpriority=\"high\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-1-2.jpg\" alt=\"\" class=\"wp-image-6547\" width=\"459\" height=\"120\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-1-2.jpg 650w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-1-2-600x157.jpg 600w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-1-2-250x65.jpg 250w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-1-2-30x8.jpg 30w\" sizes=\"(max-width: 459px) 100vw, 459px\" \/><\/figure><\/div>\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p><strong><strong>YOLO<\/strong> <\/strong>est en r\u00e9alit\u00e9 un acronyme pour \u00ab&nbsp;You Only Look Once&nbsp;\u00bb. En effet, contrairement \u00e0 de nombreux algorithmes de d\u00e9tections, Yolo est un r\u00e9seau de neurones qui \u00e9value la position et la classe des objets identifi\u00e9s \u00e0 partir d\u2019un seul r\u00e9seau de bout en bout qui d\u00e9tecte les classes \u00e0 l\u2019aide d\u2019une couche enti\u00e8rement connect\u00e9e. Yolo n\u2019a donc besoin de \u00ab&nbsp;voir&nbsp;\u00bb qu\u2019une fois une image pour d\u00e9tecter les objets pr\u00e9sents, l\u00e0 o\u00f9 certains algorithmes d\u00e9tectent uniquement des r\u00e9gions d\u2019int\u00e9r\u00eat, avant de r\u00e9\u00e9valuer celles-ci afin d\u2019identifier les classes pr\u00e9sentes.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">I<strong>ntersection<\/strong> o<strong>ver<\/strong> U<strong>nion<\/strong>&nbsp;: <strong>IoU<\/strong><\/h4>\n\n\n\n<p>Intersection over Union (litt\u00e9ralement Intersection sur Union, ou IoU) est une m\u00e9trique permettant de mesurer la pr\u00e9cision de la localisation d\u2019un objet. Comme son nom l\u2019indique, elle est calcul\u00e9e \u00e0 partir du ratio entre la zone d\u2019intersection <em>Objet d\u00e9tect\u00e9-Objet r\u00e9el<\/em> et de la zone d\u2019union de ces m\u00eames objets (cf. \u00e9quation 1). En notant <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-red-color\"><strong>A<em>d\u00e9tect\u00e9<\/em><\/strong><\/mark> et <mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-vivid-green-cyan-color\"><strong>A<em>r\u00e9el<\/em><\/strong><\/mark>&nbsp;les aires respectives de l\u2019objet d\u00e9tect\u00e9 par YOLO et de l\u2019objet tel que r\u00e9ellement situ\u00e9 sur l\u2019image, on peut alors \u00e9crire&nbsp;:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-1.png\" alt=\"\" class=\"wp-image-6545\" width=\"554\" height=\"118\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-1.png 709w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-1-600x128.png 600w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-1-250x53.png 250w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-1-30x6.png 30w\" sizes=\"(max-width: 554px) 100vw, 554px\" \/><\/figure><\/div>\n\n\n<p>On notera qu\u2019un IoU de 0 indique que les 2 aires sont compl\u00e8tement distinctes et qu\u2019un IoU de 1 indique que les 2 objets sont parfaitement superpos\u00e9s. En g\u00e9n\u00e9ral, un IoU &gt; 0.5 repr\u00e9sente un crit\u00e8re de localisation valide.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>(<\/strong>m<strong>ean) <\/strong>A<strong>verage <\/strong>P<strong>recision&nbsp;: mAP<\/strong><\/h4>\n\n\n\n<p>Average Precision (pr\u00e9cision moyenne) est une m\u00e9trique de pr\u00e9cision de classification. Elle est bas\u00e9e sur la moyenne des pr\u00e9dictions correctes sur les pr\u00e9dictions totales. On cherche donc \u00e0 se rapprocher d\u2019un score de mAP de 100% (aucune erreur au moment de d\u00e9terminer la classe d\u2019un objet).<\/p>\n\n\n\n<p>En revenant \u00e0 notre point pr\u00e9c\u00e9dent, Yolo reste un mod\u00e8le d\u2019architecture, et non la propri\u00e9t\u00e9 d\u2019un d\u00e9veloppeur en particulier. Ceci explique pourquoi les versions de Yolo sont de contributeurs diff\u00e9rents. En effet, on incr\u00e9mente la version de Yolo (Yolov7 \u00e0 ce jour&nbsp;: janvier 2023) \u00e0 chaque fois que les m\u00e9triques pr\u00e9c\u00e9demment cit\u00e9es (surtout le mAP et son temps d\u2019ex\u00e9cution associ\u00e9) d\u00e9passent nettement le pr\u00e9c\u00e9dent mod\u00e8le et donc l\u2019\u00e9tat de l\u2019art. Ainsi, chaque nouveau mod\u00e8le YolovX est en r\u00e9alit\u00e9 une am\u00e9lioration montr\u00e9e par un document de recherche associ\u00e9 publi\u00e9 en parall\u00e8le.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Comment fonctionne Yolo&nbsp;?<\/h3>\n\n\n\n<p>Yolo fonctionne en segmentant l\u2019image qu\u2019il analyse. Il va tout d\u2019abord quadriller l\u2019espace, puis r\u00e9aliser 2 op\u00e9rations&nbsp;: localisation et classification.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-2.jpg.png\" alt=\"\" class=\"wp-image-6549\" width=\"496\" height=\"210\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-2.jpg.png 782w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-2.jpg-600x255.png 600w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-2.jpg-250x106.png 250w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-2.jpg-768x326.png 768w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-2.jpg-30x13.png 30w\" sizes=\"(max-width: 496px) 100vw, 496px\" \/><figcaption class=\"wp-element-caption\"><em>Figure 1 : Architecture du mod\u00e8le Yolo, op\u00e9rant un quadrillage \u00e0 partir de convolutions successives.<\/em><\/figcaption><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-3.jpg.png\" alt=\"\" class=\"wp-image-6551\" width=\"305\" height=\"308\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-3.jpg.png 563w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-3.jpg-248x250.png 248w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-3.jpg-30x30.png 30w\" sizes=\"(max-width: 305px) 100vw, 305px\" \/><figcaption class=\"wp-element-caption\"><em>Figure 2 : Image quadrill\u00e9e.<\/em><\/figcaption><\/figure><\/div>\n\n\n<p>Dans un premier temps, Yolo identifie tous les objets pr\u00e9sents \u00e0 l\u2019aide de cadres en leur associant un degr\u00e9 de confiance (ici repr\u00e9sent\u00e9 par l\u2019\u00e9paisseur de la boite).<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-4.jpg.png\" alt=\"\" class=\"wp-image-6553\" width=\"305\" height=\"308\"\/><figcaption class=\"wp-element-caption\"><em>Figure 3 : Localisation des objets.<\/em><\/figcaption><\/figure><\/div>\n\n\n<p>Puis, l\u2019algorithme attribue une classe \u00e0 chaque bo\u00eete selon l\u2019objet qu\u2019il pense avoir d\u00e9tect\u00e9 \u00e0 partir de la carte de probabilit\u00e9.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-5.jpg.png\" alt=\"\" class=\"wp-image-6555\" width=\"305\" height=\"308\"\/><figcaption class=\"wp-element-caption\"><em>Figure 4 : Carte de probabilit\u00e9 des classes<\/em><\/figcaption><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-6.jpg.png\" alt=\"\" class=\"wp-image-6557\" width=\"305\" height=\"308\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-6.jpg.png 248w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-6.jpg-30x30.png 30w\" sizes=\"(max-width: 305px) 100vw, 305px\" \/><figcaption class=\"wp-element-caption\"><em>Figure 5 : D\u00e9tection des objets<\/em><\/figcaption><\/figure><\/div>\n\n\n<p>Enfin, Yolo supprime toutes les bo\u00eetes superflues \u00e0 l\u2019aide de la m\u00e9thode NMS.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\"><strong>NMS : <\/strong>N<strong>on-<\/strong>M<strong>axima <\/strong>S<strong>uppression<\/strong><\/h4>\n\n\n\n<p>La m\u00e9thode NMS se base sur un parcours des bo\u00eetes \u00e0 haut indice de confiance, puis une suppression des bo\u00eetes superpos\u00e9es \u00e0 celles-l\u00e0 en mesurant l\u2019IoU. Pour cela, on suit 4 \u00e9tapes. En partant de la liste compl\u00e8te des bo\u00eetes d\u00e9tect\u00e9es&nbsp;:<\/p>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\">\n<li>Suppression de toutes les bo\u00eetes d\u2019indice de confiance trop faible.<\/li>\n\n\n\n<li>Identification de la bo\u00eete d\u2019indice de confiance le plus grand.<\/li>\n\n\n\n<li>Suppression de toutes les bo\u00eetes ayant un IoU trop grand (c\u2019est-\u00e0-dire de toutes les bo\u00eetes trop similaires \u00e0 notre bo\u00eete r\u00e9f\u00e9rence).<\/li>\n\n\n\n<li>En ignorant la bo\u00eete de r\u00e9f\u00e9rence ainsi utilis\u00e9e, r\u00e9p\u00e9tition des \u00e9tapes 2) et 3) jusqu\u2019\u00e0 avoir \u00e9limin\u00e9 toutes les bo\u00eetes de notre liste originale (c\u2019est-\u00e0-dire en prenant la 2<sup>nde<\/sup> bo\u00eete d\u2019indice de confiance le plus grand, puis la 3<sup>\u00e8me<\/sup>, etc.).<\/li>\n<\/ol>\n\n\n\n<p>On obtient alors le r\u00e9sultat suivant&nbsp;:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-7.jpg.png\" alt=\"\" class=\"wp-image-6559\" width=\"305\" height=\"308\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-7.jpg.png 250w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-7.jpg-248x250.png 248w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-7.jpg-30x30.png 30w\" sizes=\"(max-width: 305px) 100vw, 305px\" \/><figcaption class=\"wp-element-caption\">Figure 6 : Image de sortie post-NMS pr\u00e9sentant les objets d\u00e9tect\u00e9s par Yolo<\/figcaption><\/figure><\/div>\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Comment utiliser Yolov7 avec le dataset COCO&nbsp;?<\/h3>\n\n\n\n<p>Maintenant que nous avons vu le mod\u00e8le Yolo dans le d\u00e9tail, nous allons \u00e9tudier son utilisation avec une base de donn\u00e9es d\u2019images&nbsp;: le dataset COCO.<\/p>\n\n\n\n<p>Le dataset MICROSOFT <strong>COCO<\/strong> (pour <strong>C<\/strong>ommon <strong>O<\/strong>bjects in <strong>CO<\/strong>ntext), plus commun\u00e9ment appel\u00e9 MS COCO, est un ensemble d\u2019images repr\u00e9sentant des objets communs dans un contexte commun. Cependant, \u00e0 l\u2019inverse des bases de donn\u00e9es habituelles utilis\u00e9es pour la d\u00e9tection et la reconnaissance d\u2019objets, MS COCO ne pr\u00e9sente pas des objets ou des sc\u00e8nes isol\u00e9s. En effet, le but lors de la cr\u00e9ation de ce dataset \u00e9tait d\u2019avoir des images proches de la vie r\u00e9elle, afin d\u2019avoir une base d\u2019entra\u00eenement plus robuste pour des flux d\u2019images classiques, refl\u00e9tant la vie quotidienne.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-8.jpg\" alt=\"\" class=\"wp-image-6561\" width=\"406\" height=\"213\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-8.jpg 1200w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-8-600x315.jpg 600w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-8-250x131.jpg 250w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-8-768x403.jpg 768w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-8-30x16.jpg 30w\" sizes=\"(max-width: 406px) 100vw, 406px\" \/><figcaption class=\"wp-element-caption\"><em>Figure 7 : Exemples d&rsquo;objets isol\u00e9s<\/em><\/figcaption><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-0.jpg-1.png\" alt=\"\" class=\"wp-image-6571\" width=\"332\" height=\"225\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-0.jpg-1.png 619w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-0.jpg-1-600x407.png 600w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-0.jpg-1-250x170.png 250w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-0.jpg-1-30x20.png 30w\" sizes=\"(max-width: 332px) 100vw, 332px\" \/><figcaption class=\"wp-element-caption\"><em>Figure 8 : Exemples de sc\u00e8nes isol\u00e9es<\/em><\/figcaption><\/figure><\/div>\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-9.jpg-1.png\" alt=\"\" class=\"wp-image-6573\" width=\"364\" height=\"300\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-9.jpg-1.png 776w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-9.jpg-1-600x496.png 600w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-9.jpg-1-250x207.png 250w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-9.jpg-1-768x634.png 768w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-9.jpg-1-30x25.png 30w\" sizes=\"(max-width: 364px) 100vw, 364px\" \/><figcaption class=\"wp-element-caption\"><em>Figure 9 : Sc\u00e8nes classiques de la vie quotidienne<\/em><\/figcaption><\/figure><\/div>\n\n\n<p>Ainsi, en entrainant notre mod\u00e8le Yolov7 avec le dataset MS COCO, il est possible d\u2019obtenir un algorithme de reconnaissance de pr\u00e8s d\u2019une centaine de classes et cat\u00e9gorisant la majorit\u00e9 des objets, personnes et \u00e9l\u00e9ments du quotidien. Enfin, MS COCO est aujourd\u2019hui la principale r\u00e9f\u00e9rence pour mesurer la pr\u00e9cision et l\u2019efficacit\u00e9 d\u2019un mod\u00e8le. Pour avoir un ordre d\u2019id\u00e9e, ci-dessous sont pr\u00e9sent\u00e9s les r\u00e9sultats des diff\u00e9rentes versions de Yolo.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-10.jpg-1.png\" alt=\"\" class=\"wp-image-6569\" width=\"386\" height=\"285\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-10.jpg-1.png 838w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-10.jpg-1-600x444.png 600w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-10.jpg-1-250x185.png 250w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-10.jpg-1-768x568.png 768w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-10.jpg-1-30x22.png 30w\" sizes=\"(max-width: 386px) 100vw, 386px\" \/><figcaption class=\"wp-element-caption\"><em>Figure 10 : Average Precision (AP) en fonction du temps d&rsquo;analyse par image.<\/em><\/figcaption><\/figure><\/div>\n\n\n<p>Sur ce graphique, chaque s\u00e9rie de points repr\u00e9sente la pr\u00e9cision en fonctionnement d\u2019un mod\u00e8le sur le dataset MS COCO en fonction du temps attribu\u00e9 pour \u00e9valuer chaque image.<\/p>\n\n\n\n<p>En abscisse, sont indiqu\u00e9s les temps accord\u00e9s aux r\u00e9seaux pour \u00e9valuer une image. Plus le temps est faible, plus on peut se permettre d\u2019envoyer un flux d\u2019images important \u00e0 notre algorithme, au prix de la pr\u00e9cision.<\/p>\n\n\n\n<p>En ordonn\u00e9e sont donc indiqu\u00e9es les pr\u00e9cisions moyenne des mod\u00e8les en fonction du temps accord\u00e9, comme vu pr\u00e9c\u00e9demment.<\/p>\n\n\n\n<p>On remarque alors 3 points importants&nbsp;:<\/p>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\">\n<li>Quel que soit le temps accord\u00e9 au r\u00e9seau, Yolov7 surpasse les autres mod\u00e8les Yolo en termes de pr\u00e9cision de d\u00e9tection sur le dataset MS COCO. Ceci explique sa pr\u00e9sence comme r\u00e9f\u00e9rence dans l\u2019\u00e9tat de l\u2019art actuel de la d\u00e9tection en temps r\u00e9el d\u2019objets sur image.<\/li>\n\n\n\n<li>L\u2019augmentation du temps d\u2019inf\u00e9rence sur chaque image n\u2019a pas\/peu d\u2019int\u00e9r\u00eat une fois les 30ms\/image d\u00e9pass\u00e9s. Cela implique que le mod\u00e8le est plus optimal sur une utilisation n\u00e9cessitant un traitement rapide des images, comme un flux vid\u00e9o (&gt; 25 img\/s).<\/li>\n\n\n\n<li>Quel que soit le mod\u00e8le concern\u00e9, aucune ne d\u00e9passe les 57% de pr\u00e9cision de d\u00e9tection. Ceci implique que le mod\u00e8le est donc encore loin de pouvoir \u00eatre utilis\u00e9 de mani\u00e8re fiable dans un cadre public.<\/li>\n<\/ol>\n\n\n\n<p>Pour obtenir soi-m\u00eame les r\u00e9sultats pr\u00e9c\u00e9dents, il suffit de suivre les instructions de la page GitHub du mod\u00e8le yolov7 pr\u00e9-entra\u00een\u00e9 \u00e0 partir du dataset MS COCO&nbsp;: <a href=\"https:\/\/github.com\/WongKinYiu\/yolov7\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/WongKinYiu\/yolov7<\/a>.<\/p>\n\n\n\n<p>Suivre tout d\u2019abord la rubrique&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Installation.<\/li>\n<\/ul>\n\n\n\n<p>Puis l\u2019encadr\u00e9&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Testing.<\/li>\n<\/ul>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Comment entra\u00eener Yolov7&nbsp;?<\/h3>\n\n\n\n<p>Maintenant que nous avons vu comment tester Yolov7 avec un dataset sur lequel il est entra\u00een\u00e9, nous allons nous int\u00e9resser \u00e0 la mani\u00e8re dont nous pouvons entra\u00eener Yolov7 \u00e0 l\u2019aide de notre propre dataset. Nous allons commencer dans un premier temps un entra\u00eenement avec des donn\u00e9es d\u00e9j\u00e0 pr\u00e9par\u00e9es, ici le dataset MS COCO. Encore une fois, le GitHub de Yolov7 pr\u00e9sente un encart sp\u00e9cifique pr\u00e9vu \u00e0 cet effet&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Training.<\/li>\n<\/ul>\n\n\n\n<p>Il est d\u00e9compos\u00e9 en 2 \u00e9tapes simples&nbsp;:<\/p>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\">\n<li>T\u00e9l\u00e9charger le dataset d\u00e9j\u00e0 annot\u00e9 MS COCO.<\/li>\n\n\n\n<li>Lancer le script \u00ab&nbsp;train.py&nbsp;\u00bb intrins\u00e8que au r\u00e9pertoire Git avec le dataset pr\u00e9c\u00e9demment t\u00e9l\u00e9charg\u00e9.<\/li>\n<\/ol>\n\n\n\n<p>Celui-ci va alors tourner sur 300 \u00e9tapes pour se conformer au dataset MS COCO. On notera qu\u2019en r\u00e9alit\u00e9 cette op\u00e9ration a plus un but instructif \u00e9tant donn\u00e9 que Yolov7 est d\u00e9j\u00e0 entra\u00een\u00e9 sur le dataset MS COCO et poss\u00e8de donc d\u00e9j\u00e0 un mod\u00e8le ad\u00e9quat.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">Pr\u00e9parer ses propres donn\u00e9es d\u2019entra\u00eenement<\/h3>\n\n\n\n<p>Maintenant que nous avons vu ce qu\u2019est Yolov7, comment le tester et l\u2019entra\u00eener, il ne nous reste plus qu\u2019\u00e0 lui fournir notre propre base d\u2019images pour l\u2019entra\u00eener sur notre cas d\u2019usage. Nous allons donc suivre 4 \u00e9tapes pour cr\u00e9er notre propre dataset directement utilisable pour entra\u00eener Yolov7&nbsp;:<\/p>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\">\n<li>Choix de notre base de donn\u00e9es d\u2019images.<\/li>\n\n\n\n<li>Optionnel&nbsp;: Labellisation de l\u2019ensemble de nos images.<\/li>\n\n\n\n<li>Pr\u00e9paration du lancement (cas d\u2019utilisation de Google Collab).<\/li>\n\n\n\n<li>Entra\u00eenement (et fonctionnement fractionn\u00e9).<\/li>\n<\/ol>\n\n\n\n<p>Pour illustrer le d\u00e9roul\u00e9 de ces op\u00e9rations, nous allons prendre un cas similaire aux travaux de Novelis utilis\u00e9s sur <a href=\"https:\/\/novelis.io\/fr\/nos-travaux\/\">AIDA<\/a>: la d\u00e9tection d\u2019\u00e9l\u00e9ments dessin\u00e9s sur une feuille de papier.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-00.jpg\" alt=\"\" class=\"wp-image-6575\" width=\"448\" height=\"252\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-00.jpg 985w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-00-600x337.jpg 600w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-00-250x141.jpg 250w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-00-768x432.jpg 768w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/yolov7-00-30x17.jpg 30w\" sizes=\"(max-width: 448px) 100vw, 448px\" \/><figcaption class=\"wp-element-caption\"><em>Figure 11 : Image de d\u00e9part&nbsp;: un dessin manuscrit en couleurs sur une feuille.<\/em><\/figcaption><\/figure><\/div>\n\n\n<p>Pour commencer, il va donc nous falloir r\u00e9cup\u00e9rer une quantit\u00e9 suffisante d\u2019images similaires. Soit de notre propre collection, soit en utilisant une base de donn\u00e9es pr\u00e9existante (par exemple en prenant le dataset de notre choix \u00e0 partir de ce <a href=\"https:\/\/paperswithcode.com\/datasets?mod=images\" target=\"_blank\" rel=\"noopener\">lien<\/a>. De notre c\u00f4t\u00e9, nous utiliserons le dataset <a href=\"https:\/\/quickdraw.withgoogle.com\/data\" target=\"_blank\" rel=\"noopener\">Quick Draw<\/a>. Une fois notre base form\u00e9e, nous allons annoter nos images. Pour cela, de nombreux logiciels existent, la majorit\u00e9 du temps permettant de cr\u00e9er des bo\u00eetes, ou des polygones, et de les labelliser sous forme de classe. Dans notre cas, notre base de donn\u00e9es est d\u00e9j\u00e0 labellis\u00e9e, sinon il faudrait cr\u00e9er une classe pour chaque \u00e9l\u00e9ment \u00e0 d\u00e9tecter, puis identifier \u00e0 la main sur chaque image les zones exactes de pr\u00e9sences de ces classes. Une fois notre dataset labellis\u00e9, nous pouvons lancer une session sur <a href=\"https:\/\/colab.research.google.com\/\" target=\"_blank\" rel=\"noopener\">Google Colab<\/a> et commencer un nouveau Python Notebook. Nous l\u2019appellerons ici \u00ab&nbsp;MyYolov7Project.ipynb&nbsp;\u00bb par exemple.<\/p>\n\n\n\n<p>\u00c9tape pr\u00e9alable&nbsp;: copier votre dataset dans votre drive. Dans notre cas, on a d\u00e9j\u00e0 ajout\u00e9 \u00e0 notre drive un dossier \u00ab&nbsp;Yolov7_Dataset&nbsp;\u00bb. Voici l\u2019arborescence du dossier&nbsp;:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/BSO.png\" alt=\"\" class=\"wp-image-6577\" width=\"409\" height=\"213\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/BSO.png 751w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/BSO-600x312.png 600w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/BSO-250x130.png 250w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/BSO-30x16.png 30w\" sizes=\"(max-width: 409px) 100vw, 409px\" \/><figcaption class=\"wp-element-caption\"><em>Figure 12 : Arborescence du dossier \u00ab\u00a0Yolov7_Dataset\u00a0\u00bb.<\/em><\/figcaption><\/figure><\/div>\n\n\n<p>Pour chaque dossier, on retrouve un dossier images, contenant les images, et un dossier labels contenant les labels associ\u00e9s g\u00e9n\u00e9r\u00e9s pr\u00e9c\u00e9demment. Dans notre cas, nous utilisons 20&nbsp;000 images au total, dont 15&nbsp;000 pour l\u2019entrainement, 4 000 pour la validation et 1&nbsp;000 pour le test.<\/p>\n\n\n\n<p>Le fichier data.yaml contient quant \u00e0 lui l\u2019ensemble des chemins d\u2019acc\u00e8s aux dossier&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-2.png\" alt=\"\" class=\"wp-image-6579\" width=\"599\" height=\"60\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-2.png 923w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-2-600x61.png 600w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-2-250x25.png 250w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-2-768x78.png 768w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-2-30x3.png 30w\" sizes=\"(max-width: 599px) 100vw, 599px\" \/><\/figure>\n\n\n\n<p>Puis les caract\u00e9ristiques des classes&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-4.png\" alt=\"\" class=\"wp-image-6583\" width=\"599\" height=\"60\"\/><\/figure>\n\n\n\n<p>Nous ne repr\u00e9senterons pas les 345 classes dans le d\u00e9tail mais elles devront bien \u00eatre pr\u00e9sentes dans votre fichier. Nous pouvons donc \u00e0 pr\u00e9sent commencer notre script \u00ab&nbsp;MyYolov7Project.ipynb&nbsp;\u00bb sur Colab. Premi\u00e8re \u00e9tape, lier notre Drive au Colab afin de pouvoir sauvegarder nos r\u00e9sultats (Attention&nbsp;: les donn\u00e9es du r\u00e9seau entra\u00een\u00e9 sont volumineuses).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-5.png\" alt=\"\" class=\"wp-image-6585\" width=\"599\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-5.png 923w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-5-600x42.png 600w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-5-250x17.png 250w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-5-768x53.png 768w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-5-30x2.png 30w\" sizes=\"(max-width: 923px) 100vw, 923px\" \/><\/figure>\n\n\n\n<p>Une fois notre Drive li\u00e9, nous pouvons \u00e0 pr\u00e9sent cloner Yolov7 \u00e0 partir du Git officiel&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-6.png\" alt=\"\" class=\"wp-image-6587\" width=\"599\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-6.png 926w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-6-600x42.png 600w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-6-250x18.png 250w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-6-768x54.png 768w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-6-30x2.png 30w\" sizes=\"(max-width: 926px) 100vw, 926px\" \/><\/figure>\n\n\n\n<p>En nous pla\u00e7ant dans le dossier install\u00e9, nous v\u00e9rifions les pr\u00e9requis&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-7.png\" alt=\"\" class=\"wp-image-6589\" width=\"599\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-7.png 923w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-7-600x41.png 600w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-7-250x17.png 250w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-7-768x52.png 768w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-7-30x2.png 30w\" sizes=\"(max-width: 923px) 100vw, 923px\" \/><\/figure>\n\n\n\n<p>Nous aurons \u00e9galement besoin des biblioth\u00e8ques <em>sys<\/em> et <em>torch<\/em>.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-8.png\" alt=\"\" class=\"wp-image-6591\" width=\"599\" height=\"64\"\/><\/figure>\n\n\n\n<p>Nous pouvons alors lancer le script d\u2019entrainement de notre r\u00e9seau&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-9.png\" alt=\"\" class=\"wp-image-6593\" width=\"599\" height=\"64\"\/><\/figure>\n\n\n\n<p>On notera que le batch size peut \u00eatre modifi\u00e9 en fonction des capacit\u00e9s de votre GPU (avec la version gratuite de Collab, 16 reste le maximum possible). N\u2019oubliez pas \u00e9galement de modifier votre chemin d\u2019acc\u00e8s au fichier \u00ab&nbsp;data.yaml&nbsp;\u00bb en fonction de l\u2019arborescence de votre Drive. \u00c0 l\u2019issue de l\u2019entrainement, nous r\u00e9cup\u00e9rons donc un dossier avec les m\u00e9triques de l\u2019entrainement ainsi qu\u2019un mod\u00e8le entra\u00een\u00e9 sur notre base de donn\u00e9es. En lan\u00e7ant le script de d\u00e9tection (detect.py), nous pouvons donc obtenir le r\u00e9sultat de d\u00e9tection sur notre image de d\u00e9part&nbsp;:<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-10.png\" alt=\"\" class=\"wp-image-6595\" width=\"448\" height=\"252\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-10.png 860w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-10-600x338.png 600w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-10-250x141.png 250w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-10-768x432.png 768w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-10-30x17.png 30w\" sizes=\"(max-width: 448px) 100vw, 448px\" \/><figcaption class=\"wp-element-caption\"><em>Figure 13 : Image de d\u00e9part annot\u00e9e par Yolov7<\/em><\/figcaption><\/figure><\/div>\n\n\n<p>Comme on le voit, certains \u00e9l\u00e9ments n\u2019ont pas \u00e9t\u00e9 d\u00e9tect\u00e9s (la rivi\u00e8re, l\u2019herbe au premier plan) et certains ont \u00e9t\u00e9 mal labellis\u00e9s (les deux montagnes per\u00e7ues comme des volcans, probablement d\u00fb aux rayons du soleil d\u00e9passant). Notre mod\u00e8le est donc encore perfectible, soit en affinant notre base de donn\u00e9es, soit en modifiant les param\u00e8tres d\u2019entra\u00eenement.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Optionnel&nbsp;: Entrainement fractionn\u00e9 du r\u00e9seau (En cas d\u2019utilisation de de la version gratuite de Google Colab)<\/h4>\n\n\n\n<p>Bien que notre cas d\u2019usage reste simpliste, en cas d\u2019utilisation de la version gratuite de Google Colab, l\u2019entrainement de notre r\u00e9seau peut prendre plusieurs jours avant de s\u2019achever. Or les restrictions de Google Colab (version gratuite) emp\u00eachent un programme de tourner plus de 12h. Pour conserver l\u2019entrainement, il suffit alors de le relancer apr\u00e8s l\u2019arr\u00eat d\u2019une session avec en param\u00e8tre des poids (weights) notre dernier poids enregistr\u00e9&nbsp;:<\/p>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-11.png\" alt=\"\" class=\"wp-image-6597\" width=\"599\" height=\"64\"\/><\/figure>\n\n\n\n<p>Ici un exemple lanc\u00e9 avec le 8<sup>\u00e8me<\/sup> run (remplacez le dossier \u00ab&nbsp;yolov78&nbsp;\u00bb par le dernier entrainement r\u00e9alis\u00e9). Vous pouvez retrouver l\u2019ensemble de vos entrainements dans le dossier associ\u00e9 dans l\u2019arborescence de Yolov7.<\/p>\n\n\n<div class=\"wp-block-image\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-12.png\" alt=\"\" class=\"wp-image-6599\" width=\"156\" height=\"352\" srcset=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-12.png 384w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-12-267x600.png 267w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-12-111x250.png 111w, https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/image-12-13x30.png 13w\" sizes=\"(max-width: 156px) 100vw, 156px\" \/><figcaption class=\"wp-element-caption\"><em>Figure 14 : Arborescence des entrainements. Nous en sommes ici au 12\u00e8me lancement.<\/em><\/figcaption><\/figure><\/div>\n\n\n<p>L\u2019entrainement reprend alors du dernier epoch utilis\u00e9, et vous permet de progresser sans perdre le temps pass\u00e9 pr\u00e9c\u00e9demment sur votre r\u00e9seau.<\/p>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<div style=\"height:100px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>R\u00e9f\u00e9rences&nbsp;:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Travaux, exp\u00e9rimentations et retours d\u2019exp\u00e9rience du Lab. R&amp;D de Novelis.<\/li>\n\n\n\n<li>Contribution de WANG, Chien-Yao, BOCHKOVSKIY, Alexey, et LIAO, Hong-Yuan Mark. YOLOv7: Trainable bag-of-freebies sets new state-of-the-art for real-time object detectors. <em>arXiv preprint arXiv:2207.02696<\/em>, 2022.&nbsp;: <a href=\"https:\/\/arxiv.org\/abs\/2207.02696\" target=\"_blank\" rel=\"noopener\">https:\/\/arxiv.org\/abs\/2207.02696<\/a><\/li>\n\n\n\n<li>Official YOLOv7 code source&nbsp;: <a href=\"https:\/\/github.com\/WongKinYiu\/yolov7\" target=\"_blank\" rel=\"noopener\">https:\/\/github.com\/WongKinYiu\/yolov7<\/a><\/li>\n\n\n\n<li>Microsoft COCO: Common Objects in Context&nbsp;: <a href=\"https:\/\/arxiv.org\/pdf\/1405.0312.pdf\" target=\"_blank\" rel=\"noopener\">https:\/\/arxiv.org\/pdf\/1405.0312.pdf<\/a><\/li>\n\n\n\n<li>Cr\u00e9er son mod\u00e8le avec YOLO <a href=\"https:\/\/datacorner.fr\/yolo-custom-1\/\" target=\"_blank\" rel=\"noopener\">https:\/\/datacorner.fr\/yolo-custom-1\/<\/a><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n","protected":false},"featured_media":6606,"template":"","categories":[129],"tags":[],"custom_tag":[87,363],"class_list":["post-6608","news","type-news","status-publish","has-post-thumbnail","hentry","category-article-de-blog","custom_tag-ia","custom_tag-yolo-2"],"acf":{"externel_link":"","filter_opacity":"70","subtitle":"","reading_time":"","authors":"","document_to_download":{"upload_a_file":false,"download_without_form":false,"file":false,"url":""}},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.6 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Yolov7\u00a0: L\u2019intelligence artificielle pour la d\u00e9tection d\u2019objets en temps r\u00e9el dans une image<\/title>\n<meta name=\"description\" content=\"Proposer \u00e0 tout type d\u2019organisation un syst\u00e8me fiable et robuste permettant de traiter les informations sensibles\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Yolov7\u00a0: L\u2019intelligence artificielle pour la d\u00e9tection d\u2019objets en temps r\u00e9el dans une image\" \/>\n<meta property=\"og:description\" content=\"Proposer \u00e0 tout type d\u2019organisation un syst\u00e8me fiable et robuste permettant de traiter les informations sensibles\" \/>\n<meta property=\"og:url\" content=\"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/\" \/>\n<meta property=\"og:site_name\" content=\"Novelis innovation\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/novelis.io\" \/>\n<meta property=\"og:image\" content=\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/Ameliorer-lefficacite-operationnelle-en-automatisant-les-processus-de-gestion-1-scaled.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2560\" \/>\n\t<meta property=\"og:image:height\" content=\"1440\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@novelis_io\" \/>\n<meta name=\"twitter:label1\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data1\" content=\"13 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/\",\"url\":\"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/\",\"name\":\"Yolov7\u00a0: L\u2019intelligence artificielle pour la d\u00e9tection d\u2019objets en temps r\u00e9el dans une image\",\"isPartOf\":{\"@id\":\"https:\/\/novelis.io\/fr\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/Ameliorer-lefficacite-operationnelle-en-automatisant-les-processus-de-gestion-1-scaled.jpg\",\"datePublished\":\"2023-01-19T09:42:04+00:00\",\"description\":\"Proposer \u00e0 tout type d\u2019organisation un syst\u00e8me fiable et robuste permettant de traiter les informations sensibles\",\"breadcrumb\":{\"@id\":\"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/#primaryimage\",\"url\":\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/Ameliorer-lefficacite-operationnelle-en-automatisant-les-processus-de-gestion-1-scaled.jpg\",\"contentUrl\":\"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/Ameliorer-lefficacite-operationnelle-en-automatisant-les-processus-de-gestion-1-scaled.jpg\",\"width\":2560,\"height\":1440},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/novelis.io\/fr\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Yolov7\u00a0: L\u2019intelligence artificielle pour la d\u00e9tection d\u2019objets en temps r\u00e9el dans une image\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/novelis.io\/fr\/#website\",\"url\":\"https:\/\/novelis.io\/fr\/\",\"name\":\"Novelis innovation\",\"description\":\"Novelis innovation\",\"publisher\":{\"@id\":\"https:\/\/novelis.io\/fr\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/novelis.io\/fr\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/novelis.io\/fr\/#organization\",\"name\":\"Novelis innovation\",\"url\":\"https:\/\/novelis.io\/fr\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/novelis.io\/fr\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/novelis.io\/wp-content\/uploads\/2021\/12\/logo-1.png\",\"contentUrl\":\"https:\/\/novelis.io\/wp-content\/uploads\/2021\/12\/logo-1.png\",\"width\":479,\"height\":98,\"caption\":\"Novelis innovation\"},\"image\":{\"@id\":\"https:\/\/novelis.io\/fr\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/novelis.io\",\"https:\/\/x.com\/novelis_io\",\"https:\/\/www.linkedin.com\/company\/novelis-consulting\/\",\"https:\/\/www.youtube.com\/channel\/UCJ5eJR22n2GtfKaTWueWRPQ\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Yolov7\u00a0: L\u2019intelligence artificielle pour la d\u00e9tection d\u2019objets en temps r\u00e9el dans une image","description":"Proposer \u00e0 tout type d\u2019organisation un syst\u00e8me fiable et robuste permettant de traiter les informations sensibles","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/","og_locale":"fr_FR","og_type":"article","og_title":"Yolov7\u00a0: L\u2019intelligence artificielle pour la d\u00e9tection d\u2019objets en temps r\u00e9el dans une image","og_description":"Proposer \u00e0 tout type d\u2019organisation un syst\u00e8me fiable et robuste permettant de traiter les informations sensibles","og_url":"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/","og_site_name":"Novelis innovation","article_publisher":"https:\/\/www.facebook.com\/novelis.io","og_image":[{"width":2560,"height":1440,"url":"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/Ameliorer-lefficacite-operationnelle-en-automatisant-les-processus-de-gestion-1-scaled.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_site":"@novelis_io","twitter_misc":{"Dur\u00e9e de lecture estim\u00e9e":"13 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/","url":"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/","name":"Yolov7\u00a0: L\u2019intelligence artificielle pour la d\u00e9tection d\u2019objets en temps r\u00e9el dans une image","isPartOf":{"@id":"https:\/\/novelis.io\/fr\/#website"},"primaryImageOfPage":{"@id":"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/#primaryimage"},"image":{"@id":"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/#primaryimage"},"thumbnailUrl":"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/Ameliorer-lefficacite-operationnelle-en-automatisant-les-processus-de-gestion-1-scaled.jpg","datePublished":"2023-01-19T09:42:04+00:00","description":"Proposer \u00e0 tout type d\u2019organisation un syst\u00e8me fiable et robuste permettant de traiter les informations sensibles","breadcrumb":{"@id":"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/#primaryimage","url":"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/Ameliorer-lefficacite-operationnelle-en-automatisant-les-processus-de-gestion-1-scaled.jpg","contentUrl":"https:\/\/novelis.io\/wp-content\/uploads\/2023\/01\/Ameliorer-lefficacite-operationnelle-en-automatisant-les-processus-de-gestion-1-scaled.jpg","width":2560,"height":1440},{"@type":"BreadcrumbList","@id":"https:\/\/novelis.io\/fr\/news\/yolov7-lintelligence-artificielle-pour-la-detection-dobjets-en-temps-reel-dans-une-image\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/novelis.io\/fr\/"},{"@type":"ListItem","position":2,"name":"Yolov7\u00a0: L\u2019intelligence artificielle pour la d\u00e9tection d\u2019objets en temps r\u00e9el dans une image"}]},{"@type":"WebSite","@id":"https:\/\/novelis.io\/fr\/#website","url":"https:\/\/novelis.io\/fr\/","name":"Novelis innovation","description":"Novelis innovation","publisher":{"@id":"https:\/\/novelis.io\/fr\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/novelis.io\/fr\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"fr-FR"},{"@type":"Organization","@id":"https:\/\/novelis.io\/fr\/#organization","name":"Novelis innovation","url":"https:\/\/novelis.io\/fr\/","logo":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/novelis.io\/fr\/#\/schema\/logo\/image\/","url":"https:\/\/novelis.io\/wp-content\/uploads\/2021\/12\/logo-1.png","contentUrl":"https:\/\/novelis.io\/wp-content\/uploads\/2021\/12\/logo-1.png","width":479,"height":98,"caption":"Novelis innovation"},"image":{"@id":"https:\/\/novelis.io\/fr\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/novelis.io","https:\/\/x.com\/novelis_io","https:\/\/www.linkedin.com\/company\/novelis-consulting\/","https:\/\/www.youtube.com\/channel\/UCJ5eJR22n2GtfKaTWueWRPQ"]}]}},"_links":{"self":[{"href":"https:\/\/novelis.io\/fr\/wp-json\/wp\/v2\/news\/6608"}],"collection":[{"href":"https:\/\/novelis.io\/fr\/wp-json\/wp\/v2\/news"}],"about":[{"href":"https:\/\/novelis.io\/fr\/wp-json\/wp\/v2\/types\/news"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/novelis.io\/fr\/wp-json\/wp\/v2\/media\/6606"}],"wp:attachment":[{"href":"https:\/\/novelis.io\/fr\/wp-json\/wp\/v2\/media?parent=6608"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/novelis.io\/fr\/wp-json\/wp\/v2\/categories?post=6608"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/novelis.io\/fr\/wp-json\/wp\/v2\/tags?post=6608"},{"taxonomy":"custom_tag","embeddable":true,"href":"https:\/\/novelis.io\/fr\/wp-json\/wp\/v2\/custom_tag?post=6608"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}