温成旭 WEN Cheng-xu;尹业安 YIN Ye-an
(College of Mathematics and Physics,Wuhan Textile University,Wuhan 430200,China)
摘要: 特征提取是计算机视觉中的一项重要技术,本文针对特征提取中的Harris算法和SIFT算法进行了比较,通过仿真实验证明,在处理尺度缩放、亮度变化的图像时SIFT算法更加优越。根据三维成像原理,本文对SIFT算法提取的特征点进行三维重建,获得了目标场景的视差图和三维重建图,进一步说明了SIFT算法的提取是行之有效的。
Abstract: Feature extraction is an important technology in computer vision, Harris and SIFT algorithm in feature extraction are compared, and simulation experiments show that SIFT algorithm is better when dealing with the scale zooming and brightness variations of the images. According to the three-dimensional imaging principle, this paper reconstructs the extracting feature points of the SIFT algorithm based on three-dimension, and target disparity maps and three-dimensional reconstruction of the scene graph are obtained, which further illustrates the effectiveness of extraction of SIFT algorithm.
教育期刊网 http://www.jyqkw.com
关键词 : 特征提取;Harris;SIFT;三维重建
Key words: feature extraction;Harris;SIFT;three-dimensional reconstruction
中图分类号:TP39 文献标识码:A
文章编号:1006-4311(2015)02-0193-02
1 Harris角点检测算法与SIFT特征点提取算法
Harris算法是由C.Harris等人于1988年所提出的一种特征点提取算法[1]。当图像的尺度变化十分大时,这种算法对这种图像的角点提取是很有效的。小的尺度变化就会造成Harris角点的复现率快速下降。图像的尺度伸缩将使得由Harris检测子提取的特征不具有可重复性,并且对图像序列的角点检测效果更好。SIFT算法是一种用来描述图像中的局部性特征机器视觉算法,它在不同的尺度空间上查找关键点,并提取出其位置、尺度、旋转不变量,并计算出关键点的方向。此算法由David Lowe在1999年所发表[2],2004年完善总结[3]。其中SIFT算法对一些突出的不会因光照,仿射变换和噪音等因素而变化的点十分敏感。
2 特征提取
特征提取主要是根据计算机提取出的图像的特征来判断这些特征是否属于同一个图像。提取出的图像特征通常是图像中的点的集合,根据其特征,划分为不同的子集,这样可能形成点、曲线或区域[4]。
特征提取是许多计算机图像分析算法的起点。即它是对图像进行的第一个运算处理。通过检查各个像素点来判断能不能表示一个特征。一般尺度较大的图像拥有比较多的特征点,但是,特征的定位精度却比较差。而对于较小尺度的图像特征来说,对他们进行特征提取就稍微容易一点,于是定位精度也就稍微高一些;可是,他们本身数目较多,而且包含的图像信息少,在日常实验中要想提高匹配的效率就只有通过减少误匹配来达成,于是在特征匹配的过程中需要使用比较严格的约束条件。一般来讲,一个好的匹配特征应该具有不变性、唯一性、可区分性以及有效减少误匹配的能力。
本文对拍摄的左图像在MATLAB2012a中进行特征提取测试。分别使用Harris算法和SIFT算法对图像进行特征点提取,提取的结果如图1,实验数据结果如表1所示。
通过表1中的实验数据进行分析:其中Harris算法总共提取了211个特征点;而SIFT算法总共提取了751个特征点,并且拥有特征点的灰度梯度方向信息。所以在处理尺度缩放、亮度变化的图像时SIFT算法更加优越。
3 三维重建
三维重建的基本原理是三角测量原理:首先根据成像集合模型对照相机内部参数进行校准,然后根据物体的左右图像找到各自对应的特征点,由左右图像的投影中心出发,分别引直线经过这一对对应的特征点,其中这两条直线在三维空间中相交于一个点,于是就得到了这个点的三维坐标。然后就可以通过这些数据来进行三维重建。
在实际情况下,一般采用任意放置的两个摄像机来建立立体成像系统,这种模型称为汇聚式立体视觉模型。在这种视觉模型下,假设摄像机标定已经完成,则可以通过投影变换矩阵计算目标点M的三维坐标。
在MATLAB中,根据得到的采样点数据通过三维插值获得网格节点上的曲面数据,然后将图像显示到纹理映射表面,三维重建结果如图2所示。
4 总结
本文比较了特征点提取的Harris算法和SIFT算法,针对尺度缩放较大的图像,在MATLAB中对两种算法进行了特征提取实验,通过对比所提取的特征点数量、灰度梯度信息说明了SIFT算法更加优越,最后在MATLAB中进行了仿真实验,得到了图像的三维重建图,从图中可以看出三维重建效果不错,这进一步说明了SIFT算法的提取是行之有效的。
教育期刊网 http://www.jyqkw.com
参考文献:
[1]Chris Harris,Mike Stephens.A Combined Corner and Edge Detector[C]. Manchester:Proceedings of the 4th Alvey Vision Conference,1988:147-151.
[2]D.Lowe.Object Recognition from Local Scale-Invariant Features[J]. In proceedings of the International Conference on Computer Vision, Corfu, Greece, 1999: 1150-l157.
[3]David G.Lowe.Distinctive Image Features from Scale-Invariant Keypoints[J]. International Journal of Computer Vision, 2004.
[4]Canny, J., A Computational Approach To Edge Detection, IEEE Trans. Pattern Analysis and Machine Intelligence[J]. Canny edge detection, 1986, 8: 679-714.