Оглавление:

Создание классификаторов изображений OpenCV с помощью Python: 7 шагов
Создание классификаторов изображений OpenCV с помощью Python: 7 шагов

Видео: Создание классификаторов изображений OpenCV с помощью Python: 7 шагов

Видео: Создание классификаторов изображений OpenCV с помощью Python: 7 шагов
Видео: Изучение Python OpenCV / Урок #2 – Работа с изображениями и видео 2024, Ноябрь
Anonim
Создание классификаторов изображений OpenCV с помощью Python
Создание классификаторов изображений OpenCV с помощью Python

Классификаторы Хаара в python и opencv - довольно сложная, но легкая задача.

Мы часто сталкиваемся с проблемами при обнаружении и классификации изображений. Лучшее решение - создать свой собственный классификатор. Здесь мы учимся создавать собственные классификаторы изображений с помощью нескольких команд и длинных, но простых программ на Python.

Классификация требует большого количества негативных и позитивных изображений, негативы не содержат требуемый объект, тогда как позитивные изображения содержат объект, который необходимо обнаружить.

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

Шаг 1. Требуемое программное обеспечение

Для создания собственного классификатора вам потребуется следующее программное обеспечение

1) OpenCV: я использовал версию 3.4.2. версия легко доступна в Интернете.

2) Python: используется версия 3.6.2. Можно скачать с python.org

Кроме того, вам понадобится веб-камера (конечно).

Шаг 2: загрузка изображений

Первый шаг - сделать четкое изображение классифицируемого объекта.

Размер не должен быть очень большим, так как компьютер требует больше времени для обработки. Я взял размер 50 на 50.

Далее мы загружаем негативные и позитивные изображения. Вы можете найти их в Интернете. Но мы используем код Python для загрузки изображений с

Затем мы конвертируем изображения в оттенки серого и в нормальный размер. Это также реализовано в коде. Код также удаляет все дефектные изображения.

К настоящему моменту ваш каталог должен содержать изображение объекта, например, 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

файл bg.txt

пустая папка с данными

Шаг 4: Создание позитивного векторного файла

Создание позитивного векторного файла
Создание позитивного векторного файла

Теперь создайте позитивный векторный файл, который обеспечивает путь к позитивным изображениям файл описания.

Используйте следующую команду

opencv_createsamples -info info / info.lst -num 1950 -w 20 -h 20 -vec positives.vec

К настоящему моменту содержимое каталога должно быть следующим:

--нег

---- negimages.jpg

--opencv

--Информация

--данные

--positives.vec

--bg.txt

--watch5050-j.webp

Шаг 5: Обучение классификатора

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

Теперь давайте обучим каскад haar и создадим файл xml.

Используйте следующую команду

opencv_traincascade -data data -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, который является отличным программистом на Python.

У него есть имя на YouTube с вышеупомянутым именем, а в видео, которое мне очень помогло, есть эта ссылка

Большая часть кода скопирована из sentdex. Несмотря на большую помощь sentdex, я все еще сталкивался с множеством проблем. Я просто хотел поделиться своим опытом.

Надеюсь, вам помогло это решение !!! Следите за новостями.

BR

Тахир Уль Хак

Рекомендуемые: