У меня есть проект, целью которого является определение расстояния до определенного объекта (например, знаки трафика c). Я откалибровал стерео-риг, и первым делом я нашел несоответствие изображения, а затем глубину. Однако, поскольку мне нужно только расстояние до определенных объектов в сцене, я подумал, что вычисление карты диспаратности - довольно длинная и тяжелая задача, поэтому я переключился на метод обнаружения объектов. Идея заключается в следующем: я нахожу одинаковые функции на обоих изображениях, а затем нахожу несоответствие (просто вычленя одну характеристическую точку из другой совпадающей) только в указанных bboxes (я прикрепил изображение).
Детектор функций работает правильно, однако, когда я преобразовываю это неравенство в фактическую глубину, я получаю плохие результаты с огромной ошибкой. Я конвертирую их по следующей формуле:
disparity = feature_matched1.x - feature_matched2.x
depth = baseline * focal / disparity.
Кажется, что параметры калибровки верны, а не проблема.
Я хочу спросить, правильно ли я это делаю и можно ли найти глубину? Может быть, я опроверг некоторые ложные предположения, и я не могу найти глубину, как этот метод.
Я могу предоставить код, если это необходимо, однако, я думаю, что это более связанный с подходом вопрос.