Innehållsförteckning:

Skapa OpenCV Image Classifiers med Python: 7 steg
Skapa OpenCV Image Classifiers med Python: 7 steg

Video: Skapa OpenCV Image Classifiers med Python: 7 steg

Video: Skapa OpenCV Image Classifiers med Python: 7 steg
Video: OpenCV Python Tutorial #7 - Template Matching (Object Detection) 2024, Juli
Anonim
Skapa OpenCV Image Classifiers med Python
Skapa OpenCV Image Classifiers med Python

Haarklassificerare i python och opencv är ganska knepigt men lätt uppgift.

Vi står ofta inför problemen med bilddetektering och klassificering. den bästa lösningen är att skapa din egen klassificerare. Här lär vi oss att göra våra egna bildklassificerare med några kommandon och långa men enkla pythonprogram

Klassificeringen kräver ett stort antal negativa och positiva bilder negativa innehåller inte det erforderliga objektet medan positiva är det som innehåller objektet som ska detekteras.

Cirka 2000 negativ och positiva krävs. Python -programmet konverterar bilden till gråskala och en lämplig storlek så att klassificerare tar optimal tid att skapa.

Steg 1: Programvara krävs

Du behöver följande programvara för att skapa din egen klassificerare

1) OpenCV: versionen jag använde är 3.4.2. versionen är lätt tillgänglig på internet.

2) Python: Den version som används är 3.6.2. Kan laddas ner från python.org

Dessutom behöver du en webbkamera (naturligtvis).

Steg 2: Ladda ner bilderna

Det första steget är att ta en tydlig bild av objektet som ska klassificeras.

Storleken ska inte vara särskilt stor eftersom det tar längre tid för datorn att bearbeta. Jag tog storlek 50 x 50.

Därefter laddar vi ner de negativa och positiva bilderna. Du hittar dem online. Men vi använder pythonkoden för att ladda ner bilder från 'https://image-net.org'

Därefter konverterar vi bilderna till gråskala och till en normal storlek. Detta är också implementerat i koden. Koden tar också bort eventuella felaktiga bilder

Nu bör din katalog innehålla objektbilden t.ex. watch5050-j.webp

Om datamappen inte skapas, gör det manuellt

Pythonkoden finns i.py -filen

Steg 3: Skapa positiva prov i OpenCV

Skapa positiva prover i OpenCV
Skapa positiva prover i OpenCV
Skapa positiva prover i OpenCV
Skapa positiva prover i OpenCV

Gå nu till katalogen opencv_createsamples och lägg till allt ovan nämnt innehåll

i kommad prompt gå till C: / opencv342 / build / x64 / vc14 / bin för att hitta opencv_createsamples och opencv_traincascade apps

kör nu följande kommandon

opencv_createsamples -img watch5050-j.webp

Detta kommando är för att skapa de positiva exemplen på objektet 1950 för att vara exakt Och beskrivningsfilen info.lst av de positiva bilderna bör beskrivningen vara så här 0001_0014_0045_0028_0028-j.webp

Nu innehåller mappen

info

neg images -mappen

bg.txt -fil

tom datamapp

Steg 4: Skapa positiv vektorfil

Skapa positiv vektorfil
Skapa positiv vektorfil

Skapa nu den positiva vektorfilen som tillhandahåller sökvägen till de positiva bilderna, dekrypteringsfilen

Använd följande kommando

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

Innehållet i katalogen måste nu vara följande:

--neg

---- negimages.jpg

--opencv

--info

--data

--positives.vec

--bg.txt

--watch5050-j.webp

Steg 5: Träna klassificeraren

Träna klassificeraren
Träna klassificeraren
Träna klassificeraren
Träna klassificeraren
Träna klassificeraren
Träna klassificeraren

Nu kan vi träna hårkaskaden och skapa xml -filen

Använd följande kommando

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

steg är 10 Att öka stadierna kräver mer bearbetning men klassificeraren är mycket effektivare.

Nu skapas haarcascade Det tar cirka två timmar att slutföra Öppna datamappen där hittar du cascade.xml Detta klassificerare som har skapats

Steg 6: Testa klassificeraren

Datamappen innehåller filerna enligt bilden ovan.

Efter skapandet av klassificeraren ser vi om klassificeraren fungerar eller inte genom att köra programmet object_detect.py. Glöm inte att placera classifier.xml -filen i pythonkatalogen.

Steg 7: Särskilt tack

Jag skulle vilja tacka Sentdex här som är en bra pythonprogrammerare.

Han har ett youtube -namn med ovan nämnda namn och videon som hjälpte mig mycket har den här länken

Det mesta av koden har kopierats från sentdex. Även om jag fått mycket hjälp av sentdex, så mötte jag fortfarande många problem. Jag ville bara dela med mig av min erfarenhet.

Jag hoppas att denna oförstörbara hjälpte dig !!! Håll ögonen öppna för mer.

BR

Tahir Ul Haq

Rekommenderad: