2

Я пытаюсь обнаружить определенные объекты в изображениях с использованием каскада Хаара в OpenCV.Идеальные изображения для каскада Viola-Jones Haar в OpenCV

Скажем, меня интересует обнаружение знаков остановки в ландшафтных изображениях. При определении положительных образцов изображения для моего набора упражнений, который будет лучшим видом изображения: (a) полные изображения с моим объектом, (b) средний урожай или (c) плотный урожай?

stop sign

Кроме того, что лучше для негативных образов? Оказывает ли это влияние на переобучение? Я также был бы признателен за любые другие общие советы от тех, кто имеет опыт. Благодарю.

исх Изображение: http://kaitou-ace.deviantart.com/art/Stop-sign-on-a-country-road-Michigan-271990933

ответ

3

Вы хотите только функции, которые вы хотите, чтобы обнаружить в ваших положительных образцов. Таким образом, изображение C будет правильным для положительных образцов.

Что касается отрицательных образцов, вы хотите ВСЁ еще. Хотя это, очевидно, нереально, если вы используете свой детектор в определенной среде, а затем тренируйтесь, чтобы обнаружить, что отрицательным является правильный путь. То есть много изображений пейзажей и т. д. (те, у которых нет знаков остановки)

+1

Также я ответил на аналогичный вопрос [здесь] (http://stackoverflow.com/questions/29022481/generating-good-training-data-for-haar-cascades/29028456#29028456), который может представлять интерес – GPPK

2

Лучший выбор: (c) потому что (a) и (b) содержат слишком много функций по всей границе знака, что вам не интересны.
Не только они не полезны, но могут серьезно подорвать работу алгоритма.
В случае (c) его целью является распознавание ситуаций, в которых в текущем окне есть функции, которые вы ищете. А как насчет (б) и (в)?
В этих случаях алгоритм должен обнаруживать интересные функции только в углу окна (и, к сожалению, этот угол может быть везде) и в то же время соответствовать всем бесконечным возможностям, которые могут возникать вокруг этого угла.
Вам понадобится огромное количество образцов и в любом случае, даже если вам удастся добиться приемлемого уровня попадания, задача разделения положительных и отрицательных результатов настолько сложна, что время работы будет очень высоким.

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