Я пытаюсь найти сферы из облака точек с помощью pcl :: sacSegmentation Использование RANSA C. Облако сканируется точным наземным сканером с одной станции. Плотность облаков составляет около 1 см. Наилучшие результаты пока представлены на рисунке ниже. Как вы можете видеть, облако содержит 2 сферы (r = 7,25 см) и стальную балку, к которой прикреплены шарики. Я могу найти трех кандидатов в сферы, чьи внутренние точки извлечены из облака на изображении (вы можете увидеть две круговые формы на балке рядом с сферами).
Входное облако точек. Извлеченные внутренние точки
Итак, похоже, я рядом. Тем не менее, найденные сферные центры находятся слишком далеко (~ 10 см) от правды. Любое предложение, как я мог бы улучшить это? Я довольно долго настраивал параметры модели. Вот параметры для вышеупомянутых результатов:
seg.setOptimizeCoefficients(true);
seg.setModelType(pcl::SACMODEL_SPHERE);
seg.setMethodType(pcl::SAC_RANSAC);
seg.setMaxIterations(500000);
seg.setDistanceThreshold(0.0020);
seg.setProbability(0.99900);
seg.setRadiusLimits(0.06, 0.08);
seg.setInputCloud(cloud);
Я также попытался улучшить результаты, включив точечные нормали в модель без лучших результатов. Тем не менее, есть еще пара параметров для настройки, поэтому, возможно, есть некоторые комбинации, которые я не пробовал.
Я с радостью предоставлю вам больше информации, если это необходимо.
Такс naikh0u