Mündəricat:

Python istifadə edərək OpenCV Şəkil Təsnifatçıları yaradın: 7 addım
Python istifadə edərək OpenCV Şəkil Təsnifatçıları yaradın: 7 addım

Video: Python istifadə edərək OpenCV Şəkil Təsnifatçıları yaradın: 7 addım

Video: Python istifadə edərək OpenCV Şəkil Təsnifatçıları yaradın: 7 addım
Video: Computer Vision with Python! Resizing Images 2024, Iyul
Anonim
Python istifadə edərək OpenCV Şəkil Təsnifatçıları yaradın
Python istifadə edərək OpenCV Şəkil Təsnifatçıları yaradın

Python və opencv -də Haar təsnifatçıları olduqca çətin, lakin asan bir işdir.

Təsvirlərin təsnifatı və təsnifatı ilə bağlı problemlərlə tez -tez qarşılaşırıq. ən yaxşı həll yolu öz təsnifatçınızı yaratmaqdır. Burada bir neçə əmr və uzun, lakin sadə python proqramları ilə öz şəkil təsnifatçılarımızı yaratmağı öyrənirik

Təsnifat üçün çoxlu sayda mənfi və müsbət şəkillər tələb olunur, neqativlərdə tələb olunan obyekt yoxdur, pozitivlər isə aşkarlanacaq obyekti ehtiva edir.

Təxminən 2000 mənfi və müsbət tələb olunur. Python proqramı, görüntünü boz rəngə və uyğun bir ölçüyə çevirir, belə ki təsnifatçılar yaratmaq üçün optimal vaxt alır.

Addım 1: Proqram təminatı tələb olunur

Öz təsnifatçınızı yaratmaq üçün aşağıdakı proqramlara ehtiyacınız var

1) OpenCV: istifadə etdiyim versiya 3.4.2 -dir. versiya İnternetdə asanlıqla mövcuddur.

2) Python: 3.6.2 versiyası istifadə olunur. Python.org saytından yükləyə bilərsiniz

Əlavə olaraq bir veb kamera tələb olunur (əlbəttə).

Addım 2: Şəkilləri Yükləyin

İlk addım, təsnif ediləcək obyekt haqqında aydın bir şəkil çəkməkdir.

Ölçüsü çox böyük olmamalıdır, çünki kompüterin işlənməsi üçün daha çox vaxt lazımdır. 50 -dən 50 -yə qədər ölçü götürdüm.

Sonra mənfi və müsbət şəkilləri yükləyirik. Onları İnternetdə tapa bilərsiniz. Ancaq 'https://image-net.org' saytından şəkilləri yükləmək üçün python kodundan istifadə edirik.

Sonra şəkilləri boz rəngə və normal ölçüyə çeviririk. Bu, kodda ayrıca tətbiq olunur. Kod, hər hansı bir qüsurlu görüntünü də aradan qaldırır

İndiyə qədər kataloqunuzda obyekt görüntüsü olmalıdır, məsələn watch5050-j.webp

Məlumat qovluğu yaradılmırsa, əl ilə edin

Python kodu.py faylında verilir

Addım 3: OpenCV -də müsbət nümunələr yaratmaq

OpenCV -də Müsbət Nümunələr Yaratmaq
OpenCV -də Müsbət Nümunələr Yaratmaq
OpenCV -də Müsbət Nümunələr Yaratmaq
OpenCV -də Müsbət Nümunələr Yaratmaq

İndi opencv_createsamples kataloquna gedin və yuxarıda göstərilən bütün məzmunu əlavə edin

əmr satırında opencv_createsamples və opencv_traincascade tətbiqləri tapmaq üçün C: / opencv342 / build / x64 / vc14 / bin bölməsinə keçin.

İndi aşağıdakı əmrləri yerinə yetirin

opencv_createsamples -img watch5050-j.webp

Bu əmr dəqiq olaraq 1950 obyektinin müsbət nümunələrini yaratmaq üçündür və müsbət faylların təsviri olan info.lst təsviri belə olmalıdır 0001_0014_0045_0028_0028-j.webp

İndi qovluq var

məlumat

neg images qovluğu

bg.txt faylı

boş məlumat qovluğu

Addım 4: Müsbət vektor faylı yaratmaq

Müsbət Vektor Faylının Yaradılması
Müsbət Vektor Faylının Yaradılması

İndi pozitiv şəkillərin açılması faylına gedən yolu təmin edən pozitiv vektor faylını yaradın

Aşağıdakı əmri istifadə edin

opencv_createsamples -info info/info.lst -sayı 1950 -w 20 -h 20 -vec müsbəts.vec

İndiyə qədər kataloqun məzmunu aşağıdakı kimi olmalıdır:

-yox

---- negimages.jpg

-açılış

-məlumat

-məlumat

-müsbət.vec

-bg.txt

--watch5050-j.webp

Addım 5: Təsnifatçının təlimi

Klassifikatorun hazırlanması
Klassifikatorun hazırlanması
Klassifikatorun hazırlanması
Klassifikatorun hazırlanması
Klassifikatorun hazırlanması
Klassifikatorun hazırlanması

İndi haar kaskadını öyrədək və xml faylını yaradaq

Aşağıdakı əmri istifadə edin

opencv_traincascade -data məlumatları -vec pozitivs.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20

Mərhələlər 10 Mərhələlərin artırılması daha çox işləmə tələb edir, lakin təsnifatçı daha səmərəlidir.

İndi haarcascade yaradılır Veri qovluğunu açmaq üçün başa çatdırmaq təxminən iki saat çəkir cascade.xml Bu yaradılmış təsnifatdır

Addım 6: Təsnifatçının sınanması

Məlumat qovluğu yuxarıdakı şəkildə göstərildiyi kimi faylları ehtiva edir.

Təsnifatçı yaradıldıqdan sonra təsnifatçının işlədiyini və ya işləmədiyini object_detect.py proqramını işlədərək görürük. Classifier.xml faylını python qovluğuna yerləşdirməyi unutmayın.

Addım 7: Xüsusi Təşəkkürlər

Böyük bir python proqramçısı olan Sentdex -ə təşəkkür edirəm.

Yuxarıda göstərilən adı olan bir youtube adı var və mənə çox kömək edən videoda bu link var

Kodun çox hissəsi sentdex -dən kopyalanmışdır. Sentdexdən çox kömək alsam da, hələ də bir çox problemlə üzləşmişəm. Sadəcə təcrübəmi bölüşmək istədim.

Ümid edirəm bu keçilməz sizə kömək etdi !!! Daha çoxu üçün bizi izləyin.

BR

Tahir Ul Haq

Tövsiyə: