徐迎春,丰洪才,刘 立
(1.武汉市气象台;2.武汉轻工大学网络与信息中心;3.武汉市东西湖职业技术学校信息技术系,湖北武汉 430023)
农业被认为是人类的“母亲产业”,而我国传统农业大多都是依靠经验进行种植的,且各地自然条件复杂多变,很多农民依然需要靠天吃饭,尤其缺乏专业化、系统化的培训。此种形势轻则影响粮食产量,重则危害生态与社会安全[1]。气象灾害对于农业生产会造成重要影响。在乡村振兴的背景下,新媒体开启了新时代的农村发展之路,其在信息传播等方面的优势显得尤为突出[2]。目前许多网络平台为农业从业者免费提供气象科普视频,气象科普视频的发展是国家防灾减灾政策引导的结果。借助视频推广农业气象知识,可让农户了解气象与农事的关系,从而掌握不同类型气象灾害的应对方法,以适应现代农业发展的需要、降低务农风险,从而获得更好的经济效益[3]。但现有的农业气象科普视频种类繁多,且很多内容冗长,农民很难快速找到自己需要的内容。因此,了解农民用户的个性化需求,并利用先进的视频分割技术帮助其快速获取信息,是当代技术人员的奋斗方向。
在农业生产过程中,气象灾害的影响尤为突出,因此广大农民用户有必要学习气象灾害防治知识,以便掌握相应防护措施,保障农业生产稳步进行。但如何高效地对海量农业气象科普视频进行组织、表达、存储和管理,提高农业气象科普视频检索效率,同时帮助农民朋友找出视频中感兴趣的镜头,促进其更充分地利用农业气象科普视频,从而推动农业信息化的发展,是亟需解决的难题。
一个完整的视频由帧、镜头、场景等组成,镜头是视频的基本组成单位,也是视频的最小语义单元,其包含一次连续拍摄的帧序列。开始帧号、帧数量、结束帧号等是镜头属性。在结构化的视频流中对镜头边界进行检测是许多视频后续处理的基础[4],在同一组镜头内视频帧的特征保持稳定,而一旦相邻的图像帧特征出现明显变化,即可判断镜头发生了变化,而发生变化的帧就是镜头分割点。视频序列中两个不同镜头间的衔接点称为分割点。视频中镜头的变化主要分为突变和渐变两种。突变(切变)是视频中最常见的镜头转换方式,是指一个镜头没有使用任何编辑手段直接切换到下一个镜头,该过程一般在两帧之间完成。渐变(缓变)是指镜头之间通过某种过渡方式,从一个镜头逐渐切换到另一个镜头,该变化过程可能在几帧或几十帧之间完成。渐变镜头边界又可划分成溶解、淡入淡出、擦变等。
镜头边界检测是基于内容的视频分析检索(Content Based Video Retrieval,CBVR)的关键和基础[5],其研究与应用一直受到人们关注。曾凡锋等[6]提出一种基于循环神经网络(Recurrent Neural Network,RNN)的渐变镜头检测方法,该方法首先使用深度神经网络技术提取特征,然后将特征融入帧间差得到初选视频镜头序列,最后运用循环神经网络技术进行二次复检,通过双重检验的方式进一步提高视频镜头边界的检测精度;王瑞佳等[7]提出一种基于改进互信息量的镜头检测算法,该算法通过定位视频中的字幕区域,计算非四角区域的HSV 直方图信息量差异度;来毅等[8]通过融合空间差异度和感知哈希度量构建一种镜头边界特征,再结合直方图差异度,判断镜头是否发生了切换;Chakraborty 等[9]提出一种将梯度与颜色相结合的镜头边界检测技术,该技术通过计算梯度相似度和亮度失真,以测量包括亮度变化在内的每一帧对比度和结构变化,从而判断镜头是否发生了转变。
以上方法大多针对综合平台,或面向特定场景,但并未涉及针对农业气象科普视频的镜头分割方法。本文针对农业气象科普视频的特点,设计了一种双重检验模型,将冗长的农业气象科普视频镜头进行分割。该算法可满足农民个性化的信息需求,提高农民对农业气象知识的检索效率,从而推进农业气象科普事业的发展,因此具有重要的研究意义。
气象科普视频的选题、拍摄内容及拍摄角度都是经过精心策划的,视频画面生动形象,内容清晰明了、通俗易懂,且传播速度快、覆盖面广。其具有以下特点:
(1)农业气象科普视频的镜头变化以突变为主,但也存在视频镜头渐变的现象,在视频镜头边界的检测方案中,两种变化都需要考虑。
(2)在农业气象科普视频节目中,通常以一种天气现象为主(如暴雨、雷电、大风、强对流天气等),讲述此种天气现象形成过程、发生时的表现形式以及带来的危害,最后提出应对措施。这类视频节目具有较强的逻辑性、科普性。
本文针对农业气象视频的特点,提出一种基于双重检验模型(初检和复检)的农业气象镜头分割算法。初检阶段利用等面积矩形环方法提取视频流的颜色特征,突出每一帧图像的主体内容。为避免人工设定阈值,采用自适应双阈值方法对镜头进行初次检测。复检阶段采用改进的sobel-sift 算法对初次检测的结果再次进行检测,从而进一步提高准确率,如图1所示。
Fig.1 Dual detection model图1 双重检测模型
视频具有静态特性和动态特性,静态特性是指图像帧的原始属性,主要是由颜色、纹理、形状大小等视觉特征来体现的。通过分析视频的静态特征,可提取出区别于其他视频帧的特征。动态特征是视频独有的属性,主要是由视频中的物体或摄像机的运动引起的,反映了视频动态的时域变化。
特征提取是指对视频特征属性进行数值化处理,通常是利用一些简单的值或矩阵(数值)来识别视频。颜色特征作为一种全局特征,是视频图像的重要属性之一[10]。彩色图像的表示与所采用的彩色模型有关,同一幅彩色图像如果采用不同的彩色模型(颜色空间)加以表示,对其的描述可能会有很大不同。常用的颜色空间有RGB(红red、绿green、蓝blue)、CMY(青色cyan、品红magenta、黄色yellow)、HSV(色调hue、饱和度saturation、亮度value)等。
HSV 颜色空间包含3 个通道,且各个通道可独立感知各种颜色分量的变化。HSV 空间有两个重要特点:①人眼能独立感知该空间各颜色分量的变化;②在HSV 颜色空间中,颜色三元组之间的欧式距离与人眼感觉到的相应颜色差具有线性关系,且符合人类的视觉特性[11]。但在现实生活中,人们肉眼所能看到的颜色由RGB 3 种基本颜色构成,因此需要进行颜色空间的转换。
设定RGB 颜色空间中的值(r,g,b),r,g,b∈[0,255],设v′=max(r,g,b),定义r′、g′、b′为:
则RGB 空间到HSV 空间的转换为:
对HSV 颜色空间进行非均匀量化,不但能够表达图像内容,而且能有效降低高维数据计算量。本文采用刘华咏等[12]提出的等面积矩形环量化HSV 颜色特征,先按照式(4)将3 个颜色分量转换为1 个分量,从而将视频图像的颜色划分为36个等级。
根据心理学研究表明,人的注意力主要集中在图像中心部分。颜色直方图只对视频图像的颜色进行统计,而忽略了颜色的空间分布信息。传统分块方法是将帧图像平均分成a×b 块,而没有突出帧图像的中心主体部分。本文采用一种基于等面积矩形环的划分方法,突出视频图像的中心内容,排除了视频图像中其他无关内容的干扰,即在矩形环上进行颜色特征提取,步骤如下:
Step1:确定每一帧图像的中心点O,按等面积矩形环分块原则,计算以O为中心的每个矩形环的边长m、n。假设从中心开始向外,依次标记出每个矩形环(R1,R2,…,Rn),如图2所示。
Fig.2 Equal area rectangular ring图2 等面积矩形环
则划分后每个矩形环的边长为:
式中,a、b为帧图像的边长,n为划分的矩形环数。
Step2:对于每一帧图像按照上述方法提取36个维度的颜色直方图特征,中心由内向外依次标记为Li(i=1,2,…,n)。
Step3:对每一帧图像的矩形环赋予不同权重值ωi,目的为在突出图像主体部分的同时,减弱边缘部分带来的影响,且各权重值大小按照帧图像中心点由内向外的顺序依次减小。
式中,n为划分的矩形环数。
Step4:利用式(7)得到帧图像特征向量F:
式中,F为从视频帧中提取的36维颜色特征向量。
Step5:计算帧间差Dij:
式中,Fi,k、Fj,k分别表示第i 帧和第j 帧在第k 维的特征值。
镜头是视频的基本组成单位,也是视频的最小语义单元,包含了一次连续拍摄的帧序列[5]。视频镜头分割的主要目标是检测出镜头边缘,将一段视频分割成若干个独立镜头,这也是CBVR 的基础技术和关键步骤。基于镜头的视频分割是利用镜头之间的明显特征差异确定镜头边界,如果某相邻两帧的差异度超出了设定阈值,则说明镜头发生了变化,下一个视频帧属于新镜头,否则属于同一个镜头。视频镜头发生突变时,帧间差异值较大,表现明显;而若是渐变,帧间差异值没有突变那么大,所以如何找到渐变的起始点成为镜头检测研究的重点。目前,学者们对镜头突变检测的研究已经取得了不错的成果,而针对镜头渐变的检测一直以来都是视频分割的难点所在。
很多学者在该领域进行了大量研究工作,其中最具代表性是双阈值法。双阈值法虽然能同时检测镜头突变和渐变,但此方法采用的是全局固定阈值,易导致镜头渐变起始点与结束点的误判。此外,采用全局阈值的镜头检测方法普适性差,不同视频的阈值不一定相同,极易导致检测性能不稳定[13]。为了改进阈值不易确定的问题,本文采用全局阈值与局部阈值相结合的方法进行镜头检测,以提高检测精度。具体流程如下:
高阈值为:
低阈值为:
在式(9)中,取一个长度为w 的滑动窗口,avg 为滑动窗口w 内的平均帧间差,Dij表示某两帧之间颜色的帧间差。在式(10)-式(11)中,α和β 为修正参数,当Dij>TH 时,即当某两帧的帧间差大于高阈值时,则判定第i 帧与第j 帧之间发生了镜头突变;当TL <Dij<TH 时,即当某两帧的帧间差落在高低阈值之间时,则判定第i 帧为渐变的起始帧,然后计算第i 帧与之后每一帧(i+1,i+2……)的累计帧间差,直到出现第j 帧的累计帧间差大于高阈值时,则第i+j 帧为渐变过程的结束帧。为避免初检阶段镜头分得过细或分割不够的结果,本文采用经验值α为5,β为3。
1.3.1 sift算法
尺度不变特征变换(scale-invariant feature transform,sift)可帮助定位图像中的局部特征,其对于图像的尺度和旋转能够保持不变性,对于视频图像噪声和拍摄视角的微小变化也能保持一定的稳定性与鲁棒性[14]。
1.3.2 多方向模板sobel算子
sobel 算子是一种将方向差分运算与局部平均相结合的方法。sobel算子认为,邻域像素对当前像素的影响不是等价的,距离不同的像素具有不同权值。一般来说,距离越近,产生的影响越大,反之亦然。但传统的sobel 算子只包含水平和垂直两个方向的模板,为更精准地提取图像边缘信息,本文采用李备备等[15]提出的多方向模板提取sobel 算子,此方法在原始的sobel 方向模板上,按逆时针旋转,每隔30 度增加一个模板,由此可得到12 个模板,并按各方向模板梯度求和,通过此种改进提高了sobel 算子的鲁棒性。多方向模板的sobel算子示意图如图3所示。
Fig.3 Schematic diagram of the sobel operator of the multi-directional template图3 多方向模板的sobel算子示意图
图3(a)是原始的sobel 算子模板,将此模板依次按逆时针旋转30°,即可得到12 个方向模板。通过该操作完善了视频帧各个方向的边缘信息,弥补了传统sobel 算子对于方向信息缺失的问题,同时扩展后的模板可提高视频帧边缘的检测精度。
为更好地细化视频帧边缘信息,需要对12 个方向模板进行加权求和,如式(12)所示:
以MP4 格式视频为例,输入一段视频序列V,设该视频序列包含N 个视频帧。首先,利用式(1)-式(3)将每一帧视频图像从RGB 颜色空间转化为HSV 颜色空间,用式(4)将HSV 的3 个颜色分量转换为1 个分量,从而将视频帧的颜色划分为36 个等级;然后,根据式(5)-式(7)对每个视频帧按等面积环进行不均匀分块,并结合式(8)计算出第i 帧与第j 帧之间的帧间差;最后,采用局部滑动窗口法实现镜头检测,改善了全局阈值法的短板,进而获得初次检测的渐变镜头序列grab、切变镜头序列cut。
为提高镜头检测精度,本文采用改进sift 特征匹配的视频镜头边缘复检算法,具体流程如下:
Step1:提取图像帧边缘信息。将初次得到的镜头序列进行灰度化处理(见式(13)-式(14)),灰度化是指替彩色图像的R、G、B 3 个分量找到一个合适、等效的值,以便将其转化为灰度图像的过程。假设彩色图像的三基色分量分别表示为R0、G0和B0,经过灰度化处理后所得的灰度值为Gnew,根据原始彩色图像中RGB 3 种颜色分量的相对重要性或其他指标,赋予三分量不同的权值,并取其加权平均值作为灰度化图像的灰度值。计算公式为:
其中,WR、WG、WB分别代表R、B、G 的权重值。
实验结果证明,当WR=0.299,WG=0.587,WB=0.114时,所得到的灰度图像比较合适。用公式表示为:
Step2:提取视频帧的sift 特征。采用多方向模板的sobel算子(见式(12))提取图像帧的边缘信息。sift特征提取流程如图4所示。
Step3:基于sift算法的图像匹配,将初检得到的视频序列集合进行二次复检,即比较初次提取某一镜头序列首尾帧sift特征点的匹配变化情况[16]。假设该镜头第一帧匹配的特征点数为m,最后一帧匹配的特征点数为n,如果m 与n 相差很大,说明存在镜头边界,否则进行sift 特征点匹配。假设s 为匹配点数,计算第i 帧与第i+1 帧的sift 特征匹配率为:
若Rm<2%,则说明第i 帧与第i+1 帧之间存在镜头边界,反之亦然,可将其从初检序列剔除。按此方法依次检测在初检过程中所提取的镜头集合cut 和grab 中的帧,并剔除匹配率低于2%的视频镜头序列,如图5所示。
Step4:输出二次复检后的镜头集合cut′和grab′。
实验视频素材来源于云上智农,云上智农是国内领先的农业教育服务平台(实验素材见图6),拥有最新的农业技能在线培训课程,同时也发布了有关农业知识的科普文章和视频。该平台在农业领域具有一定影响力。
Fig.4 Flow of sift feature extraction图4 sift特征提取流程
Fig.5 Recheck based on improved sift algorithm图5 基于改进sift算法的复检
Fig.6 Experimental material display图6 实验素材展示
美国国家标准与技术研究院为镜头边界检测给出了一种标准的估计方案,主要以镜头变换的查全率(Recall)和查准率(Precision)两个评价指标来检验视频镜头边界的检测结果,定义如下:
采用配置为i7 芯片、32GB 内存、1TB 固态硬盘的电脑进行实验,并采用MATLAB2019a 仿真软件对3 段视频进行镜头边界检测的仿真实验,结果如表1、表2 和图7-图9所示。
Table 1 Analysis of experimental results表1 实验结果分析
Table 2 Comparative experiment with other literatures表2 与其他文献对比实验 %
Fig.7 Lens gradient effect display图7 镜头渐变效果展示
以上实验结果表明,该算法对于镜头切变的检测效果较好,3 段视频切变的查全率分别为94.2%、89.3%、92.2%,查准率分别为91.7%、92.6%、94.0%。由于视频渐变种类较多,因而加大了镜头检测难度,因此本文算法对于镜头的渐变检测效果较为一般,其中平均查准率为84.03%,平均查全率为88.13%。本文算法与双阈值法相比,检测效果有所提升,其原因为经过sobel-sift 复检进一步提高了镜头检测精度。本文算法与文献[16]的算法相比,因为文献[16]的算法采用sift 提取每一帧图像特征,而提取sift 点的过程复杂,需要花费大量时间,因此该算法并不适合直接应用于视频这类数据量大的场景。从图7 可以看出,同一组镜头画面具有极高的相似性,每一帧图像的变化很小。图8 展示了从闪电镜头画面逐渐切换到下一个介绍暴雨的镜头画面,图9 展示了暴雨科普视频经过镜头分割后的部分镜头画面。
本文在现有视频分割算法的基础上,结合农业气象科普视频的特点,将先进的视频分割技术应用于农业气象科普视频中,运用一种双重检验方式。实验结果表明,该算法较好地实现了农业气象科普视频分割,减少了镜头的漏检数和误检数,平均查全率为88.13%,平均查准率为84.03%。本文立足于农民对气象科普视频的需求,创新性地融合视频的内容和表现形式,充分发挥视频传播速度快、覆盖面广、表现形式多样化的特点。本文算法满足了农民个性化与专业化的检索需求,提升了农民对农业气象科普视频的利用率,同时也促进了多媒体技术与气象科普工作的融合。在可预见的未来,基于内容的视频检索技术还将为气象科普事业的发展提供更多新思路和新方法,从而不断提升农业气象科普的社会影响力。
Fig.8 Lens switching effect display图8 镜头切换效果展示
Fig.9 Partial lens segmentation effect display图9 部分镜头分割效果展示