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
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.
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.
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 ultralytiquespuis importez l'API YOLOv8 :
de l'importation d'ultralytiques YOLOUne fois cela fait, chargeons le modèle de réseau neuronal YOLOv8 :
modèle = YOLO("yolov8m-seg.pt")Cette ligne de code téléchargera leyolov8m-seg.ptmodèle de réseau neuronal et le chargera dans lemodèlevariable.
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.
| Classification | Détection | Segmentation | Gentil |
| yolov8n-cls.pt | yolov8n.pt | yolov8n-seg.pt | Nano |
| yolov8s-cls.pt | yolov8s.pt | yolov8s-seg.pt | Petit |
| yolov8m-cls.pt | yolov8m.pt | yolov8m-seg.pt | Moyen |
| yolov8l-cls.pt | yolov8l.pt | yolov8l-seg.pt | Grand |
| yolov8x-cls.pt | yolov8x.pt | yolov8x-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]