对于我正在研究的一些体积重建算法,我需要检测3d点数据中的任意数量的圆形图案(来自LIDAR设备)。这些图案可以在空间中任意定向,并且可以假定(尽管不是很完美)位于薄的2d平面中。这是在同一平面上有两个圆的示例(尽管请记住,这是一个3d空间):
我尝试了许多方法。.最简单的方法(但到目前为止效果最好的方法)是基于最近邻图的不相交集进行聚类。当模式相距较远时,这可以很好地工作,但对于示例中的彼此非常靠近的圆圈,效果则较小。
我尝试了K-means,但效果不佳:我怀疑圆点排列可能不太适合。另外,我还有另一个问题,就是事先不知道K的值。
根据最近邻图中的循环检测,我尝试了更复杂的方法,但是我得到的结果太脆弱或计算量太大。
我还阅读了很多相关主题(霍夫变换等),但似乎没有什么东西可以在这种特定情况下完美地适用。任何想法或灵感将不胜感激。