对于我正在研究的一些体积重建算法,我需要在 3d 点数据(来自激光雷达设备)中检测任意数量的圆形图案。图案可以在空间中任意定向,并假设位于(虽然不完美)薄二维平面中。这是一个在同一平面上有两个圆圈的示例(尽管请记住这是一个 3d 空间):

我尝试了很多方法.. 最简单的(但迄今为止效果最好的一种)是基于最近邻图的不相交集的聚类。当图案相距很远时,这工作得相当好,但对于像示例中的圆圈这样的圆圈来说,这样的圆圈非常接近。
我尝试了 K-means,但效果不佳:我怀疑圆形点排列可能不太适合它。另外,我还有一个额外的问题是事先不知道 K 的值。
我尝试了更复杂的方法,基于最近邻图中的循环检测,但我得到的要么太脆弱,要么计算成本高。
我还阅读了很多相关主题(霍夫变换等),但似乎没有什么能完美适用于这个特定的上下文。任何想法或灵感将不胜感激。