Отрегулируйте параметры SGBM OpenCV, чтобы избежать полосатой земли

Я строю карту несоответствия с реализацией OpenCV SGBM. В частности, я использую OpenCV версии 2.4.9. В настоящее время я работаю со следующими параметрами:

int numberOfDisparities = 64;
sgbm.preFilterCap = 25;
sgbm.SADWindowSize = 14;
sgbm.P1 = 8*sgbm.SADWindowSize*sgbm.SADWindowSize;
sgbm.P2 = 32*sgbm.SADWindowSize*sgbm.SADWindowSize;
sgbm.minDisparity = 0;
sgbm.numberOfDisparities = numberOfDisparities;
sgbm.uniquenessRatio = 10;
sgbm.speckleWindowSize = 100;
sgbm.speckleRange = 2;
sgbm.disp12MaxDiff = 1;
sgbm.fullDP = false;

Тем не менее, результат не так хорош, как мне нужно:
Раздетая почва
Как видите, земля кажется полосатой, что вызывает проблемы с алгоритмом обнаружения препятствий, который я использую, который является реализацией статьи. Быстрое и надежное обнаружение и сегментирование препятствий для навигации по пересеченной местности. Проблема состоит в том, что, поскольку эти полосы имеют довольно постоянное несоответствие, что означает, что теоретически они почти перпендикулярны земле, алгоритм классифицирует их как препятствия.

Я немного поиграл с параметрами сглаживания P1 и особенно с P2, проверяя, улучшилось ли увеличение P2, но, похоже, это не решает проблему, поэтому я просто ушел, как рекомендовано в примере OpenCV.

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

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

Есть идеи?

3

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]