фильтрация ложных срабатываний обнаружения объектов с помощью opencv - PullRequest
4 голосов
/ 06 августа 2011

я использую opencv HaarDetectObjects (...) для обнаружения объекта на изображении.Функция возвращает координаты областей на изображении, которые могут содержать объект, проблема в том, что я хочу обнаружить только один экземпляр объекта на изображении, и у меня нет возможности узнать, какой из результатов, возвращаемых функцией, является"Лучший".Есть ли способ, которым я мог бы получить результаты отсортированы по вероятности того, что они действительно содержат объект?или, может быть, определить какой-то порог, который должны пройти результаты?в основном мне нужен способ отфильтровывать ложные срабатывания.

я не ограничен использованием opencv или HaarDetectObjects, если у кого-то есть предложения по другой библиотеке или другому методу обнаружения объекта, это приветствуется.

спасибо.

1 Ответ

3 голосов
/ 06 августа 2011

Есть ли какие-либо знания в конкретной области, которыми вы можете воспользоваться?

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

Ожидается ли, что он будет определенного цвета?Вы можете взять цветную гистограмму образца объекта.Затем вы можете сравнить каждое обнаружение того, что HaarDetectObjects возвратил к этой выборочной гистограмме, используя функцию расстояния (для функции расстояния всплывают имена «расстояние Бхаттачарья» и «расстояние Махаланобиса», но я не могу претендовать на какой-либо опытВ этом случае OpenCv имеет поддержку для гистограмм , включая функцию CompareHist.

Что вы можете сказать о контурах, текстуре, геометрии объекта ...?Все, что можно сократить до чисел и сравнить с «базовым значением», может помочь.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...