基于SIFT特征与预测的运动目标检测算法

龙源期刊网 http://www.qikan.com.cn

基于SIFT特征与预测的运动目标检测算法

作者:吴忠良 余升

来源:《现代电子技术》2015年第19期

摘 要: 为了在动态场景下对运动目标进行快速检测,提出一个改进的SIFT特征匹配的检测算法。首先采用SIFT方法提取匹配的特征点;然后为全局运动建立起旋转参数模型,并使用RANSAC方法排除外点的影响,运用最小二乘法求解全局运动参数;最后利用基于残差图像块的更新策略对特征点进行更新。该算法是基于预测的SIFT特征点匹配算法,不仅保持了SIFT方法的优越性能,而且提高了检测目标的速度。与块匹配算法的实验结果对比表明,该算法可以实时准确地检测出运动目标。

关键词: 目标检测; SIFT特征; 旋转参数模型; 动态场景

中图分类号: TN911.73?34; TP391 文献标识码: A 文章编号: 1004?373X(2015)19?0087?04

Abstract: An improved detection algorithm of SIFT feature marching is provided for rapid detection to moving object in dynamic scene. The matched feature points are extracted by SIFT

method, and the rotation parameter model is established for global motion. The influence of exterior points is eliminated by RANSAC method. The global motion parameters are solved by the least

square method, and the feature points are updated by the updating strategy based on residual image block. This matching algorithm is based on the predicted SIFT feature points, which can remain the high performance of SIFT method and improve the detection rate of the object. Compared with the experimental results of block matching algorithm, it demonstrates that this algorithm can detect moving object accurately and in real?time.

Keywords: object detection; SIFT feature; rotation parameter model; dynamic scene 0 引 言

现代监控系统中,需要对运动目标进行实时快速的检测,传统的固定摄像机由于其监控范围有限,逐渐被可旋转的摄像机代替。动态场景下的图像不断变化,信息处理相对静态场景更加复杂,因此动态场景下目标检测的研究具有重要的意义。目前检测运动目标的方法主要有:时间差分法[1]、光流法[2]、背景减除法[3]、匹配的方法[4]等。时间差分法对环境有着较强的适应性,但由于不能对检测的所有特征进行提取,无法全部的对目标区域进行检测;光流法适用范围较广,但该算法较为复杂,运算量很大,不适合实时的检测动态场景下的运动目标;背景减除法可提供完整的目标特征,但该方法容易产生离散噪声点,并且容易受到光照和灰度等级变化的干扰,需要建立背景模型对背景图像进行实时更新;特征点匹配的方法,在相邻帧中分别提取特征点,并匹配特征点,再利用匹配的特征点对求解全局运动参数。由于特征点匹配

龙源期刊网 http://www.qikan.com.cn

的方法适合摄像机随意转动的情况,而且只需要对某些有特征的、稳定的点进行计算,大大提高了算法速度。所以本文采用特征点匹配的方法。

SIFT特征点由David Lowe于1999年首次提出[5?6],此方法对检测目标的旋转、尺度缩放、视角变化及亮度变化具有良好的不变性,并对遮挡和噪声也有很好的鲁棒性。匹配点多而且稳定也是该算子的一个重要特点。由于SIFT在用于摄像机运动参数求解时运算量较大,难以达到实时性的要求,因此,本文针对实时性检测的需要,在SIFT算法的基础上加以改进,提出了基于预测的SIFT特征点匹配算法,可以实时快速地检测出运动目标。 1 SIFT特征点

SIFT算法是一种提取局部特征的算法,该算法的主要思想就是在图像中提取出特征点,使图像的匹配转化为特征点向量的相似性度量。SIFT 特征匹配算法主要有三个步骤:SIFT特征点的检测;SIFT特征描述符的生成;SIFT 特征向量的匹配。算法过程如图1所示。 SIFT算法通过比较图像灰度值得到特征向量,特征提取是SIFT算法的重点。特征的提取包括初步定位特征点,精确定位特征点,为每个特征点明确方向和生成关键点描述算子。一般提取越多的图像特征,越能反映出图像中目标的真实特征,匹配的结果也会更加精确,但会增加算法的复杂性和运算时间。为了达到实时性的效果,特征的提取并非越多越好,SIFT算法只需要很少的必要的特征匹配点,就可以很好地对特征进行匹配。 2 快速检测匹配算法 2.1 求解全局运动参数

对运动目标的检测需要消除摄像机的移动影响。摄像机的主要运动方式有平移、旋转、缩放和俯仰,需要运用合适的全局运动模型及运动参数,运用比较广泛的有仿射参数模型和旋转参数模型[7?8]。仿射参数模型相对简单,适合摄像机旋转运动较小时的情况;旋转参数在摄像机旋转角度较大时可以更好地描述摄像机的运动,因此采用8参数旋转模型[9],满足摄像机的各种运动情况。

式中:参数[A]为旋转参数矩阵,主要由摄像机的旋转和平移参数决定,同坐标参数无关。实际中无法得知摄像机的旋转角度和平移量,需要通过其他方法求解矩阵[A。]

使用特征点匹配全局运动参数的思想是:在相邻两帧中分别搜索特征点,再对特征点对匹配,得到[F=f1, f2,…, fn,…, fN,]表示匹配点对的集合,其中[fn=(Xt-1,n,Xt,n)]为第[n]对匹配点,并用最小二乘法求最优解。

运用特征点进行运动补偿时,匹配的结果可能是失真的,即发生误匹配。失真的点又称作外点。相对来说,产生外点的概率较小,但为了避免引入外点造成全局运动的估计发生较大偏

龙源期刊网 http://www.qikan.com.cn

差,需要采取方法将外点从数据点中去除。因此采用RANSAC[10?11](随机抽样一致)的方法去除误匹配点,使用该方法后再利用最小二乘法[12]便可求解出较为准确的参数矩阵。 2.2 基于预测的特征点匹配算法

摄像机拍摄所得的图像序列中,每两个帧之间的间隔时间很短,帧之间的变化很小,相差一般只有几个像素。由于当前帧包涵了下一帧的大量信息,据此提出基于预测的快速匹配方法,即根据当前帧的特征点对下一帧的特征点进行预测。该算法根据预测的特征点的位置,小范围的搜索特征点,得到当前帧的特征点。具体步骤如下:

(1) 设第[t-1]帧图像的特征点集为[Pt-1={pt-1,1,pt-1,2,…,pt-1,m}]; (2) 根据特征点[pt-1,m]和运动参数,预测[t]帧的特征点[pt,m;]

(3) 以特征点[pt,m]为圆心,在半径为[N]个像素的圆内搜索特征点[pt,n]。将[pt,n]与[pt-1,m]进行匹配,若匹配成功,则建立匹配点对[ft,n=(pt-1,m,pt,n),]即可得到匹配点对的集合[Ft={ft,1, ft,2,…, ft,n,…, ft,N}]以及第[t]帧的特征点集[Pt={pt,1,pt,2,…,pt,n,…,pt,N}]。

这种预测下一帧的方法使匹配在限制的范围内进行,缩小了搜索的范围,减少了误匹配的发生。其中[N]值的大小直接关系到运算量的大小,通过在多组动态场景下拍摄视频的实验,确定[N=3]时效果最佳。

2.3 基于残差块的特征点更新

在动态场景下,摄像机拍摄的视角会不断变化,图像的特征也随之变动,故此需要对特征点进行及时更新。可以设一个最低匹配值[Tf],当特征点的匹配数低于[Tf]时就立刻更新。[Tf]设置较大会造成运算量过大,影响算法效率;设置较小会使平均匹配点数降低,造成最小二乘解不准确。根据多组试验选取最佳[Tf=15]。

特征点的更新需要对图上的点进行搜索,由于特征点主要集中在检测目标中且在求解运动参数时,真正起作用的是背景点,所以需要将包括检测目标即前景的一块区域排除。 如图2所示,采用基于残差图像的方法将前景区域进行快速标记。将残差图像分成[m×n]个大小的块,计算每个块的SAD[13],并按大小进行排序。[SAD=i=0Mj=0Nψi,j,]其中[ψi,j]是[(i,j)]的残差。图2中,[B0]是当前预选前景块,若邻域8个图像块的SAD值有超过一半排在总SAD值的前30%,则将当前预选前景块标记为前景块,将每个预选前景块都依次进行排查。块参数[m]和[n]的取值决定了计算量的大小和前景块标记的准确性,通过实验确定设为[16×16]最为合适。 2.4 算法实现的具体步骤

联系客服:779662525#qq.com(#替换为@) 苏ICP备20003344号-4