我想拟合一条线到线的片段,即大约属于该线的少量(通常少于 10 个)线段。这条线有一个小坡度。但也有异常值:线外的段(通常更小)。下图是一个典型案例。碎片之间没有水平重叠。
我宁愿避免尝试拟合所有细分子集并保持最佳状态。我也不会依赖 RANSAC,因为样本太小。
有什么建议吗?
更新:
我现在计划将问题改写为在点上拟合一条线的问题,即在各个线段上的无穷大点,假设线性密度恒定。通过以积分形式重写最小二乘方程,我们可以看到我们可以认为这些线段集中在它们的中间,权重等于它们的长度;还有一个额外的术语考虑了它们的斜率。这为分段上的配件提供了良好的接地。
现在我仍然需要结合异常值检测。受 RANSAC 的启发,我可以选择最长的线段并单独或成对使用它们来获得候选线。对于每一行,评估总误差,并保留给出最小值的行。从那里开始,一些标准(尚未找到)应该允许拒绝离群值并在离群点上执行最终的最小二乘拟合。