APP下载

基于BRISK特征的动态背景下运动目标检测*

2018-01-26韩乐乐王思明李伟杰

传感器与微系统 2018年2期
关键词:汉明角点数目

韩乐乐, 王思明, 李伟杰

(兰州交通大学 自动化与电气工程学院,甘肃 兰州 730070)

0 引 言

运动目标检测作为机器视觉领域的研究热点,其目的是从图像序列中将运动区域提取出来。运动目标检测分为两种:静态背景和动态背景下的运动目标检测。静态背景的运动目标检测算法已经非常成熟,因此,研究动态背静下的运动目标检测。

动态背景下的运动目标检测方法主要分为三种:模板匹配法[1,2]、光流法[3~5]和背景运动补偿法。模板匹配法计算量小,但不适合未知运动目标的检测;光流法运算量过大,且易受光照变化影响;背景运动补偿法根据运动参数参考帧补偿等效为静态背景,适用于摄像机旋转等复杂场景的场合[6]。文献[7]提出了一种基于子块运动补偿的运动目标检测方法,算法避免了传统特征点匹配方法求解参数时易受错误匹配点的影响,但计算量较大,抗噪性较差;文献[8]提出了一种结合尺度不变特征变换(scale invariant feature transform,SIFT)和差分相乘算法的运动目标检测算法,SIFT与差分相乘的结合具有较强的鲁棒性和抗噪能力,但算法速度较慢;文献[9]在移动机器人上使用全方位视觉传感器,LK(Lukas-Kanade)光流法算法实时性较强,但无法处理复杂情况下的运动目标。

针对上述问题,本文提出了一种基于二进制鲁棒不变尺度特征(binary robust invariant scalable keypoints,BRISK)特征匹配的运动目标检测算法。BRISK算法具有较好的旋转不变形、尺度不变性,较好的鲁棒性等;计算速度远高于SIFT和加速稳健特征(speeded-up robust features,SURF)算法,在对具有较大模糊的图像配准时,BRISK算法表现极为出色。本文通过改进的BRISK算法检测特征点;利用K最近邻(K-nearest neighbor,KNN)算法进行特征匹配;采用基于随机抽样一致(random sample consensus,RANSAC)的运动参数估计法和帧间差分法完成动态背景下的运动目标检测。

1 BRISK算法

1.1 特征点检测

在BRISK算法的特征点检测子利用了自适应通用加速分割检测(adaptive and generic accelerated segment test,AGAST)算法,AGAST算法以加速分割试验特征(features from accelerated segment test,FAST)算法为基础进行改进,其在尺度空间上用FAST角点进行检测。首先,构造n个octave层(用ci表示)和n个intra-octave层(用di表示),本文n=4,i=0,1,…,n-1。其中,c0对应图像原始图像,其余的octave层对c0进行2倍下采样,intra-octave层对c0进行1.5倍下采样,每个di位于ci与ci+1之间,则ci,di层与原图像之间的尺度关系用t表示:t(ci)=2i,t(di)=2i×1.5。

1)对每个octave层和intra-octave层进行FAST 9~16角点检测,如图1所示。具体为计算每层的FAST得分值V,以像素点p为圆心,周围16个像素中至少有9个像素点的值高于或低于p点的值,即为潜在的特征点,公式如下

(1)

式中τ为阈值;Ip为p点的灰度值

(2)

图1 角点检测图像

由于n=4,即得到了8张具有角点的图,接着对原图进行1次FAST 5~8角点检测(作为d(-1)层),得到9张角点检测图。

2)在空间上对9幅图进行非极大值抑制,必须保证每个特征点在其尺度的邻域8点及上下2层(2×9点)的FAST的得分值最大,否则,不能作为特征点。

3)通过以上2个步骤,即可得到特征点所在的位置和尺度,对极值点所在的层和上下2层的FAST得分值进行二维二次函数插值,即可得到3个亚像素优化的极大值位置,沿尺度坐标轴对尺度进行一维插值,算出最优尺度估计值。整个过程如图2所示。

图2 尺度空间点检测图像

1.2 特征点描述

BRISK特征点描述采用均匀采样模式,即以特征点为中心,构建不同半径的圆,在每个圆上获得一定数目的等间隔采样点,共60个采样点。由于这种邻域采样模式容易产生混叠效应,因此,需要对同心圆上的点进行高斯滤波,如图3所示。

图3 均匀采样

经过高斯滤波之后,特征点的局部梯度为

(3)

令A为所有点对的集合,S为利用欧氏距离定义的短距离采样点集,L为长距离采样点集[10]

S={(pi,pj)∈A|‖pj-pi‖<δmax}⊆A

(4)

L={(pi,pj)∈A|‖pj-pi‖>δmin}⊆A

(5)

设t为关键点所在的尺度,则阈值δmax=9.75t,δmin=13.67t。角点的特征方向定义为

(6)

(7)

1.3 特征匹配

生成特征描述符之后,对比特征点描述符的汉明距离进行匹配。当两者的汉明距离小于某阈值时,则认为匹配成功。Str1和Str2为2个BRISK特征描述子,汉明距离定义为

(8)

2 改进的BRISK算法

BRISK算法在特征提取和特征匹配的过程中,只关注角点的局部信息,而忽略了角点分布不均匀,角点过于密集易产生错误匹配;匹配策略单一,导致图像匹配结果出现较大误差。本文针对BRISK算法的缺点提出2点改进:基于3×3模板的特征点提取和基于KNN算法的特征点匹配。

2.1 基于3×3模板的特征提取

研究表明,图像特征点分布越均匀,图形匹配结果越精确[11]。BRISK算法利用角点信息作为特征点,角点分布密集的区域一般为图形中的边缘部分,因此,极有可能位于运动目标区域,或者背景图像中特征信息较为显著的区域。AGAST算子中阈值T过大,特征点的数目过少,且多分布在图像显著区域,平滑区域特征点数目较少甚至没有;阈值T过小,则会导致特征点数目过多且显著区域的特征点会影响图像匹配的准确性。图4(a)为阈值T=70时的BRISK特征点图,特征点过多且密集,容易产生错误匹配;图4(b)为阈值T=20的特征点图,特征点过少且在乒乓球桌案区域只有2个特征点,图4(a)则有8个特征点。因此,本文提出基于3×3模板的特征点提取方法:

1)采用低阈值的方式进行特征提取。

2)利用3×3模板进行特征点筛选。对任一特征点,保证其3×3范围内只有一个特征点,既能最大程度上保证平坦区域的特征点数目,又能去除显著区域过于密集的特征点,提高了图像匹配的准确性。

图4(c)为改进后的特征点提取效果,此方法既减少了图中树叶上的特征点数目,又最大程度上保留了乒乓球桌案上的特征点。

图4 阈值改进前不同阈值下和改进后的特征点图

2.2 改进的特征匹配法

传统的特征匹配法利用汉明距离寻找最佳匹配对,由于显著区域密集度和图像中噪声的影响,匹配结果较差。本文采用基于KNN算法的特征匹配方法。具体步骤如下:

1)寻找最近邻与次近邻特征点。通过KNN算法查找最近邻与次近邻特征点,假设参考帧的特征点k的最近邻与次近邻特征点为当前帧的m和n,其与特征点k的汉明距离分别为D(k,m),D(k,n)。

2)匹配特征点对,获得粗匹配集。首先设立一个阈值p,当D(k,m)/D(k,n)

3)利用RANSAC法筛选匹配对,进一步去除错误匹配对,获得最佳匹配集。

3 基于BRISK算法的运动目标检测

3.1 运动参数模型

摄像头的运动参数模型采用仿射变换表示,仿射模型可以描述摄像机的平移、旋转、缩放等。采用六参数的仿射模型,公式如下

(9)

式中 (x,y)为t-1帧坐标;(u,v)为t帧坐标;(a00,a01,a10,a11)为摄像机的旋转和缩放运动;(b00,b01)为摄像机的平移运动。

3.2 基于RANSAC的全局运动参数估计

经过改进的BRISK算法进行特征匹配后,得到一系列匹配后的特征点对。利用六参数仿射模型进行全局运动参数估计,必须选择3个特征点对进行参数估计。由于各种因素的影响,其中必然存在有误差的特征点对。本文提出了一种基于RANSAC的全局运动参数估计法,运行时间短,结果稳定。具体步骤如下:

1)筛选特征点对。根据汉明距离对特征点对进行排序,选择前m个特征点对。

2)从m个特征点对中,选择3个特征点对建立方程组,求解仿射模型的6个参数。

3)对剩余的(m-3)个特征点对s1和s2,利用六参数仿射模型求出s1的匹配特征点s3,计算s2和s3的差值do,若do小于某个阈值r,为内点;否则,为外点。计算此时内点数目sum。

4)基于RANSAC的全局运动估计法必须适应多种场景,因此,步骤(3)的阈值r是一个粗阈值,最多的内点数目max可能有若干组,计算每一组中小于阈值r的do的最大值max和最小值min,求出两者的差值为sub。

5)重新选择3个特征点对,执行步骤(2)~步骤(4),迭代若干次后,比较每次的内点数目,求出最大内点数目若干组;比较最大内点数目组的sub,得到最小sub值的一组,即可求出最优的全局运动参数。

3.3 运动目标检测

4 实验分析

本文采用的计算机系统为Windows7,CPU为Intel(R) core(TM)i3-3110M,主频2.4GHz,内存4GB。实验基于Visual Studio 2013和OpenCV2.4.13开发平台完成,使用C++编程语言。

实验采用的基准图像为图5 4组视频图像,设为V1~V4。现在对V1分别利用SIFT算法、SURF算法、原BRISK算法和改进的BRISK算法对比实验,仿真参数、计算结果和运行时间如表1所示。

图5 测试图像

由表1知,BRISK算法运行时间较SIFT和SURF算法少,即BRISK算法的计算速度优于其余两者。同时,改进的BRISK提取特征点算法较原BRISK算法减少了49.8 %的特征点数目,并不影响算法自身的检测效果。

表1 4种方法效果对比

前3种方法的匹配策略采用暴力匹配法与RANSAC法,本文采用KNN算法与RANSAC法,其中,KNN算法的阈值p为0.67,匹配策略去除的错误匹配点对越多,匹配效果越优。从表1中可以看出,本文采用的匹配策略KNN的特征点对为41对,RANSANC只去除了6个错误的匹配点对;而暴力匹配法经过RANSAC去除了295个匹配点对,可以看出:KNN算法去除错误的匹配点对远高于暴力匹配法,表明,KNN算法的匹配效果优于暴力匹配法。

表2 时间对比表 s

表2为SURF、文献[10]和本文算法对V1~V4的算法运行时间对比,图6为3种方法对V1~V4的检测效果对比。可知:本文算法实时性略优于SURF算法,并且鲁棒性不差。由图6(b)、图6(e)、图6(h)、图6(k)和表2可知,文献[10]的检测算法在V1,V2的运行速度较本文算法高,但在V3和V42种视频场景中的运行速度却不如本文算法,而且对于V2的检测效果差于本文算法,图中出现了大量的图像噪声,并且对于运动目标的提取完整度较低。由此可知,本文算法的实时性和鲁棒性均高于文献[10]。

图6 V1~V4视频场景下算法效果对比

5 结 论

提出了一种基于BRISK特征的动态背景下运动目标检测算法。利用BRISK算法提取特征的速度性能,结合基于RANSAC全局运动参数估计法获得最优全局运动参数;采用帧差法和形态学处理提取运动目标。通过实际图像对算法的实时性与准确性进行了实验验证,并对算法性能进行了分析,相较已有算法,本文方法对于动态背景下运动目标检测效果较好。后续工作是进一步优化算法的准确性与鲁棒性,以便用于实际应用。

[1] 高玉鹏,何明一.动态背景下基于帧间差分与模板匹配相结合的运动目标检测[J].电子设计工程,2012,20(5):142-145.

[2] Zheng B,Xu X,Dai Y,et al.Object tracking algorithm based on combination of dynamic template matching and Kalman filter[C]∥International Conference on Intelligent Human-Machine Systems and Cybernetics,IEEE Computer Society,2012:136-139.

[3] 宋 宇,翁新武,郭昕刚.基于光流和惯性导航的小型无人机定位方法[J].传感器与微系统,2015,34(1):13-16.

[4] Gao P,Sun X,Wang W.Moving object detection based on kirsch operator combined with optical flow[C]∥International Confe-rence on Image Analysis and Signal Processing,IEEE,2010:620-624.

[5] Xin Y,Hou J,Dong L,et al.A self-adaptive optical flow method for the moving object detection in the video sequences[J].Optik-International Journal for Light and Electron Optics,2014,125(19):5690-5694.

[6] 闵 琪,黄影平.基于立体视觉与光流融合的运动目标检测[J].光学技术,2016,42(1):28-33.

[7] 于红绯,刘 威,袁 淮,等.基于子块运动补偿的运动目标检测[J].电子学报,2017,45(1):173-180.

[8] 王 梅,屠大维,周许超.SIFT特征匹配和差分相乘融合的运动目标检测[J].光学精密工程,2011,19(4):892-899.

[9] 汤一平,胡大卫,蔡盈梅,等.基于全景视觉的移动机器人的运动目标检测[J].计算机科学,2015,42(11):314-319.

[10] Leutenegger S,Chli M,Siegwart R Y.BRISK: Binary robust invariant scalable keypoints[C]∥International Conference on Computer Vision,IEEE Computer Society,2011:2548-2555.

[11] Bostanci E,Kanwal N,Clark A F.Feature coverage for better homography estimation: An application to image stitching[C]∥International Conference on Systems,Signals and Image Processing,IEEE,2012:448.

猜你喜欢

汉明角点数目
移火柴
基于FAST角点检测算法上对Y型与X型角点的检测
基于边缘的角点分类和描述算法
基于圆环模板的改进Harris角点检测算法
媳妇管钱
《哲对宁诺尔》方剂数目统计研究
牧场里的马
汉明距离矩阵的研究
黑白棋盘格中的角点提取算法的研究*
一种新的计算汉明距方法