亚像素级精度的角点

来源:互联网 发布:淘宝网店铺装修素材 编辑:程序博客网 时间:2024/06/10 03:02

(本文转自:http://www.vipcn.com/jingwenhuicui/luyousheying/325448_4.html)

1 引言


  基于单平面模板的摄像机自标定是当前运用比较广泛的摄像机标定要领,只须要摄像机从不同方向拍摄3幅用于标定的图像(棋盘格),提取出其中的角点,根据其与平面模板间的联系,确定单应性矩阵,便可以计算出摄像机的全部内参数。其优点是操作简便并且无需知道模板的运动情况。但这种标定要领要求标定图像非常平整,而且要求角点清晰易分辨。无形中就约束了激光打印机的精度。而准确提取标定板上特征点的坐标是这种自标定中最为关键的一步,直接联系到标定结果的精确度。为处理这一疑问,提出运用Harris算法提取出角点后,再将其坐标精确到亚像素级,以提高标定的精度。


2 基于Harris算法的角点提取


  Harris算子是Harris和Stephens在1988年提出的一种基于静止图像的点特征提取算子。这种算子受信号处理中自有关函数的启发,给出与自有关函数相联系的矩阵。矩阵的特征值是自有关函数的一阶曲率,对图像中的任意一点,如果它的水平曲率和垂直曲率值都高于局部邻域中其他点,则认为该点是特征点。它计算基本有效同时非常稳定,在图像旋转、灰度、噪声影响和视点变换的条件下,与其他算子相比是最稳定的一种点特征提取算子。Harris算子定义为:
亚像素级精度的角点

式中:
 亚像素级精度的角点

其中gx为x方向的梯度,gy为y方向的梯度,G(s)为高斯模板,⊕为卷积操作,I为每点的兴趣值;det为矩阵的行列式;tr为矩阵的迹;k为体会值,一般取0.04。
  Harris算子在摄像机标定图像的运用要领:首先计算图像中的每个点在横向和纵向的一阶导数以及它们的乘积。从而得到3幅新的图像。这3幅图像中的每个像素对应的属性值分别为gx,gy和gxgy。然后运用高斯滤波处理这3幅图像,接着计算原图像上对应的每个点的兴趣值。计算完各点的兴趣值后,要提取出原始图像中的所有局部兴趣值最大的点,即依次取出每个像素的8邻域中的每个像素,从这些像素中找出兴趣值最大者。特征点就是中心点像素的兴趣值为最大的点。

 用公式提取特征点时,只要像素点的兴趣值大于某一阈值T的点均可被认为是特征点。但T不具有直观的物理意义,其具体值难以确定。所以在实际操作中应采取间接确定T的要领:通过确定图像中所能提取的最大可能的特征点数目N来选择兴趣值最大的若干像素点作为特征点。局部极值点的数目可能会很多,根据兴趣值执行排序后,取其前N个点为特征点。


3 精确角点坐标至亚像素级


  对于棋盘格图像如图1所示,角点附近的点可分为在边缘上的点和不在边缘上的点两类。B点上的梯度方向与OB垂直,而A点处灰度梯度为零,可见在角点O附近点的灰度梯度均垂直于该点与角点的连线。
亚像素级精度的角点
   用数学式可表达如下:
   亚像素级精度的角点
  式中:亚像素级精度的角点为灰度梯度向量,亚像素级精度的角点为图像原点指向O点的坐标,亚像素级精度的角点为图像原点指向第i点的坐标。
   实际图像可能受到噪声的影响,故一般情况下式(1)不为0。设误差为θ,即:
   亚像素级精度的角点

 在以角点为中心的某一邻域内,对所有点按式(2)计算,误差和为S,则有:
   亚像素级精度的角点
   故求角点准确位置的疑问转化为求使误差和S最小的点的疑问。该疑问可用迭代的要领优化求解,对式(1)两端同时乘以亚像素级精度的角点得:
   亚像素级精度的角点
   将角点邻域内所有点分别代入式(4)。把所有结果求和,可得出:


亚像素级精度的角点
   这样就得到了角点O的迭代式,通过对原始Harris角点执行 一定级数的迭代优化,可以得到其更精确的坐标位置。

0 0
原创粉丝点击