Turinys:

Sukurkite „OpenCV“vaizdo klasifikatorius naudodami „Python“: 7 žingsniai
Sukurkite „OpenCV“vaizdo klasifikatorius naudodami „Python“: 7 žingsniai

Video: Sukurkite „OpenCV“vaizdo klasifikatorius naudodami „Python“: 7 žingsniai

Video: Sukurkite „OpenCV“vaizdo klasifikatorius naudodami „Python“: 7 žingsniai
Video: Niagara bullet hell game How to UE4 | Niagara collision projectile 2024, Liepa
Anonim
Sukurkite „OpenCV“vaizdo klasifikatorius naudodami „Python“
Sukurkite „OpenCV“vaizdo klasifikatorius naudodami „Python“

„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“

Teigiamų pavyzdžių kūrimas „OpenCV“
Teigiamų pavyzdžių kūrimas „OpenCV“
Teigiamų pavyzdžių kūrimas „OpenCV“
Teigiamų pavyzdžių kūrimas „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ą

Teigiamo vektorinio failo kūrimas
Teigiamo vektorinio failo kūrimas

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ų

Klasifikatoriaus mokymas
Klasifikatoriaus mokymas
Klasifikatoriaus mokymas
Klasifikatoriaus mokymas
Klasifikatoriaus mokymas
Klasifikatoriaus mokymas

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

Rekomenduojamas: