Написание приложения, использующего каскадный классификатор, Подготовка базы изображений - Исследование алгоритмов

В данной главе описан процесс создания 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-файл, содержащий информацию для обучения каскадного классификатора.

Похожие статьи




Написание приложения, использующего каскадный классификатор, Подготовка базы изображений - Исследование алгоритмов

Предыдущая | Следующая