Съдържание:

Създайте класификатори на изображения на OpenCV с помощта на Python: 7 стъпки
Създайте класификатори на изображения на OpenCV с помощта на Python: 7 стъпки

Видео: Създайте класификатори на изображения на OpenCV с помощта на Python: 7 стъпки

Видео: Създайте класификатори на изображения на OpenCV с помощта на Python: 7 стъпки
Видео: Data Science with Python! Extracting Metadata from Images 2024, Декември
Anonim
Създайте класификатори на изображения на OpenCV с помощта на Python
Създайте класификатори на изображения на OpenCV с помощта на Python

Haar класификаторите в python и opencv са доста трудна, но лесна задача.

Често се сблъскваме с проблемите при откриването и класифицирането на изображения. най -доброто решение е да създадете свой собствен класификатор. Тук се научаваме да правим свои собствени класификатори на изображения с няколко команди и дълги, но прости програми на python

Класификацията изисква голям брой отрицателни и положителни изображения.

Изискват се около 2000 негатива и позитиви. Програмата python преобразува изображението в сива скала и подходящ размер, така че класификаторите отнемат оптималното време за създаване.

Стъпка 1: Изисква се софтуер

За да създадете свой собствен класификатор, се нуждаете от следния софтуер

1) OpenCV: версията, която използвах, е 3.4.2. версията е лесно достъпна в интернет.

2) Python: Използваната версия е 3.6.2. Може да се изтегли от python.org

Освен това имате нужда от уеб камера (разбира се).

Стъпка 2: Изтегляне на изображенията

Първата стъпка е да направите ясна картина на обекта, който ще бъде класифициран.

Размерът не трябва да бъде много голям, тъй като отнема повече време за обработката на компютъра. Взех размер 50 на 50.

След това изтегляме отрицателните и положителните изображения. Можете да ги намерите онлайн. Но ние използваме кода на python за изтегляне на изображения от „https://image-net.org“

След това преобразуваме изображенията в сива скала и в нормален размер. Това е внедрено в кода. Кодът също така премахва всяко дефектно изображение

Досега вашата директория трябва да съдържа изображението на обекта, напр. Watch5050-j.webp

Ако папката с данни не е създадена, направете го ръчно

Кодът на python е предоставен във файла.py

Стъпка 3: Създаване на положителни проби в OpenCV

Създаване на положителни проби в OpenCV
Създаване на положителни проби в OpenCV
Създаване на положителни проби в OpenCV
Създаване на положителни проби в OpenCV

Сега отидете в директорията opencv_createsamples и добавете цялото гореспоменато съдържание

в командния ред отидете на C: / opencv342 / build / x64 / vc14 / bin, за да намерите opencv_createsamples и opencv_traincascade приложения

сега изпълнете следните команди

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 -num 1950 -w 20 -h 20 -vec positives.vec

Към момента съдържанието на директорията трябва да бъде следното:

--нег

---- negimages.jpg

--opencv

--info

--данни

--pozitive.vec

--bg.txt

--watch5050-j.webp

Стъпка 5: Обучение на класификатора

Обучение на класификатора
Обучение на класификатора
Обучение на класификатора
Обучение на класификатора
Обучение на класификатора
Обучение на класификатора

Сега нека тренираме каскадата haar и да създадем xml файла

Използвайте следната команда

opencv_traincascade -данни данни -vec положителни.vec -bg bg.txt -numPos 1800 -numNeg 900 -num Етапи 10 -w 20 -h 20

етапите са 10 Увеличаването на етапите отнема повече обработка, но класификаторът е много по -ефективен.

Сега е създаден haarcascade Отнема около два часа, за да завършите Отворете папката с данни там ще намерите cascade.xml Това е класификаторът, който е създаден

Стъпка 6: Тестване на класификатора

Папката с данни съдържа файловете, както е показано на изображението по -горе.

След създаването на класификатора виждаме дали класификаторът работи или не, като стартираме програмата object_detect.py. Не забравяйте да поставите файла класификатор.xml в директорията на python.

Стъпка 7: Специални благодарности

Искам да благодаря на Sentdex тук, който е страхотен програмист на python.

Той има име в youtube с гореспоменатото име и видеото, което много ми помогна, има тази връзка

По -голямата част от кода е копиран от sentdex. Въпреки че получих голяма помощ от sentdex, все пак се сблъсках с много проблеми. Просто исках да споделя моя опит.

Надявам се, че това натрапчиво ви е помогнало !!! Очаквайте още.

BR

Тахир Ул Хак

Препоръчано: