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

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

Один и тот же расчет для Linux и Windows --› разные результаты

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

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


person brad    schedule 02.08.2017    source источник


Ответы (1)


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

person Rooscannon    schedule 20.10.2017