农机障碍物目标识别与预警SIFT算法改进研究
2018-05-30于冬雪张建敏
于冬雪, 张建敏
(贵州大学机械工程学院,贵州贵阳 550025)
农机使用者通常都是长时间操作农机,在疲劳和其他环境因素的干扰下,可能会导致劳作时,没有注意到石头等障碍物,从而打断刀头,或者刺破轮胎。最危险的是农机碰到障碍物,比如手扶旋耕机碰到石头脱手翻转,导致人员伤亡。本研究在农机上安装1个高清摄像头,每秒自动拍摄多张图片传输进系统中,系统利用改进的尺度不变特征变换(scale invariant feature transform,简称SIFT)算法对搜集到的多张图片进行识别,将图片特征点与石头等障碍物的特征点进行匹配。匹配点小于阈值时则不匹配,表明作业环境比较安全,不发出报警信息。而当匹配点大于阈值的则匹配,表明农机发现较大障碍物,向使用者发出预警信号。
以前的农机目标识别方法大多是以识别目标全部的局域特征(如灰度统计分布特征、几何形态、矩阵分布等)为基础。Lowe研发出1种提取部分特征的SIFT算法[1],该算法将尺度空间的极值点当作特征点,并且经过统计特征点邻阶区域内的梯度方向的直方图,来建立特征描述符。经过测试显示,SIFT算法在农机障碍物目标进行平移、缩放、旋转、部分遮住、亮度变动、视觉变化的时候都可以获得很好的识别成效。但算法中每个特征点都用了128维向量来描写,数据运算量非常庞大,因为特征点很多,故特征匹配时间长。
由于Lowe的SIFT算法对于农机识别障碍物需要适时快速处理图像来说,速度比较慢,有一定的不足之处。本研究在原来的SIFT算法基础上,对农机拍摄到的图片特征点描述符进行简化处理,目的是使算法的计算时间有效减少,提高计算机处理的速度,提高农机在比对石头等障碍物算法上的时效性。本研究改进的SIFT算法在农机中的应用如图1所示。
1 农机目标识别的传统SIFT算法
1.1 农机摄像头捕捉到图像的尺度空间
农机目标识别算法图片多数是用尺度来表示的,是经过平滑滤波与亚采样来建立多级金字塔。Lindeberg等将尺度空间表达法运用在多尺度图像表示中[2],经过在每级金字塔的图片中运用持续的平滑滤波,从而形成多级多层金字塔这种构造。Lindeberg的研究佐证了高斯核是完成变换尺度仅有的一种线性变换核[3]。比如对于1张农机拍摄到的图片I(x,y,σ) 来说,在不一样的尺度下的尺度空间L(x,y,σ)可以用此图片与高斯核G(x,y,σ)的卷积来完成,即:
L(x,y,σ)=G(x,y,σ)×I(x,y);
(1)
(2)
式中:σ为尺度空间1个变量元素,其值越大表示图像被平滑度越大。
大尺度对应图片的大概样貌特性,小尺度对应图片的细微特征。图2给出了原始的高斯金字塔与多级多层的高斯金字塔的示意图。如图2所示,原始的金字塔中第n层高斯图片是由第n-1层的高斯图片通过高斯平滑滤波和亚采样取得的,然而采取的尺度空间建立的金字塔中,每级有很多层,每层间的σ值差k倍。
1.2 改进的农机目标识别SIFT特征匹配算法
将Lowe提出的SIFT算法应用于农机目标识别算法中,其算法主要有4个步骤:
1.2.1 尺度空间极点检测 先将农机拍摄到的图片同高斯核作卷积,对相互邻近的尺度空间构建高期差分(difference of Gaussian,简称DoG)金字塔,在DoG空间中检验其极值点。检验极值点是看该点均大于或者小于其26个邻阶区域点(包含该点一样尺度的8个邻阶区域点)与否,还有大于该尺度的9个邻阶区域点和小于该尺度的9个邻阶区域点)。
D(x,y,σ)=[G(x,y,σ)-G(x,y,σ)×I(x,y)-L(x,y,kσ)-L(x,y,σ)]。
(3)
为了取得农机拍摄到的图片匹配和抗噪声能力相对比较强的特征点,在取得极值点以后,还应该去除低对比度的极值点和不固定的边沿响应点。
1.2.2 特征点主方向的确定 采取梯度直方图来确认特征点的主方向来使特征描述符有旋转不变的特性。特征点的梯度模值坐标与方向为
(4)
θ(x,y)=arctan[L(x,y+1)-L(x)]。
(5)
对每个农机拍摄到的图片特征点来说,在以特征点为中央点的邻阶区域窗口内随机取样,使用直方图来统计邻阶区域像素的梯度方向。梯度直方图的界限是0°~360°,每0~10°为1个柱,共36个柱,梯度直方图的顶点相应的度数表示特征点的主方向。
1.2.3 生成特征描述符 先将坐标轴扭转到特征点主方向,以保证其旋转不变的特性。之后以特征点为中央点,选择 8×8 尺度的邻阶区域,将此邻阶区域平均分割成4×4的子域。在每个子区域计算8个方向(0°、45°、90°、13°、180°、225°、270°、315°)的梯度累加和,获得梯度直方图,这对于每个特征点来说将会生成4×4×8=128维度的特征描述符[4],如图3所示。
1.2.4 特征匹配 生成农机目标识别算法2个图片的SIFT特征描述符以后,运用欧氏距离测量2个图片特征点的相同性[5],即当图片1中某一个特征点m1与图片2中欧氏距离差最短的特征点m2和欧式距离差次短的特征点m3的比值小于某一个值时,就认定m1与m2相匹配。匹配以后还需要用RANSAC方法去除误匹配。
测试证明,在农机目标识别算法中创建尺度空间和形成特征描述符消耗了很长的时间,同一时间内如果图片尺度变大,特征点数目增多,特征匹配时间显著增长。因此,本研究对传统的SIFT算法作了改进。
2 改进的农机目标识别SIFT算法
改进的SIFT算法是为了提高农机在田野工作中发现石头等障碍物时,能够迅速处理并向使用者反馈预警信息的能力。
2.1 具体步骤如下
2.2 试验结果及分析
农机目标识别图像检索仿真试验是以Windows10操作系统作为仿真平台,开发工具是Matlab2014a。按“1.2”节SIFT特征匹配算法中的步骤,将改进的算法直接应用到图5至图8中的特征匹配(包括对标准库中的图像的旋转、缩放、光照等情况)。
采用改进的SIFT算法进行目标识别[6]试验,图5为在图像旋转的条件下,a图杯子匹配20对特征点,b图松树匹配7对特征点;图6为在图像曝光条件下,章鱼匹配18对特征点;图7为在图像缩小的条件下,苹果匹配40对特征点;图8为在图像相似的条件下,铃铛匹配16对特征点,国旗匹配7对特征点。
分析表1的试验数据可以发现,无论是在几何还是光学畸变的条件下,改进的SIFT算法用于农机检测目标对象的特征点检测时间都比原算法要短,比较试验数据中2种算法的特征点检测时间可得知,改进的农机目标识别算法总的运算时间低于原算法,由此可见改进的算法计算复杂度低于原算法,这样有利于提高农机对所拍摄大量图片的处理速率,实时性更好。研究发现,改进算法的正确匹配率与原算法基本相同;改进算法对障碍物图片匹配点数少于原算法。
可见,改进的SIFT算法可以大幅缩减农机在检测到石头等障碍物时的运算时间,提高对使用者报警信息反馈的时效性。
表1 改进的SIFT特征匹配算法与原算法性能比较(以图5为例)
3 讨论与结论
农业现代化和安全生产是时代的需求,王爱新等研究了基于计算机视觉的农业图像害虫定位检测算法[7],成敦杰研究了农产品检测图像智能化预处理方法[8],王富春等将基于模糊聚类算法应用到番茄果实目标识别中[9],而潘雷等则研究了基于模式识别的大蒜瓣尖识别[10]。
本研究对农机目标识别算法SIFT特征描述符和特征点匹配方法作了改进,获取1种新的SIFT算法,并将该算法应用到农机识别目标对象中,该算法以特征点的方形邻阶区域内灰度累积值及关键点矢量和当作描述特征,构造出64维度的特征描述符,试验证明了该描述符对农机识别石头等障碍物图像的缩放、旋转、光照等变化有不变的特性。在匹配方法中,运用金字塔的构造来作特征点的匹配。测试证明,在大多数变化情形下,改进的SIFT描述符比原来的SIFT描述符的计算时间大幅缩短。而且改进的匹配方法能更有效地减少农机拍摄到图片的特征匹配点数,使农机目标识别时间大幅缩短,从而显著提高农机目标识别算法的实时性,这种方法给农业及其他行业带来了很大的便利,对今后的研究有很好的意义。
:
[1]Lowe D G. Distinctive image features from scale-invariant keypoints[J]. International Journal of Computer Vision,2004,60(2):91-110.
[2]Lindeberg T,Bretzner L. Real-time scale selection in hybrid multi-scale representations[C]//International Conference on Scale Space Methods in Computer Vision. Springer-Verlag,2003:148-163.
[3]Lindeberg T. Scale-space theory: a basic tool for analyzing structures at different scales[J]. Journal of Applied Statistics,2011,21(1/2):225-270.
[4]白 丰,张明路,张小俊,等. 局部二进制特征描述算法综述[J]. 电子测量与仪器学报,2016,30(2):165-178.
[5]赵小强,岳宗达. 一种面向图像拼接的快速匹配算法[J]. 南京理工大学学报,2016,40(2):165-171.
[6]张书真,宋海龙,向晓燕,等. 采用快速SIFT算法实现目标识别[J]. 计算机系统应用,2010,19(6):82-85.
[7]王爱新,李春友,张 喆. 基于计算机视觉的农业图像害虫定位检测算法[J]. 江苏农业科学,2016,44(7):361-364.
[8]成敦杰. 农产品检测图像智能化预处理方法研究[J]. 江苏农业科学,2014,42(6):384-387.
[9]王富春,徐 越,宋怀波. 西红柿果实目标识别方法研究——基于模糊聚类算法[J]. 农机化研究,2015(10):24-28.
[10]潘 雷,邓世建,刘荣华. 基于模式识别的大蒜瓣尖识别研究[J]. 农机化研究,2010,32(5):51-54.