steger算法
Steger算法的基本思路就是首先通过Hessian矩阵获得光条的法线方向,然后在其法线方向对像素灰度应用泰勒多项式展开从而得到灰度的分布函数,进而计算出光条中心的亚像素位置。由于光条特征的灰度在其法线方向上近似为高斯分布,因而越靠近光条中心点的像素其灰度值越大。因此对该法线方向上的灰度分布函数的二阶泰勒多项式求取极值,即可得到光条在该法线方向上的中心点坐标。
在工程优化问题过程中,目标函数通常会以非线性多元函数的形式出现,这种函数形式非常复杂,不便计算,经常会将目标函数在某点的邻域内展开成泰勒多项式,以此来近似或逼近原目标函数。
Hessian矩阵:对于一个实值多元函数
对一个多元函数泰勒展开的矩阵形式可以表示为:
那么二维图像中的泰勒展开和Hessian矩阵对于图像中光条上的任意像素
根据有关文献可知,在求Hessian矩阵之前对图像进行高斯滤波时,设置高斯方差
steger算法的一些缺点:多次卷积带来计算复杂度高,速度慢,如果整幅图像仅使用相同的高斯卷积核大小,则在光条宽度分布不均匀且曲率变化大时难以准确提取中心线,甚至导致光条不连续。