Написание приложения, использующего каскадный классификатор, Подготовка базы изображений - Исследование алгоритмов
В данной главе описан процесс создания Android-приложения, способного детектировать пешеходов в видеопотоке, используя обученный каскадный классификатор. Представленная методология разработки приложения состоит из нескольких этапов:
- 1) Подготовка обучающей выборки изображений; 2) Процесс обучения каскадного классификатора, основанный на методах, рассмотренных в главе 1, и инструментах, которые предлагают выбранные языки программирования; 3) Написание мобильного приложения, использующего обученный каскадный классификатор.
Подготовка базы изображений
Целями первого этапа процедуры обучения каскадного классификатора будет являться:
- 1) Сбор и подготовка двух выборок изображений: содержащих и не содержащих детектируемые объекты (т. н. выборок позитивных и негативных изображений); 2) Подготовка файлов-описаний для каждой выборки в соответствии с требованиями используемых утилит.
Пешеходы являются трудными для детектирования объектами в силу внутриклассовой изменчивости и риска быть перекрытыми друг другом или иными объектами. На данном этапе работы были предложены идеи того, как можно избежать ухудшения качества последующего детектирования вследствие ошибок на стадии подготовки обучающей выборки. В таблице 2.1 перечислены основные проблемы детектирования и предложенные способы их устранения.
В соответствии с поставленными целями, на основе сделанных предположений для обучения каскадного классификатора были собрана выборка позитивных изображений объемом 17000 штук и выборка негативных изображений объемом 15000 штук в разрешении 640х480 пикселей. Позитивные содержали в себе один или несколько объектов "пешеход", на негативных образах не было ни одного объекта, которого можно было бы классифицировать как объект "пешеход".
Выборки были собраны путем комбинации готового свободно распространяемого датасета от Даймлера URL: http://www. gavrila. net/Research/Pedestrian_Detection/Daimler_Pedestrian_
Benchmark_D/Daimler_Mono_Ped__Detection_Be/daimler_mono_ped__detection_be. html (Daimler Pedestrian Detection Benchmark Dataset) и уникальной выборки, состоящей из кадров, записанных авторегистратором. Учитывая то, что выборка изображений от Даймлера также была получена захватом изображений из автомобиля во время 27-минутной езды по городу, общий набор данных для обучения каскадного классификатора является реалистичным.
Так как для улучшения качества будущего классификатора (а также для ускорения его обучения) было решено использовать позитивные изображения, содержащие только лишь сам объект, было написано приложение, позволяющее произвести обрезку положительных изображений и одновременно автоматически заполнить файл их описания. Дополнительные требования к приложению: максимально простой и удобный интерфейс, позволяющий быстро обработать большое число изображений вручную. Исходный код представлен в приложении А. Блок-схема работы с приложением изображена на рис. 2.1. Примеры позитивного изображения и позитивных образцов можно увидеть на рис. 2.2 и 2.3 соответственно; пример негативного изображения представлен на рис. 2.4. Также был сгенерирован файл, описывающий негативные изображения.
На следующем шаге использовалась утилита Opencv_createsamples для создания обучающих образцов. Целью стало приведение подготовленных изображений к формату, пригодному для обучения каскадного классификатора.
Таблица 2.1
Идеи, предложенные для решения проблем детектирования
Проблема |
Решение |
Отсутствие эталонного образа пешехода; наличие радикальных различий в представлении человека: мимические искажения лица, особенности прически и растительности на лице, наличие головного убора и других предметов, поза, рост, параметры фигуры и т. п. |
Предпочтение отдается настоящим изображениям пешеходов |
Многообразие пространственного расположения объекта, зависимость от ориентации и масштаба |
Использование обучающей выборки большого размера (N позитивных и M негативных изображений) |
Существование определенных трудностей, которые представляет среда нахождения человека: разнообразие погодных условий, ландшафтов, характера освещения и т. п. |
Использование кадров подлинных видеозаписей видеорегистратора, сделанных в реальной среде при различных степенях освещенности и в разное время года |
Риск пропусков объекта или ложных срабатываний при детектировании |
Подготовка положительной выборки таким образом, чтобы на каждом обучающем образце находился один объект, по размеру совпадающий с размером изображения |
Использование частей позитивных изображений, на которых отсутствует объект, в качестве негативных |
В работе применятся использование данной утилиты как инструмента создания положительных образцов из коллекции изображений, т. к. генерация образцов из одного объекта, как правило, не дает хороших результатов. В параметрах указывается адрес файла-описания позитивных изображений и выходного vec-файла, количество положительных изображений, а также длина и высота каждого выходного образца, причем:
- - соотношение сторон образца должно отражать пропорции детектируемого объекта; - размер образца не может быть меньше размера самого маленького из позитивных изображений.
Рисунок 2.1. Блок-схема работы с приложением для подготовки обучающей выборки
Рисунок 2.2. Пример позитивного изображения
А)
Б)
Рисунок 2.3. Примеры позитивных образцов
Рисунок 2.4. Пример негативного изображения
Таким образом, результатом работы на этапе подготовки базы изображений стал vec-файл, содержащий информацию для обучения каскадного классификатора.
Похожие статьи
-
Обучение каскадного классификатора - Исследование алгоритмов
В OpenCV есть два приложения для тренировки каскадов URL: http://docs. opencv. org/modules/objdetect/doc/cascade_classification. html?...
-
Заключение - Исследование алгоритмов
В настоящей выпускной квалификационной работе была исследована процедура обучения каскадного классификатора с целью повышения точности и вычислительной...
-
Каскадный классификатор - Исследование алгоритмов
В настоящее время метод Виолы-Джонса является самым популярным методом для детектирования в силу своей высокой скорости и эффективности. В 2001 году П....
-
Выводы по результатам тестирования - Исследование алгоритмов
По полученным в ходе анализа данным сделать вывод о качестве обученных каскадных классификаторов и о причинах таких результатов, а также выяснить, какие...
-
Программа экспериментальных исследований В предыдущей главе была описана процедура создания приложения, а также его структура и интерфейс. В данной главе...
-
В работе возникает необходимость выбора предметной области, в которой будет тестироваться каскадный классификатор. Главными вопросами на данном этапе...
-
Введение - Исследование алгоритмов
С недавнего времени такая область кибернетики, как создание искусственных систем распознавания образов, стала представлять особый интерес. Потребность в...
-
Структура и интерфейс программы - Исследование алгоритмов
В этой части работы описывается процесс создания мобильного приложения на платформе Android, способного использовать обученные каскадные классификаторы...
-
Описание проведенных экспериментов - Исследование алгоритмов
1) Эксперимент №1. Детектирование множества объектов. Детектирование множества объектов - задача, с которой работающее приложение должно справляться при...
-
Выбор мобильной платформы и изучение инструментов разработки - Исследование алгоритмов
Практическая реализация алгоритмов, представленных в предыдущих пунктах, предполагает: 1) Выбор мобильной платформы; 2) Изучение соответствующей среды...
-
Приложение, которое необходимо разработать, должно производить геометрическую реконструкцию сцены и вычисление цвета вершин модели. Для геометрической...
-
Разработка приложения, Инструменты разработки - Создание приложения
В этой главе будут перечислены инструменты разработки; процесс разработки Андроид-приложения; системные требования к устройствам, на которых приложение...
-
Для вычисления цвета могут быть использованы различные подходы. Вычисление цвета может проводиться одновременно с геометрической реконструкцией,...
-
В алгоритме Zhou&;Koltun при вычислении отклонений цвета используется изображение, переведенное в градации серого. В данной реализации используется...
-
Методы изображение алгоритмов - Алгоритм
На практике наиболее распространены следующие формы представления алгоритмов: 12. словесная (записи на естественном языке); 13. графическая (изображения...
-
При создании проекта нужно указать его свойства: Application Name (название приложения), Project location (расположение проекта на диске), Min SDK...
-
Работа с контентом Контент системы содержит как отдельные медийные составляющие - текст, таблицы, ссылки, графику, так и связанные между собой....
-
Введение - Создание приложения
Японский упражнение лингвистический приложение Темой данной работы является разработка приложения под управлением операционной системы Android для...
-
Исходя из данных первого пункта выяснили, что используется web сервер "Nginx". Данный сервер работает на Unix-подобных операционных системах. Никакая из...
-
Обучение с учителем и формальная запись задачи классификации Теория машинного обучения решает задачи предсказания будущего поведения сложных систем в том...
-
Заключение, Список использованной литературы. - Написание игры на Java
В результате проделанной работы было разработано игровое приложение, которое возможно установить на любое мультимедийное устройство под управление...
-
Для создания трехмерной реконструкции сцены или объекта необходимо создать его трехмерную модель и вычислить цвет ее вершин. Для геометрической...
-
Базовый алгоритм - Моделирование эффектов
В качестве базового был разработан следующий алгоритм. Исходные данные: - фотография сцены с объектом (одна) - фотография сцены без объекта (одна) -...
-
Введение - Способы коммуникации ресторанов и кафе через мобильное приложение
На сегодняшний день мобильный телефон занимает центральное место в жизни большинства потребителей, в том числе в жизни молодых подростков. Смартфон...
-
СХЕМА АЛГОРИТМА РАБОТЫ ПРОГРАММЫ, ЗАКЛЮЧЕНИЕ - Основы программирования в операционной системе Unix
Блок-схема главной функции программы (main) изображена на рисунке 4. Рисунок 4 - блок-схема main. cpp Блок-схема модуля (Math. cpp) изображена на рисунке...
-
Проект приложения, Структура проекта, Запуск проекта - Visual Basic. Основы программирования
Программный проект - это совокупность частей, составляющих будущее Windows-приложен. Любой проект должен состоять из одной или нескольких Экранных форм и...
-
В этом разделе намеренно допущено отступление от общей методики - не смешивать разные компоненты. Это сделано для облегчения демонстрации построения...
-
Для отбора цветных снимков в процессе сканирования применяется алгоритм Crete [1] определения размытия изображения. На каждом временном интервале...
-
Общее описание программного обеспечения, реализующего разработанный алгоритм Основной идеей дипломного проекта, является реализация алгоритма...
-
Назначение программы Программное средство на тему "Калькулятор коммунальных услуг" предназначено для повышения эффективности расчета коммунальных...
-
Требования к приложению Результатом дипломного проекта "Калькулятор коммунальных услуг" должно служить достижение и решение поставленных задач: -...
-
Установка и системные требования приложения Для установки программы необходимо зайти в папку "Файловый менеджер [Setup]", и запустить файл "setup. exe"....
-
Введение - Программа трехмерной реконструкции сцены по изображениям и данным сканирования глубины
Трехмерная реконструкция и трехмерное сканирование в настоящее время быстро развиваются и находят широкое применение в робототехнике, медицине,...
-
Введение - Разработка аналитического приложения
Тема данной работы - разработка веб-приложения для анализа макроэкономических показателей стран мира. В ней будет описан процесс, предшествующий...
-
Заключение, Список используемой литературы - Разработка игры "Морской бой"
Игровое приложение предназначено для людей любого возраста. Игра не требует особых умственных способностей, определенного умственного развития, программа...
-
Полуавтоматический метод с моделированием материалов, RSOLP based алгоритм - Моделирование эффектов
Следующий этап улучшения алгоритма - работа со способами моделирования освещения. Характер теней существенно зависит от материалов объекта и плоскости....
-
Растровое изображение. - Кодирование информации в компьютере
При помощи увеличительного стекла можно увидеть, что черно-белое графическое изображение, например из газеты, состоит из мельчайших точек, составляющих...
-
Описание используемых методов и алгоритмов - Выбор оптимального маршрута для строительства дороги
В данном пункте нужно проанализировать используемый алгоритм поиска кратчайшего пути. Алгоритм Дейкстры Находит кратчайший путь от одной из вершин графа...
-
В настоящее время биометрия входит в состав наиболее распространенных технологий и средств защиты информации. Отпечатки пальцев являются самой широко...
-
Исследования временных затрат алгоритмов - Алгоритмы нескольких махов
Исследования временных затрат алгоритмов были проведены для трех вариантов программ: LBFS4, LBFS3, MNS3; для двух вариантов сборки исполняемого файла:...
Написание приложения, использующего каскадный классификатор, Подготовка базы изображений - Исследование алгоритмов