嵌套椭圆时空管道的监控视频运动片段快速提取
2022-04-01张云佐郭凯娜蔡昭权李汶轩
张云佐,郭凯娜,蔡昭权,李汶轩
(1 石家庄铁道大学信息科学与技术学院,石家庄050043)
(2 石家庄铁道大学河北省电磁环境效应与信息处理重点实验室,石家庄050043)
(3 汕尾职业技术学院,广东汕尾516600)
0 引言
随着人们安全意识的提升,视频监控系统得到了广泛的应用,由此产生的监控视频数据量日益剧增。监控摄像机通常固定安装且长时间持续拍摄,导致监控视频背景单一、运动片段和静止片段交叉存在,而人们通常只关注其中的运动片段。如何从海量的监控视频中快速提取运动片段有着迫切的现实需求,这也引起了研究人员的广泛关注[1-3],并涌现出了大量的研究成果。
现有的运动片段提取方法多是基于运动目标检测取得的,在传统的运动目标检测方法中,文献[4]融入了改进的关键帧提取方法,以单个运动对象为目标进行视频空间上的压缩;文献[5]对背景图像和使用滤波处理后的连续帧间差分图像进行差分运算,在该方法中运动速度较慢的物体也能得到较好的检测;文献[6]通过计算历史运动帧的能量来反映视频中运动目标的时空信息,实现运动片段提取;文献[7]将改进的局部纹理特征二值模式和颜色特征相结合用于背景建模,并结合像素的邻域相关性抑制虚假前景,可以很好地应对多模态背景场景;文献[8]将背景差分法和改进顺序轮廓分离策略相结合,在背景差分法检测前景运动过程中,将改进的顺序轮廓分离策略用于运动目标发现,可以区分复杂情况下大小和数量不断变化的运动目标;文献[9]在传统光流法的基础上计算了光流场四个边界的平均运动向量来提取前景目标,检测效果有所提升但运算量明显增大。基于上述目标检测方法进行运动片段提取可以取得较为理想的效果,但由于这些方法需要处理视频空域全量数据,逐帧检测运动目标,计算量大、耗费时间长。
随着人工智能的快速发展,深度学习方法被广泛应用于目标检测领域,文献[10]设计了一种端到端的用于间歇性目标检测的深度卷积神经网络,该网络以视频中的相邻两帧作为输入,根据像素之间的对应关系检测出运动目标;文献[11]提出了金字塔注意力模块来获取关键目标信息,并将扩张卷积块专用于多尺度特征提供语义信息和几何细节,来获得运动前景。此类算法需要大量的样本数据预先训练模型,算法复杂度高且对硬件设备有较高要求。
随着移动设备的广泛应用,在线运动片段提取的需求日益迫切,现有方法通常运算量大、算法复杂度高,难以应用到计算资源受限的移动设备上。文献[12]提出了边界检测方法来降低运算量,很好地解决了跨越监视区域边界的运动目标检测问题,但对监视区域内部的目标检测效果并不理想。为此,本文提出了一种嵌套椭圆时空管道的监控视频运动片段快速提取算法,该算法采用椭圆时空采样来兼顾运动目标检测的准确率和待处理的视频数据量;采用时空平面图全面分析监视区域内的运动状况;实现全面、快速地提取监控视频运动片段。
1 本文算法
本文提出了一种嵌套椭圆时空管道的监控视频运动片段快速提取算法,首先对输入视频序列进行椭圆时空采样以检测跨越视频边界的运动目标;其次递进椭圆时空采样生成嵌套椭圆时空管道;然后展开嵌套椭圆时空管道形成时空平面图;最后基于时空平面图构建时空流量模型进而提取监控视频运动片段。本文所提算法的流程如图1。
图1 本文算法流程Fig.1 Flowchart of proposed algorithm
1.1 椭圆时空采样
时空切片是一种能够高效表达视频序列时空信息的方式,被广泛应用于视频分析领域[13]。根据采样线的选择方式不同,时空切片具有不同的表现形式。在现实监控场景下,目标在监视区域内通常沿直线运动,如果运动目标在水平或垂直时空切片中一直以平行于采样线的方向运动,目标将不会跨越采样线,此时就会造成目标的丢失,导致漏检。边界时空采样[12]可以检测到来自各个方向的运动目标,但不能检测到在监视区域内部运动的目标。
本文提出椭圆时空采样,如图1 时空采样模块所示,根据不同宽高比的视频序列,自适应地产生内切于视频帧的椭圆采样线,当运动目标进入或退出监视区域时,会跨越椭圆采样线,通过计算图中椭圆采样线的周长可以得出,其周长明显小于边界采样线的周长,因此该采样方式可以兼顾来自各个方向的运动目标并且需要处理的数据量更小。对于现实监控场景来说,运动目标的轨迹多抽象为直线、拐角及其组合,因此不会导致漏检。提取视频序列每一帧的采样像素,按照时间轴T依次向后排列,形成椭圆时空管道,有目标跨越椭圆采样线时,会在椭圆时空管道上留下运动痕迹。
1.2 嵌套椭圆时空管道
为了全面检测监视区域内的运动目标,采用递进椭圆时空采样的方式来划分监视区域,图2(a)给出了3条椭圆采样线的划分示例,对应形成了3 个子监视区域。同理,采用n条椭圆采样线时,视频将被划分为n个子监视区域,椭圆采样线条数越多,运动目标的漏检率越低。
不同的子监视区域对应不同周长的椭圆时空管道,将各椭圆时空管道按时间轴T排列,周长越短的排列越靠后,形成如图2(b)所示的嵌套椭圆时空管道。
图2 嵌套椭圆时空管道的形成Fig.2 The formation of nested elliptical spatio-temporal tubes
1.3 时空平面图
沿嵌套椭圆时空管道的时间轴T方向将其展开可得到时空平面图。对于一个宽高为M×N共有T帧的监控视频,由外向内椭圆采样线周长分别为L1,L2,…,Ln,计算周长为L的椭圆采样线上某一像素在视频帧中的坐标(x,y),首先定义θ为
式中,S是弧长,L是对应椭圆采样线的周长,则θ是椭圆采样线上坐标点与椭圆中心的连线和x轴正方向的夹角。
式中,a是椭圆采样线长轴的长度,b是椭圆采样线短轴的长度,a、b分别为监控视频帧宽度的1/2 和高度的1/2。将第k帧视频中椭圆采样线上各个像素的坐标自上向下排列,可以形成长度为L的列向量Ek,可表示为
对视频序列中的每一帧进行相同的椭圆采样,提取每个椭圆上的像素,用表示第k帧上第i行第j列的像素,得到每一帧的Ek,将这些向量按时间顺序从左到右依次排列,可以得到椭圆时空管道的平面图SE,可表示为
将嵌套椭圆时空管道沿时间轴T方向展开,可以得到如图3所示的嵌套椭圆时空管道的时空平面图,从图中可以看到运动目标跨越椭圆采样线时在时空平面图上留下的痕迹。
图3 嵌套椭圆时空管道的时空平面图Fig.3 Spatio-temporal plane maps of nested elliptical spatio-temporal tubes
1.4 时空流量模型
运动片段由目标进入监视区域开始,到目标退出监视区域截止,目标进入监视区域赋予正流量,退出监视区域赋予负流量。为了确定子监视区域中运动目标的进入和退出,引入了次采样线,如图4所示,若运动目标先跨越子监视区域的采样线后跨越次采样线,则为进入子监视区域;若运动目标先跨越次采样线后跨越采样线,则为退出子监视区域。
图4 次采样线及时空流量示意图Fig.4 Schematic diagram of sub-sampling lines and spatio-temporal flow
将时空平面图中运动目标的质心归一化,如果运动目标进入子监视区域,将运动目标像素的值赋为1,如果运动目标退出子监视区域,将运动目标像素的值赋为-1。则第n个子监视区域的椭圆时空切片展开图中第k帧的瞬时时空流量Fn(fk)为
式中,pi,k表示展开图中第i行第k列的像素的值,即第k帧的像素,L表示对应椭圆采样线的周长。设N为子监视区域的总数目,那么第n个子监视区域的瞬时时空流量定义为
第n个子监视区域的累计时空流量定义为
根据式(8)~(11)可计算出椭圆时空管道的瞬时时空流量和累计时空流量,构建时空流量模型。在该模型中,瞬时时空流量大小反映了相应帧中运动目标是进入还是退出子监视区域,累计时空流量大小反映了相应帧子监视区域中运动目标的数量。
获得每个子监视区域的累计时空流量AFi后,依据监控视频中运动目标的稠密程度,将监控视频划分为N个子监视区域,将每个子监视区域的累计时空流量取并集,可以得到整个监视区域的累计时空流量,可表示为
根据式(12)获得的累计时空流量可以提取出整个监控视频的运动片段。
2 实验设置与分析
2.1 实验设置
实验环境为Windows10 系统、Intel(R)Core(TM)i5-8265U CPU、NVIDIA GeForce MX250 显卡,内存16 G。为了验证本文算法的正确性和有效性,在20 段监控视频上进行了实验,实验视频涉及多种场景,Video1-Video13 来自公共数据集SISOR,Video14、Video15 来自公共数据集KTH,Video16-Video18 来自公共数据集CAVIAR,Video19、Video20 为真实场景采集的监控视频,视频的详细信息如表1。
表1 实验视频信息Table 1 Information of experimental videos
2.2 实验对比
为了分析本文算法的有效性,使用计算时间(Calculating time,Tc)、准确率(Precision,P)、召回率(Recall,R)和F1-score(F1)来衡量算法的性能,统计实验结果中所有被识别为运动片段的视频帧,若帧中包含运动目标,则该帧为真正例(NTP),若帧中不包含运动目标,则该帧为假正例(NFP),对于包含运动目标但没有被识别为运动片段的帧,称为假负例(NFN)。准确率、召回率和F1-score 的计算表达式分别为
分别选取1 条椭圆采样线(1E)、2 条椭圆采样线(2E)、3 条椭圆采样线(3E)和4 条椭圆采样线(4E)对表1 中的20 段视频进行实验分析,并与当前主流的文献[4]、文献[6]和文献[9]中的运动片段提取算法进行实验对比,表2 为对比算法和本文算法在20 段实验视频上的平均计算时间、平均准确率、平均召回率和平均F1的值。
从表2 的平均计算时间可以看出,本文算法的计算时间明显低于文献[4]、文献[6]和文献[9]中算法的计算时间,主要原因是本文算法仅对时空平面图进行处理,即每帧只处理椭圆采样线上的像素,而不需逐帧逐像素处理,大大减少了数据量。假设视频的大小为M×N×T,M表示视频帧的高,N表示视频帧的宽,T表示视频序列的长度,则本文算法的计算复杂度为O(2×N+(π-2)×M),而对比算法的计算复杂度为O(M×N×T),O(2×N+(π-2)×M)≪O(M×N×T),可以看出本文算法的计算复杂度远小于对比算法,因此大大降低了计算时间。
从表2 的平均准确率可以看出,本文算法的平均准确率高于文献[4]、文献[6]和文献[9]中算法,随着椭圆采样线数量的增多,平均准确率会略微降低,这是因为椭圆采样线的增多可能会将小目标误认为运动目标,降低准确率,但本文算法的平均准确率依然高于对比算法。从平均召回率可以看出,当椭圆采样线的数量小于4 时召回率略低于改进光流法,这是因为所提算法仅计算椭圆采样线上的像素点,当椭圆采样线数量过少时可能遗漏部分运动目标,但随着椭圆采样线数量的增多,平均召回率逐渐提高,采用4 条椭圆采样线时,本文算法的平均召回率已经高于对比文献的算法。从平均F1可以看出,采样线数量增多时,F1逐渐提高,说明本文算法整体的性能相较于对比算法有所提升,证明了本文算法具有良好的监控视频运动片段提取性能。
2.3 实验结果分析
为了验证本文算法的正确性,选用具有代表性的视频Video1 和Video19 进行分析,其中Video1 为行人在室内运动的场景,两个行人分别进入监视区域并退出,Video19 为多个行人在室外运动的场景。
Video1 的瞬时时空流量、累计时空流量如图5。当瞬时时空流量大于0 时,应为目标进入监视区域,相应的累计时空流量应逐渐上升;当瞬时时空流量小于0 时,应为目标退出监视区域,相应的累计时空流量应逐渐下降,Video1 的时空流量曲线跳变处的视频帧如图6。
图5 Video1 的时空流量Fig.5 Spatio-temporal flow of video1
图6 Video1 的时空流量曲线跳变处的部分视频帧Fig.6 The part of the video frames at spatio-temporal flow curve changed of video1
Video1 的第181、385 帧为运动目标进入监视区域,对应的瞬时时空流量大于0,累计时空流量呈上升趋势;第321、505 帧为运动目标退出监视区域,对应的瞬时时空流量小于0,累计时空流量呈下降趋势。通过图6 可以看出,181~321 帧为运动目标从监视区域右侧进入,从左侧退出,是一段完整的运动片段,对应的累计时空流量大于0;385~505 帧为运动目标从监视区域左侧进入,从右侧退出,是一段完整的运动片段,对应的累计时空流量大于0;其余帧累计时空流量等于0,为静止片段,印证了本文算法的正确性。
对Video19 使用2 条椭圆采样线进行实验分析,使用本文算法,2 条椭圆采样线可以将视频序列分割为两个子监视区域,以第一个子监视区域为例进行分析,Video19 中目标的运动状态、对应的瞬时时空流量和累计时空流量如图7所示。
从图7 中可以看出,第75、341、852、931 帧为运动目标跨越椭圆采样线进入子监视区域,子监视区域相应的瞬时时空流量大于0,累计时空流量呈上升趋势;第172、761、1 235 帧为运动目标跨越椭圆采样线退出子监视区域,对应的瞬时时空流量小于0,累计时空流量呈下降趋势,印证了本文算法的正确性。
图7 Video19 的时空流量分析图Fig.7 Spatio-temporal flow analysis chart of video19
当累计时空流量大于0 时,表明进入子监视区域的运动目标数量大于退出子监视区域的运动目标数量,该部分视频为运动片段;当累计时空流量等于0 时,表明子监视区域没有运动目标进出,该部分视频为静止片段。
特别地,当累计时空流量小于0 时,表示退出子监视区域的运动目标数量大于进入子监视区域的运动目标数量,说明有目标由静止转为运动。
综上所述,本文算法在保证了精确度的同时,有效降低了计算复杂度,实现了监控视频运动片段的快速提取。实际应用中,子监视区域划分的越多,运动片段提取的精确度也就越高,但计算量也会随之增大。
3 结论
本文提出了一种嵌套椭圆时空管道的运动片段快速提取算法,利用递进的椭圆采样线对监控视频序列进行采样,将监控视频划分为多个子监视区域并检测运动目标,通过构建时空流量模型提取运动片段,在保证检测精度的前提下极大地减小了计算量,可以实现监控视频运动片段的快速提取。下一步工作,将研究运动片段中运动模式分类与目标精准识别。