Satura rādītājs:

Izveidojiet OpenCV attēlu klasifikatorus, izmantojot Python: 7 soļi
Izveidojiet OpenCV attēlu klasifikatorus, izmantojot Python: 7 soļi

Video: Izveidojiet OpenCV attēlu klasifikatorus, izmantojot Python: 7 soļi

Video: Izveidojiet OpenCV attēlu klasifikatorus, izmantojot Python: 7 soļi
Video: Computer Vision with Python! Resizing Images 2024, Jūlijs
Anonim
Izveidojiet OpenCV attēlu klasifikatorus, izmantojot Python
Izveidojiet OpenCV attēlu klasifikatorus, izmantojot Python

Haar klasifikatori python un opencv ir diezgan grūts, bet viegls uzdevums.

Mēs bieži saskaramies ar attēlu noteikšanas un klasifikācijas problēmām. labākais risinājums ir izveidot savu klasifikatoru. Šeit mēs iemācāmies izveidot savus attēlu klasifikatorus, izmantojot dažas komandas un garas, bet vienkāršas python programmas

Klasifikācijai nepieciešams liels skaits negatīvu un pozitīvu attēlu, negatīvos nav vajadzīgā objekta, turpretī pozitīvajos ir tas, kas satur atklājamo objektu.

Nepieciešami aptuveni 2000 negatīvi un pozitīvi. Python programma pārveido attēlu pelēktoņos un piemērotā izmērā, lai klasifikatori izveidotu optimālu laiku.

1. darbība. Nepieciešama programmatūra

Lai izveidotu savu klasifikatoru, jums ir nepieciešama šāda programmatūra

1) OpenCV: i izmantotā versija ir 3.4.2. versija ir viegli pieejama internetā.

2) Python: tiek izmantota versija 3.6.2. Var lejupielādēt no python.org

Turklāt jums ir nepieciešama tīmekļa kamera (protams).

2. darbība: attēlu lejupielāde

Pirmais solis ir skaidri nolasīt klasificējamo objektu.

Izmēram nevajadzētu būt ļoti lielam, jo datora apstrāde prasa vairāk laika. Es paņēmu 50x50 izmēru.

Tālāk mēs lejupielādējam negatīvos un pozitīvos attēlus. Jūs varat tos atrast tiešsaistē. Bet mēs izmantojam pitona kodu, lai lejupielādētu attēlus no vietnes

Tālāk mēs pārvēršam attēlus pelēktoņos un normālā izmērā. Tas ir ieviests kodā. Kods noņem arī kļūdainu attēlu

Pagaidām jūsu direktorijā vajadzētu būt objekta attēlam, piemēram, watch5050-j.webp

Ja datu mape nav izveidota, dariet to manuāli

Python kods ir norādīts.py failā

3. darbība. Pozitīvu paraugu izveide OpenCV

Pozitīvu paraugu izveide OpenCV
Pozitīvu paraugu izveide OpenCV
Pozitīvu paraugu izveide OpenCV
Pozitīvu paraugu izveide OpenCV

Tagad dodieties uz direktoriju opencv_createsamples un pievienojiet visu iepriekš minēto saturu

Commad uzvednē dodieties uz C: / opencv342 / build / x64 / vc14 / bin, lai atrastu lietotnes opencv_createsamples un opencv_traincascade

tagad izpildiet šādas komandas

opencv_createsamples -img watch5050-j.webp

Šī komanda ir paredzēta, lai izveidotu precīzus 1950. gada objekta paraugus. Un apraksta failam info.lst no pozitīvajiem attēliem aprakstam jābūt tādam kā 0001_0014_0045_0028_0028-j.webp

Tagad mapē ir

informācija

neg attēlu mape

bg.txt failu

tukšu datu mapi

4. darbība. Pozitīva vektora faila izveide

Pozitīva vektora faila izveide
Pozitīva vektora faila izveide

Tagad izveidojiet pozitīvā vektora failu, kas nodrošina ceļu uz pozitīvajiem attēliem

Izmantojiet šādu komandu

opencv_createsamples -info info/info.lst -num 1950 -w 20 -h 20 -vec pozitīvi.vec

Līdz šim direktorija saturam jābūt šādam:

--neg

---- negimages.jpg

--opencv

--informācija

--dati

--pozitīvi.vec

--bg.txt

--watch5050-j.webp

5. darbība. Klasifikatora apmācība

Klasifikatora apmācība
Klasifikatora apmācība
Klasifikatora apmācība
Klasifikatora apmācība
Klasifikatora apmācība
Klasifikatora apmācība

Tagad ļauj apmācīt haar kaskādi un izveidot xml failu

Izmantojiet šādu komandu

opencv_traincascade -datu dati -vec pozitīvi.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStage 10 -w 20 -h 20

posmi ir 10 Posmu palielināšana prasa vairāk apstrādes, bet klasifikators ir daudz efektīvāks.

Tagad ir izveidota haarcascade Paiet apmēram divas stundas, lai pabeigtu Atveriet datu mapi, jūs atradīsiet cascade.xml

6. darbība. Klasifikatora pārbaude

Datu mapē ir faili, kā parādīts attēlā iepriekš.

Pēc klasifikatora izveides mēs redzam, vai klasifikators darbojas vai nē, palaižot programmu object_detect.py. Neaizmirstiet ievietot failu classifier.xml direktorijā python.

7. solis: Īpašs paldies

Es vēlos pateikties Sentdex šeit, kurš ir lielisks python programmētājs.

Viņam ir youtube vārds ar iepriekš minēto vārdu, un videoklipam, kas man ļoti palīdzēja, ir šī saite

Lielākā daļa koda ir nokopēta no senddex. Lai gan no Sentdex bija saņemta liela palīdzība, es joprojām saskāros ar daudzām problēmām. Es tikai gribēju padalīties savā pieredzē.

Es ceru, ka šī nesaprotamā palīdzēja jums !!! Sekojiet līdzi jaunumiem.

BR

Tahir Ul Haq

Ieteicams: