Я работал над обнаружением стен в файле PCD (Point Cloud Data), используя PCL (Point Cloud Library). Файл PCD был создан с помощью камеры глубины. Я обнаружил, что во многих подобных приложениях, например, при обнаружении пола, использовался RANSA C. Итак, я подумал о применении RANSA C и здесь, и я изо всех сил старался понять RANSA C в целом, но у меня все еще есть определенные вопросы, касающиеся моего приложения:
Короче говоря, RANSA C пытается удалить выбросы в заданных данных и итеративно обобщить выбросы с помощью модели. Итак, в случае обнаружения пола, будет ли он рассматривать остальные облака точек, соответствующие другим объектам, как выбросы, а пол - как второстепенные? То же самое и со стенами?
Согласно Учебник по сегментации модели плоскости от PCL, RANSA C дает коэффициенты плоскости модели, т.е. a
, b
, c
и d
в уравнении плоскости: от a*x + b*y + c*z + d = 0
до coefficients->values
вектор. Итак, я предполагаю, что в случае обнаружения стены, он попытается дать уравнение плоскости, соответствующей стене. Однако что, если камера глубины находится в углу комнаты и вид стен сверху выглядит так:
стена 1
______________
|
|
| стенка 2
|
|
Итак, как в этом случае будет выглядеть полученная модель самолета? Будет ли это своего рода гипотенуза (составляющая треугольник)?
wall 1
---------------------
|
| стенка 2
|
----------------------
стена 3
Как бы это выглядело даже в этом случае?
Согласно Извлечению индексов из учебника PointCloud с помощью PCL, фильтр ExtractIndices <pcl::ExtractIndices>
используется для извлечения подмножества точек из облака точек на основе индексов, выводимых алгоритмом сегментации. Но что именно делает этот фильтр? Фактически, в случае обнаружения пола или обнаружения стены (при условии, что есть только одна прямая стена), RANSA C уже дает уравнение для одной плоскости. Итак, есть ли необходимость в использовании этого фильтра? Если да, то почему и как?
Как я могу обнаружить несколько стен в следующем случае? ExtractIndices <pcl::ExtractIndices>
фильтр может такое? Если да, то как?
стена 1
---------------------
|
| стенка 2
|
----------------------
стена 3
Если вы думаете, что есть способы лучше, чем использование RANSA C тогда также дайте мне знать.