一种区块特征匹配与边缘差分结合的运动目标检测算法

2019-09-27 05:05胡均平李勇成
制造业自动化 2019年9期
关键词:差分边缘像素

胡均平,蔡 韬,李勇成

HU Jun-ping,CAI Tao,LI Yong-cheng

(中南大学 机电工程学院,长沙 410083)

0 引言

近年来计算机技术发展飞速,其中的运动目标检测是智能汽车的关键技术之一,其中动态背景中的运动目标检测一直是备受科研学者关注的研究热点,并拥有广阔的应用前景与市场价值[1]。通常按照摄像头的运动状态分类,区分为静态与动态背景下的运动目标检测。近年来静态背景下的运动检测目前相对成熟[2~4],反观动态背景中的运动目标检测,由于其背景存在的复杂与未知性导致检测较为困难[5~7]。

运动目标检测常用的方法主要有:帧差法、光流法和背景差分法等。帧差法对运动目标敏感,通常利用相邻帧相减或者连续三帧相减,根据差分图像确定运动目标,但目标内部存在空洞现象[8];光流法在任何无先验条件的场景条件下,能够完整检测出运动目标,但计算量较大,实时性较差[9];背景差分法在背景稳定不变的情况下提取效果较好,但在光强变化和阴影遮蔽的情形下效果不理想[10]。针对现有问题,魏国剑提出基于边缘差分的运动目标检测方法[11],能有效抑制背景噪声和光照变化的影响,但在动态背景下检测存在较大误差;屈晶晶提出连续帧间差分与背景差分相融合的目标检测方法[12],能有效提高检测准确率和实时性,但检测结果存在空洞现象,在复杂背景运动情况下的检测还不是很理想;王洪斌提出一种分块特征匹配与局部差分结合的运动目标检测算法[13],能通过图像分割有效降低计算量提高准确率,但该方法对噪声干扰敏感,检测结果有存在空洞现象;火元莲提出一种基于边缘特征和多帧差分结合的目标检测算法[14],对检测目标提取的完整性较好,但在复杂背景中的检测效果表现较差,且计算耗时较长。

为克服以上缺点,本文将分块特征匹配与边缘差分相结合,提出一种基于二进制鲁棒不变尺度特征(binary robust invariant scalable key-points,BRISK)的区块特征匹配与边缘差分相结合的运动目标检测算法。基于BRISK的特征提取,因其良好的尺度特征不变性及旋转不变性,且对光照不敏感有较好的鲁棒性,其精度较高且运算速度快;区块特征匹配能有效地降低计算量、减少运算时间,利用边缘特征检测运动目标,能有效避免检测结果空洞现象和噪声干扰。其计算简单,抗干扰能力较强,能有效准确地检测运动目标。

1 分块特征匹配

1.1 BRISK算法简介

BRISK算法主要分三步:角点检测,特征描述,特征匹配。首先,构建尺度空间金字塔,并通过AGAST(Adaptive and Generic Accelerated Segment Test)角点检测算子提取连续尺度空间中的稳定极值点;进而通过随机采样点对在图像局部的灰度关系构建局部图像的特征描述子;最后再选取汉明距离进行特征匹配[15]。

基于对尺度空间金字塔的构建,运用AGAST算法对角点进行检测,对尺度空间中相应的函数值进行线性拟合,进而运用非极大值抑制,剔除其中不稳定的极值点。再对各层稳定的极值点做抛物线拟合,最终获得在连续尺度空间中精度为亚像素级的稳定极值点。

BRISK特征描述子将采取如图1所示的邻域采样模式,先在以特征点作为中心的40×40像素块内构建多个同心圆,然后采样点(圆点)均布呈现在圆周上,共60个采样点。

图1 自定义的邻域采样模式

设采样点对集G,选用欧氏距离以定义短距采样点对集S和长距采样点对集P:

通常预设阈值δmax=9.75t,δmin=13.67t(其中t为连续尺度空间中检测角点过程提取的尺度特征量)。令L表示长距采样点对集P的元素个数,g(pi,pj)表示点对(pi,pj)的梯度,角点的特征方向定义为:

在进行BRISK特征描述之先,将其采样模板以中心沿顺时针预旋转角度α,α=arctan2(gy,gx)。然后利用强度对比的方式对集合S中运算,采样点对(),得出512bits的特征描述,其中比特b定义如下:

为以上特征描述采取汉明距离的方式完成特征匹配,且能够获得其全局运动估计。

1.2 基于BRISK的分块特征匹配

BRISK算法对于全局图像特征点进行检测,其中包含了动态的复杂背景和需检测的运动目标,因此运动目标检测区域内包含大量背景特征点,影响图像的检测及配准精度,每个特征点领域信息的不同都将直接影响其独特性,而且对整图进行BRISK特征的提取与匹配的计算量相对较大,且运算时间长。针对以上存在的问题,文章提出了一种基于BRISK结合图像分块的运动补偿方法。

考虑到检测目标在图像当中存在各位置分布不定的概率,且对背景块特征需要充分提取,因而预设分割比例N、M,并以图像像素宽高的1/N、1/M作为长短轴建立椭圆边界,对像素图像进行分块,将视频图像分割为目标检测块和背景特征块。图2为N=1.1,M=1时的分割效果图。

图2 所检测图像的分块

运动目标检测块f0(x,y)的尺寸与原图相对应,其图块像素值的选取如下所示:

其中,m为帧图像像素的宽,n为帧图像像素的高,ft(x,y)为检测图像中在t时刻(x,y)处的像素值。背景特征匹配块被区分为I,II好的准确性III,IV四个区块。背景特征块f1b(x,y),f2b(x,y),f3b(x,y),f4b(x,y)像素选取原则为:

采用BRISK算法对特征点进行检测提取,获得背景特征匹配块当中稳定的特征信息,如图3、图4所示。匹配策略采用快速最近邻搜索算法,大致分为以下步骤:

1)使用BRISK算法获取背景特征块中的角点特征,并获得稳健的粗匹配特征点;

2)为提高检测速度,先训练匹配器,根据数据选取最优的索引类型随机KD树和层次K-均值树为特征描述子建立索引树;

3)通过对两帧图像匹配特征点对取欧氏距离L,选取最小阈值L=r×L,此处r取2。并通过设定阈值对异常匹配点对进行剔除,初步粗匹配。

文章采用的全局运动补偿方法为六参数仿射变换模型[16]:

式中(X'k+1,Y'k+1)为前一帧图像中优选匹配点的对应坐标,(X'k,Y'k)为当前图像所对应的特征点坐标。式中A1、A2、A3、A4、A5、A6六个未知数为仿射模型参数,最少需要三组匹配点对可求得,文中采用RANSAC[17](Random Sample Consensus)随机一致性的方法,通过降低背景特征块中残余运动目标对模型参数的影响,并使得模型参数更为准确。

图3 BRISK特征提取

图4 相邻帧的优选匹配点对

2 边缘差分检测

算法的流程如图5所示。首先将运动补偿后的多帧图像进行边沿特征提取,取得相应边缘图像,然后为连续多帧的边缘图像多帧差分,最后经由自适应阈值T对图像进行二值化处理[18],获取目标检测轮廓,进而通过形态学处理得到检测目标。文中采用连续三帧图像差分检测进行分析处理。

图5 边缘差分流程图

Sobel算法是边缘提取算法当中最常用的方法之一,其邻域像素对其目标像素的变化不是等同的,因此面对不同距离的像素将具有不同的权值,且对算子结果产生不同的变化影响。相较而言,其运算复杂度小,易于实现。文章选用Sobel算法检测边缘特征。对于一幅图像f(x,y),它的边缘图像为:

其中,

通过确定分割阈值T,令边缘差分图像二值化,得到运动目标O(x,y,Δt),前后帧图像差分d(x,y,Δt)=f(x,y,t+1)-f(x,y,t)

以上所获得的运动目标轮廓仍然残缺不全,并且包含分布不均的噪声点。针对于此,在边缘差分之先对图像预处理,剔除噪声点,并对其差分结果进行形态学滤波,运用腐蚀及膨胀等方式对残缺的目标轮廓弥补,进一步消除噪点,进而获取完整的目标区域。

3 实验结果及分析

为了验证本文算法的有效性,实验使用500万高清摄像头采集视频,采集视频分辨率为640×480。实验计算机配置为Intel 5代CPU,2.4GHz主频,2G内存,64 bit Windows 8操作系统,MATLAB 2016a环境下运行本文算法。使用本文算法对运动摄像头条件下的行驶视频对运动目标处理。

文章对实验视频进行分析,并将本文算法与传统三帧差分法进行对比分析。首先运用BRISK算法对目标图像的背景匹配块进行特征提取,并与未进行背景分块提取的传统三帧差分法进行对比分析,其数据统计如表1所示:

表1 特征检测结果对比如下(其中N=1.2,M=1)

由表1可以看出分块后特征提取的时间明显减少,且特征点数量充足。为保证背景块的尺寸,椭圆长半轴将定图像像素宽的一半,其中预设M=1。经大量实验推论,N取值范围[0.8,1.5]。

表2 不同的N、M值所对应的特征点对匹配

表2对图像分割比例系数N、M的不同状况下的结果进行实验统计,随着N的减小,背景匹配块图像区域逐渐减小,特征提取时间也相应变短,相应的特征点数目以及特征匹配对的数目也相应减少。此外,文章考虑到运动目标有存在于背景匹配块中的情况,利用RANSAC算法将异常点以及误匹配对剔除,且由于需要一定数量的匹配点对能够排除运动目标对求解的影响,并能提高模型参数求解的准确性和算法的鲁棒性,其中为保证足够的特征点对,实验当中以100个特征点匹配对为限定,取N=1.2。

在实验视频中随机截取三帧连续图像,并分割出其目标检测块进行分析,并获取其连续三帧的边缘图像,如图6、图7所示。获取运动补偿后的目标检测区块图像,进而运用连续帧的边缘图像差分检测并获得运动目标,对比文献[14]与传统连续三帧差分法的结果。如图8所示,经过全局差分后的图像存在噪声与空洞现象,而经过文中区域分块思想并结合边缘差分的特点,可弥补图像完整性的不足,并为之后运动目标跟踪奠定基础。

图6 连续三帧目标检测区域

图7 连续三帧边缘图像

图8 实验结果对比

实验检测结果如图8(a)和图8(b)所示,由其结果可以看出,本文算法通过图像区块匹配结合边缘差分检测效果较好,受背景噪声干扰较少,能够较好地检测运动目标。

为进一步验证本文算法的有效性和稳定性,不妨取实验视频第300帧至1200帧作分析,每隔30帧检测分析,序列图像帧N为横坐标,通过对比发现,采用本文提出的改进方法,能够提高目标检测的准确率并缩短检测时间。文章以D=R/(R+F)(R表示检测正确的车辆;F表示漏检车辆)代表检测率[19]。

表3 检测准确率和误报率算法对比(%)

再用峰值信噪比(PSNR)对其进行评估,可用于对结果鲁棒性进行评估,其值越高证明抗噪越好,峰值性噪比对比如图9所示。由图9可看出,本文算法进行处理后,其PSNR值有明显提高,且优于另外两种算法。经实验与仿真结果表明,本文算法峰值信噪比(PSNR)明显鲁棒性表现较好,并拥有较好的准确性。

图9 改进算法前后帧PSNR值比较

4 结语

本文提出了一种结合分块匹配与边缘差分的运动目标检测算法。算法基于分块处理的思想,不仅减少特征匹配耗时,而且降低了运动目标对全局运动补偿的影响;对连续三帧图像目标检测块的边缘图像进行差分处理,有效减少空洞现象和背景噪声的影响,并通过与传统三帧差分算法的对比,验证了本文算法具有较好的准确性和抗噪性。

猜你喜欢
差分边缘像素
RLW-KdV方程的紧致有限差分格式
符合差分隐私的流数据统计直方图发布
像素前线之“幻影”2000
数列与差分
“像素”仙人掌
一张图看懂边缘计算
高像素不是全部
相对差分单项测距△DOR
您的像素,饱和吗?[上]
在边缘寻找自我