Уточнение набора положительных изображений классификатора Хаара

Не могли бы вы помочь понять несколько моментов, связанных с обучением классификатору Хаара:

1) Должны ли позитивные изображения содержать только обучающий объект или они могут содержать в себе какие-то другие объекты? Например, я хочу распознать какой-то дорожный знак, должно ли положительное изображение содержать только дорожный знак или оно может содержать и шоссе?
2) Существует 2 способа создания векторного файла образцов, один из которых использует информационный файл, который содержит обнаруженный координаты объекта в положительном изображении, другой просто дает список положительных и отрицательных сторон. Какой из них лучше?
3) Как обычно создается информационный файл, содержащий координаты обнаруженного объекта в позитивном изображении? Может ли машинка для обрезки изображений генерировать координаты объекта?

И дает ли гистограмма адаптивного градиента dlib лучшие результаты, чем классификатор Хаара?
Моей целью является обнаружение дорожных знаков в raspberry pi.

Спасибо


person haykp    schedule 30.08.2017    source источник
comment
Кнопка, которую вы нажали, помечена как «Задать вопрос», а не «Задать несколько вопросов». Ваши вопросы также не соответствуют требованиям, перечисленным здесь Как спросить. Есть также много документов и учебных пособий, доступных в Интернете. Пожалуйста, проведите собственное исследование.   -  person Piglet    schedule 30.08.2017
comment
отмечено для будущих случаев! Спасибо   -  person haykp    schedule 30.08.2017


Ответы (1)


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

На самом деле, положительные образцы должны быть предоставлены файлом .vec, который создается с помощью opencv_createsamples.exe, и вам понадобится файл с описанием (где на изображениях ваши положительные образцы?). Обычно я иду по пути предварительной обработки размеченных обучающих образцов, обрезая весь фон, чтобы остались только промежуточные изображения, где положительный образец заполняет все изображение, а изображение уже имеет правильное соотношение сторон. Я заполняю текстовый файл в основном «folder/filename.png 0 0 width height» для каждого из этих промежуточных изображений, а затем создаю файл .vec из этих промежуточных изображений. Но с другой стороны, использование информации о реальной области интереса из полноразмерных изображений должно быть такого же качества.

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

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

person Micka    schedule 30.08.2017
comment
Большое спасибо!! поэтому мне нужно сохранить одинаковое соотношение сторон как для положительных, так и для отрицательных изображений, понял! последний вопрос: как насчет цветов изображений? должны все они быть в сером стиле? - person haykp; 30.08.2017
comment
отрицательные изображения должны быть предоставлены в полном размере, потому что opencv автоматически выберет каждое (с правильным соотношением сторон) подокно каждого отрицательного изображения в качестве отрицательного образца. Только если вы хотите добавить дополнительные жесткие отрицательные образцы, вы можете захотеть исправить соотношение сторон. Afaik, каскадное обучение работает только в оттенках серого, но, вероятно, будет преобразовано автоматически. - person Micka; 30.08.2017