Python көмегімен OpenCV кескін жіктеуіштерін жасаңыз: 7 қадам
Python көмегімен OpenCV кескін жіктеуіштерін жасаңыз: 7 қадам
Anonim
Python көмегімен OpenCV кескін жіктеуіштерін жасаңыз
Python көмегімен OpenCV кескін жіктеуіштерін жасаңыз

Python және opencv тілдеріндегі Haar классификаторлары өте күрделі, бірақ оңай тапсырма.

Біз жиі кескінді анықтау мен жіктеу проблемаларына тап боламыз. Ең жақсы шешім - бұл өз классификаторын құру. Мұнда біз бірнеше командалармен және қарапайым, бірақ қарапайым питондық бағдарламалармен суреттердің классификаторларын жасауды үйренеміз

Жіктеу көптеген теріс және оң бейнелердің болуын талап етеді, ал негативтерде қажетті объект жоқ, ал позитивтерде анықталатын объекті бар.

2000 -ға жуық негативтер мен позитивтер қажет. Питон бағдарламасы кескінді сұр реңкке және қолайлы өлшемге түрлендіреді, осылайша жіктеуіштер жасау үшін оңтайлы уақыт алады.

1 -қадам: бағдарламалық қамтамасыз ету қажет

Жеке классификаторды құру үшін сізге келесі бағдарламалар қажет

1) OpenCV: мен қолданған нұсқа 3.4.2. нұсқасы Интернетте оңай қол жетімді.

2) Python: 3.6.2 нұсқасы қолданылады. Python.org сайтынан жүктеуге болады

Сонымен қатар сізге веб -камера қажет (әрине).

2 -қадам: суреттерді жүктеу

Бірінші қадам - жіктелетін объектінің нақты суретін алу.

Көлемі өте үлкен болмауы керек, себебі компьютерді өңдеуге көп уақыт кетеді. Мен 50 -ден 50 -ге дейін өлшемді алдым.

Содан кейін біз жағымды және жағымсыз суреттерді жүктейміз. Сіз оларды Интернеттен таба аласыз. Бірақ біз суреттерді «https://image-net.org» сайтынан жүктеу үшін питон кодын қолданамыз

Содан кейін біз суреттерді сұр реңкке және қалыпты өлшемге түрлендіреміз. Бұл кодексте мүлде орындалады. Код сонымен қатар кез келген ақаулы суретті жояды

Қазіргі уақытта сіздің каталогта объект бейнесі болуы керек, мысалы watch5050-j.webp

Егер деректер қалтасы жасалмаса, оны қолмен жасаңыз

Python коды.py файлында берілген

3 -қадам: OpenCV -де оң үлгілерді құру

OpenCV -де оң үлгілерді құру
OpenCV -де оң үлгілерді құру
OpenCV -де оң үлгілерді құру
OpenCV -де оң үлгілерді құру

Енді opencv_createsamples каталогына өтіп, жоғарыда аталған мазмұнды қосыңыз

Командалық шақыруда opencv_createsamples мен opencv_traincascade қосымшаларын табу үшін C: / opencv342 / build / x64 / vc14 / bin өтіңіз.

енді келесі пәрмендерді орындаңыз

opencv_createsamples -img watch5050-j.webp

Бұл пәрмен 1950 объектісінің оң үлгілерін құруға арналған және дәл ақпарат info.lst оң суреттердің сипаттамасы осындай болуы керек 0001_0014_0045_0028_0028-j.webp

Енді қалтада бар

ақпарат

neg images қалтасы

bg.txt файлы

бос деректер қалтасы

4 -қадам: Позитивті векторлық файл құру

Оң векторлық файлды құру
Оң векторлық файлды құру

Енді позитивті суреттерге шифрлау файлын беретін жолды беретін оң векторлық файл жасаңыз

Келесі пәрменді қолданыңыз

opencv_createsamples -info info/info.lst -ном 1950 -w 20 -h 20 -vec позитивті.vec

Қазіргі уақытта каталогтың мазмұны келесідей болуы керек:

-жоқ

---- negimages.jpg

--opencv

-ақпарат

-деректер

--позитивті және т.б.

--bg.txt

--watch5050-j.webp

5 -қадам: жіктеуішті оқыту

Классификаторды жаттықтыру
Классификаторды жаттықтыру
Классификаторды жаттықтыру
Классификаторды жаттықтыру
Классификаторды жаттықтыру
Классификаторды жаттықтыру

Енді haar каскадын үйретуге және xml файлын құруға мүмкіндік беріңіз

Келесі пәрменді қолданыңыз

opencv_traincascade -мәліметтер -vec positives.vec -bg bg.txt -numPos 1800 -numNeg 900 -numStages 10 -w 20 -h 20

Кезеңдер 10 Кезеңдерді жоғарылату көп өңдеуді қажет етеді, бірақ жіктеуіш тиімдірек.

Енді haarcascade құрылды. Дайындар қалтасын ашуға екі сағаттай уақыт кетеді, онда сіз cascade.xml таба аласыз Бұл құрылған классификатор

6 -қадам: жіктеуішті тексеру

Деректер қалтасы жоғарыдағы суретте көрсетілгендей файлдарды қамтиды.

Классификаторды жасағаннан кейін жіктеуіштің жұмыс істейтінін немесе жұмыс істемейтінін object_detect.py бағдарламасын іске қосу арқылы көреміз. Classifier.xml файлын python каталогына қоюды ұмытпаңыз.

7 -қадам: Арнайы алғыс

Мен мұнда керемет питон бағдарламашысы Sentdex -ке алғыс айтқым келеді.

Оның жоғарыда аталған аты бар ютубтың аты бар және маған көп көмектесті, бұл сілтеме бар

Кодтың көп бөлігі sentdex -тен көшірілген. Sentdex -тен көп көмек алғанымен, мен әлі де көптеген қиындықтарға тап болдым. Мен өз тәжірибеммен бөліскім келді.

Бұл табылмайтын материал сізге көмектесті деп үміттенемін !!! Толығырақ күтіңіз.

BR

Тахир Ул Хак

Ұсынылған: