将矩形拟合到图像中的片段
计算科学
优化
图像处理
2021-12-11 00:14:05
2个回答
使用像BFGS这样的算法,您可能比简单的梯度下降做得更好,它使用梯度的历史以及近似解来尝试和逼近目标函数的 Hessian。在Nocedal 和 Wright中可以找到关于算法如何工作、对大型系统进行修改、在非凸性事件中进行修改等的很好解释。BFGS 是更一般的准牛顿方法家族之一。
您的参数之一(方向)不是在向量空间中定义,而是在组中定义;此外,对于某些方向与的匹配度相同。因此,由于您要拟合的图像具有离散对称性,即在一个轴上的反射,因此解决方案存在一些退化。所以解决方案可能不像使用 BFGS 代替梯度下降那么简单,但它是一个很好的起点。
您可以通过采用多尺度方法来加速您的过程,即在粗尺度上执行模板匹配,然后放大和细化参数。当然,级别的数量和步长取决于您的问题,并且可能很难确定。
您可以采取一种更具分析性的方法,首先从图像中提取边缘(我猜 Canny 在这种情况下效果最好),然后使用Hough 变换或RANSAC(随机抽样和一致性)方法来提取所有线条。
使用有关矩形颜色的一些假设(黑色或白色前景到灰色背景),您可以判断每条线的哪一侧进入矩形内部。
最后,至少有 2 行将足以限制您的优化问题,以便您无需优化即可解决此问题。
另一种方法可以针对矩形角,即使用哈里斯角检测器,然后根据每个角周围的补丁确定矩形方向。
其它你可能感兴趣的问题