INHOUDSOPGAWE:
Video: Skep OpenCV Image Classifiers met behulp van Python: 7 stappe
2025 Outeur: John Day | [email protected]. Laas verander: 2025-01-13 06:56
Haar -klassifiseerders in python en opencv is 'n taamlike moeilike, maar maklike taak.
Ons ondervind gereeld probleme met die opsporing en klassifikasie van beeld. die beste oplossing is om u eie klassifiseerder te skep. Hier leer ons om ons eie beeldklassifikate te maak met 'n paar opdragte en lang, maar eenvoudige luislangprogramme
Die klassifikasie vereis 'n groot aantal negatiewe en positiewe beelde; negatiewe bevat nie die vereiste voorwerp nie, terwyl die positiewe aspekte die voorwerp is wat opgespoor moet word.
Ongeveer 2000 negatiewe en positiewe aspekte word vereis. Die luislangprogram omskakel die beeld in grysskaal en 'n geskikte grootte, sodat klassifiseerders die optimale tyd neem om dit te skep.
Stap 1: sagteware benodig
U benodig die volgende sagteware vir die skep van u eie klassifiseerder
1) OpenCV: die weergawe wat ek gebruik het, is 3.4.2. die weergawe is maklik op die internet beskikbaar.
2) Python: die weergawe wat gebruik word, is 3.6.2. Kan afgelaai word vanaf python.org
Boonop benodig u 'n webkamera (natuurlik).
Stap 2: Laai die beelde af
Die eerste stap is om 'n duidelike beeld te neem van die voorwerp wat geklassifiseer moet word.
Die grootte moet nie baie groot wees nie, aangesien dit langer neem om die rekenaar te verwerk. Ek het 50 by 50 grootte geneem.
Vervolgens laai ons die negatiewe en positiewe beelde af. U kan hulle aanlyn vind. Maar ons gebruik die python-kode om beelde af te laai van 'https://image-net.org'
Vervolgens skakel ons die beelde om na grysskaal en na 'n normale grootte. Dit word ook in die kode geïmplementeer. Die kode verwyder ook enige foutiewe beeld
Teen hierdie tyd behoort u gids die voorwerpbeeld te bevat, bv. Watch5050-j.webp
As die datagids nie geskep is nie, doen dit met die hand
Die python -kode word in die.py -lêer verskaf
Stap 3: Skep positiewe monsters in OpenCV
Gaan nou na die gids opencv_createsamples en voeg al die bogenoemde inhoud by
Gaan in commad prompt na C: / opencv342 / build / x64 / vc14 / bin om opencv_createsamples en opencv_traincascade -programme te vind
voer nou die volgende opdragte uit
opencv_createsamples -img watch5050-j.webp
Hierdie opdrag is om presies die positiewe monsters van die voorwerp 1950 te skep en die beskrywingslêer info.lst van die positiewe beelde moet die beskrywing so wees 0001_0014_0045_0028_0028-j.webp
Nou bevat die gids
inligting
neg beelde gids
bg.txt lêer
leë datagids
Stap 4: Skep 'n positiewe vektorlêer
Skep nou die positiewe vektorlêer wat die pad na die positiewe beelde bied, die beskrywingslêer
Gebruik die volgende opdrag
opencv_createsamples -info info/info.lst -num 1950 -w 20 -h 20 -vec positives.vec
Die inhoud van die gids moet nou die volgende wees:
--neg
---- negimages.jpg
--opencv
-inligting
-data
--positives.vec
--bg.txt
--watch5050-j.webp
Stap 5: Leer die klassifiseerder op
Laat ons nou die haar -waterval oplei en die xml -lêer skep
Gebruik die volgende opdrag
opencv_traincascade -datadata -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -num Stadiums 10 -w 20 -h 20
fases is 10 Die verhoging van die fases verg meer verwerking, maar die klassifiseerder is baie doeltreffender.
Nou is haarcascade geskep Dit neem ongeveer twee uur om dit te voltooi Maak die datamap oop, daar vind u cascade.xml Dit is die klassifiseerder wat geskep is
Stap 6: Toets die klassifiseerder
Die gegewensmap bevat die lêers soos in die prent hierbo getoon.
Na die skepping van die klassifiseerder, sien ons of die klassifiseerder werk of nie deur die object_detect.py -program uit te voer. Moenie vergeet om die classifier.xml -lêer in die python -gids te plaas nie.
Stap 7: Spesiale dank
Ek bedank graag Sentdex hier, wat 'n uitstekende python -programmeerder is.
Hy het 'n YouTube -naam met die naam hierbo en die video wat my baie gehelp het, het hierdie skakel
Die grootste deel van die kode is vanaf sentdex gekopieer. Alhoewel ek baie hulp van sentdex gekry het, het ek nog baie probleme ondervind. Ek wou net my ervaring deel.
Ek hoop dat hierdie onverbeterlike u gehelp het !!! Bly ingeskakel vir meer.
BR
Tahir Ul Haq