SACSegmentation Linux и Windows разные результаты

Учитывая идентичные входные данные и идентичный код, в Windows обнаружена другая модель плоскости по сравнению с Linux, использующая SACSegmentation в PCL. Для одного примера, идентифицированная плоскость в Linux имеет угол крена ~7 градусов, где плоскость Windows составляет ~0 градусов. Последовательные результаты Windows идентичны, а также последовательные результаты Linux. Может ли это быть связано с GCC и Visual Studio, использующими разные размеры для типов? Или Windows, используя лучше default_random_engine?

Одинаковый расчет для Linux и Windows -> разные результаты

генерирует то же число в Linux, но не в Windows

Я знаю, что самолет Windows - лучше идентифицированный самолет. Как лучше всего исправить эту разницу, чтобы версия для Linux также находила эту же плоскость?

1 ответ

Речь идет о случайном двигателе. Если вы выполните только несколько итераций (в зависимости от размера вашего облака), это может дать ненадежные результаты. Вы можете попытаться добавить больше кандидатов на плоскость в ваш движок RANSAC с помощью метода.setMaxIterations(), чтобы увидеть, приближаются ли результаты друг к другу.

Другие вопросы по тегам