文章信息
- 吴佳奇, 蒋永华, 沈欣, 李贝贝, 潘申林
- WU Jiaqi, JIANG Yonghua, SHEN Xin, LI Beibei, PAN Shenlin
- 决策树弱分类支持的卫星视频运动检测
- Satellite Video Motion Detection Supported by Decision Tree Weak Classification
- 武汉大学学报·信息科学版, 2019, 44(8): 1182-1190
- Geomatics and Information Science of Wuhan University, 2019, 44(8): 1182-1190
- http://dx.doi.org/10.13203/j.whugis20180094
-
文章历史
收稿日期: 2018-09-02

2. 武汉大学遥感信息工程学院, 湖北 武汉, 430079;
3. 珠海欧比特宇航科技股份有限公司, 广东 珠海, 519080;
4. 武汉大学测绘遥感信息工程国家重点实验室, 湖北 武汉, 430079;
5. 长光卫星技术有限公司, 吉林 长春, 130000
2. School of Remote Sensing and Information Engineering, Wuhan University, Wuhan 430079, China;
3. Zhuhai Orbita Aerospace Science & Technology Co Ltd, Zhuhai 519080, China;
4. State Key Laboratory of Information Engineering in Surveying, Mapping and Remote Sensing, Wuhan University, Wuhan 430079, China;
5. Chang Guang Satellite Technology Co Ltd, Changchun 130000, China
传统遥感卫星只能拍摄单幅静态图像,而视频卫星能够对指定地面目标区域录制视频,并通过运动检测进行深层的动态信息提取和挖掘,使遥感信息的分析和解译从静态单景向动态时序转变,具有非常重要的意义[1-2]。
卫星视频的运动检测与常规视频存在较大不同,卫星在轨运行的同时进行视频拍摄,期间伴随着相机姿态调整,因此其获取的视频场景是时刻运动变化的,相邻帧之间差异较大且相对关系复杂。由于地物高程畸变影响,在运动补偿后仍残留较多的高程视差,引起局部伪运动,进而导致严重虚警。此外,在背景模型初始化时,运动目标像素也包含在背景模型采样中,因此运动目标移动后,其初始位置会生成“鬼影”虚警。“鬼影”是一种特殊的局部伪运动,由于卫星视频一般持续时间短,且包含目标较多,“鬼影”的影响程度会高于地面或低空视频。因此,卫星视频运动检测所面临的主要挑战是两种局部伪运动的虚警消除问题。
处理场景运动和视差伪运动时,有效的方法主要是考虑帧间的运动补偿处理。文献[3]提出了基于改进C_SURF彩色特征和光流向量相结合的方法,这种方法适合低空的移动平台情况。王霞等[4]利用仿射模型修正的有理函数模型进行卫星视频稳像处理,考虑了帧间的几何畸变,取得了良好的纠正结果,但该方法需要求解RPC(rational polynomial coefficients)几何模型。文献[5]提出了针对移动相机的3种场景差别补偿和更新的检测方法,能有效处理强视差下的误检测,但该方法在处理小目标时的检测能力不佳。而在“鬼影”目标处理方面,文献[6]利用连续多帧的像素生命长度进行阈值判断,在地面交通场景中得到了较好的应用。
通过分析局部伪运动产生的原因不难发现,其虚警的实质是真实的局部场景在影像中产生了变化或位移,而背景模型并没有根据真实的变化自适应地局部修正,从而导致模型的局部偏差。故背景模型的局部有差别更新是解决问题的关键所在,当局部区域的场景变化大时,该区域背景模型更新频率也应相应地增大。因此,可以利用伪运动目标的特点将两者统一考虑,在初始的运动检测结果中,利用弱判断条件分离出非真实运动目标,并对非真实运动区域邻域的背景更新因子进行自适应调整,使其局部的更新适应场景的动态变化,进而得到更稳健、准确的背景模型。本文根据伪运动目标的特点,引入决策树分类思想,提出决策树弱分类支持的局部有差别更新背景减除法,能够对两种伪运动作统一修正处理,有效提升目标检测精度。
1 算法描述算法的总体框架和流程为:在第1帧中,对ViBe模型加以改进,建立背景模型;从第2帧开始,采用ViBe模型比对方法进行运动像素检测和提取,并利用连通域标记进行目标分割。将分割出的目标集视作决策树的数据集,进行决策树的构建与弱分类;并根据决策树的弱分类结果支持背景模型的局部差别更新,同时提取出最终的检测结果。循环下一帧,直至视频结束。其框架流程图如图 1所示。
|
| 图 1 流程框架图 Fig. 1 Process Flowchart |
ViBe[7]采用单帧像素级的随机邻域采样建模方式,在第1帧中,对于每个像素,从该像素及其8邻域中随机选取n个像素作为该点的背景采样值,建立背景模型。模型记为
| $ M\left( x \right) = \left\{ {{v_1}, {v_2} \cdots {v_n}, a} \right\} $ | (1) |
改进背景模型建立以后,可通过影像帧与背景模型比对进行运动检测。检测方法为:针对每一个像素,比较该像素与其背景模型中各样本像素的差值。若差值大于阈值1的样本数量多于阈值2,则判断该像素为背景像素,阈值1、2的取值一般为20、2。当运动检测完成之后,可以得到前景、背景的二值图影像。进一步地,可利用快速连通域标记法[8]进行目标分割,生成初步的运动目标检测结果。
1.2 决策树模型构建分类决策树的核心思想是,在一个数据集中,根据事物特征的信息增益寻找最优分类特征,采用自顶向下的递归方式,通过特征属性判断节点不断向下进行分支,直到满足特定条件后,在决策树叶子节点得到分类结果[9-10]。在决策树构建算法中,ID3[11]是一种经典算法,处理目的是将初始的目标提取结果进行提纯去噪,分离出真实运动目标和可能的伪运动目标。
运动目标检测的初步结果视为数据集
在检测结果中,伪运动目标主要包含如下特点:①运动位移小,且运动方向与帧间运动模型的平移向量方向一致;②包含像素一般较多,其形状呈长条带状,且一般不规则;③“鬼影”目标静止不动,且出现在初始运动位置。因此,结合伪运动特点和目标特征属性,可建立决策树模型如图 2所示。图 2中,
|
| 图 2 决策树模型 Fig. 2 Decision Tree Model |
上述决策树模型是根据伪运动目标的一般性经验特征进行构建的,其属性判断节点并不能完全覆盖所有情况,是一种弱分类模型。但由于真实的运动目标与邻域的帧间梯度差异性较好,背景更新后仍会较大程度地保留这种梯度性,对前景提取影响小;而伪运动目标实质上为背景,不具备这种帧间差异性,背景更新有利于虚警抑制。因此这种弱分类模型能为背景模型的局部有差别更新提供有效的位置信息支持,并通过局部的更新实现进一步的精确分类。
该方法将决策树分类得到的“伪运动”目标外接矩形外扩1个像素,同时向运动模型平移向量方向外扩若干像素得到更新因子矩形A。如图 3所示,某一帧的检测结果中绿色虚线框为外扩的更新因子矩形A。由于在背景建模时,运动目标的初始位置将目标作为背景像素进行采样;因此在目标运动离开初始位置后,该位置的真实背景像素就会被判断为目标像素。如图 4所示,在目标初始位置出现了车辆的重影,即“鬼影”。在决策树第1层判断时,在某一位置第1次出现运动目标时,记录该位置,若该运动目标连续10帧静止不动,且目标逐渐增大,则认为d=0。
|
| 图 3 视差目标的更新矩形 Fig. 3 Updating Rectangle of Parallax Object |
|
| 图 4 “鬼影”目标 Fig. 4 "Ghost" Object |
在模型更新时,采用ViBe的随机策略,每个位置是否更新可通过式(2)进行判断:
| $ s = {\rm{Random }}(1, a) $ | (2) |
式中,Random为随机数操作符,表示从[1, a]中随机选取一个数。若s=1,则进行模型更新。不难看出,每个位置更新的概率约为1/a;a越小,其更新频率越快。与经典ViBe的常值更新因子不同,本文动态设置更新因子a,在不同的位置中可通过a的不同取值实现局部有差别的变频更新,从而使背景模型更加稳健,以适应背景的局部非一致性动态变化。由a的特性和作用可知其取值的基本准则为:动态性越强的局部区域,对应的更新因子的值应越小。利用图 2的决策树分类结果,具体如下:
1)若目标判断为“鬼影”GO,则该静止区域应迅速变换为背景,需时刻更新;
2)若目标判断为噪声VO,则该区域应有较快的更新频率,但考虑到有一定的概率为尺寸极小的运动目标,不需要时刻更新;
3)若目标判断为“伪运动”FO,则该区域为背景的一部分,与邻域相似性高,又有一定概率为长尺寸运动目标,需快速更新;
4)若目标判断为“伪运动”FO2,则该区域具备FO的特性,小概率为慢速运动目标,且运动方向与帧间平移向量相近,出现概率较低,不需较快速更新。
综合上述描述,本文具体设置为:
| $ {a_{i, j}} = \left\{ \begin{array}{l} 1, {\rm{若}}\left( {i, j} \right) \in {\rm{Obj, 则Obj}} = {\rm{GO}}\\ 2, {\rm{若}}\left( {i, j} \right) \in A, \left( {i, j} \right) \notin {\rm{Obj, 则Obj}} = {\rm{VO}}\\ 3, {\rm{若}}\left( {i, j} \right) \in A, \left( {i, j} \right) \notin {\rm{Obj, 则Obj}} = {\rm{FO}}\\ 5, {\rm{若}}\left( {i, j} \right) \in A, \left( {i, j} \right) \notin {\rm{Obj, 则Obj}} = {\rm{FO2}}\\ 10, {\rm{其他情况}} \end{array} \right. $ | (3) |
式中,(i,j)表示像素位置;A为更新矩形区域;Obj表示检测分割出的待判断目标。
2 卫星视频运动检测实验 2.1 实验概述为了验证本文方法在卫星视频条件下的有效性,采用3组卫星视频进行对比测试,分别采用经典ViBe方法[6]、文献[5]方法和本文方法进行运动目标检测,通过量化的检测率、误检率等客观数值和主观视觉感受对监测结果进行综合评价和比对。ViBe方法[6]和本文算法首先利用文献[4]稳像算法进行初步的全局运动补偿处理。实验环境为:Windows 7系统;CPU:I7 4510u 2.0 GHz;8 GB内存;Visual Studio 2010+OpenCV。实验数据采用吉林一号和Skysat卫星拍摄的视频,分辨率均为1.1 m。其卫星和视频数据的主要参数见表 1。
| 参数项 | 吉林一号 | SkySat-1 | SkySat-2 |
| 卫星轨道高/km | 650 | 450 | 450 |
| 灰度量化/bits | 8 | 8 | 8 |
| 视频帧数 | 90 | 500 | 1 000 |
| 目标个数 | 4 | 55左右 | |
| 目标平均尺寸 | ≤7×7 | ≤5×5 | |
| 目标背景对比度 | 低 | 很低 | |
| 配准误差 | <0.3 | <1 | <1 |
| 地形特征 | 城市道路、周围地形平坦,无视差 | 露天矿区、地形起伏严重、视差大 | 城市道路、周边有高楼、视差大 |
吉林一号视频中含有大量移动的汽车和随机噪声。通过该实验验证方法对运动目标的检测能力,以及对“鬼影”和噪声的抑制能力。在SkySat-1中无运动目标,但包含大量的视差“伪运动”目标。该实验主要是为了验证方法的视差“伪运动”处理能力,即衡量算法的检准能力;SkySat-2中同时包含了真实运动的目标和局部“伪运动”目标,可全方位检验算法。
在主观和客观评价时以标准数据集GroundTruth为基准。GroundTruth是利用ENVI软件中Map配准模块中的控制点选取工具进行制作,对原始帧影像进行目视判读,手动标记并记录真实运动像素的坐标而生成的真值图,如图 5所示。图 6为吉林一号视频第11帧GroundTruth, 运动像素标记为255,背景像素标记为0。
|
| 图 5 利用ENVI制作GroundTruth Fig. 5 Using ENVI to Create GroundTruth |
|
| 图 6 吉林一号测试数据11帧与对应GroundTruth Fig. 6 Frame 11 and GroundTruth of JL1 Test Data |
该视频中道路上行驶着若干数量的汽车,汽车尺寸小,与背景对比度低,测试检测结果如图 7所示。图 7中从左到右每列依次为原图、GroundTruth图、经典ViBe方法、文献[5]方法和本文方法结果。可以看出,经典Vibe方法和本文方法针对小尺寸运动目标的检测效果很好,轮廓清晰;而文献[5]方法漏检了2个车辆目标。在检测准确率衡量中,经典ViBe方法处理的效果不佳,尤其是“鬼影”像素的误检测较多。如图 7所示,第5帧开始,运动目标初始位置产生了比较明显的“鬼影”效果;第11帧起,本文方法判断出初始位置的“鬼影”目标,并针对相应区域进行差别更新;到19帧左右,车辆驶出初始位置范围,“鬼影”影响范围几乎达到最大,本文方法针对“鬼影”消除已有较明显的效果,而经典ViBe方法并未及时处理;到25帧左右,本文方法中“鬼影”几乎消除完毕;到50帧时,经典ViBe方法产生了较明显的效果,到82帧左右消除完毕。而文献[5]在整段视频中的“鬼影”消除效果均十分显著,误检测几乎无。
|
| 图 7 吉林一号视频检测结果 Fig. 7 Detection Results of JL1 Video |
该视频数据是SkySat卫星拍摄的某露天矿区的作业监控视频。露天矿中含有大量的由阶梯状矿岩层组成的边坡,不同层的边坡之间高程差较大,在全局运动补偿后仍有严重的视差残留,在边坡边缘有明显的视差局部伪运动,检测效果如图 8所示。图 8中从左到右每列依次为原图、经典ViBe方法和本文方法。在视频的前20帧,不同层次的边坡相对于初始位置的视差较小,并未检测出伪运动;从23帧左右(图 8(a))开始有明显的视差伪运动,经典ViBe方法的背景模型无法适应明显的视差伪运动,在边坡区域出现了较多的误检测。而本文方法开始针对边坡区域的背景进行局部更新处理,26帧时(图 8(b))已经有明显的误检测去除效果。在30帧时(图 8(c)),截图中部的高程略低的边坡区域开始出现明显的视差伪运动,经典方法不可避免地出现了误检测,而本文方法做了针对性的处理,在45帧时(图 8(d))已经有明显的效果。随着局部不断更新,误检测到59帧左右(图 8(e))已经几乎完全消除。此后本文方法的局部模型更新一直适应背景的动态变化,视差误检测屏蔽效果良好。而文献[5]针对视差误检测的屏蔽效果非常棒,几乎无误检测,结果图省略。
|
| 图 8 SkySat视频1检测结果 Fig. 8 Detection Results of SkySat Video 1 |
SkySat-2数据是SkySat拍摄的拉斯维加斯市区的路况信息,检测结果如图 9所示。图 9中从左到右每列依次为原图、GroundTruth图、经典ViBe方法、文献[5]方法和本文方法。可以看到,经典ViBe方法和本文方法的检测率较高,几乎无目标漏检。而文献[5]只能检测出少量稍大的目标;在检测精度方面,前9帧的视差伪运动不明显,但是“鬼影”现象严重。从第10帧开始(图 9(b)),本文方法针对视差和“鬼影”两种伪运动进行处理,虚警得到抑制。到20帧(图 9(c))左右,“鬼影”误检测的消除几乎完成,而视差的误检测也有很好的消除效果。在31帧时(图 9(d)),视差误检测像素数控制在极低水平。在550帧之前,本文方法检测效果稳定、良好;而经典方法的“鬼影”和视差误检测较严重。从550帧开始(图 9(f)),卫星飞过高楼顶,获取高楼的另一侧影像信息。同样地,整体背景局部变化较大,经典方法的误检依旧较多;而本文方法可适应这种背景局部变化,检测效果依然良好,误检测数低。文献[5]在整段视频中的视差伪运动屏蔽效果佳,几乎无误检测。
|
| 图 9 SkySat视频2检测结果 Fig. 9 Detection Results of SkySat-2 |
在客观数值的精度量化中,一般采用误检数(false positives,FP)和检测数(true positives,TP)来综合评价。误检数表示背景像素被判断为前景运动像素的个数,个数越少,表示检测准确度越高;检测数表示前景像素被判断为前景像素的个数,个数越大,表示检测能力越强。TP、FP是通过检测结果与标准数据集GroundTruth比对得到的结果。以GroundTruth为基准,统计方法如下[12]:
| $ \left\{ \begin{array}{l} {\rm{TP }} + {\rm{ }} = {\rm{ }}1, {\rm{若}}{\rm{res}}(i, j) = = {\rm{ GT }}(i, j) = = {\rm{ }}255\\ {\rm{FP }} + {\rm{ }} = {\rm{ }}1, {\rm{若}}{\rm{res}}(i, j) = = {\rm{ }}255, {\rm{GT }}(i, j) = = {\rm{ }}0 \end{array} \right. $ | (4) |
式中,(i, j)表示像素坐标;res表示检测结果;GT表示GroundTruth数据集。
根据式(4)得到3个测试视频的客观评价平均数值比对见表 2。由于文献[5]几乎无误检测,此处未列出。表 2中“目标级”的检测数即真实运动目标判断为前景运动目标的个数。通过对比可以看出,本文方法的目标检测率优于0.909(50/55),且与经典ViBe方法相比,误检测数显著降低,检准精度大幅提升,如图 10~12所示。进一步地,对两种方法的耗时进行比对,结果见表 3。视频帧尺寸为1 280像素×720像素,初始检测分割目标平均数为1 415。
|
| 图 10 吉林一号误检测比对 Fig. 10 Error Detection Results of JL1 Video |
|
| 图 11 SkySat-1误检测对比 Fig. 11 Error Detection Results of SkySat-1 |
|
| 图 12 SkySat-2误检测 Fig. 12 Error Detection Results of SkySat-2 |
| 步骤 | 经典ViBe方法/s | 本文方法/s |
| 背景建模 | 1.686 | 1.686 |
| 检测更新 | 0.204 | 0.204(+0.023 9) |
| 注:()内为增加的决策树判断处理时间 | ||
通过主观和客观综合评价可以得出,经典ViBe算法针对小目标具有较好的检测能力,但针对“鬼影”和视差伪运动的虚警较严重,误检率较高,鬼影消除速度慢;文献[5]能够很好地适应动态背景的更新,检准率非常高,几乎无误检测。但针对小目标的检测能力较弱,有较多数量的小目标没有被检测出来;本文方法在保证高检测率的基础上,能很好地抑制伪运动的误检测,针对ViBe算法的误检测消除率优于90%,在判断目标数大于1 400的情况下,每帧耗时仅增加了0.02 s左右,综合能力最佳。
3 结语本文针对卫星视频运动检测中局部伪运动导致的严重虚警问题,考虑了背景的局部运动不一致性,在ViBe方法的基础上加入更新因子,并引入决策树弱分类思想,在分类结果支持下根据分类特征设定相应的更新因子,从而进行局部有差别的背景更新与前景提取。通过与经典方法的比对实验表明,本文方法运动目标检测效果良好,且能够有效消除局部伪运动导致的误检测,综合性能佳,在卫星视频的运动分析及应用领域中具有很好的适用性。此外,在每一帧检测的基础上进行多目标的帧间关联跟踪将是今后的研究重点。
| [1] |
Zhang Guo. Satellite Video Processing and Applications[J]. Journal of Applied Sciences, 2016, 34(4): 361-370. (张过. 卫星视频处理与应用进展[J]. 应用科学学报, 2016, 34(4): 361-370. DOI:10.3969/j.issn.0255-8297.2016.04.001 ) |
| [2] |
Wu Jiaqi, Zhang Guo, Wang Taoyang, et al. Satellite Video Point-Target Tracking in Combination with Motion Smoothness Constraint and Grayscale Feature[J]. Acta Geodaetica et Cartographica Sinica, 2017, 46(9): 1135-1146. (吴佳奇, 张过, 汪韬阳, 等. 结合运动平滑约束与灰度特征的卫星视频点目标跟踪[J]. 测绘学报, 2017, 46(9): 1135-1146. ) |
| [3] |
Liu Hui, Li Qingquan, Gao Chunxian, et al. Moving Target Detection Using C_SURF Registration[J]. Geomatics and Information Science of Wuhan University, 2014, 39(8): 951-955. (刘慧, 李清泉, 高春仙, 等. 利用C_SURF配准的空基视频运动目标检测[J]. 武汉大学学报·信息科学版, 2014, 39(8): 951-955. ) |
| [4] |
Wang Xia, Zhang Guo, Shen Xin, et al. Satellite Video Stabilization with Geometric Distortion[J]. Acta Geodaetica et Cartographica Sinica, 2016, 45(2): 194-198. (王霞, 张过, 沈欣, 等. 顾及像面畸变的卫星视频稳像[J]. 测绘学报, 2016, 45(2): 194-198. ) |
| [5] |
Yun K, Lim J, Jin Y C. Scene Conditional Background Update for Moving Object Detection in a Moving Camera[J]. Pattern Recognition Letters, 2017, 88: 57-63. DOI:10.1016/j.patrec.2017.01.017 |
| [6] |
Min Weidong, Guo Xiaoguang, Han Qing. An Improved ViBe Algorithm and Its Application in Traffic Video Processing[J]. Optics and Precision Engineering, 2017, 25(3): 806-811. (闵卫东, 郭晓光, 韩清. 改进的ViBe算法及其在交通视频处理中的应用[J]. 光学精密工程, 2017, 25(3): 806-811. ) |
| [7] |
Barnich O, Vanroogenbroeck M. ViBe:A Universal Background Subtraction Algorithm for Video Sequences[J]. IEEE Transactions on Image Processing, 2011, 20(6): 1709-1724. DOI:10.1109/TIP.2010.2101613 |
| [8] |
He L, Chao Y, Suzuki K, et al. Fast ConnectedComponent Labeling[J]. Pattern Recognition, 2009, 42(9): 1977-1987. DOI:10.1016/j.patcog.2008.10.013 |
| [9] |
Zhang Lin, Chen Yan, Li Taoying, et al. Research on Decision Tree Classification Algorithms[J]. Computer Engineering, 2011, 37(13): 66-67, 70. (张琳, 陈燕, 李桃迎, 等. 决策树分类算法研究[J]. 计算机工程, 2011, 37(13): 66-67, 70. DOI:10.3969/j.issn.1000-3428.2011.13.020 ) |
| [10] |
Zhang Jianqing, Duan Yan. A Supervised Classification Method of Polarimetric Synthetic Aperture Radar Data Using Watershed Segmentation and Decision Tree C5.0[J]. Geomatics and Information Science of Wuhan University, 2014, 39(8): 891-896. (张剑清, 段艳. 一种结合分水岭与决策树C5.0的极化SAR分类方法[J]. 武汉大学学报·信息科学版, 2014, 39(8): 891-896. ) |
| [11] |
Huang Yuda, Fan Taihua. ID3 Algorithm for Decision Tree Analysis and Optimization[J]. Computer Engineering and Design, 2012, 33(8): 3089-3093. (黄宇达, 范太华. 决策树ID3算法的分析与优化[J]. 计算机工程与设计, 2012, 33(8): 3089-3093. DOI:10.3969/j.issn.1000-7024.2012.08.036 ) |
| [12] |
Wang Y, Jodoin P M, Porikli F, et al. CDnet 2014: An Expanded Change Detection Benchmark Dataset[C]. IEEE Conference on Computer Vision and Pattern Recognition Workshops, Columbus, USA, 2014 https://ieeexplore.ieee.org/document/6910011
|
2019, Vol. 44


