Cuprins:

Creați clasificatoare de imagine OpenCV folosind Python: 7 pași
Creați clasificatoare de imagine OpenCV folosind Python: 7 pași

Video: Creați clasificatoare de imagine OpenCV folosind Python: 7 pași

Video: Creați clasificatoare de imagine OpenCV folosind Python: 7 pași
Video: Aplicatie de detectare si recunoastere faciala in Python si OpenCV -partea I -E.C.D. ADRIAN IGNAT 2024, Iulie
Anonim
Creați clasificatoare de imagine OpenCV folosind Python
Creați clasificatoare de imagine OpenCV folosind Python

Clasificatorii Haar în python și opencv sunt o sarcină destul de complicată, dar ușoară.

Adesea ne confruntăm cu probleme în detectarea și clasificarea imaginilor. cel mai bun soluție este să-ți creezi propriul clasificator. Aici învățăm să creăm propriile noastre clasificatoare de imagine cu câteva comenzi și programe Python lungi, dar simple

Clasificarea necesită un număr mare de imagini negative și pozitive. Negativele nu conțin obiectul cerut, în timp ce pozitivele sunt cel care conține obiectul care trebuie detectat.

Sunt necesare aproximativ 2000 de negative și pozitive. Programul Python convertește imaginea în tonuri de gri și o dimensiune adecvată, astfel încât clasificatorii să ia timpul optim pentru a crea.

Pasul 1: Software-uri necesare

Aveți nevoie de următoarele software pentru crearea propriului dvs. clasificator

1) OpenCV: versiunea pe care am folosit-o este 3.4.2. versiunea este ușor disponibilă pe internet.

2) Python: Versiunea utilizată este 3.6.2. Poate fi descărcat de pe python.org

Mai mult, aveți nevoie de o cameră web (desigur).

Pasul 2: Descărcarea imaginilor

Primul pas este de a face o imagine clară a obiectului care urmează să fie clasificat.

Dimensiunea nu trebuie să fie foarte mare, deoarece este nevoie de timp mai mare pentru procesarea computerului. Am luat dimensiunea de 50 pe 50.

Apoi descarcăm imaginile negative și pozitive. Le puteți găsi online. Dar folosim codul python pentru a descărca imagini de pe „https://image-net.org”

Apoi, convertim imaginile la scară de gri și la o dimensiune normală. Acest lucru este implementat în cod. Codul elimină, de asemenea, orice imagine defectă

Până acum, directorul dvs. ar trebui să conțină imaginea obiectului, de exemplu, watch5050-j.webp

Dacă folderul de date nu este creat, faceți-l manual

Codul python este furnizat în fișierul.py

Pasul 3: Crearea de probe pozitive în OpenCV

Crearea de probe pozitive în OpenCV
Crearea de probe pozitive în OpenCV
Crearea de probe pozitive în OpenCV
Crearea de probe pozitive în OpenCV

Acum accesați directorul opencv_createsamples și adăugați tot conținutul menționat mai sus

în linia de comandă accesați C: / opencv342 / build / x64 / vc14 / bin pentru a găsi opencv_createsamples și opencv_traincascade aplicații

acum executați următoarele comenzi

opencv_createsamples -img watch5050-j.webp

Această comandă este pentru a crea mostre pozitive ale obiectului 1950 pentru a fi exacte Și fișierul de descriere info.lst al imaginilor pozitive descrierea ar trebui să fie astfel 0001_0014_0045_0028_0028-j.webp

Acum dosarul conține

informații

folderul imagini neg

fișier bg.txt

folder de date gol

Pasul 4: Crearea unui fișier vector pozitiv

Crearea unui fișier vector pozitiv
Crearea unui fișier vector pozitiv

Acum creați fișierul vector pozitiv care oferă calea către imaginile pozitive ale fișierului de descriere

Folosiți următoarea comandă

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

Până acum conținutul directorului trebuie să fie următorul:

--neg

---- negimages.jpg

--opencv

--info

--date

--positives.vec

--bg.txt

--watch5050-j.webp

Pasul 5: Instruirea clasificatorului

Instruirea clasificatorului
Instruirea clasificatorului
Instruirea clasificatorului
Instruirea clasificatorului
Instruirea clasificatorului
Instruirea clasificatorului

Acum, să antrenăm cascada haar și să creăm fișierul xml

Folosiți următoarea comandă

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

etapele sunt 10 Creșterea etapelor necesită mai multă procesare, dar clasificatorul este mult mai eficient.

Acum este creat haarcascade Este nevoie de aproximativ două ore pentru a finaliza Deschideți folderul de date acolo veți găsi cascade.xml Acesta este clasificatorul care a fost creat

Pasul 6: Testarea clasificatorului

Dosarul de date conține fișierele așa cum se arată în imaginea de mai sus.

După crearea clasificatorului vedem dacă clasificatorul funcționează sau nu rulând programul object_detect.py. Nu uitați să plasați fișierul classifier.xml în directorul python.

Pasul 7: Mulțumiri speciale

Aș dori să mulțumesc Sentdex aici, care este un mare programator Python.

Are un nume YouTube cu numele menționat mai sus, iar videoclipul care m-a ajutat foarte mult are acest link

Majoritatea codului a fost copiat de pe sentdex. Deși am primit mult ajutor de la sentdex, m-am confruntat cu multe probleme. Am vrut doar să împărtășesc experiența mea.

Sper că acest intructibil te-a ajutat !!! Rămâneți la curent pentru mai multe.

BR

Tahir Ul Haq

Recomandat: