Un moyen simple d'extraire tous les objets détectés de l'image et de les enregistrer sous forme de fichiers séparés à l'aide de YOLOv8.2 et OpenCV

DEV - 18/08
Table des matières Introduction Exemple d'image Détecter des objets à l'aide de YOLOv8     En savoir plus sur...

Table des matières

Introduction Exemple d'image Détecter des objets à l'aide de YOLOv8 En savoir plus sur les différents modèles YOLOv8 Exécuter le modèle pour détecter des objets Analyser les résultats de détection Extraire des objets avec un arrière-plan Extraire des objets sans arrière-plan Conclusion

Introduction

Dans ce didacticiel, je vais montrer comment détecter tous les objets sur l'image à l'aide d'un réseau neuronal, les extraire et les enregistrer sous forme de fichiers séparés.

Il s’agit d’une tâche courante et il existe de nombreuses options différentes pour y parvenir. Dans cet article, je vais montrer une manière très simple, en utilisant le réseau neuronal YOLOv8 et OpenCV.

Ce didacticiel couvre uniquement ce sujet, donc si vous souhaitez approfondir le réseau neuronal YOLOv8 et la vision par ordinateur, lisez les articles précédents de ma série YOLOv8.

J'utiliserai Python pour écrire tout le code dans cet article, donc je suppose que vous êtes capable de développer sur Python. De plus, j'utilise Jupyter Notebook dans cet article, mais ce n'est pas obligatoire. Vous pouvez utiliser n'importe quel IDE ou éditeur de texte pour écrire et exécuter le code.

Exemple d'image

Au cours de ce tutoriel, nous allons détecter et extraire des objets de l'image, en utilisant le réseau neuronal YOLOv8 et OpenCV. À titre d'exemple d'image, nous utiliserons l'image suivante, que j'ai obtenue de la page Wikipédia :

Source : https://en.wikipedia.org/wiki/Vehicular_cycling

Nous détecterons toutes les personnes et voitures sur cette image, les extrairons et les enregistrerons dans des fichiers image séparés. Je vais montrer comment enregistrer des objets extraits avec ou sans arrière-plan. Vous pouvez sélectionner la première ou la deuxième option en fonction de vos besoins.

Détecter des objets à l'aide de YOLOv8

Alors commençons. La première action que vous devez faire est d’installer le package YOLOv8.2, si vous ne l’avez pas encore. Pour ce faire, exécutez la commande suivante dans votre notebook Jupyter :

%pip installer les ultralytiques
Entrer en mode plein écran Quitter le mode plein écran

puis importez l'API YOLOv8 :

de l'importation d'ultralytiques YOLO
Entrer en mode plein écran Quitter le mode plein écran

Une fois cela fait, chargeons le modèle de réseau neuronal YOLOv8 :

modèle = YOLO("yolov8m-seg.pt")
Entrer en mode plein écran Quitter le mode plein écran

Cette ligne de code téléchargera leyolov8m-seg.ptmodèle de réseau neuronal et le chargera dans lemodèlevariable.

En savoir plus sur les différents modèles YOLOv8

Dans ce didacticiel, nous utiliserons l'un des modèles YOLOv8 pré-entraînés, qui peut être utilisé pour détecter 80 classes d'objets courantes. Il existe trois types de modèles YOLOv8 et 5 tailles différentes.

ClassificationDétectionSegmentationGentil
yolov8n-cls.ptyolov8n.ptyolov8n-seg.ptNano
yolov8s-cls.ptyolov8s.ptyolov8s-seg.ptPetit
yolov8m-cls.ptyolov8m.ptyolov8m-seg.ptMoyen
yolov8l-cls.ptyolov8l.ptyolov8l-seg.ptGrand
yolov8x-cls.ptyolov8x.ptyolov8x-seg.ptÉnorme

Plus vous choisissez un modèle grand, plus vous obtiendrez des résultats de qualité, mais plus il fonctionnera lentement.

Il existe trois types de modèles YOLOv8 : pour la classification, pour la détection d'objets et par exemple la segmentation. Les modèles de classification servent uniquement à détecter une cla...
[Courte citation de 8% de l'article original]

Loading...