Мне удалось успешно реализовать RANSAC на трехмерном облаке точек для обычных моделей, то есть сферы, линии, плоскости. Тем не менее, мне трудно понять, как это сделать для прямоугольного параллелепипеда, особенно для трехмерного блока. Я не уверен, как параметризовать поле с помощью точек.
В идеале я хотел бы получить длину, ширину, высоту и центр в качестве параметров (тета). Я запутался в том, как подобрать эти параметры, используя минимальное количество точек из трехмерного облака точек поверхности куба. (У меня также будет доступ к точечным нормалям).
Например, я в конечном итоге хочу оценить 6 граней куба. Я мог бы просто оценить три и взять их параллельные зеркала, чтобы получить все 6. Каждая грань предположительно будет представлена как плоскость, для определения которой нужна точка и нормаль (или, альтернативно, 3 точки). Однако существуют ограничения на нормали каждой плоскости, поскольку все они должны быть ортогональны друг другу. Я не уверен, как включить ограничения в оценку модели, и если это даже правильный способ сделать это.
Любые идеи очень приветствуются. В настоящее время я использую реализацию набора инструментов «RANSAC для чайников» Марко Зулиани, если это вообще актуально.