Taula de continguts:
- Pas 1: cal programes
- Pas 2: descàrrega de les imatges
- Pas 3: Creació de mostres positives a OpenCV
- Pas 4: creació d'un fitxer vectorial positiu
- Pas 5: entrenar el classificador
- Pas 6: provar el classificador
- Pas 7: gràcies especials
Vídeo: Creeu classificadors d'imatges OpenCV amb Python: 7 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:15
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
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
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
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:
Creeu mapes personalitzats per al vostre GPS Garmin: 8 passos (amb imatges)
Creeu mapes personalitzats per al vostre GPS Garmin: si teniu un GPS Garmin dissenyat per fer senderisme i altres activitats a l’aire lliure (incloses les sèries GPSMAP, eTrex, Colorado, Dakota, Oregon i Montana, entre d’altres), no cal que conformar-se amb els mapes d’ossos nus que s’hi van carregar prèviament. E
Creeu el vostre robot de transmissió de vídeo controlat per Internet amb Arduino i Raspberry Pi: 15 passos (amb imatges)
Construeix el teu robot de transmissió de vídeo controlat per Internet amb Arduino i Raspberry Pi: sóc @RedPhantom (també conegut com LiquidCrystalDisplay / Itay), un estudiant de 14 anys d'Israel que aprèn a la Max Shein Junior High School for Advanced Science and Mathematics. Estic fent aquest projecte perquè tothom pugui aprendre-lo i compartir-lo. És possible que tingueu
Creeu un lector de volum de tanc en menys de 30 dòlars amb ESP32: 5 passos (amb imatges)
Construïu un lector de volum de tancs en menys de 30 dòlars amb ESP32: Internet de les coses ha portat moltes aplicacions de dispositius que abans eren complexes a casa de molts fabricants de cervesa artesana i fabricants de vi. Les aplicacions amb sensors de nivell s’utilitzen des de fa dècades a grans refineries, plantes de tractament d’aigües i productes químics
Creeu un tauler de temps amb l'API Dark Sky: 5 passos (amb imatges)
Creeu un tauler del temps amb l'API Dark Sky: Dark Sky s'especialitza en la predicció i visualització del temps. L’aspecte més fresc de Dark Sky és la seva API meteorològica que podem utilitzar per recuperar les dades meteorològiques de gairebé qualsevol lloc del món. No només el temps és plujós o assolellat, sinó temperat
R-PiAlerts: Creeu un sistema de seguretat basat en WiFi amb Raspberry Pis: 8 passos (amb imatges)
R-PiAlerts: creeu un sistema de seguretat basat en WiFi amb Raspberry Pis: mentre treballeu a l'escriptori, de sobte sentiu un soroll llunyà. Algú acaba de tornar a casa? El meu cotxe està aparcat davant de casa, algú em va irrompre? No vols que rebis una notificació al telèfon o al taulell perquè puguis decidir si