Apprentissage Automatique et Réseaux Neuronaux - page 39

 

Détection et suivi d'objets personnalisés YOLOv8 | Détection de navires | Tutoriel complet



Détection et suivi d'objets personnalisés YOLOv8 | Détection de navires | Tutoriel complet

Le didacticiel YouTube couvre la mise en œuvre de YOLOv8 avec un suivi d'objet de tri approfondi sur un ensemble de données de détection de navire personnalisé. La vidéo explique comment télécharger l'ensemble de données à partir de RoboFlow, configurer un projet dans Expense ID et former le modèle dans Google Colab. Le script d'entraînement a été exécuté pendant 70 époques et a donné une précision moyenne moyenne de 0,968 avec IOU 50. Le présentateur analyse les graphiques de perte et de précision moyenne pour montrer que l'entraînement pour plus d'époques donnera de meilleurs résultats. Ils montrent ensuite comment valider le modèle sur un jeu de données de validation et montrent la précision moyenne moyenne sur les images du jeu de données de validation. Enfin, ils montrent quelques vidéos de démonstration du modèle en action, y compris un exemple de fausse prédiction.

  • 00:00:00 Dans cette section, le didacticiel vidéo couvre l'ensemble de données du projet de détection et de suivi d'objets personnalisés, qui comprend environ 794 images de navires capturés par des drones, avec une seule classe nommée "planche" ou "forme". Le didacticiel montre ensuite comment télécharger l'ensemble de données depuis RoboFlow et l'exporter vers Google Colab ou Expense ID, qui offre 25 crédits gratuits et un GPU Tesla T4 ou V100 pour former des modèles d'apprentissage automatique. Enfin, le didacticiel traite de la configuration d'un projet dans Expense ID et de l'ouverture d'un bloc-notes Jupyter avec des options de serveur Expense pour former le modèle de détection d'objet YOLOv8 sur l'ensemble de données.

  • 00:05:00 Dans cette section du didacticiel YouTube, l'instructeur explique le paramétrage du projet et fournit un lien de référentiel GitHub pour implémenter YOLO v8 avec un suivi d'objet de tri approfondi sur un ensemble de données de détection de navire personnalisé. La vidéo montre comment cloner le référentiel GitHub dans un notebook Google Colab et installer les bibliothèques nécessaires à l'aide de pip. Le script du bloc-notes est expliqué en détail, y compris comment importer la bibliothèque d'images, définir les répertoires de travail actuels et télécharger des modèles pré-formés. L'instructeur insiste sur l'importance d'exécuter le script dans le bon ordre et d'installer toutes les bibliothèques requises avant d'exécuter les scripts de formation, de test ou de validation pour éviter les erreurs.

  • 00:10:00 Dans cette section, l'orateur explique comment télécharger un ensemble de données d'images de navires à partir de RoboFlow et mettre en œuvre le suivi d'objets à l'aide de DeepSort. Ils forment ensuite un modèle YOLOv8 sur le jeu de données du navire, en définissant l'emplacement du jeu de données et la taille d'image par défaut avant d'exécuter le script de formation pendant 70 époques. Les résultats montrent une bonne précision moyenne de 0,968 avec IOU 50, ce qui signifie que le modèle a correctement identifié 96,8 % des navires dans les images. Le fichier de poids est enregistré dans le dossier train, et une matrice de confusion montre que le modèle était précis à 96 % pour détecter la présence d'un navire, avec un taux d'échec de 4 %. La perte d'entraînement diminue continuellement, ce qui indique que l'entraînement pendant plus d'époques donnera de meilleurs résultats.

  • 00:15:00 Dans cette section de la vidéo, le présentateur analyse le graphique de perte et le graphique de précision moyenne pour montrer que la perte d'entraînement diminue continuellement et que la précision moyenne moyenne augmente continuellement à mesure que les époques augmentent. Ils démontrent ensuite comment valider le modèle sur un jeu de données de validation et montrent la précision moyenne moyenne avec iou50 sur les images du jeu de données de validation qui est de 96,4 % et la précision moyenne moyenne avec iou50 à 95 est de 71,6 %. Le présentateur montre ensuite quelques vidéos de démonstration, en utilisant le script predict.pi en transmettant les meilleurs poids de modèle, pour tester le modèle sur plusieurs vidéos et montre comment le modèle peut détecter les cartes et attribuer des identifiants uniques à chaque objet. Enfin, ils montrent un exemple de fausse prédiction faite par le modèle.
 

YOLOv8 et VGG16 pour le visage, la détection du genre, le comptage des visages et le suivi des personnes | Ensemble de données personnalisé



YOLOv8 et VGG16 pour le visage, la détection du genre, le comptage des visages et le suivi des personnes | Ensemble de données personnalisé

Le didacticiel vidéo explique le processus de détection des visages, de classification par sexe, de comptage des visages et de suivi des personnes à l'aide des modèles YOLOv8 et VGG16. Le didacticiel couvre divers aspects de la mise en œuvre et de la formation de ces modèles, y compris la préparation des données, l'augmentation des données, le réglage fin du modèle VGG16 pré-formé, l'utilisation de l'apprentissage par transfert et la formation du modèle YOLOv8 pour la détection des visages. Le présentateur explique également comment monter un Google Drive dans un bloc-notes Google Colab, accéder et convertir des ensembles de données d'images, télécharger les bibliothèques requises et intégrer le suivi des objets à l'aide du tri profond. Le didacticiel fournit des explications détaillées sur le code permettant de dessiner des cadres de délimitation autour des objets détectés, d'intégrer le modèle de classification par sexe, de compter le nombre de visages dans un cadre et d'attribuer à chaque visage détecté un identifiant unique à l'aide de deepsort.update.

  • 00:00:00 Dans cette section du didacticiel vidéo, le flux de travail pour la détection des visages avec classification par sexe et comptage des visages avec suivi à l'aide de YOLOv8 et VGG16 est expliqué. La première étape consiste à préparer l'ensemble de données avec des images de visages d'hommes et de femmes, à former le modèle VGG16 pour la détection du genre, suivi de la formation du modèle YOLOv8 pour la détection des visages. Avec la détection de visage de YOLOv8, la classification par sexe est effectuée à l'aide du modèle VGG16 formé. Le suivi des objets est ensuite mis en œuvre à l'aide de Deepsort, attribuant un identifiant unique à chaque visage ou personne détecté. Le bloc-notes est divisé en neuf étapes, y compris l'importation des bibliothèques requises, le montage de Google Drive, le chargement de l'ensemble de données, la conversion des images et des étiquettes en tableaux, l'application de l'augmentation des données, l'ajustement du modèle VGG16 sur les données de classification par sexe, le traçage de la formation et de la perte de validation, et test avec un exemple d'image.

  • 00:05:00 Dans cette section, l'orateur discute de diverses bibliothèques et fonctions qui peuvent être utilisées pour convertir des images en tableaux numpy, et vice versa. Ils expliquent également l'utilisation d'une bibliothèque catégorielle à deux tirets et le concept d'approches séquentielles et fonctionnelles pour organiser les couches dans le réseau de neurones. La couche aplatie est utilisée pour convertir les entrées multidimensionnelles en une dimension, tandis que la couche dense est utilisée pour définir la taille de la couche de sortie. De plus, ils discutent de l'utilisation de l'apprentissage par transfert avec le modèle VGG16 et de l'importation des bibliothèques de fractionnement de test de train, numpy et OS. Enfin, ils mentionnent l'utilisation de la bibliothèque gdob pour accéder à tous les fichiers d'un dossier et de la bibliothèque random pour mélanger les ensembles de données d'images.

  • 00:10:00 Dans cette section, la vidéo explique comment monter un Google Drive avec un bloc-notes Google Colab pour accéder à un ensemble de données, qui est téléchargé au format zip. L'ensemble de données comprend des images de visages d'hommes et de femmes, et la vidéo montre comment décompresser et accéder au dossier contenant ces images. À l'aide de la bibliothèque glob, la vidéo accède à tous les fichiers d'image dans les dossiers de l'ensemble de données et les convertit en un format de tableau avec des étiquettes indiquant si l'image est un visage d'homme ou de femme. La vidéo montre un exemple d'image et explique comment la variable des fichiers image contient tous les chemins d'accès aux fichiers image des dossiers hommes et femmes, qui peuvent être lus à l'aide de cb2.im read.

  • 00:15:00 Dans cette section, l'orateur explique comment il a préparé son ensemble de données pour la détection de visage et de sexe. Ils ont créé un dossier "hommes" et "femmes", redimensionné les images qu'ils contenaient et les ont converties en tableaux qui ont ensuite été stockés dans une liste de données. Ils ont ajouté les valeurs d'étiquettes correspondantes dans une liste d'étiquettes, avec 1 pour les femmes et 0 pour les hommes. Les listes de données et d'étiquettes ont ensuite été converties en tableaux à l'aide de NumPy. L'orateur démontre également l'augmentation des données avec l'utilisation d'un générateur de données d'image, générant plusieurs images à partir d'une seule image en appliquant diverses transformations. Ils ont ensuite affiné un modèle VGG16 pré-formé sur leur ensemble de données de classification par sexe et mis en œuvre l'activation softmax pour définir la couche de sortie. La taille de sortie a été fixée à 2 pour classer les hommes ou les femmes.

  • 00:20:00 Dans cette section du didacticiel vidéo, l'orateur présente le modèle VGG16 pour la détection du visage et du sexe et montre comment l'entraîner sur un ensemble de données de classification générale. Le modèle est enregistré au format .H5 et sa précision, sa précision de validation et ses parties perdues sont calculées. À l'aide de cv2.dsize, l'image est redimensionnée aux dimensions 100 x 100 et convertie en tableau, et le modèle prédit si l'image contient un homme ou une femme. Dans la prochaine partie du didacticiel, le modèle YOLOv8 sera formé sur un ensemble de données de visage pour détecter les visages et attribuer un identifiant unique pour le suivi. L'orateur mentionne également que le comptage des visages sera mis en œuvre à l'aide d'un simple code ajouté au fichier predict.pi. Dans l'ensemble, le didacticiel est divisé en sept étapes.

  • 00:25:00 Dans cette section, le présentateur présente le référentiel GitHub qu'il utilisera pour implémenter le suivi d'objets à l'aide d'un tri approfondi, ainsi que le modèle YOLO V8 pour la réduction des visages. Ils discutent de la façon dont ils vont détecter les visages et effectuer une classification par sexe avant d'intégrer un code de suivi d'objets de tri approfondi pour attribuer à chaque personne un identifiant unique. Le présentateur définit ensuite son répertoire actuel comme référentiel de clonage et installe toutes les bibliothèques et dépendances requises pour le script. Ils téléchargent également l'ensemble de données de RoboFlow dans leur bloc-notes Google Colab, mais rencontrent des problèmes dus à la possession d'un compte privé.

  • 00:30:00 utiliser les poids du modèle YOLOv8 pré-formé pour la détection de visage. L'ensemble de données est téléchargé et enregistré dans mon compte Google Drive, et j'ai déjà formé un modèle YOLOv8 pour 80 époques pour la détection de visage. Le modèle entraîné a déjà été enregistré et les pondérations ont été téléchargées dans le bloc-notes Google Colab. Les fichiers de tri approfondi sont également téléchargés dans le bloc-notes, car le suivi des objets sera mis en œuvre à l'aide du tri approfondi. De plus, un modèle VGG16 a été formé pour la détection du sexe, et le fichier .h5 du modèle a été enregistré et téléchargé sur le compte Google Drive. Les exemples de vidéos sont téléchargés à partir de Google Drive pour tester le script predict.pi, qui inclut le code de classification de genre et le comptage des visages.

  • 00:35:00 Dans cette section, l'orateur explique le code qui a été ajouté pour implémenter le suivi d'objets à l'aide du tri approfondi. Le port de suivi d'objet de tri approfondi est initialisé et une fonction est définie pour convertir la sortie reçue du modèle YOLOv8 dans un format compatible pour le tri approfondi. La fonction de boîte d'interface utilisateur crée des cadres de délimitation autour des objets détectés, tandis que la fonction de boîte de dessin appelle la boîte d'interface utilisateur et les fonctions de bordure de dessin pour dessiner un rectangle arrondi pour le texte. Le code de suivi de tri approfondi est intégré avec la possibilité de tracer des pistes. L'orateur explique ensuite le code du classificateur de genre et de la fonction de comptage dans le fichier Paint. La fonction de comptage est utilisée pour compter chaque objet dans chaque image. Dans l'ensemble, le code explique comment convertir les valeurs de sortie X1, Y1, X2 et Y2 de YOLOv8 en coordonnées centrales, hauteur et largeur pour le suivi d'objets à l'aide d'un tri approfondi, en implémentant la détection d'objets et le suivi d'objets dans une application du monde réel.

  • 00:40:00 Dans cette section, l'orateur discute de la conversion du modèle YOLOv8 dans les coordonnées centrales xcyc de la boîte englobante et la largeur et la hauteur de la boîte englobante pour le rendre compatible avec le suivi d'objet de tri approfondi. Ils expliquent également comment la fonction de calcul de couleur pour l'étiquette attribue des couleurs uniques aux objets détectés et la fonction de dessin de bordure de tiret crée un rectangle au-dessus de la boîte englobante où l'étiquette et le score de confiance sont écrits. L'orateur parle également de la classe de classificateur de genre et de la façon dont elle est chargée et utilisée sur chaque image de la vidéo pour classer le genre des objets détectés. De plus, ils mentionnent la fonction UI Dash box et la fonction draw Dash boxes, qui sont utilisées pour créer des cadres de délimitation et appeler la fonction de classificateur de genre.

  • 00:45:00 Dans cette section, le présentateur explique comment utiliser le modèle de classification de genre pour détecter si un visage appartient à un homme ou à une femme. Après avoir détecté le visage, seules les coordonnées de la boîte englobante sont transmises au modèle de classification par sexe. Le modèle prédit ensuite si le visage appartient à un homme ou à une femme, et l'étiquette est ajoutée au-dessus de la boîte englobante en conséquence. Le présentateur explique ensuite la fonction count, qui utilise un dictionnaire appelé Foundry-classes pour stocker le nombre de visages détectés dans le cadre. Le nombre est affiché dans l'interface utilisateur au-dessus du haut de la vidéo ou de l'image.

  • 00:50:00 Dans cette section, l'orateur explique que le nombre de visages détectés dans l'image actuelle est stocké dans le dictionnaire de la classe Foundry dans la classe FaceDetails. Le dictionnaire contient deux valeurs, la variable clé qui contient "visage" et la variable valeur qui contient le nombre de visages détectés dans l'image actuelle. L'orateur utilise la fonction de comptage pour afficher le nombre de visages détectés dans chaque image et attribue un identifiant unique à chaque visage détecté à l'aide de deepsort.update. L'orateur crée également une classe générale, une classe de classification et une classe de danger. Les détections du modèle sont testées sur plusieurs vidéos de démonstration et l'orateur montre les résultats des détections dans chaque image.
 

Compteur de personnes utilisant YOLOv8 et le suivi d'objets | Comptage de personnes (entrant et sortant)



Compteur de personnes utilisant YOLOv8 et le suivi d'objets | Comptage de personnes (entrant et sortant)

La vidéo explique comment créer un compteur de personnes à l'aide de YOLOv8 et du suivi d'objets. Le processus implique la détection d'objets avec des identifiants uniques, la recherche de la coordonnée centrale de l'objet détecté, le suivi d'objets avec Deep SORT et la détection du moment où des objets traversent des lignes spécifiques pour compter le nombre de personnes entrant et sortant d'une zone spécifique. Les identifiants uniques sont stockés dans des listes pour compter les personnes entrant et sortant de la zone, et les décomptes sont affichés graphiquement avec des cercles verts et rouges. La vidéo fournit également le code du projet et montre la sortie du système en temps réel.

  • 00:00:00 Dans cette section du didacticiel vidéo, le présentateur explique comment créer un compteur de personnes à l'aide de YOLO V8 et du suivi d'objets. Le flux de processus commence par la mise en œuvre de la détection d'objets YOLO V8 pour détecter les personnes et attribuer un identifiant unique à chaque objet détecté. Ensuite, la coordonnée centrale de l'objet détecté est trouvée, suivie d'un suivi d'objet à l'aide de Deep SORT, qui attribue un identifiant unique à chaque objet détecté. Ensuite, des lignes sont tracées pour détecter quand une personne les franchit, et son identifiant unique est ajouté à une liste. Enfin, la longueur de la liste est trouvée pour obtenir le nombre total de personnes traversant chaque ligne.

  • 00:05:00 Dans cette section, la vidéo explique le processus de comptage de personnes à l'aide de YOLOv8 et du suivi d'objets. La méthode consiste à suivre la coordonnée centrale de la boîte englobante de l'objet et à détecter le moment où il franchit une ligne verte. L'identifiant unique de l'objet est ensuite ajouté à une liste, qui est utilisée pour calculer le nombre total d'objets qui ont traversé la ligne. Le processus est répété image par image et le décompte est incrémenté chaque fois qu'un objet passe la ligne. La vidéo montre également le code utilisé pour ce projet, qui comprend l'installation de dépendances et l'utilisation de la méthode de suivi d'objet de tri approfondi.

  • 00:10:00 Dans cette section de la vidéo, le présentateur télécharge les fichiers Deep Sort et ouvre le script de prédiction pour apporter les modifications nécessaires aux exigences de son projet. Le présentateur supprime les traces et les données inutiles et crée deux lignes pour le comptage et le décompte à l'aide de l'entrée vidéo. Ils trouvent les points de coordonnées pour chaque ligne, ce qui leur permettra de suivre le nombre de personnes qui ont traversé chaque ligne et le nombre total. Le présentateur partage son écran pour montrer comment trouver les coordonnées et insiste sur l'importance de se concentrer sur la bonne zone.

  • 00:15:00 Dans cette section, l'orateur explique comment définir les coordonnées de la ligne et créer une liste vide. Les coordonnées de la ligne sont copiées à partir d'une étape précédente, et la liste vide stockera l'identifiant unique des objets qui la traversent. Le script calcule également la largeur et la hauteur de la boîte englobante et stocke l'identifiant unique dans la liste appropriée selon que la personne monte ou descend. L'orateur fournit une représentation visuelle des points et des coordonnées utilisés dans cette section.

  • 00:20:00 Dans cette section de la vidéo, l'orateur explique le code du projet People Counter en utilisant YOLOv8 et Object Tracking. Ils passent par les coordonnées CX et CY, qui représentent les coordonnées centrales de la boîte englobante, et comment ils sont utilisés pour dessiner un cercle et un rectangle autour de l'objet détecté. L'orateur explique également comment l'ID unique et l'étiquette de chaque objet sont ajoutés au rectangle à l'aide de la fonction cv2.puttext. Enfin, ils expliquent comment l'ID unique est stocké dans la liste vide lorsque la coordonnée CX de l'objet franchit une certaine ligne, indiquant une entrée ou une sortie.

  • 00:25:00 Dans cette section, le présentateur explique comment l'identifiant unique est ajouté à la liste de comptage total pour les personnes qui montent et celles qui descendent. Lorsque la coordonnée centrale passe au-dessus ou au-dessous de la ligne, selon le nombre, elle sera ajoutée à la liste respective. La longueur de chaque liste représente le nombre de personnes qui montent et descendent, qui est affiché graphiquement à l'aide de deux cercles où le vert représente les personnes qui montent et le rouge représente les personnes qui descendent. Le présentateur met l'accent sur la définition des variables globales de comptage total et total décroissant et sur la création d'une ligne à l'aide de cb2.9. Le code utilise le cercle CPU/DPM pour créer la représentation circulaire du décompte. Le présentateur rappelle aux téléspectateurs de s'assurer que le runtime est défini sur GPU, et la session peut prendre quelques secondes pour télécharger les fichiers nécessaires.

  • 00:30:00 Dans cette section, l'orateur montre comment télécharger et exécuter un script qui utilise YOLOv8 et Object Tracking pour compter le nombre de personnes entrant et sortant d'une zone spécifique dans une vidéo. Le script divise la vidéo en images et les traite une par une pour suivre le mouvement des personnes et les compter lorsqu'elles traversent des lignes spécifiques. Le résultat est une vidéo annotée qui montre le nombre de personnes entrant et sortant de la zone en temps réel. L'orateur présente également la vidéo de sortie et explique comment le script compte avec succès le mouvement des personnes.

  • 00:35:00 Dans cette section, le didacticiel vidéo montre l'utilisation de YOLOv8 et du suivi d'objets pour compter les personnes entrant et sortant d'une zone particulière. Le système compte les individus traversant une ligne sur l'image et affiche le décompte sous forme de décompte ou de décompte selon la direction du mouvement. Le fichier de script du système est également partagé et les téléspectateurs sont encouragés à s'abonner à la chaîne et à laisser un pouce levé.
 

Détection, suivi, floutage et comptage d'objets en temps réel à l'aide de YOLOv8 : un didacticiel pas à pas



Détection, suivi, floutage et comptage d'objets en temps réel à l'aide de YOLOv8 : un didacticiel pas à pas

Ce didacticiel se concentre sur la mise en œuvre du flou et du comptage d'objets avec la détection et le suivi d'objets en temps réel à l'aide de YOLOv8. Le didacticiel fournit des étapes pour télécharger les fichiers requis, y compris les fichiers Deep Sort pour le suivi des objets et un exemple de vidéo pour les tests. Le didacticiel utilise la bibliothèque CV2 d'OpenCV pour brouiller les objets détectés et fournit du code pour la détection, le suivi et le flou des objets. L'orateur démontre le processus de détermination des coordonnées de la boîte englobante, de recadrage de l'image et d'application de la fonction de flou. De plus, le présentateur explique le code pour compter le nombre total d'objets dans chaque image à l'aide d'un dictionnaire et montre comment le code détecte, suit et brouille les objets tout en affichant le nombre total d'objets dans chaque image. Dans l'ensemble, les résultats sont bons et un référentiel GitHub pour le projet est fourni dans la description.

  • 00:00:00 Dans cette section du didacticiel, l'accent est mis sur le floutage des objets détectés et le comptage du nombre d'objets dans chaque image. Le didacticiel utilise YOLOv8 pour la détection d'objets avec ID de suivi et traces. Le didacticiel fournit un guide étape par étape, de la sélection du runtime GPU à l'exécution des scripts pour télécharger les fichiers requis, y compris les fichiers Deep Sort pour le suivi des objets, et un exemple de vidéo pour les tests. Le didacticiel met également en évidence l'utilisation de la bibliothèque CV2 d'OpenCV pour brouiller les objets détectés et fournit du code pour implémenter la détection, le suivi et le flou des objets.

  • 00:05:00 Dans cette section, le didacticiel vidéo explique comment rendre flous les objets détectés lors de la détection et du suivi d'objets en temps réel à l'aide de YOLOv8. Pour implémenter cela, il faut connaître les coordonnées de la boîte englobante, qui comprend le sommet supérieur gauche et le sommet inférieur droit, puis brouiller l'objet à l'intérieur de cette boîte englobante. Les coordonnées sont stockées dans le fichier "predict.pi", et on peut obtenir ces valeurs pour flouter les objets.

  • 00:10:00 Dans cette section de la vidéo, l'orateur explique comment flouter l'objet à l'intérieur de la boîte englobante de l'objet détecté. Il détermine d'abord les coordonnées de la boîte englobante avant de recadrer l'image pour ne contenir que la zone où se trouve la boîte englobante. Ensuite, il applique la fonction de flou à l'aide du flou de point CV2 et définit le rapport sanguin, qui détermine le flou de la zone. L'orateur démontre le processus en écrivant et en exécutant le script.

  • 00:15:00 Dans cette section de la vidéo, le présentateur montre comment mettre en œuvre le flou d'objet à l'aide de YOLOv8 pour la détection, le suivi et le comptage d'objets en temps réel. Après avoir apporté quelques corrections mineures et exécuté le script, le présentateur affiche les résultats de la fonction de flou d'objet, qui fonctionne bien. Ensuite, le présentateur explique le code permettant de compter le nombre total d'objets dans chaque cadre, ce qui implique la création d'un dictionnaire contenant le nom de l'objet et le nombre de fois qu'il apparaît dans le cadre actuel. Le présentateur ne montre pas le code de cette partie pour éviter de rendre la vidéo trop longue.

  • 00:20:00 Dans cette section, le présentateur explique la fonction count, qui extrait les clés et les valeurs d'un dictionnaire contenant les noms d'objets et leur nombre (le nombre d'apparitions dans le front frame actuel). Cette fonction crée un rectangle et le superpose avec le texte affichant le nombre de fois où l'objet est apparu. Le présentateur montre également comment le code détecte et suit les objets, les brouille et affiche le nombre total d'objets dans chaque image. Les résultats sont bons et un référentiel GitHub pour le projet est fourni dans la description.
 

Former YOLOv8 sur un ensemble de données personnalisé | Détection et reconnaissance des alphabets en langue des signes à l'aide de YOLOv8



Former YOLOv8 sur un ensemble de données personnalisé | Détection et reconnaissance des alphabets en langue des signes à l'aide de YOLOv8

La vidéo montre la mise en œuvre de YOLOv8 sur un ensemble de données personnalisé pour la détection et la reconnaissance de l'alphabet en langue des signes. Le processus implique de télécharger l'ensemble de données, d'entraîner le modèle pendant 50 époques et d'évaluer ses performances à l'aide de la matrice de confusion et des pertes d'entraînement et de validation. Le présentateur explique également comment les prédictions du modèle sur le lot de validation et les images non utilisées pour la formation sont validées pour déterminer son comportement sur différentes images. Le modèle formé est ensuite validé et testé sur les images du jeu de données de validation, et une inférence vidéo de démonstration est présentée avec de bons résultats. Dans l'ensemble, la vidéo met en évidence l'application de YOLOv8 pour la formation de jeux de données personnalisés et la détection d'objets.

  • 00:00:00 Dans cette section de la vidéo, le présentateur présente le thème de la formation YOLOv8 sur les données personnalisées pour la détection et la reconnaissance des alphabets en langue des signes. Ils expliquent le processus étape par étape et discutent de la manière dont un système de détection et de reconnaissance de l'alphabet en langue des signes peut être mis en œuvre à l'aide de YOLOv8. Le présentateur importe diverses bibliothèques, notamment le système d'exploitation, l'affichage IPython et G-LOP, qui sont nécessaires pour afficher les matrices de confusion, les pertes d'apprentissage et de validation et les images de test. Le présentateur montre ensuite comment vérifier l'accès au GPU et définit une variable d'assistance pour faciliter la navigation entre les différents dossiers contenant des images de jeux de données. Enfin, ils installent Ultra Analytics à l'aide de "pip install" et vérifient que YOLOv8 est installé et fonctionne correctement.

  • 00:05:00 Dans cette section, la vidéo montre le processus de mise en œuvre de YOLOv8 sur un ensemble de données personnalisé pour la détection et la reconnaissance de l'alphabet en langue des signes. L'ensemble de données est téléchargé à partir de Roboflow et le modèle YOLOv8 y est formé pendant 50 époques. La matrice de confusion est utilisée pour évaluer les performances du modèle, en identifiant dans quelle mesure le modèle peut détecter et classer différentes classes. Les résultats montrent que le modèle était capable de détecter correctement l'alphabet A 60 % du temps, mais qu'il entraînait parfois une classification incorrecte ou qu'il était incapable de le détecter. Dans l'ensemble, la vidéo met en évidence l'application de YOLOv8 pour la formation de jeux de données personnalisés et la détection d'objets.

  • 00:10:00 Dans cette section de la vidéo, le présentateur discute de la matrice de confusion, qui montre à quel point le modèle a géré différentes classes, et les pertes de formation et de validation, les plus importantes étant les logs de boîte et la perte de classification. Les prédictions du modèle sur le lot de validation sont également affichées, et les images non utilisées pour la formation sont validées pour déterminer le comportement du modèle sur différentes images. Le modèle personnalisé est ensuite validé et testé sur les images du jeu de données de validation, suivi d'une inférence vidéo de démonstration, qui montre que le modèle détecte et reconnaît les alphabets de la langue des signes avec de bons résultats. Enfin, les téléspectateurs sont encouragés à tester leurs propres modèles avec l'ensemble de données vidéo fourni.
 

Segmentation YOLOv8 avec suivi d'objet : implémentation de code étape par étape | Colab Google | les fenêtres



Segmentation YOLOv8 avec suivi d'objet : implémentation de code étape par étape | Colab Google | les fenêtres

Ce didacticiel vidéo fournit un guide complet sur la façon de mettre en œuvre la segmentation YOLOv8 avec un ID de suivi de tri approfondi et des pistes. Le présentateur guide les spectateurs tout au long du processus d'importation des fichiers de script nécessaires, d'installation des dépendances et de configuration du répertoire requis pour la segmentation et le suivi des objets avec un tri approfondi. Le didacticiel comprend une démonstration du suivi d'objets avec des ID uniques et des traces de mouvement, ainsi qu'une discussion sur le dépôt GitHub qui fournit un code de solution en un clic pour la segmentation YOLOv8 et le suivi de tri approfondi. Le didacticiel présente également un programme de patreon avec un accès exclusif à des didacticiels vidéo qui ne seront pas téléchargés sur la chaîne YouTube. Dans l'ensemble, le didacticiel propose une explication étape par étape de l'implémentation du code pour la segmentation YOLOv8 avec suivi d'objet.

  • 00:00:00 Dans cette section du didacticiel vidéo, les téléspectateurs sont guidés sur la façon de mettre en œuvre la segmentation YOLO V8 avec ID de suivi de tri approfondi et pistes. Le didacticiel fournit une explication de bout en bout du code avec une démonstration du processus de mise en œuvre sur Google Colab ainsi que sur Windows et Linux. Les téléspectateurs sont également présentés à un nouveau programme de patreon, qui offre un accès exclusif à deux à trois projets par semaine, y compris des didacticiels vidéo qui ne seront pas téléchargés sur la chaîne YouTube. La vidéo se termine par une discussion sur le référentiel GitHub, qui fournit le code de solution en un clic pour la segmentation YOLO V8 et le suivi de tri approfondi, ce qui facilite la mise en œuvre sur des ensembles de données personnalisés ou l'ensemble de données MS Coco pré-formé.

  • 00:05:00 Dans cette section, le présentateur passe en revue les premières étapes de la mise en œuvre de la segmentation YOLOv8 avec suivi d'objet. La première étape consiste à cloner le référentiel GitHub et à importer tous les fichiers de script nécessaires. Les dépendances sont installées à l'aide du fichier setup.py et le répertoire requis est défini pour effectuer la segmentation et le suivi des objets avec un tri approfondi. Le présentateur télécharge ensuite un exemple de vidéo à tester à partir de Google Drive et montre comment le suivi des objets est effectué avec des identifiants uniques attribués à chaque objet et des pistes montrant le mouvement de chaque objet. La vidéo se termine par une explication de la mise en œuvre de YOLOv8 sur un système Windows à l'aide de PyCharm.

  • 00:10:00 Dans cette section, le conférencier fournit un guide étape par étape pour mettre en œuvre la segmentation YOLOv8 avec le suivi des objets dans Google Colab sous Windows. Le processus implique le clonage du référentiel GitHub, la définition du répertoire actuel comme dossier de clonage, l'installation de toutes les dépendances et le téléchargement des fichiers de tri approfondi. Les fichiers de tri approfondi sont requis pour implémenter le suivi d'objet à l'aide de l'algorithme de tri approfondi. Ces fichiers sont téléchargés et extraits dans le dossier du didacticiel segmenté. L'orateur mentionne également qu'il existe plusieurs algorithmes de suivi d'objets disponibles qui peuvent être utilisés à la place du tri approfondi.

  • 00:15:00 Dans cette section, l'orateur discute de l'algorithme de suivi d'objets et note qu'après les tests, ils ont constaté que l'algorithme de tri en profondeur fonctionne le mieux. Ils expliquent qu'ils utiliseront l'algorithme SORT pour le suivi dans le script. L'orateur télécharge une vidéo de démonstration et montre le code, expliquant le modèle pré-entraîné YOLOv8-sec BT utilisé pour le suivi d'objets. Ils discutent également des différents modèles de YOLOv8 et de leurs compromis entre vitesse et précision. Enfin, l'orateur explique le script predict.5 et souligne comment les couleurs de la boîte englobante sont définies pour les objets détectés.

  • 00:20:00 Dans cette section, l'orateur démontre la fonction qui crée un rectangle autour de l'objet détecté, attribue un ID et une étiquette uniques et crée une boîte englobante. Ils expliquent comment la fonction de boîte tactile de l'interface utilisateur est utilisée pour créer la boîte englobante et le rectangle ci-dessus, tandis que la fonction CV point deux rectangle crée le rectangle autour de l'objet détecté. L'orateur montre également comment la fonction draw Dash boxing trouve le centre du bord inférieur de la boîte englobante pour dessiner des trajectoires et attribue à chaque objet un identifiant unique. Dans l'ensemble, le conférencier fournit une explication étape par étape de l'implémentation du code pour la segmentation YOLOv8 avec suivi d'objet.

  • 00:25:00 Dans cette section, l'orateur explique l'utilisation d'une file d'attente à double extrémité (DQ) au lieu d'une liste pour stocker des données. Le DQ est utilisé pour stocker les valeurs des objets et supprimer l'ID d'un objet qui n'est pas dans la trame actuelle. Les données sont utilisées pour tracer des sentiers à l'aide de la ligne d'outils CV2. La segmentation est effectuée et la vidéo de sortie montre les pistes et les objets détectés avec un identifiant unique attribué. L'orateur note que le script peut prendre plus de temps à s'exécuter sur un processeur, mais peut être exécuté sur un GPU avec les mêmes étapes.
 

YOLOv8 | Détection d'objet | Segmentation | Tutoriel complet Google Colab| Solution en un seul clic



YOLOv8 | Détection d'objet | Segmentation | Tutoriel complet Google Colab| Solution en un seul clic

Le didacticiel vidéo montre comment implémenter YOLOv8 à l'aide de Google Colab pour la détection et la segmentation d'objets. Les utilisateurs sont guidés à travers les étapes de clonage du référentiel GitHub, d'installation de packages, de configuration de répertoires et d'importation de vidéos de démonstration depuis Google Drive à des fins de test. L'utilisateur apprend également comment exécuter le modèle YOLOv8 pour la détection d'objets sur une vidéo de démonstration, comment résoudre les problèmes d'espacement et comment enregistrer et télécharger la vidéo de sortie. Le didacticiel couvre également la réalisation de la segmentation avec YOLOv8 et souligne l'importance de supprimer les fichiers compressés précédents avant de continuer. Un lien pour télécharger le fichier de bloc-notes est fourni et les téléspectateurs sont encouragés à poser des questions dans la section des commentaires.

  • 00:00:00 Dans cette section, le présentateur discute de la mise en œuvre de YOLOv8 à l'aide de Google Colab pour la détection et la segmentation. Le didacticiel commence par le clonage du référentiel GitHub YOLOv8 et l'installation des packages requis. Le présentateur montre comment configurer le système avec les répertoires requis et importer des vidéos de démonstration depuis Google Drive pour les tester. En suivant ces étapes et en exécutant les cellules fournies, les utilisateurs peuvent installer et implémenter YOLOv8 dans Google Colab pour la détection et la segmentation d'objets.

  • 00:05:00 Dans cette section, le didacticiel vidéo traite de l'exécution du modèle YOLOv8 pour la détection d'objets sur une vidéo de démonstration. La vidéo est importée dans le dossier et le référentiel GitHub YOLOv8 est ajouté au notebook. La vidéo "test 1" est ensuite testée pour la détection avec le modèle YOLOv8, et tous les problèmes d'espacement sont résolus avant d'essayer la vidéo "test 2". La vidéo de sortie est enregistrée dans un chemin et peut être téléchargée pour examiner les résultats, mais le didacticiel comprend également un script pour afficher la vidéo de démonstration dans Google Colab à l'aide des bibliothèques HTML et OS.

  • 00:10:00 Cet extrait semble être la suite d'un tutoriel sur la création d'un modèle de détection d'objets à l'aide de YOLOv8 dans Google Colab. L'orateur fait quelques ajustements au code et vérifie les erreurs pour s'assurer que le chemin est correct pour la vidéo de sortie. Ils mentionnent un problème avec RB.free manquant et un problème d'espacement, qu'ils corrigent avant d'exécuter à nouveau le code. La vidéo montre la sortie du modèle de détection d'objet.

  • 00:15:00 Dans cette section, l'utilisateur effectue une segmentation à l'aide de YOLOv8. Ils copient le code nécessaire et l'exécutent pour effectuer la segmentation, obtenant des résultats impressionnants dans la vidéo de sortie. L'utilisateur insiste sur l'importance de supprimer le fichier compressé précédent avant de procéder à la segmentation. Ils fournissent également un lien pour télécharger le fichier de bloc-notes et encouragent les téléspectateurs à poser toutes les questions qu'ils pourraient avoir dans la section des commentaires.
 

Reconnaissance des émotions faciales par IA | Identifier les expressions faciales avec V7



Reconnaissance des émotions faciales par IA | Identifier les expressions faciales avec V7

Les didacticiels vidéo traitent du processus d'utilisation de la plate-forme V7 pour créer des ensembles de données annotés pour la reconnaissance des émotions du visage par l'IA. Les didacticiels couvrent divers aspects du processus, notamment la création d'un ensemble de données, l'annotation d'images et de vidéos pour les émotions, la formation du modèle et son test sur des exemples d'images et de webcams en direct. L'importance d'un étiquetage précis pour une formation efficace des modèles d'IA est soulignée tout au long des didacticiels, et les fonctionnalités et les multiples modèles de la plate-forme V7 sont mis en évidence. Les didacticiels fournissent des exemples de bout en bout du processus d'annotation pour identifier les expressions faciales à l'aide de l'IA.

  • 00:00:00 Dans cette section, le YouTuber explique comment utiliser la plate-forme V7 pour créer un détecteur d'expression faciale. Ils passent par les étapes de création d'un ensemble de données, de téléchargement d'images et de vidéos et d'étiquetage de l'ensemble de données. La plate-forme V7 permet à l'utilisateur d'entraîner son modèle pour la détection ou la segmentation et la classification d'objets, et de le tester sur des exemples d'images, de vidéos ou même sur webcam. Le YouTuber utilise l'exemple d'une expression faciale en colère et télécharge des images pour former le modèle. Ils mentionnent également que V7 propose différents formats d'images et de vidéos, notamment PNG, JPG, JFIF, MP4 et ABI, entre autres. Dans l'ensemble, cette vidéo fournit un didacticiel de bout en bout sur la façon de mettre en œuvre un détecteur d'expression faciale à l'aide de la plate-forme V7.

  • 00:05:00 Dans cette section, le présentateur décrit le processus d'annotation des expressions faciales avec les laboratoires V7. En utilisant l'exemple de la classe en colère, le présentateur montre comment dessiner une boîte englobante autour du visage d'une personne, puis créer une étiquette de classe pour les émotions en colère. Le présentateur poursuit ensuite en annotant les 50 images incluses dans l'ensemble de données, notant que le processus peut également être reproduit pour annoter les images vidéo. Dans l'ensemble, le présentateur souligne l'importance d'un étiquetage précis pour une formation efficace des modèles de reconnaissance des émotions du visage de l'IA.

  • 00:10:00 Dans cette section de la vidéo, le présentateur montre comment annoter des images à partir d'un ensemble de données vidéo pour créer des images visuelles pour la reconnaissance des émotions par l'IA. Le présentateur télécharge un ensemble de données vidéo et extrait une image par seconde pour créer des images individuelles. Les images sont ensuite annotées séparément pour identifier l'émotion représentée. Le présentateur note que le processus prend du temps, mais qu'il est important pour créer un ensemble de données complet pour l'apprentissage automatique. Le présentateur démontre également sa capacité à annoter à la fois des images et des vidéos pour la reconnaissance des émotions par l'IA. Dans l'ensemble, cette section fournit un didacticiel utile pour créer des ensembles de données annotés pour la reconnaissance des émotions par l'IA.

  • 00:15:00 Dans cette section, l'orateur explique le processus de téléchargement et d'annotation d'un ensemble de données pour la classe "heureuse" dans la reconnaissance des émotions du visage de l'IA à l'aide de la technologie V7. L'orateur télécharge 50 images et les annote une par une avec le label "heureux". Ils mentionnent qu'un total de 182 images ont été annotées à ce jour, dont 100 pour la classe "en colère". Ils discutent également du téléchargement d'une vidéo et de sa division en images distinctes pour annoter chacune des expressions faciales.

  • 00:20:00 Dans cette section, le didacticiel vidéo montre le processus d'annotation permettant d'identifier les individus heureux et craintifs dans des vidéos et des images à l'aide de la reconnaissance des émotions du visage par l'IA. L'annotateur télécharge 66 vidéos de personnes heureuses et les annote avec Envision, en faisant pivoter chaque image et en étiquetant les expressions heureuses ou neutres. Ensuite, l'annotateur ajoute une nouvelle classe pour la peur et télécharge 50 images, puis annote chaque image avec l'étiquette d'émotion appropriée. L'ensemble de données complet contient 248 images et vidéos, et le didacticiel fournit un exemple de bout en bout du processus d'annotation pour identifier les expressions faciales à l'aide de l'IA.

  • 00: 25: 00 Dans cette section, le YouTuber discute de ses progrès dans l'annotation et l'animation d'images pour son projet de reconnaissance des émotions du visage par IA. Ils ont annoté avec succès les 50 images du verre transparent et ont également terminé l'annotation image par image d'une vidéo de personne effrayante. Le YouTuber procède ensuite à l'annotation de toutes les images de la classe surprise, qui est leur dernière classe, et mentionne qu'ils passeront à la partie formation de la vidéo après avoir terminé toutes les annotations. La vidéo montre un diagramme de flux de travail pour le projet, et le YouTuber précise qu'il effectuera la détection d'objets et créera des cadres de délimitation plutôt qu'une segmentation ou une classification instantanée.

  • 00:30:00 Dans cette section, le didacticiel vidéo montre le processus de formation d'un modèle d'IA sur un ensemble de données d'expressions faciales et d'émotions à l'aide de V7. Le didacticiel montre comment planifier et surveiller la formation de l'ensemble de données, avec une notification par e-mail envoyée une fois terminée. La vidéo met également en évidence les mesures de performance du modèle, y compris la précision et le rappel moyens, ainsi que les pertes, qui diminuent continuellement au fil du temps. Le didacticiel se termine en montrant comment le modèle formé peut être déployé pour être utilisé dans diverses API à l'aide de Python, shell, JavaScript ou Elixir, et comment le modèle peut également être testé sur des webcams en direct.

  • 00:35:00 Dans cette section, l'orateur démontre la reconnaissance des émotions du visage par l'IA à l'aide des laboratoires V7. Le processus implique la collecte et l'étiquetage d'ensembles de données d'images pour les émotions de colère, de joie, de peur, de surprise, etc. L'orateur entraîne le modèle et le teste à l'aide d'une webcam et d'échantillons d'images, obtenant ainsi de bons résultats. Les laboratoires V7 proposent également plusieurs modèles pour des tâches telles que la segmentation et la numérisation de texte, et les utilisateurs peuvent créer leurs propres modèles avec des crédits gratuits. L'orateur taquine les futurs projets utilisant V7 et encourage les téléspectateurs à partager et à aimer la vidéo.
 

Détection et suivi en temps réel des joueurs de football et des balles à l'aide de YOLOv8 Live :Suivi d'objets YOLOv8



Détection et suivi en temps réel des joueurs de football et des balles à l'aide de YOLOv8 Live :Suivi d'objets YOLOv8

Dans ce didacticiel vidéo YouTube, le présentateur montre le processus de création d'un ensemble de données de détection et de suivi de joueurs de football et de balles à l'aide de Roboflow. Le présentateur parcourt les étapes de téléchargement et d'annotation d'images, de préparation de l'ensemble de données, de formation du modèle, de test sur des exemples de vidéos et de webcam en direct, et de modification du code pour améliorer le suivi. Dans l'ensemble, le modèle YOLOv8 fonctionne bien mais présente certaines limites en ce qui concerne la détection du football dans certains scénarios.

  • 00:00:00 Dans cette section du didacticiel, le présentateur décrit le processus de création d'un ensemble de données de détection de joueur de football et de ballon à l'aide de Roboflow. Ils montrent comment créer un compte et créer un nouveau projet, ainsi que comment télécharger et traiter des vidéos de YouTube pour extraire des images pour l'annotation. Le présentateur note que les images ne sont pas encore annotées et procède au téléchargement d'une autre vidéo pour annotation.

  • 00:05:00 Dans cette section, le créateur de la vidéo montre le processus de téléchargement et d'annotation d'images pour un projet de détection et de suivi d'un joueur de football et d'un ballon. Le créateur télécharge des images et extrait des images d'une vidéo, en s'attribuant la tâche d'annoter les images. Ils annotent chaque image avec des étiquettes pour le football ou le joueur de football et démontrent l'annotation de différents joueurs dans chaque image. Enfin, ils notent qu'ils ont annoté un total de 1827 images pour le projet.

  • 00:10:00 Dans cette section de la vidéo, le présentateur parle de la préparation de l'ensemble de données pour un modèle de détection de joueur de football et de balle en redimensionnant toutes les images à 640x640, en filtrant les images non annotées et en générant des données augmentées pour augmenter l'ensemble de données taille. Les données augmentées comprennent deux images avec des contrastes et des niveaux de luminosité différents générés à partir d'une seule image. Le présentateur exporte l'ensemble de données de Roboflow vers un fichier Google Colab et entraîne le modèle à l'aide d'un ensemble de données de football extrait d'un référentiel GitHub. Ils connectent également leur Google Drive au notebook Colab pour enregistrer les poids du modèle formé.

  • 00:15:00 Dans cette section, l'utilisateur définit son répertoire de travail actuel comme référentiel GitHub et installe toutes les dépendances nécessaires pour éviter toute erreur lors de l'exécution du processus de détection ou de prédiction. Ils se déplacent ensuite vers le répertoire requis pour détecter et télécharger l'ensemble de données de roboflow dans leur bloc-notes Google. L'utilisateur télécharge également les fichiers Deep Sort et les décompresse pour implémenter le suivi des objets à l'aide de Deep Sort. Enfin, ils forment le modèle personnalisé de YOLOv8 sur l'ensemble de données du joueur de football et du football et le valident, garantissant une bonne moyenne moyenne. L'utilisateur peut consulter les résultats de la formation, y compris la courbe F1, la courbe de précision, la courbe de rappel et les résultats de la banque de formation et de validation.

  • 00:20:00 Dans cette section, l'orateur discute des résultats de son modèle YOLOv8 pour la détection et le suivi des joueurs de football et des balles. Ils rapportent des résultats précis, avec une précision moyenne de 0,63144 et 0,476 pour les joueurs et une bonne détection du football. L'orateur montre ensuite comment il a téléchargé un exemple de vidéo pour tester son modèle et montre les résultats, ainsi que le placement du modèle dans un test de webcam en direct. Dans l'ensemble, le modèle a bien fonctionné avec la détection des joueurs et l'attribution d'identifiants uniques, mais il y a eu quelques détections manquées de football.

  • 00:25:00 Dans cette section, la vidéo montre comment supprimer l'identifiant unique attribué au ballon de football dans le code pour simplifier le processus de suivi. Les modifications de code sont effectuées en éditant le fichier project.py et en supprimant l'identifiant unique attribué à l'étiquette de football. La vidéo de sortie est ensuite téléchargée et testée sur une webcam en direct, où le modèle réussit à détecter le football mais pas le joueur, car il n'est pas habillé comme un joueur. Dans l'ensemble, les modifications apportées au code ont amélioré le processus de suivi et produit des résultats satisfaisants.

  • 00:30:00 Dans cette section, le présentateur présente un script qui a été écrit pour effectuer des prédictions sur webcam en direct à l'aide de YOLOv8. Le script importe YOLO, définit le fichier de pondérations et effectue des prédictions avec une source définie sur 0 et une émission définie sur true. La valeur de confiance est fixée à 0,15. Alors qu'il était habillé en joueur, le modèle n'a pas pu détecter le présentateur, mais les résultats de détection d'un ballon de football ont été couronnés de succès.
 

YOLOv8 et VGG16 pour le visage, la détection du genre, le comptage des visages et le suivi des personnes | Ensemble de données personnalisé



YOLOv8 et VGG16 pour le visage, la détection du genre, le comptage des visages et le suivi des personnes | Ensemble de données personnalisé

Le didacticiel vidéo explique le processus de détection des visages, de classification par sexe, de comptage des visages et de suivi des personnes à l'aide des modèles YOLOv8 et VGG16. Le didacticiel couvre divers aspects de la mise en œuvre et de la formation de ces modèles, y compris la préparation des données, l'augmentation des données, le réglage fin du modèle VGG16 pré-formé, l'utilisation de l'apprentissage par transfert et la formation du modèle YOLOv8 pour la détection des visages. Le présentateur explique également comment monter un Google Drive dans un bloc-notes Google Colab, accéder et convertir des ensembles de données d'images, télécharger les bibliothèques requises et intégrer le suivi des objets à l'aide du tri profond. Le didacticiel fournit des explications détaillées sur le code permettant de dessiner des cadres de délimitation autour des objets détectés, d'intégrer le modèle de classification par sexe, de compter le nombre de visages dans un cadre et d'attribuer à chaque visage détecté un identifiant unique à l'aide de deepsort.update.

  • 00:00:00 Dans cette section du didacticiel vidéo, le flux de travail pour la détection des visages avec classification par sexe et comptage des visages avec suivi à l'aide de YOLOv8 et VGG16 est expliqué. La première étape consiste à préparer l'ensemble de données avec des images de visages d'hommes et de femmes, à former le modèle VGG16 pour la détection du genre, suivi de la formation du modèle YOLOv8 pour la détection des visages. Avec la détection de visage de YOLOv8, la classification par sexe est effectuée à l'aide du modèle VGG16 formé. Le suivi des objets est ensuite mis en œuvre à l'aide de Deepsort, attribuant un identifiant unique à chaque visage ou personne détecté. Le bloc-notes est divisé en neuf étapes, y compris l'importation des bibliothèques requises, le montage de Google Drive, le chargement de l'ensemble de données, la conversion des images et des étiquettes en tableaux, l'application de l'augmentation des données, l'ajustement du modèle VGG16 sur les données de classification par sexe, le traçage de la formation et de la perte de validation, et test avec un exemple d'image.

  • 00:05:00 Dans cette section, l'orateur discute de diverses bibliothèques et fonctions qui peuvent être utilisées pour convertir des images en tableaux numpy, et vice versa. Ils expliquent également l'utilisation d'une bibliothèque catégorielle à deux tirets et le concept d'approches séquentielles et fonctionnelles pour organiser les couches dans le réseau de neurones. La couche aplatie est utilisée pour convertir les entrées multidimensionnelles en une dimension, tandis que la couche dense est utilisée pour définir la taille de la couche de sortie. De plus, ils discutent de l'utilisation de l'apprentissage par transfert avec le modèle VGG16 et de l'importation des bibliothèques de fractionnement de test de train, numpy et OS. Enfin, ils mentionnent l'utilisation de la bibliothèque gdob pour accéder à tous les fichiers d'un dossier et de la bibliothèque random pour mélanger les ensembles de données d'images.

  • 00:10:00 Dans cette section, la vidéo explique comment monter un Google Drive avec un bloc-notes Google Colab pour accéder à un ensemble de données, qui est téléchargé au format zip. L'ensemble de données comprend des images de visages d'hommes et de femmes, et la vidéo montre comment décompresser et accéder au dossier contenant ces images. À l'aide de la bibliothèque glob, la vidéo accède à tous les fichiers d'image dans les dossiers de l'ensemble de données et les convertit en un format de tableau avec des étiquettes indiquant si l'image est un visage d'homme ou de femme. La vidéo montre un exemple d'image et explique comment la variable des fichiers image contient tous les chemins d'accès aux fichiers image des dossiers hommes et femmes, qui peuvent être lus à l'aide de cb2.im read.

  • 00:15:00 Dans cette section, l'orateur explique comment il a préparé son ensemble de données pour la détection de visage et de sexe. Ils ont créé un dossier "hommes" et "femmes", redimensionné les images qu'ils contenaient et les ont converties en tableaux qui ont ensuite été stockés dans une liste de données. Ils ont ajouté les valeurs d'étiquettes correspondantes dans une liste d'étiquettes, avec 1 pour les femmes et 0 pour les hommes. Les listes de données et d'étiquettes ont ensuite été converties en tableaux à l'aide de NumPy. L'orateur démontre également l'augmentation des données avec l'utilisation d'un générateur de données d'image, générant plusieurs images à partir d'une seule image en appliquant diverses transformations. Ils ont ensuite affiné un modèle VGG16 pré-formé sur leur ensemble de données de classification par sexe et mis en œuvre l'activation softmax pour définir la couche de sortie. La taille de sortie a été fixée à 2 pour classer les hommes ou les femmes.

  • 00:20:00 Dans cette section du didacticiel vidéo, l'orateur présente le modèle VGG16 pour la détection du visage et du sexe et montre comment l'entraîner sur un ensemble de données de classification générale. Le modèle est enregistré au format .H5 et sa précision, sa précision de validation et ses parties perdues sont calculées. À l'aide de cv2.dsize, l'image est redimensionnée aux dimensions 100 x 100 et convertie en tableau, et le modèle prédit si l'image contient un homme ou une femme. Dans la prochaine partie du didacticiel, le modèle YOLOv8 sera formé sur un ensemble de données de visage pour détecter les visages et attribuer un identifiant unique pour le suivi. L'orateur mentionne également que le comptage des visages sera mis en œuvre à l'aide d'un simple code ajouté au fichier predict.pi. Dans l'ensemble, le didacticiel est divisé en sept étapes.

  • 00:25:00 Dans cette section, le présentateur présente le référentiel GitHub qu'il utilisera pour implémenter le suivi d'objets à l'aide d'un tri approfondi, ainsi que le modèle YOLO V8 pour la réduction des visages. Ils discutent de la façon dont ils vont détecter les visages et effectuer une classification par sexe avant d'intégrer un code de suivi d'objets de tri approfondi pour attribuer à chaque personne un identifiant unique. Le présentateur définit ensuite son répertoire actuel comme référentiel de clonage et installe toutes les bibliothèques et dépendances requises pour le script. Ils téléchargent également l'ensemble de données de RoboFlow dans leur bloc-notes Google Colab, mais rencontrent des problèmes dus à la possession d'un compte privé.

  • 00:30:00 utiliser les poids du modèle YOLOv8 pré-formé pour la détection de visage. L'ensemble de données est téléchargé et enregistré dans mon compte Google Drive, et j'ai déjà formé un modèle YOLOv8 pour 80 époques pour la détection de visage. Le modèle entraîné a déjà été enregistré et les pondérations ont été téléchargées dans le bloc-notes Google Colab. Les fichiers de tri approfondi sont également téléchargés dans le bloc-notes, car le suivi des objets sera mis en œuvre à l'aide du tri approfondi. De plus, un modèle VGG16 a été formé pour la détection du sexe, et le fichier .h5 du modèle a été enregistré et téléchargé sur le compte Google Drive. Les exemples de vidéos sont téléchargés à partir de Google Drive pour tester le script predict.pi, qui inclut le code de classification de genre et le comptage des visages.

  • 00:35:00 Dans cette section, l'orateur explique le code qui a été ajouté pour implémenter le suivi d'objets à l'aide du tri approfondi. Le port de suivi d'objet de tri approfondi est initialisé et une fonction est définie pour convertir la sortie reçue du modèle YOLOv8 dans un format compatible pour le tri approfondi. La fonction de boîte d'interface utilisateur crée des cadres de délimitation autour des objets détectés, tandis que la fonction de boîte de dessin appelle la boîte d'interface utilisateur et les fonctions de bordure de dessin pour dessiner un rectangle arrondi pour le texte. Le code de suivi de tri approfondi est intégré avec la possibilité de tracer des pistes. L'orateur explique ensuite le code du classificateur de genre et de la fonction de comptage dans le fichier Paint. La fonction de comptage est utilisée pour compter chaque objet dans chaque image. Dans l'ensemble, le code explique comment convertir les valeurs de sortie X1, Y1, X2 et Y2 de YOLOv8 en coordonnées centrales, hauteur et largeur pour le suivi d'objets à l'aide d'un tri approfondi, en implémentant la détection d'objets et le suivi d'objets dans une application du monde réel.

  • 00:40:00 Dans cette section, l'orateur discute de la conversion du modèle YOLOv8 dans les coordonnées centrales xcyc de la boîte englobante et la largeur et la hauteur de la boîte englobante pour le rendre compatible avec le suivi d'objet de tri approfondi. Ils expliquent également comment la fonction de calcul de couleur pour l'étiquette attribue des couleurs uniques aux objets détectés et la fonction de dessin de bordure de tiret crée un rectangle au-dessus de la boîte englobante où l'étiquette et le score de confiance sont écrits. L'orateur parle également de la classe de classificateur de genre et de la façon dont elle est chargée et utilisée sur chaque image de la vidéo pour classer le genre des objets détectés. De plus, ils mentionnent la fonction UI Dash box et la fonction draw Dash boxes, qui sont utilisées pour créer des cadres de délimitation et appeler la fonction de classificateur de genre.

  • 00:45:00 Dans cette section, le présentateur explique comment utiliser le modèle de classification de genre pour détecter si un visage appartient à un homme ou à une femme. Après avoir détecté le visage, seules les coordonnées de la boîte englobante sont transmises au modèle de classification par sexe. Le modèle prédit ensuite si le visage appartient à un homme ou à une femme, et l'étiquette est ajoutée au-dessus de la boîte englobante en conséquence. Le présentateur explique ensuite la fonction count, qui utilise un dictionnaire appelé Foundry-classes pour stocker le nombre de visages détectés dans le cadre. Le nombre est affiché dans l'interface utilisateur au-dessus du haut de la vidéo ou de l'image.

  • 00:50:00 Dans cette section, l'orateur explique que le nombre de visages détectés dans l'image actuelle est stocké dans le dictionnaire de la classe Foundry dans la classe FaceDetails. Le dictionnaire contient deux valeurs, la variable clé qui contient "visage" et la variable valeur qui contient le nombre de visages détectés dans l'image actuelle. L'orateur utilise la fonction de comptage pour afficher le nombre de visages détectés dans chaque image et attribue un identifiant unique à chaque visage détecté à l'aide de deepsort.update. L'orateur crée également une classe générale, une classe de classification et une classe de danger. Les détections du modèle sont testées sur plusieurs vidéos de démonstration et l'orateur montre les résultats des détections dans chaque image.