Indholdsfortegnelse:

Opret OpenCV -billedklassificatorer ved hjælp af Python: 7 trin
Opret OpenCV -billedklassificatorer ved hjælp af Python: 7 trin

Video: Opret OpenCV -billedklassificatorer ved hjælp af Python: 7 trin

Video: Opret OpenCV -billedklassificatorer ved hjælp af Python: 7 trin
Video: 10 убеждений, от которых НЕОБХОДИМО отказаться 2024, November
Anonim
Opret OpenCV Image Classifiers ved hjælp af Python
Opret OpenCV Image Classifiers ved hjælp af Python

Haar -klassifikatorer i python og opencv er temmelig vanskelig, men let opgave.

Vi står ofte over for problemerne med billeddetektering og klassificering. den bedste løsning er at oprette din egen klassifikator. Her lærer vi at lave vores egne billedklassifikatorer med et par kommandoer og lange, men enkle, python -programmer

Klassificeringen kræver et stort antal negative og positive billeder. Negativer indeholder ikke det krævede objekt, mens positiverne er det, der indeholder det objekt, der skal detekteres.

Omkring 2000 negative og positive er påkrævet. Python -programmet konverterer billedet til gråtoner og en passende størrelse, så klassifikatorer tager den optimale tid at oprette.

Trin 1: Påkrævet software

Du har brug for følgende software til oprettelse af din egen klassifikator

1) OpenCV: den version jeg brugte er 3.4.2. versionen er let tilgængelig på internettet.

2) Python: Den anvendte version er 3.6.2. Kan downloades fra python.org

Desuden har du brug for et webcam (selvfølgelig).

Trin 2: Download af billederne

Det første trin er at tage et klart billede af objektet, der skal klassificeres.

Størrelsen bør ikke være særlig stor, da det tager større tid for computeren at behandle. Jeg tog størrelse 50 x 50.

Dernæst downloader vi de negative og positive billeder. Du kan finde dem online. Men vi bruger python-koden til at downloade billeder fra 'https://image-net.org'

Dernæst konverterer vi billederne til gråtoner og til en normal størrelse. Dette er også implementeret i koden. Koden fjerner også ethvert defekt billede

På nuværende tidspunkt skulle din bibliotek indeholde objektbilledet f.eks. Watch5050-j.webp

Hvis datamappen ikke er oprettet, skal du gøre det manuelt

Python -koden findes i.py -filen

Trin 3: Oprettelse af positive prøver i OpenCV

Oprettelse af positive prøver i OpenCV
Oprettelse af positive prøver i OpenCV
Oprettelse af positive prøver i OpenCV
Oprettelse af positive prøver i OpenCV

Gå nu til biblioteket opencv_createsamples og tilføj alt det ovennævnte indhold

i kommandoprompt gå til C: / opencv342 / build / x64 / vc14 / bin for at finde opencv_createsamples og opencv_traincascade apps

udfør nu følgende kommandoer

opencv_createsamples -img watch5050-j.webp

Denne kommando er til at oprette de positive prøver af objektet 1950 for at være præcis. Og beskrivelsesfilen info.lst af de positive billeder skal beskrivelsen være sådan 0001_0014_0045_0028_0028-j.webp

Nu indeholder mappen

info

neg -billeder mappe

bg.txt -fil

tom datamappe

Trin 4: Oprettelse af positiv vektorfil

Oprettelse af positiv vektorfil
Oprettelse af positiv vektorfil

Opret nu den positive vektorfil, der giver stien til de positive billeder, beskrivelsesfilen

Brug følgende kommando

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

Indholdet af biblioteket skal nu være som følger:

--neg

---- negimages.jpg

--opencv

-info

--data

--positives.vec

--bg.txt

--watch5050-j.webp

Trin 5: Træning af klassifikatoren

Træning af klassifikatoren
Træning af klassifikatoren
Træning af klassifikatoren
Træning af klassifikatoren
Træning af klassifikatoren
Træning af klassifikatoren

Lad os nu træne haarkaskaden og oprette xml -filen

Brug følgende kommando

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

stadier er 10 Forøgelse af stadierne kræver mere behandling, men klassifikatoren er langt mere effektiv.

Nu er haarcascade oprettet Det tager cirka to timer at fuldføre Åbn datamappen der finder du cascade.xml Dette er klassifikatoren, der er blevet oprettet

Trin 6: Test af klassifikatoren

Datamappen indeholder filerne som vist på billedet ovenfor.

Efter oprettelsen af klassifikatoren ser vi, om klassifikatoren fungerer eller ej, ved at køre programmet object_detect.py. Glem ikke at placere classifier.xml -filen i python -biblioteket.

Trin 7: Særlig tak

Jeg vil gerne takke Sentdex her, som er en fantastisk python -programmør.

Han har et youtube -navn med ovennævnte navn, og den video, der hjalp mig meget, har dette link

Det meste af koden er blevet kopieret fra sentdex. Selvom jeg modtog meget hjælp fra sentdex, stod jeg stadig over for mange problemer. Jeg ville bare dele min oplevelse.

Jeg håber, at denne uforgængelige hjalp dig !!! Følg med for mere.

BR

Tahir Ul Haq

Anbefalede: