Turinys:
Video: Sukurkite „OpenCV“vaizdo klasifikatorius naudodami „Python“: 7 žingsniai
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
„Haar“klasifikatoriai „python“ir „opencv“yra gana sudėtinga, bet lengva užduotis.
Dažnai susiduriame su vaizdo aptikimo ir klasifikavimo problemomis. geriausias sprendimas yra sukurti savo klasifikatorių. Čia mes mokomės sukurti savo vaizdo klasifikatorius su keliomis komandomis ir ilgomis, tačiau paprastomis python programomis
Klasifikuojant reikia daug neigiamų ir teigiamų vaizdų, negatyvuose nėra reikiamo objekto, tuo tarpu teigiamose yra tas, kuriame yra aptinkamas objektas.
Reikia apie 2000 neigiamų ir teigiamų. „Python“programa paverčia vaizdą pilkos spalvos ir tinkamo dydžio, kad klasifikatoriai sukurtų optimalų laiką.
1 žingsnis: Reikalinga programinė įranga
Norint sukurti savo klasifikatorių, jums reikia šios programinės įrangos
1) „OpenCV“: naudojama versija i yra 3.4.2. versija yra lengvai prieinama internete.
2) „Python“: naudojama versija yra 3.6.2. Galima atsisiųsti iš python.org
Be to, jums reikia žiniatinklio kameros (žinoma).
2 veiksmas: atsisiųskite vaizdus
Pirmasis žingsnis yra aiškiai įsivaizduoti klasifikuojamą objektą.
Dydis neturėtų būti labai didelis, nes kompiuteriui apdoroti reikia daugiau laiko. Aš paėmiau nuo 50 iki 50 dydžio.
Toliau atsisiųsime neigiamų ir teigiamų vaizdų. Juos galite rasti internete. Bet mes naudojame „Python“kodą, norėdami atsisiųsti vaizdus iš „https://image-net.org“
Toliau mes konvertuojame vaizdus į pilkos spalvos ir įprasto dydžio. Tai yra įdiegta kodekse. Kodas taip pat pašalina bet kokį sugedusį vaizdą
Šiuo metu jūsų kataloge turėtų būti objekto vaizdas, pvz., Watch5050-j.webp
Jei duomenų aplankas nesukurtas, darykite tai rankiniu būdu
Python kodas pateikiamas.py faile
3 veiksmas: teigiamų pavyzdžių kūrimas naudojant „OpenCV“
Dabar eikite į katalogą opencv_createsamples ir pridėkite visą aukščiau paminėtą turinį
„Commad“eilutėje eikite į C: / opencv342 / build / x64 / vc14 / bin, kad surastumėte „opencv_createsamples“ir „opencv_traincascade“programas
dabar vykdykite šias komandas
opencv_createsamples -img watch5050-j.webp
Ši komanda skirta tiksliai sukurti teigiamus 1950 m. Objekto pavyzdžius Ir aprašymo failo info.lst teigiamų vaizdų aprašymas turėtų būti toks 0001_0014_0045_0028_0028-j.webp
Dabar aplanke yra
informacija
neg vaizdų aplanką
bg.txt failą
tuščias duomenų aplankas
4 žingsnis: sukurkite teigiamą vektorinį failą
Dabar sukurkite teigiamą vektorinį failą, kuris nurodo kelią į teigiamus vaizdus, esančius dekripto faile
Naudokite šią komandą
opencv_createsamples -info info/info.lst -num 1950 -w 20 -h 20 -vec teigiami.vec
Iki šiol katalogo turinys turi būti toks:
--nega
---- negimages.jpg
--opencv
--info
-duomenys
-teigiami.vec
--bg.txt
--watch5050-j.webp
5 žingsnis: mokykite klasifikatorių
Dabar leiskite išmokyti „haar“kaskadą ir sukurti xml failą
Naudokite šią komandą
opencv_traincascade -data duomenys -vec pozitive.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStage 10 -w 20 -h 20
etapai yra 10 Padidinus etapus reikia daugiau apdorojimo, tačiau klasifikatorius yra daug efektyvesnis.
Dabar sukurta haarcascade Užbaigti reikia maždaug dviejų valandų Atidarykite ten esantį duomenų aplanką rasite cascade.xml
6 veiksmas: klasifikatoriaus bandymas
Duomenų aplanke yra failai, kaip parodyta aukščiau esančiame paveikslėlyje.
Sukūrę klasifikatorių matome, ar klasifikatorius veikia, ar ne, paleisdami programą object_detect.py. Nepamirškite įdėti failo classifier.xml į katalogą python.
7 žingsnis: ypatingas ačiū
Norėčiau padėkoti Sentdexui, kuris yra puikus python programuotojas.
Jis turi „YouTube“pavadinimą aukščiau paminėtu vardu, o vaizdo įrašas, kuris man labai padėjo, turi šią nuorodą:
Dauguma kodo nukopijuota iš „senddex“. Nors sulaukiau daug pagalbos iš „sentdex“, vis tiek susidūriau su daugybe problemų. Tiesiog norėjau pasidalinti savo patirtimi.
Tikiuosi, kad šis nesusipratimas jums padėjo !!! Sekite naujienas.
BR
Tahir Ul Haq