Innholdsfortegnelse:
Video: Lag OpenCV Image Classifiers ved hjelp av Python: 7 trinn
2025 Forfatter: John Day | [email protected]. Sist endret: 2025-01-13 06:58
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
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
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
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