Table des matières:

Créer des classificateurs d'images OpenCV à l'aide de Python : 7 étapes
Créer des classificateurs d'images OpenCV à l'aide de Python : 7 étapes

Vidéo: Créer des classificateurs d'images OpenCV à l'aide de Python : 7 étapes

Vidéo: Créer des classificateurs d'images OpenCV à l'aide de Python : 7 étapes
Vidéo: python webcam detector program - let's create a motion detector using opencv in python - Lesson 41 2024, Novembre
Anonim
Créer des classificateurs d'images OpenCV à l'aide de Python
Créer des classificateurs d'images OpenCV à l'aide de Python

Les classificateurs Haar en python et opencv sont une tâche plutôt délicate mais facile.

Nous sommes souvent confrontés aux problèmes de détection et de classification d'images. la meilleure solution est de créer votre propre classificateur. Ici, nous apprenons à créer nos propres classificateurs d'images avec quelques commandes et des programmes python longs mais simples

La classification nécessite un grand nombre d'images négatives et positives les négatifs ne contiennent pas l'objet recherché alors que les positifs sont ceux qui contiennent l'objet à détecter.

Environ 2000 négatifs et positifs sont nécessaires. Le programme python convertit l'image en niveaux de gris et une taille appropriée afin que les classificateurs prennent le temps optimal pour créer.

Étape 1: logiciels requis

Vous avez besoin des logiciels suivants pour la création de votre propre classificateur

1) OpenCV: la version que j'ai utilisée est la 3.4.2. la version est facilement disponible sur internet.

2) Python: La version utilisée est la 3.6.2. Peut être téléchargé sur python.org

De plus, vous avez besoin d'une webcam (bien sûr).

Étape 2: Téléchargement des images

La première étape consiste à prendre une image claire de l'objet à classer.

La taille ne doit pas être très importante car le traitement de l'ordinateur prend plus de temps. J'ai pris la taille 50 par 50.

Ensuite, nous téléchargeons les images négatives et positives. Vous pouvez les trouver en ligne. Mais nous utilisons le code python pour télécharger des images depuis 'https://image-net.org'

Ensuite, nous convertissons les images en niveaux de gris et en taille normale. Ceci est également implémenté dans le code. Le code supprime également toute image défectueuse

À présent, votre répertoire doit contenir l'image de l'objet, par exemple watch5050-j.webp

Si le dossier de données n'est pas créé, faites-le manuellement

Le code python est fourni dans le fichier.py

Étape 3: Création d'échantillons positifs dans OpenCV

Créer des échantillons positifs dans OpenCV
Créer des échantillons positifs dans OpenCV
Créer des échantillons positifs dans OpenCV
Créer des échantillons positifs dans OpenCV

Allez maintenant dans le répertoire opencv_createsamples et ajoutez tout le contenu mentionné ci-dessus

dans l'invite de commande, accédez à C:\opencv342\build\x64\vc14\bin pour trouver les applications opencv_createsamples et opencv_traincascade

exécutez maintenant les commandes suivantes

opencv_createsamples -img watch5050-j.webp

Cette commande sert à créer les échantillons positifs de l'objet 1950 pour être exact Et le fichier de description info.lst des images positives la description devrait être comme ceci 0001_0014_0045_0028_0028-j.webp

Maintenant, le dossier contient

infos

dossier d'images négatives

fichier bg.txt

dossier de données vide

Étape 4: Création d'un fichier vectoriel positif

Création d'un fichier vectoriel pos-t.webp
Création d'un fichier vectoriel pos-t.webp

Créez maintenant le fichier vectoriel positif qui fournit le chemin d'accès aux images positives du fichier de description

Utilisez la commande suivante

opencv_createsamples -info info/info.lst -num 1950 -w 20 -h 20 -vec positifs.vec

A présent, le contenu du répertoire doit être le suivant:

--neg

----negimages.jpg

--opencv

--Info

--Les données

--positifs.vec

--bg.txt

--watch5050-j.webp

Étape 5: Formation du classificateur

Former le classificateur
Former le classificateur
Former le classificateur
Former le classificateur
Former le classificateur
Former le classificateur

Entraînons maintenant la cascade haar et créons le fichier xml

Utilisez la commande suivante

opencv_traincascade -data data -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20

les étapes sont 10 L'augmentation des étapes demande plus de traitement, mais le classificateur est bien plus efficace.

Maintenant, haarcascade est créé Il faut environ deux heures pour terminer Ouvrez le dossier de données, vous y trouverez cascade.xml C'est le classificateur qui a été créé

Étape 6: Tester le classificateur

Le dossier de données contient les fichiers comme indiqué dans l'image ci-dessus.

Après la création du classificateur, nous voyons si le classificateur fonctionne ou non en exécutant le programme object_detect.py. N'oubliez pas de placer le fichier classifier.xml dans le répertoire python.

Étape 7: Remerciements spéciaux

Je tiens à remercier ici Sentdex qui est un excellent programmeur python.

Il a un nom youtube avec le nom mentionné ci-dessus et la vidéo qui m'a beaucoup aidé a ce lien

La plupart du code a été copié à partir de sentdex. Bien que j'aie reçu beaucoup d'aide de sentdex, j'ai encore rencontré beaucoup de problèmes. Je voulais juste partager mon expérience.

J'espère que cet intrussable vous a aidé !!! Restez à l'écoute pour plus.

BR

Tahir Ul Haq

Conseillé: