《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 低空航拍视频中基于Vibe算法的船舶检测方法
低空航拍视频中基于Vibe算法的船舶检测方法
2017年微型机与应用第10期
蒋晶晶1,安博文2
1.上海海事大学 信息工程学院 电子工程系,上海 201306;2.上海海事大学 信息工程学院,上海201306
摘要: 针对低空航拍视频中的船舶检测研究普遍存在因背景变化及水纹扰动导致的识别效果不理想等问题,提出了一种基于改进型Vibe(Visual background extractor)算法的船舶检测方法。该方法在传统Vibe算法基础上融合了改进型的Canny算子,采取平滑滤波与自适应阈值分割策略提高了船舶轮廓提取的准确性。利用四方位结构元素的形态学机制,降低了水面波纹对目标识别的干扰影响。对于船舶检测中的内部空洞则选取了种子填充法进行填充,最后根据船舶外轮廓实现对船舶目标的框定。实验结果表明,所提出的改进型Vibe算法的船舶检测效果明显优于传统方法,验证了其可行性与实用性。
Abstract:
Key words :

  蒋晶晶1,安博文2

  (1.上海海事大学 信息工程学院 电子工程系,上海 201306;2.上海海事大学 信息工程学院,上海201306)

  摘要:针对低空航拍视频中的船舶检测研究普遍存在因背景变化及水纹扰动导致的识别效果不理想等问题,提出了一种基于改进型Vibe(Visual background extractor)算法的船舶检测方法。该方法在传统Vibe算法基础上融合了改进型的Canny算子,采取平滑滤波与自适应阈值分割策略提高了船舶轮廓提取的准确性。利用四方位结构元素的形态学机制,降低了水面波纹对目标识别的干扰影响。对于船舶检测中的内部空洞则选取了种子填充法进行填充,最后根据船舶外轮廓实现对船舶目标的框定。实验结果表明,所提出的改进型Vibe算法的船舶检测效果明显优于传统方法,验证了其可行性与实用性。

  关键词:船舶检测;Vibe算法;Canny算子;种子填充法

  中图分类号:TP391.41文献标识码:ADOI: 10.19358/j.issn.1674-7720.2017.10.013

  引用格式:蒋晶晶,安博文.低空航拍视频中基于Vibe算法的船舶检测方法[J].微型机与应用,2017,36(10):44-47.

  空中航拍技术作为目标船舶动态监管的重要手段之一,具有成本低、实现简单等诸多优势,但通过空中巡航方式进行海事监管时,由视觉监控实现目标船舶的实时检测成为了一大技术难题[1]。

  当前学术界对于目标检测的方法主要分为以下三类:帧间差分法、背景减除法、光流法。帧间差分法主要是利用视频图像序列连续两帧或三帧的差异来检测出运动区域,但对于目标的轮廓检测很不理想,甚至无法检测完整的目标边界;背景减除法最主要的部分就是背景建模,模型的好坏直接影响前景目标的检测效果;光流法是利用光流场的变化来检测运动目标,在理想状态下检测效果较好,但是光照变化时,即使物体没有运动也会被检测出来[24]。Vibe算法是BARNICH O等知名学者在图像处理领域提出的一种动态目标检测方法[5]。该方法允许在多种动态与静态环境下进行目标检测,且经过学术界诸多学者的研究考量,证实了其良好的实时性和有效性,成为了目标检测技术中具有重要意义的有效检测算法。但由于低空航拍视频中的船舶目标大小不一、运动速度缓慢,以及无人机的不定向运动等影响,传统Vibe算法对船舶目标的检测效果不理想,无法检测到船舶的外轮廓信息,船舶内部也存在大量空洞。本文针对低空航拍视频中船舶检测问题,提出了一种基于改进型Vibe算法的低空航拍视频中的船舶检测方法,将传统Vibe算法与改进型Canny算子边缘检测进行融合,并利用增强型种子填充法进行船舶目标优化,实现了低空航拍视频中对船舶目标的有效检测。

1Vibe算法核心理论

  Vibe算法首次将随机选择机制和邻域传播机制应用于背景模型的建立与更新,是一种基于样本的背景建模方法[6]。该算法为每一个像素建立一个样本集,此样本集由过去时刻该位置与其邻域位置像素值组成,然后将现在此处的像素值与这个样本集中的像素进行对比来判断此像素是否属于背景,再随机地对背景模型进行更新[7]。其基本原理主要包含背景模型初始化、前景检测、背景模型更新三大部分[810]。

  假设图像x处给定的欧式颜色空间像素值为V(x),背景模型中的每个像素由N个背景样本值组成:M(x)={v1,v2,…vN}(vi为索引是i的背景样本值)。背景模型初始化就是选取V(x)的过程,随机地从x的八邻域NG(x)中选取N个样本值来初始化背景模型M0(x)={V0(y|y∈NG(x))}。

  前景检测即像素分类的过程,Vibe算法是通过比较2D空间中的欧式距离来对像素进行分类的。如图1所示,记为以x为中心、R为半径的区域。通过比较SR(V(x))与M(x)交集的个数是否大于给定的阈值#min来进行判断,若大于或者等于,则这个像素点x属于背景点,即完成像素点是背景点还是前景点的分类。

 

Image 001.jpg

  在更新单个像素样本集中20个样本值时,因单个值的选取原则是随机的,所以模型中样本值出现的概率呈指数型衰减,那么该样本集在T时刻不被更新的概率为(N-1)/N。若时间是连续的,那么在dt时间之后,样本集中的样本值依然保留不被更新的概率则为:

  $@_ZY)}$7OVMQNQL9V%$GET.png

2改进型Vibe船舶检测算法

  因低空航拍视频中待检测船舶目标较大且运行较慢,所以仅使用传统的Vibe算法难以达到检测完整性与准确性的要求。本文所述Vibe算法主要是在传统算法基础上融合改进型Canny算子来增强船舶目标轮廓提取的完整性,对于水面波纹采用四个方向的结构元素进行形态学处理的方法,进而优化检测结果。

  2.1改进型Vibe算法流程

  本文所述的改进型Vibe算法流程如图2所示。根据读入的视频帧,将Vibe算法得到的前景目标与改进型Canny算子边缘检测后的边缘特征图进行融合,从而得到航拍视频中的船舶目标。为了使船舶目标更加完整与准确,方便后续的跟踪,在得到前景目标后进行了目标优化与船舶框定。

 

Image 002.jpg

  2.2改进型Canny算子提取船舶轮廓

  利用改进型Canny算子进行边缘检测的主要步骤如下:

  (1)采用中值滤波代替高斯滤波来平滑图像,实验表明中值滤波对水面波纹的平滑效果比高斯滤波效果更好。

  (2)结合倾斜方向梯度与原梯度方向信息,采用两个对角线模板计算图像倾斜方向上的梯度,45°和135°对角模板矩阵分别为Mat1和Mat2:

  3~00@$RINQJ)UG{A@53AF24.png

  与45°对角模板对应的梯度计算方法为:

  G′1=f(x,y-1)+2f(x+1,y-1)-f(x-1,y)+f(x+1,y)-2f(x-1,y+1)-f(x,y+1)(4)

  与135°对角模板对应的梯度计算方法为:

  G′2=-2f(x-1,y-1)-f(x,y-1)-f(x-1,y)+f(x+1,y)+f(x,y+1)+2f(x+1,y+1)(5)

  对两个倾斜方向上的梯度取平方根得:G2(x,y)=G′21+G′22。若x、y方向上的图像梯度为G1,以对角模板提取倾斜方向的梯度图像为G2,则综合得到的图像梯度为G3=max{G1,G2},对G3进行自适应阈值分割处理得到边缘图像G4。

  这里的自适应阈值分割采用的是最大类间方差法[11]。将图像按灰度特性分为前景和背景两部分,定义参数如表1所示。  

Image 007.jpg

  假设一幅图像的大小为M×N,图像背景较暗,图像中灰度值小于阈值T(前景)的像素个数为N0,大于阈值T(背景)的像素个数为N1。则可得前景像素点个数占整幅图像的比例ω0=N0/(M×N),背景像素点个数占整幅图像的比例ω1=N1/(M×N),ω0与ω1存在如下关系:

  ω0+ω1=1(6)

  图像的总平均灰度计算方法为:

  μ=ω0×μ0+ω1×μ1(7)

  类间方差为:

  g=ω0(μ0-μ)2+ω1(μ1-μ)2(8)

  由式(7)、(8)可得g=ω0×ω1×(μ0-μ1)2,采用遍历的方法即可得到使类间方差最大的阈值T。

  2.3形态学滤波抑制水面杂波

  由于低空航拍视频中水面波纹震动明显,且拍摄方向的转变会造成水面波纹的方向变化,因此利用四种方向的结构元素去滤除水面波纹噪声对船舶目标检测的影响。本文考虑了水平、垂直、对角线等几种不同尺寸的结构特点,设计了如图3所示的4种方向的结构元素。

 

Image 003.jpg

  设f(x, y)是输入图像,g(x, y)是结构元素。用结构元素对图像进行腐蚀和膨胀运算分别定义为:

  (fΘg)(x,y)=min{f(x-i,y-j)-g(-i,-j)}(9)

  (fg)(x,y)=max{f(x-i,y-j)+g(-i,-j)}(10)

  形态学开运算定义为:

  fog=(fΘg)g(11)

  对同一幅图像分别用这四种方向的结构元素进行形态学开运算,再利用式(12)进行融合,便可实现对水面杂波的滤除效果。

  f=mean(f1,f2,f3,f4)(12)

3目标优化与船舶框定

  由于航拍视频中船只目标较大,单纯的种子填充不能够满足实际的需求,例如种子点不在搜索二值图像的空洞内而在外部。本文的目标优化采用了相与的计算方法来填充灰度图像的空洞现象,具体算法步骤如下。

Image 004.jpg

  (1)选取图像原点(0,0)作为种子点,对图像进行填充,填充颜色设为白色,如图4(a)所示。

  (2)理想情况下此时帧上只存在黑色空洞部分,然后对灰度图上的灰度像素值进行颜色反转计算,即灰度图像素值为1时赋值0,灰度图像素值为0时赋值1,得到的结果图4(b)所示。

  (3)将原图5(a)与步骤(2)得到的图像4(b)叠加得到全局的灰度图像后再进行腐蚀滤波处理得到图5(e)所示的修复后的图像。

  船舶框定的过程就是根据船舶的面积以及长宽比对检测到的前景目标进行筛选与外轮廓提取,然后再根据外轮廓框定船舶目标,方便后期的船舶定位与跟踪。

4实验结果与分析

  实验用到的视频是由无人机在黄浦江流域拍摄的,视频分辨率为1 280×720;系统平台为32位Windows 7系统;软件实施平台为VS2010和OpenCV2.4.8。

Image 005.jpg

Image 006.jpg

  图5、图6给出了垂直拍摄和非垂直拍摄两组实验的对比实验结果。在不同实验条件下,不同算法提取的船舶目标效果各不相同。本文所提出算法的检测效果明显优于传统Vibe算法。具体分析结果如下:由图5(b)和图6(b)可以看出传统Vibe算法对低空航拍视频中无论是垂直拍摄还是非垂直拍摄的船舶目标检测效果都不太理想,船舶轮廓不清晰甚至严重缺损,此外还存在一定的鬼影[1213]。Canny边缘检测后的结果图如图5(c)和图6(c)所示,可以实现船舶轮廓的基本提取,将其与Vibe算法的检测结果进行融合后得到如图5(d)和6(d)所示的效果,弥补了Vibe算法的轮廓检测缺点。再对前景融合后的结果图进行目标优化,解决船舶空洞问题,使得船舶外轮廓连续,如图5(e)和图6(e)所示,便于根据船舶外轮廓进行框定。图5(f)和图6(f)显示了用最小外接矩形对船舶目标进行连通域标记后的检测结果。

  

Image 008.jpg

  表2为传统Vibe算法和本文算法分别处理24帧连续的图片所用时间的对比。可见由于本文在传统Vibe算法基础上增加了Canny边缘检测以及前景融合和目标优化,算法运行时间有所增加,但仍然能满足实时检测的要求。

5结论

  本文根据低空航拍视频中船舶目标检测的实际需求,以前景目标检测算法中最新的Vibe算法为基础,针对其检测效果的缺点融合了改进型Canny算子边缘检测算法,并对融合后的前景目标进行优化。将理论算法与实际相结合,研究实现了基于改进型Vibe算法的低空航拍视频中的船舶检测方法。该方法适用于海事无人机进行电子巡航时对船舶目标的检测。

参考文献

  [1] 元海文,肖长诗,文元桥,等.基于显著性分析的HOG快速船舶检测方法[J].中国航海,2016,39(01):69-73.

  [2] WREN B C, AZARBAYEJANI A, DARREL T, et al. Pfinder:realtime tracking of human body[J]. Transaction on Pattern Analysis and Machine Intelligence, 2015,19(7):780-785.

  [3] 庾鹏, 王旭, 仝天乐,等. 基于GrabCut算法和四帧差分法的目标提取算法[J]. 微型机与应用, 2016, 35(11):4042.

  [4] BARRON B J L, FLEET D J, BEAUCHEMIN S S, et al. Performance of optical ow techniques[C]. Proceedings of the Conference on Computer Vision and Pattern Recognition, 2010:236-242.

  [5] BARNICH O, VAN ROOGENBROECK M. ViBe: a powerful random technique to estimate the background in video sequence[C]. International Conference on Acoustics Speech and Signal Processing(ICASSP),2009:945948.

  [6] 王辉,宋建新.一种基于阈值的自适应Vibe目标检测算法[J].计算机科学,2015,42(6A):154-157.

  [7] BARNICH O, VAN ROOGENBROECK M, EVS B E, et al. ViBe: a universal background subtraction algorithm for video sequence[J]. IEEE Transactions on Image Processing, 2011,20(6):1709-1724.

  [8] MAHOOR E, MAGHSOUMI H, ASEMANI D. An improved motion detection algorithm using ViBe[C]. International Conference on Computing, Communication and Networking Technologies, 2015:1-5.

  [9] YANG W, ZENG P, FANG D. An improved algorithm for motion detection based on Vibe[J]. Icic Express Letters, 2015, 9(9):2475-2481.

  [10] 余烨,曹明伟,岳峰. EVibe:一种改进的Vibe运动目标检测算法[J].仪器仪表学报, 2014, 35(4):924-931.

  [11] 谭艳丽, 赵永强. 一种改进的二维Otsu阈值分割法[J]. 半导体光电, 2014, 35(5):937-940.

  [12] 王珦磊, 唐加山. 一种基于YUV颜色空间自适应阴影消除算法[J]. 微型机与应用, 2016, 35(7):44-47.

  [13] Dou Jianfang, Li Jianxun. Moving object detection based on improved VIBE and graph cutoptimization[J]. OptikInternational Journal for Light and Electron Optics, 2013, 124(23):6081-6088.


此内容为AET网站原创,未经授权禁止转载。