findHomography с неправильным выбросом RANSAC

Я делаю обнаружение объектов с помощью functions2d (ORB, SIFT и т.д.)

Я продолжаю исследовать гомографию с RANSAC. Я обнаружил, что многие хорошие моменты ошибочно отмечены как выбросы.

Внутри объекта (книги) много выбросов, которые не должны быть выбросами.

Я попытался поднять порог до 10, но результат почти такой же. Могу ли я что-то сделать, чтобы улучшить эту ситуацию?

Что-то сломалось с RANSAC?


person dynamic    schedule 20.08.2012    source источник
comment
Я использую RANSAC с OpenCV, и у меня нет проблем. Может быть, у вас есть шум на вашем изображении? Вы используете калиброванную камеру?   -  person Jav_Rock    schedule 21.08.2012


Ответы (3)


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

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

Вам не о чем беспокоиться, он работает нормально, и ваш объект обнаружен, как показано на вашем изображении.

person Jav_Rock    schedule 21.08.2012
comment
Я не думаю, что выброс - это неправильно. Что, вероятно, происходит, так это то, что ваши вкладыши недостаточно хороши. Вам нужно как минимум 4 балла для хорошей гомографии, и если шума слишком много, RANSAC не сработает, поскольку это линейный метод. - person Jav_Rock; 21.08.2012
comment
Да, это то, что RANSAC считает вкраплениями, но это не значит, что эти точки будут давать хорошую гомографию. Вероятно, у вас есть размытие на изображении, а положения точек неточны. У меня иногда возникает похожая проблема, когда я быстро перемещаю камеру. Отслеживание теряется. - person Jav_Rock; 21.08.2012
comment
Для меня это настоящая проблема =/ Да, возможно, в кадре есть некоторое размытие, но я думаю, что это не так уж сильно (и я не двигаю камеру в этом кадре) - person dynamic; 21.08.2012

Попробуйте найти больше функций (минимум 100), используя другой детектор функций, или настройте порог детектора, чтобы увеличить число. Также подходит равномерное распределение точек на объекте. Вы можете попробовать goodFeaturesToTrack из OpenCV.

person VisionC    schedule 21.08.2012
comment
+1 Да, нахождение более 100 точек увеличивает шансы получить хорошие вкладыши. Я думаю, что SIFT подходит в сочетании с матчами FLANN. - person Jav_Rock; 21.08.2012

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

  1. Совпадения неверны
  2. Избыточность функций изображения (просто, например, шахматная доска)

В случаях, когда характерные точки относятся к 3D-объекту, нет гарантии, что выступы лежат внутри объекта. FindHomography Opencv оценивает гомографию плоскости, если совпадения заданы в качестве входных данных в координатах изображения.

person nbsrujan    schedule 23.12.2015