Taula de continguts:

Creeu classificadors d'imatges OpenCV amb Python: 7 passos
Creeu classificadors d'imatges OpenCV amb Python: 7 passos

Vídeo: Creeu classificadors d'imatges OpenCV amb Python: 7 passos

Vídeo: Creeu classificadors d'imatges OpenCV amb Python: 7 passos
Vídeo: Marlin Firmware - VScode PlatformIO Install - Build Basics 2024, De novembre
Anonim
Creeu classificadors d’imatges OpenCV amb Python
Creeu classificadors d’imatges OpenCV amb Python

Els classificadors Haar en python i opencv són una tasca bastant complicada però fàcil.

Sovint ens enfrontem als problemes de detecció i classificació d’imatges. el millor solució és crear el vostre propi classificador. Aquí aprenem a fer els nostres propis classificadors d’imatges amb algunes ordres i programes Python llargs però senzills

La classificació requereix un gran nombre d'imatges negatives i positives. Els negatius no contenen l'objecte requerit, mentre que els positius són els que contenen l'objecte a detectar.

Es requereixen uns 2000 negatius i positius. El programa Python converteix la imatge en escala de grisos i una mida adequada de manera que els classificadors triguen el temps òptim a crear-se.

Pas 1: cal programes

Necessiteu els següents programes per a la creació del vostre propi classificador

1) OpenCV: la versió que he fet servir és 3.4.2. la versió està fàcilment disponible a Internet.

2) Python: s'utilitza la versió 3.6.2. Es pot descarregar des de python.org

A més, necessiteu una càmera web (per descomptat).

Pas 2: descàrrega de les imatges

El primer pas és fer una imatge clara de l’objecte a classificar.

La mida no hauria de ser molt gran, ja que triga més temps a processar l’ordinador. Vaig agafar una mida de 50 per 50.

A continuació, descarreguem les imatges negatives i positives. Els podeu trobar en línia. Però fem servir el codi python per descarregar imatges de "https://image-net.org"

A continuació, convertim les imatges a escala de grisos i a una mida normal. Això ja està implementat al codi. El codi també elimina qualsevol imatge defectuosa

A hores d’ara el vostre directori hauria de contenir la imatge de l’objecte, per exemple, watch5050-j.webp

Si no es crea la carpeta de dades, feu-ho manualment

El codi python es proporciona al fitxer.py

Pas 3: Creació de mostres positives a OpenCV

Creació de mostres positives a OpenCV
Creació de mostres positives a OpenCV
Creació de mostres positives a OpenCV
Creació de mostres positives a OpenCV

Ara aneu al directori opencv_createsamples i afegiu tot el contingut esmentat anteriorment

a la comanda, aneu a C: / opencv342 / build / x64 / vc14 / bin per trobar opencv_createsamples i opencv_traincascade

ara executeu les ordres següents

opencv_createsamples -img watch5050-j.webp

Aquesta ordre serveix per crear exactament les mostres positives de l'objecte 1950 i el fitxer de descripció info.lst de les imatges positives la descripció hauria de ser així 0001_0014_0045_0028_0028-j.webp

Ara la carpeta conté

informació

carpeta d'imatges neg

fitxer bg.txt

carpeta de dades buida

Pas 4: creació d'un fitxer vectorial positiu

Creació d’un fitxer vectorial positiu
Creació d’un fitxer vectorial positiu

Ara creeu el fitxer vectorial positiu que proporciona el camí cap a les imatges positives del fitxer de descripció

Utilitzeu l'ordre següent

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

A hores d'ara, el contingut del directori ha de ser el següent:

--neg

---- negimages.jpg

--opencv

--informació

--dades

--positives.vec

--bg.txt

--watch5050-j.webp

Pas 5: entrenar el classificador

Formació del classificador
Formació del classificador
Formació del classificador
Formació del classificador
Formació del classificador
Formació del classificador

Ara permet entrenar la cascada haar i crear el fitxer xml

Utilitzeu l'ordre següent

opencv_traincascade -dades de dades -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -numEtapes 10 -w 20 -h 20

les etapes són 10 L'augment de les etapes requereix més processament, però el classificador és molt més eficient.

Ara es crea haarcascade. Triga aproximadament dues hores a completar-se. Obriu la carpeta de dades allà, trobareu cascade.xml Aquest és el classificador que s'ha creat

Pas 6: provar el classificador

La carpeta de dades conté els fitxers tal com es mostra a la imatge superior.

Després de la creació del classificador, veiem si el classificador funciona o no executant el programa object_detect.py. No oblideu col·locar el fitxer classifier.xml al directori python.

Pas 7: gràcies especials

M'agradaria donar les gràcies aquí a Sentdex, que és un gran programador de python.

Té un nom de youtube amb el nom esmentat anteriorment i el vídeo que em va ajudar molt té aquest enllaç

La major part del codi s'ha copiat de sentdex. Tot i que vaig rebre molta ajuda de sentdex, encara em vaig enfrontar a molts problemes. Només volia compartir la meva experiència.

Espero que aquest intructable us hagi ajudat !!! Estigueu atents a més.

BR

Tahir Ul Haq

Recomanat: