Поиск глубины с помощью SIFT или другого детектора - PullRequest
1 голос
/ 18 февраля 2020

У меня есть проект, целью которого является определение расстояния до определенного объекта (например, знаки трафика c). Я откалибровал стерео-риг, и первым делом я нашел несоответствие изображения, а затем глубину. Однако, поскольку мне нужно только расстояние до определенных объектов в сцене, я подумал, что вычисление карты диспаратности - довольно длинная и тяжелая задача, поэтому я переключился на метод обнаружения объектов. Идея заключается в следующем: я нахожу одинаковые функции на обоих изображениях, а затем нахожу несоответствие (просто вычленя одну характеристическую точку из другой совпадающей) только в указанных bboxes (я прикрепил изображение).

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

disparity = feature_matched1.x - feature_matched2.x

depth = baseline * focal / disparity.

Кажется, что параметры калибровки верны, а не проблема.

Я хочу спросить, правильно ли я это делаю и можно ли найти глубину? Может быть, я опроверг некоторые ложные предположения, и я не могу найти глубину, как этот метод.

Example. Number are distances in mm.

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

...