Sommario:
- Passaggio 1: Software necessari
- Passaggio 2: download delle immagini
- Passaggio 3: creazione di campioni positivi in OpenCV
- Passaggio 4: creazione di file vettoriali positivi
- Passaggio 5: formazione del classificatore
- Passaggio 6: test del classificatore
- Passaggio 7: ringraziamenti speciali
Video: Crea classificatori di immagini OpenCV usando Python: 7 passaggi
2024 Autore: John Day | [email protected]. Ultima modifica: 2024-01-30 10:04
I classificatori Haar in Python e opencv sono un compito piuttosto complicato ma facile.
Spesso affrontiamo i problemi nel rilevamento e nella classificazione delle immagini. la soluzione migliore è creare il proprio classificatore. Qui impariamo a creare i nostri classificatori di immagini con pochi comandi e programmi Python lunghi ma semplici
La classificazione richiede un gran numero di immagini negative e positive i negativi non contengono l'oggetto richiesto mentre i positivi sono quelli che contengono l'oggetto da rilevare.
Sono richiesti circa 2000 negativi e positivi. Il programma Python converte l'immagine in scala di grigi e una dimensione adeguata in modo che i classificatori impieghino il tempo ottimale per creare.
Passaggio 1: Software necessari
Sono necessari i seguenti software per la creazione del proprio classificatore
1) OpenCV: la versione che ho usato è la 3.4.2. la versione è facilmente reperibile su internet.
2) Python: la versione utilizzata è la 3.6.2. Può essere scaricato da python.org
Inoltre è necessaria una webcam (ovviamente).
Passaggio 2: download delle immagini
Il primo passo è quello di fare un quadro chiaro dell'oggetto da classificare.
La dimensione non dovrebbe essere molto grande in quanto richiede più tempo per l'elaborazione da parte del computer. Ho preso una taglia 50 per 50.
Successivamente scarichiamo le immagini negative e positive. Li puoi trovare online. Ma usiamo il codice Python per scaricare immagini da 'https://image-net.org'
Quindi convertiamo le immagini in scala di grigi e in una dimensione normale. Questo è anche implementato nel codice. Il codice rimuove anche qualsiasi immagine difettosa
Ormai la tua directory dovrebbe contenere l'immagine dell'oggetto es watch5050-j.webp
Se la cartella dati non è stata creata, fallo manualmente
Il codice Python è fornito nel file.py
Passaggio 3: creazione di campioni positivi in OpenCV
Ora vai alla directory opencv_createsamples e aggiungi tutto il contenuto sopra menzionato
nel prompt dei comandi vai su C:\opencv342\build\x64\vc14\bin per trovare le app opencv_createsamples e opencv_traincascade
ora esegui i seguenti comandi
opencv_createsamples -img watch5050-j.webp
Questo comando serve per creare i campioni positivi dell'oggetto 1950 per l'esattezza E il file di descrizione info.lst delle immagini positive la descrizione dovrebbe essere così 0001_0014_0045_0028_0028-j.webp
Ora la cartella contiene
informazioni
cartella immagini negativa
file bg.txt
cartella dati vuota
Passaggio 4: creazione di file vettoriali positivi
Ora crea il file vettoriale positivo che fornisce il percorso alle immagini positive il file di descrizione
Usa il seguente comando
opencv_createsamples -info info/info.lst -num 1950 -w 20 -h 20 -vec positives.vec
Ormai il contenuto della directory deve essere il seguente:
--neg
----negimages.jpg
--opencv
--Informazioni
--dati
--positives.vec
--bg.txt
--watch5050-j.webp
Passaggio 5: formazione del classificatore
Ora addestriamo la cascata haar e creiamo il file xml
Usa il seguente comando
opencv_traincascade -data data -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20
gli stadi sono 10 L'aumento degli stadi richiede più elaborazione ma il classificatore è molto più efficiente.
Ora haarcascadeècreato Ci vogliono circa due ore per completarlo Apri la cartella dei dati lì troverai cascade.xml Questo èil classificatore cheèstato creato
Passaggio 6: test del classificatore
La cartella dei dati contiene i file come mostrato nell'immagine sopra.
Dopo la creazione del classificatore vediamo se il classificatore funziona o meno eseguendo il programma object_detect.py. Non dimenticare di inserire il file classifier.xml nella directory python.
Passaggio 7: ringraziamenti speciali
Vorrei ringraziare Sentdex qui che è un grande programmatore Python.
Ha un nome youtube con il nome sopra citato e il video che mi ha aiutato molto ha questo link
La maggior parte del codice è stata copiata da senddex. Sebbene abbia ricevuto molto aiuto da senddex, ho dovuto affrontare ancora molti problemi. Volevo solo condividere la mia esperienza.
Spero che questo intrusivo ti abbia aiutato!!! Resta sintonizzato per saperne di più.
BR
Tahir Ul Haq
Consigliato:
Come realizzare un drone utilizzando Arduino UNO - Crea un quadricottero usando il microcontrollore: 8 passaggi (con immagini)
Come realizzare un drone utilizzando Arduino UNO | Crea un quadricottero usando il microcontrollore: introduzioneVisita il mio canale YoutubeUn drone è un gadget (prodotto) molto costoso da acquistare. In questo post ho intenzione di discutere, come lo faccio a buon mercato?? E come puoi creare il tuo come questo a un prezzo economico … Bene in India tutti i materiali (motori, ESC
Crea un banco di prova Arduino personalizzato usando il Wirewrapping: 7 passaggi (con immagini)
Crea un banco di prova Arduino personalizzato usando il Wirewrapping: questo Instructable ti mostrerà un modo semplice per collegare un Arduino Nano a varie schede breakout PCB. Questo progetto è nato durante la mia ricerca di un modo efficace, ma non distruttivo per interconnettere diversi moduli. Avevo cinque moduli che volevo i
Crea un circuito di commutazione automatica della luce notturna usando Mosfet: 6 passaggi (con immagini)
Crea un circuito di commutazione automatica della luce notturna usando Mosfet: COME REALIZZARE UN INTERRUTTORE AUTOMATICO DELLA LUCE NOTTURNA CON MOSFETH Ciao, amici in questo progetto mostrerò un semplice schema elettrico su come realizzare un interruttore automatico notturno usando un mosfet e alcuni piccoli componenti che sono riuscito a salvataggio da ar
Crea un robot connesso al Web (per circa $ 500) (usando un Arduino e un netbook): 6 passaggi (con immagini)
Crea un robot connesso al web (per circa $ 500) (usando un Arduino e un netbook): questo Instructable ti mostrerà come costruire il tuo robot connesso al web (usando un microcontrollore Arduino e un pc Asus eee). Perché vorresti un web Robot connesso? Con cui giocare ovviamente. Guida il tuo robot dall'altra parte della stanza o dall'altra parte del conteggio
Crea un coltello caldo usando un saldatore: 4 passaggi (con immagini)
Crea un coltello caldo usando un saldatore: hai problemi a tagliare la plastica con un normale coltello x-acto? Quindi ecco un semplice strumento mod che puoi fare, trasformare un vecchio saldatore e una lama x-acto in un coltello caldo! Questa idea di coltello caldo non è proprio mia, ho trovato questa idea fatta da qualcuno