用于摄像机标定的图像特征点提取算法
2011-03-26肖帜吴开华
肖帜,吴开华
(杭州电子科技大学生命信息与仪器工程学院,浙江杭州310018)
0 引言
摄像机图像测量技术在非接触测量领域具有广泛的应用前景,其中摄像机标定是图像测量的关键之一。摄像机标定是为了确定摄像机的位置,以确定空间坐标系中物体点与图像平面像点之间的对应关系。目前摄像机标定主要有利用透视变换矩阵的摄像机标定方法[1]、两步法标定[2]、张正友标定法[3]等。在摄像机标定过程中,一般摄像机光轴与标定板平面垂直,但在某些应用场合中,摄像机与标定板之间有一个特定的空间角度,针对这一特定情况设计了专用的标定板,提出了用于摄像机标定的图像特征点提取算法。
1 摄像机标定方法
摄像机标定示意图如图1所示,图1中标定板被固定在预设位置,标定板中的9个十字中心为特征点。摄像机对标定板进行图像采集,它与空间坐标轴之间有一个特定的仰角和偏角,且与标定板中心有一个特定的物距。根据摄像机标定算法,将此仰角、偏角和物距参量转换为标定板特征点在图像中的理论坐标值,当调整摄像机的位置参数使采集到的标定板图像中的特征点坐标与理论点坐标重合时,即可认为摄像机已调整到设定位置。
图1 摄像机标定示意图
但是由于误差存在无法使摄像机完全调整到设定位置,此时可以通过特征点的提取算法得到实际特征点在图像中的坐标值,再通过实际点与理论点的坐标偏差在一定范围内进行迭代,最终得到一组误差最小的摄像机位置参数值作为实际摄像机的位置参数。
本文要做的就是针对此特定角度成像的摄像机标定,设计图像特征点提取算法。
2 图像特征点提取算法
摄像机采集到的标定板图像如图2所示,其中9个圆中的十字线交叉点为人工标记上的理论点,左中点的黑色矩形框为人工标记的选定区域。此时理论点与实际特征点已基本重合,即摄像机已基本调整到设定位置进行拍摄。
由图2可以看出,在摄像机以设定的位置拍摄时,拍摄到的标定点在图像中的坐标是基本固定的,只在一个小范围内波动。因此,可以选择一个以已知点为中心的区域进行数据处理(如黑色矩形框所示区域)。
图2 标定板图像
2.1 区域选取
为保证两个相邻的坐标点不在同一块选取区域内,设选取的区域大小为W×H,则选取区域的半径必须小于20象素,但是若选取区域过小将很难提取相应的图像特征。经综合考虑,选择24×24的区域进行图像处理。以左中坐标点为例,选择区域如图2所示黑色矩形框,处理的图像为未进行人工添加十字标记前的区域图像。算法操作均对黑色选框中的区域进行数据处理。
2.2 算法描述
由于选取目标区域较小,图2中黑色矩形框区域图像放大后如图3(a)所示,其中十字线条为感兴趣目标,这里采用适应度较好的大津阈值分割法[4]对区域图像进行阈值分割从背景中提取目标特征,分割后效果如图3(b)所示。
图3(b)中能清晰看出十字线轮廓(图中表现为白色像素)。特征点纵坐标所在的行的白色象素点是最多的,但是由于拍摄到的标定板线条有一定厚度,区域分割后特征点位置附近可能会有多行的白色象素点一样多的情况,因此在阈值分割后对区域图像进行击中击不中细化算法[5]保证只有一行的白色象素点最多。细化后的图像如图3(c)所示。统计图3(c)中每行象素值为255的象素个数,象素个数最多的那行的纵坐标,即可认为是所求的中心点的纵坐标,在区域图像中记此坐标为v。
图3 数字图像处理前后对比图
以细化后图像中已求得的特征点纵坐标v所在的行为分界线,将阈值分割后的图片分为上下两部分。在上半部分从上往下搜索每一行,若第一次搜索到4个或4个以上连续的象素值为255的点,记录此连续象素的中点坐标和此行的纵坐标,记为(m1,n1);同理,在下半部分从下往上搜索每一行,若第一次搜索到4个或4个以上连续的象素值为255的点,记录此连续象素的中点坐标和此行的纵坐标,计为(m2,n2)。由已知的特征点在区域中的纵坐标v,可得此点在区域中的横坐标
拍摄到的整幅图像的大小为764×576,假设已知的此设定区域中心点坐标为(cx,cy),则求取的点在图像中的坐标值为(x,y)。可得
特征点提取算法流程图如图4所示。
图4 特征点提取算法流程图
3 实验结果以及分析
为了验证算法的可行性,测试了2组不同情况下拍摄的图片的不同特征点坐标,如图5、6所示的黑色矩形框区域中的点,其中图6为弱光情况下拍摄的标定板图片。
图5 测试图1
图6 测试图2
其测试结果如表1所示,每组数据的左栏为人工标定的特征点坐标值;右栏为通过算法计算得到的坐标值,即实测坐标值。
实验结果表明:
(1)通过此算法可以快速计算出图像特征点的实际坐标值;
(2)数据表明实际坐标值和理论坐标值最多相差1个像素,在误差范围内,达到精度要求;
表1 测试图中人工标定坐标值与实测坐标值
(3)此算法对于光照不是很强的图片也能得到比较理想的效果。
此算法求得的标定板实际特征点坐标通过后续摄像机标定算法的验证,将图像二维信息转换为摄像机的空间仰角、偏角、物距等位置参数信息,得到准确的结果。
4 结束语
本文针对摄像机以特定的空间角度成像的标定问题,设计了一种用于摄像机标定的图像特征点提取算法。首先根据理论值选取一个区域,再对区域进行大津阈值分割,得到二值化图像,再通过细化线条,统计象素等处理得到特征点的纵坐标,最后根据阈值分割后的图像设计算法,由已经求得的纵坐标值得到该特征点的横坐标值。本算法提取特征点准确,对于光线弱,线条不是特别清晰等情况有较强的适应性。
[1]Luh J Y,K1aasen J A.A Three Dimentional Vision by Offshelf System with Multi-cameras[J].IEEE Trans PAMI,1985,7(1):35-45.
[2]Tsai R Y.A Versatile Camera Calibration Technique for High-Accuracy 3D Machine Vision Metrology Using Off-the-Shelf TV Cameras and Lenses[J].IEEE J Robotics and Automation,1987,3(4):323-344.
[3]张正友.A Flexible New Technique for Camera Calibration[J].IEEE transactions on pattern analysis and machine intelligence,2000,22(11):1 330-1 334.
[4]谢凤英,赵单培.Visual C++数字图像处理[M].北京:电子工业出版社,2008:285.
[5]冈萨雷斯.数字图像处理(第二版)[M].北京:电子工业出社,2007:431.