静态背景下运动目标边缘提取

郭溪溪+陈小林+王博+李治根+刘岩俊



摘 要: 针对运动目标在单帧图像中所占的比例较小,传统的边缘提取方法对整幅图像计算时产生大量冗余,对噪声敏感,提取出的运动目标轮廓不明显,提出一种基于帧差法和图像分块相结合的运动目标边缘检测方法。该方法首先对序列图像进行差分,按照特定的阈值对图像进行分块,完成对运动目标的细分割,分离出运动区域和非运动区域,然后对分割出来的运动区域进行边缘检测,将边缘检测结果和差分结果进行“与”运算,从而提取出运动目标轮廓。实验结果证明,分块边缘检测方法能较为准确地提取出运动目标且能提取出清晰的运动目标边缘轮廓,能满足实时性。
关键词: 图像分块; 帧差法; 边缘检测; 运动目标
中图分类号: TN911.73?34; TP391.41 文献标识码: A 文章编号: 1004?373X(2017)13?0062?04
Abstract: Since the moving target occupies a small proportion in single?frame image, the traditional edge extraction method has the obvious drawback of a large number of redundant generated in calculation process of a whole image, is sensitive to noise, and cant extract a clear contour of the moving target. Therefore a moving object edge detection method combining the frame difference and image block is proposed. This method is used to perform the difference for sequence image, block the image according to a certain threshold, and achieve the moving object fine segmentation to separate the moving area and non?moving area. The edge detection is carried out for the segmented moving area. The “and” operation is proceeded for the edge detection result and frame difference result to extract the contour of moving object. The experimental results show that the blocking edge detection method can extract the moving object and its clear edge contour accurately, and satisfy the real?time performance.
Keywords: image block; frame difference; edge detection; moving target
0 引 言
图像的边缘是图像最基本的特征之一,是图像像素灰度值变化最明显的地方,在图像分割、图像理解及图像检索等领域,图像边缘有着重要的应用价值,边缘不仅能描绘出物体的轮廓,还能反映方向、形状、阶跃性质等信息,快速准确地提取运动目标的边缘对后续的运动目标识别以及行为分析等具有重要的意义[1]。运动目标边缘检测的基础是对运动目标的提取,光流法、背景差分法和帧差法是目前最常用的三种运动目标检测方法[2]。光流法是通过观测运动目标在图像上呈现的像素亮度变化来对每一个像素点赋予一个速度矢量从而检测运动目标,检测效果较好,但光流法算法复杂,实现起来对硬件设备要求较高,实用性较差。背景差分法对背景建模和背景更新的要求较高,对于背景受光照条件和恶略天气干扰的情况下适用性较差[3]。帧差法利用图像序列中相邻两帧图像之间对应的每个点的像素值的差异大小来提取运动目标区域,计算简单,容易實现,一直以来都是运动目标检测中使用最为广泛的方法。帧差法虽然简单,但提取出的运动目标不够精确,容易造成目标不成形或者区域过大过小且存在空洞问题。针对这种现象,有学者提出了将两种目标检测方式相结合的目标检测方法,文献[4?6]采用了将背景建模与帧间差分相结合的运动目标检测方法,虽然弥补了帧间差分法带来的空洞,但背景建模的同时也耗费了大量的时间。为快速准确地提取运动目标,本文对三帧差分法进行改进,并对差分结果运用形态学方法对空洞进行填充从而完整提取出运动目标区域。针对运动目标边缘提取,文献[7]采用Sobel边缘检测的方法,此方法能提取出运动目标的大部分轮廓信息,但是存在边缘不连续的现象。文献[8]使用Canny边缘检测的方法,该方法提取出的目标边缘较好,但是也存在非目标区域的虚假边缘且实时性不强。文献[9]提出一种帧差与Susan边缘检测相结合的方法,滤除了大量的虚假边缘,但同时导致真正的目标边缘不清晰、不连续,且运算量大,运行速度非常缓慢。针对以上问题,本文提出一种先将图像进行分块,提取运动目标区域,并只针对局部运动区域的图像进行边缘检测的方法,不仅能较好地提取出运动目标的边缘,抑制虚假边缘,而且能满足实时性。
1 运动目标检测
静态背景下的运动目标提取,即摄像机固定不动,背景受光照等影响不大,总体结构保持不变的情况。首先对连续的三帧序列图像进行帧间差分处理,确定当前帧运动目标的大致位置,然后对差分结果使用Otsu最大类间方差法二值化图像实现目标与背景的自动分割,完成对运动图像的粗提取,针对帧差法存在空洞的现象,采用形态学膨胀运算方法填补空洞。最后利用差分结果对图像进行分块,根据分块结果提取运动目标区域,分别对提取出来的子块运动区域进行边缘提取,得到最终的运动目标边缘,算法总体流程如图1所示。
1.1 帧差法粗提取运动目标区域
对于一段时间内的序列图像,设表示时刻的当前帧。对相邻两帧图像对应点的像素值做差:
式中:和表示当前帧与相邻的前后两帧图像差分结果的二值化图像。此时相邻两帧差分得到的结果为相邻两帧图像中运动目标的区域面积之和,前一帧被目标遮挡住的背景部分会在后一帧显露出来,因此被误判为当前帧的运动目标,且相邻两帧目标区域像素值相同会导致严重的空洞现象,本文算法此步骤中不需要得到非常精确的运动目标区域,但对空洞现象敏感,因此提出改进的三帧差分法来减少空洞。传统的三帧差分法对和进行“与”操作,改进的三帧差分法将结果进行“或”运算,得到最终运动目标区域,即:
式中:表示“或”运算,此时提取出的运动目标区域仍然存在空洞,还需利用形态学膨胀等方法进行填充。虽然粗提取出的运动目标区域比实际的运动目标区域大了很多,但是填补了空洞,对后续目标边缘的提取是有利的。对于阈值的选取,采用最大类间方差法(Otsu),根据差分图像的灰度值自适应选取最佳阈值,分割出的运动目标区域比较完整且虚假目标较少。
1.2 分块法细提取运动目标区域
利用分块法粗提取运动目标区域,进行小范围的边缘检测是本文算法的重点。首先将差分结果图像分成多个子块,每个子块大小为,表示为其中即第行,第列个子块,通过比较每一差分子块的所有像素值总和与阈值的大小,判断整个子块属于目标还是背景。
式中:表示每一差分子块图像在点的像素值,表示差分图像第行,第列个子块的所有像素值总和。如果判断该子块为非运动区域,将该子块内的所有像素值置为0,否则置为1,为了较好地提取出运动目标区域,本文提出一种阈值选取方法,阈值的计算方式如下:
式中表示采用最大类间方差法得到的阈值,对于阈值的选取,文献[6]采用的是分块均值法,认为噪声和干扰是均匀分布的,但是这种阈值选取方法的缺点在于,运动目标在实际图像中所占的比例较小,导致差分结果的像素均值很小,图像块的均值也很小,于是图像背景中的像素差值較大的部分也被检测出来,实验结果如图2(d)所示。本文选择Otsu方法,认为像素值有以上的区域超过阈值的图像子块被标记为目标区域,如式(5)所示。此步骤的目的是去除由于差分二值化带来的虚假目标,能更为准确地提取出实际运动目标区域,提高检测准确率。并且在上一步帧差法二值化过程中,阈值已经进行过计算无需再次重复计算,可大大减少计算量。与文献[6]采用的阈值选取法的实验对比图如图2所示。
其中图2(a),图2(b)为连续的两帧原始视频帧的灰度图像,图2(c)为两帧差分结果图,图2(d)为文献[6]阈值的分块效果,图2(e)为本文阈值方法分块结果。由实验结果图可以看出,文献[6]的均值阈值选取法提取出的虚假目标很多,而本文提出的阈值法能比较准确完整地检测出运动目标区域,图2(f)中的矩形框为采用求取最小外接矩形的方法提取出的运动目标区域。
2 分块边缘检测
2.1 Canny边缘检测
Canny边缘检测算法通过设定双阈值的方法寻找最优边缘,虽然算法复杂度相对较高,但是能够提取出连续且清晰的边缘,因此本文选用Canny边缘检测算法。Canny边缘检测算法的简要流程如下:
第一步:图像去噪,通常情况下使用高斯核函数进行平滑去噪,将图像原始数据与高斯模板卷积,得到边缘相对平滑的图像。
第二步:计算梯度的幅值和方向,对去噪后的图像利用一阶有限差分的近似式计算一阶偏导,根据水平垂直方向的一阶偏导计算梯度的幅值和方向。
第三步:梯度幅值的非极大值抑制,Canny边缘检测要检测的是最优边缘,要求局部梯度最大,因此利用梯度方向对幅值进行非极大值抑制。
第四步:双阈值算法检测和连接边缘。使用Otsu方式选取阈值令从而得到因为有高低两个阈值,因此得到两个阈值边缘图像,较高阈值得到的图像含有较少的假边缘,但是不闭合。为了连接边缘在低阈值边缘图像上的点,轮廓边缘附近8邻接点寻找可以连接的边缘点,直到将不闭合的边缘连接起来为止。
2.2 分块边缘检测对比
采用不同的边缘检测算法对图2中的原始视频帧图像进行分块边缘检测,结果如图3所示,其中图3(a)~(c)分别为Sobel,Prewitt和Canny边缘检测算法的效果图。
可以看出,Sobel和Prewitt边缘检测出的目标边缘不连续,且对于面积较小的运动目标区域,提取出边缘效果较差,而Canny边缘检测无论是对面积较大的运动区域还是面积较小的运动区域,提取出的边缘都连续且清晰易见,但对于距离目标很近的路面虚假边缘也被检测了出来,但不影响效果。
3 实验结果分析
3.1 实验环境
实验环境:硬件条件为Inter Core i7 CPU,主频为3.6 GHz,6 GB内存的PC兼容机,软件环境为Matlab 7.0结合Microsoft Visual Studio 2010以及OpenCV 2.4.10计算机视觉库,测试视频为三组分辨率为320×240,总帧数分别为750,224和500的原始视频帧图像,三组视频的拍摄角度不同,且第三组视频存在轻微的抖动现象。
3.2 实验结果对比
为验证算法的有效性,对测试视频进行实验,并与不同文献的方法在视觉效果、实验速度和实验准确率上进行对比,视觉效果对比图如图4所示。
图4(a)为原始视频帧图像;图4(b)为文献[7]采用帧差法与Sobel边缘检测算子相结合的方法进行边缘提取的实验结果;图4(c)为文献[8]采用三帧差分法与Canny边缘检测相结合的实验的效果图;图4(d)为文献[9]采用的帧差法与Susan边缘检测相结合的效果图;图4(e)为本文采用帧差法与分块边缘检测相结合的实验结果,实验过程中取值为。
由实验结果可以看出,文献[7]检测出的目标边缘不连续,且对于面积小的运动目标检测效果较差,文献[9]检测出的目标边缘较粗且不清晰,对于小面积的运动目标检测效果也不好,文献[8]和本文检测效果最接近,但是检测出了较多的虚假边缘,对背景干扰较为敏感。本文采用帧差与分块相结合的边缘检测方法,不仅边缘清晰,对背景干扰不敏感,且对抖动具有一定的鲁棒性,效果较好,但在目标很多,且距离较近的情况下检测效果不是很好,虚假边缘较多。理论上采用分块的方法进行边缘检测,速度相对于传统的边缘检测算法要快,因此本文针对不同的方法所用时间进行对比,结果如表1所示。
由表1可以看出,文献[7]采用Sobel边缘检测和帧差法相结合的方法检测速度最快,文献[9]采用Susan边缘检测和帧差法检测速度最慢,本文方法,采用帧差与分块边缘检测的方法在检测速度上明显比文献[8?9]快很多,虽然没有文献[7]使用Sobel边缘检测与帧差相结合的速度快,但是在效果上比文献[7]要好。最后,本文针对不同文献采取的方法的准确率进行实验对比,实验准确率计算公式如下:
采用式(6)对文献[7?9]以及本文方法进行验证,得到的准确率曲线如图5所示,可以看出,采用本文方法检测出的目标准确率明显高于其他几种算法,误检率低。
4 结 语
运动目标检测与轮廓提取在计算机视觉等领域有着重要的研究意义与价值,好的轮廓提取方法是目标识别以及计算机视觉高层理解的重要前提。本文提出将帧差法与分块边缘检测相结合的方法,利用幀差法粗提取运动目标,结合本文提出的阈值选取方式将图像进行分块,细分割目标,只针对运动目标区域进行边缘提取,大大减少了时间复杂度,减少了虚假边缘且对视频抖动不敏感,提取出的运动目标边缘完整,细节相对清晰,准确率较高,优于目前提出的算法,但本文针对多目标检测效果不是很好,在分块上还有待改进。
参考文献
[1] 陈虎,凌朝东,张浩,等.基于FPGA的实时彩色图像边缘检测算法的实现[J].液晶与显示,2015,30(1):143?150.
[2] SENST T, EVANGELIO R H, SIKORA T. Detecting people carrying objects based on an optical flow motion model [C]// Proceedings of 2011 IEEE Workshop on Applications of Computer Vision. Washington DC: IEEE Computer Society, 2011: 301?306.
[3] 华媛蕾,刘万军.改进混合高斯模型的运动目标检测算法[J].计算机应用,2014,34(2):580?584.
[4] 刘昊,罗勇.静态背景下运动目标检测算法[J].液晶与显示,2012,27(5):682?686.
[5] 屈晶晶,辛云宏.连续帧间差分与背景差分相融合的运动目标检测方法[J].光子学报,2014,43(7):213?220.
[6] 高美凤,刘娣.分块帧差和背景差相融合的运动目标检测[J].计算机应用研究,2013,30(1):289?302.
[7] 金汉均,梅洪洋.Sobel算子在提取视频运动目标轮廓中的应用研究[J].电子测量技术,2014,37(11):29?32.
[8] 张鹏,李思岑,杨燕翔.融合边缘检测的三帧差分运动目标检测[J].微型机与应用,2014,33(23):56?58.
[9] FAN Xinfeng, CHENG Yuanzeng, FU Qiang. Moving target detection algorithm based on Susan edge detection and frame difference [C]// Proceedings of 2015 the 2nd International Conference on Information Science and Control Engineering. Shanghai, China: IEEE, 2015: 323?326.
[10] 余金栋,张宪民.用于线纹显微图像的边缘检测算法[J].光学精密工程,2015,23(1):271?281.