Innholdsfortegnelse:

Lag OpenCV Image Classifiers ved hjelp av Python: 7 trinn
Lag OpenCV Image Classifiers ved hjelp av Python: 7 trinn

Video: Lag OpenCV Image Classifiers ved hjelp av Python: 7 trinn

Video: Lag OpenCV Image Classifiers ved hjelp av Python: 7 trinn
Video: How to make advanced image recognition bots using python 2024, November
Anonim
Lag OpenCV Image Classifiers ved hjelp av Python
Lag OpenCV Image Classifiers ved hjelp av Python

Haarklassifiseringer i python og opencv er ganske vanskelig, men lett oppgave.

Vi står ofte overfor problemene med bildedeteksjon og klassifisering. den beste løsningen er å lage din egen klassifisering. Her lærer vi å lage våre egne bildeklassifiseringer med noen få kommandoer og lange, men enkle, python -programmer

Klassifiseringen krever et stort antall negative og positive bilder. Negativer inneholder ikke det nødvendige objektet, mens det positive er det som inneholder objektet som skal oppdages.

Omtrent 2000 negative og positive er påkrevd. Python -programmet konverterer bildet til gråtoner og en passende størrelse, slik at klassifiserer tar optimal tid å lage.

Trinn 1: Nødvendig programvare

Du trenger følgende programvare for å lage din egen klassifikator

1) OpenCV: versjonen jeg brukte er 3.4.2. versjonen er lett tilgjengelig på internett.

2) Python: Versjonen som brukes er 3.6.2. Kan lastes ned fra python.org

Dessuten trenger du et webkamera (selvfølgelig).

Trinn 2: Last ned bildene

Det første trinnet er å ta et klart bilde av objektet som skal klassifiseres.

Størrelsen skal ikke være veldig stor da det tar lengre tid før datamaskinen behandles. Jeg tok størrelse 50 x 50.

Deretter laster vi ned de negative og positive bildene. Du finner dem på nettet. Men vi bruker python-koden til å laste ned bilder fra 'https://image-net.org'

Deretter konverterer vi bildene til gråtoner og til en normal størrelse. Dette er også implementert i koden. Koden fjerner også alle feilbilder

Nå bør katalogen din inneholde objektbildet f.eks. Watch5050-j.webp

Hvis datamappen ikke er opprettet, gjør du det manuelt

Python -koden finnes i.py -filen

Trinn 3: Opprette positive prøver i OpenCV

Opprette positive prøver i OpenCV
Opprette positive prøver i OpenCV
Opprette positive prøver i OpenCV
Opprette positive prøver i OpenCV

Gå nå til opencv_createsamples katalog og legg til alt det ovennevnte innholdet

i kommandoprompt, gå til C: / opencv342 / build / x64 / vc14 / bin for å finne opencv_createsamples og opencv_traincascade -apper

utfør nå følgende kommandoer

opencv_createsamples -img watch5050-j.webp

Denne kommandoen er for å lage de positive prøvene til objektet 1950 for å være nøyaktig. Og beskrivelsesfilen info.lst av de positive bildene skal beskrivelsen være slik 0001_0014_0045_0028_0028-j.webp

Nå inneholder mappen

info

neg -bilder -mappen

bg.txt -fil

tom datamappe

Trinn 4: Opprette positiv vektorfil

Opprette positiv vektorfil
Opprette positiv vektorfil

Lag nå den positive vektorfilen som gir banen til de positive bildene, beskrivelsesfilen

Bruk følgende kommando

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

Innholdet i katalogen må nå være som følger:

--neg

---- negimages.jpg

--opencv

-informasjon

--data

--positives.vec

--bg.txt

--watch5050-j.webp

Trinn 5: Trening av klassifisereren

Trening av klassifisereren
Trening av klassifisereren
Trening av klassifisereren
Trening av klassifisereren
Trening av klassifisereren
Trening av klassifisereren

La oss nå trene haarkaskaden og lage xml -filen

Bruk følgende kommando

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

trinn er 10 Å øke trinnene krever mer behandling, men klassifisereren er langt mer effektiv.

Nå er haarcascade opprettet Det tar omtrent to timer å fullføre Åpne datamappen der finner du cascade.xml Dette er klassifisereren som er opprettet

Trinn 6: Testing av klassifikatoren

Datamappen inneholder filene som vist på bildet ovenfor.

Etter opprettelsen av klassifisereren ser vi om klassifisereren fungerer eller ikke ved å kjøre object_detect.py -programmet. Ikke glem å plassere classifier.xml -filen i python -katalogen.

Trinn 7: Spesiell takk

Jeg vil takke Sentdex her som er en flott python -programmerer.

Han har et youtube -navn med navnet ovenfor og videoen som hjalp meg mye har denne lenken

Det meste av koden er kopiert fra sentdex. Selv om jeg hadde fått mye hjelp fra sentdex, sto jeg fortsatt overfor mange problemer. Jeg ville bare dele min erfaring.

Jeg håper dette uforgjengelige hjalp deg !!! Følg med for mer.

BR

Tahir Ul Haq

Anbefalt: