基于Sobel-LBP的农技知识视频关键帧提取优化算法

2022-12-29 07:31丰洪才
湖北农业科学 2022年20期
关键词:关键帧邻域算子

刘 立,丰洪才,黄 清

(1.武汉轻工大学,a.数学与计算机学院,b.网络与信息中心,武汉 430023;2.武汉市东西湖职业技术学校信息技术系,武汉 430023)

在乡村振兴的背景下,新媒体开启了新时代的农村发展之路[1],新媒体使视频传播农作物种植技术以及病虫害防治技术成为可能,广大农友可以从视频中获得大量新型实用的农技知识。通过农业技术推广,帮助农民增收致富。

视频是由一系列视频图像帧组合而成,关键帧提取是一种用于从视频帧集合中发现并消除重复帧的技术。关键帧是指视频序列中最能准确反映并体现一个镜头乃至视频具体内容的图像帧,在基于内容视频检索(CBVR,Content-based video retrieval)过程中,对视频序列进行镜头边界检测(SBD,Shot boundary detection)得到一系列镜头后,在各个镜头中选取适量的关键帧建立视频索引,它是将视频转换为图像的关键环节。因此,关键帧的精度提取是保证视频的索引、检索和浏览的重要前提。

在对视频镜头提取关键帧时,应选取具有较好的代表性视频图像,即能够真实反映视频镜头的主题或部分内容。同时,所提取的关键帧个数需与镜头内容的变化保持一致,即针对内容变化较大的镜头,应提取较多的关键帧。在实际应用中,主要有4种不同类型的关键帧提取方法:基于镜头的方法[2]、基于内容分析的方法[3]、基于运动分析的方法[4]、基于聚类的方法[5]。还有学者采用多种方法融合提取视频关键帧,张杰等[6]采用主成分分析法(Principal component analysis,PCA)提取关键帧。卢小平等[7]利用多个影像重叠区相关系数快速提取关键帧。Jadhav等[8]使用基于分块的高阶颜色矩进行镜头边缘检测,然后从每个镜头中标准偏差最高的帧作为关键帧。郝晓丽等[9]在CUDA(Compute unified device architecture,统一计算设备架构)框架下利用互信息熵多级提取关键帧。Hannane等[10]利用SIFT(Scale-invariant feature transform,尺度不变特征变换)点的分布检测镜头变换,再利用奇异值分解提取关键帧。王民等[11]面向手语视频,提出了一种基于压缩感知与SURF(Speed up robust features,加速健壮的特征)特征联合提取关键帧的方法。俞璜悦等[12]从用户感兴趣的内容出发,联合权重语义建模提取关键帧。张晓宇等[13]计算了传统手工提取HOG特征与深度神经网络提取的特征,融合相似度进行关键帧的提取。

上述方法都有各自不同的研究角度,并面向特定场景应用领域,但面向农业技术领域内的视频关键帧提取研究甚少。为了满足广大农友渴望高效地获得农技知识,能从海量视频中快速准确搜索到有效信息,本研究以水果病虫害知识视频为例,提出了一种农业知识视频关键帧提取的方法。该方法分为2个阶段6个步骤(图1),首先采用了一种基于Sobel边缘局部二值模式(Sobel-LBP)算法提取关键帧方法;再利用关键帧在视频序列中的位置信息,去除冗余关键帧,得到二次优化的关键帧。

图1 算法流程

1 基于Sobel-LBP的面向农技知识视频关键帧提取优化算法

1.1 水果知识视频特点

现有农技知识视频选题贴近农业生产活动,拍摄内容生动形象真实,拍摄环境以及角度都是由专业人员处理制作。这类视频具有传播速度快和覆盖面广等特点,逐渐成为了农业科学技术转化为现实生产力的媒介。对于水果病虫害知识视频来说,它具有以下特点。

1)视频拍摄对象主要为受到病虫侵害的水果,其果面会出现如变色、坏死、畸形、腐烂等特征表现。拍摄对象一般在镜头画面正中央,图像稳定、无明显杂波。

2)在一期水果病虫害知识视频节目中,通常以一种水果作为对象,介绍多种病虫害的识别及防治方法。为了增加广大农友对于病果的识别判断能力,在拍摄时,需要用到多个镜头、场景,突出这些病果呈现的形态。这就造成视频镜头中信息的冗余,可将相似的特征图像组只保留一个显著特征,来概括视频的关键信息。

1.2 将RGB转为灰度图

颜色是水果的重要属性之一,成熟水果的颜色与其他因素具有明显区别,成熟的苹果多为红色且色泽光亮,而遭受苹果褐腐病的果面呈灰褐色。因此,颜色可以作为识别水果成熟度以及水果病虫害的依据之一。颜色特征是一种全局特征,描述了水果图像帧对应景物的表面性质[14]。颜色特征的描述通常建立在颜色空间的基础上。常用的颜色空间有RGB(Red,Green,Blue)、HSV(Hue,Saturation,Value)、LAB(Hue,Saturation,Intensity)等。

一幅视频图像由很多个像素点组成,而每个像素点的颜色信息通常是由RGB三原色组成,颜色本身非常容易受到光照的影响,导致RGB的值变化很大。为了减少视频图像的原始数据量,便于后续处理,需要将彩色的病虫害视频图像转换灰度图像,减小背景对图像的影响。灰度化之后,RGB图像的3个通道转为1个通道后,且矩阵维度下降,运算速度大幅度提高,还保留了梯度信息。

按式(1)所示,对RGB三分量进行加权平均能得到较合理的灰度图像。

1.3 Sobel算子提取图像边缘

图像边缘常常是灰度变化剧烈的区域,同时也是信息最集中的地方,只有成功地提取出图像边缘才能将目标和背景区分开来。常见提取图像边缘的算子有Sobel算子、Prewitt算子、Roberts算子、Canny算子、Laplacian算子等。其中,Sobel是一个主要用于图像边缘检测的离散微分算子,它结合了高斯平滑和微分求导,用于计算图像敏感程度近似值[15]。Sobel算子不但具有计算简单、执行速度快、检测效果较好等特点,还能有效抑制图像噪声。

Sobel算子使用2个不同的卷积核在图像上做卷积运算,卷积的实质分别是检测出视频图像的水平边缘及垂直边缘。Sobel卷积核如公式(2)所示。

如果用A表示原始视频图像,Gx及Gy分别表示经横向及纵向边缘检测的视频图像,如式(3)所示。

利用式(4)来计算某点灰度大小如式(4)所示。

1.4 LBP特征提取

纹理是指视频图像像素灰度呈现出的空间分布特性,其中包括大量信息。纹理可以反映水果果面是否有伤痕以及缺陷的程度。如患炭疽病的苹果,发病初期果面上出现淡褐色小斑点,后逐渐扩大成深浅相间的同心轮纹状排列。当前,常用的纹理特征提取方法有基于局部二值模式(LBP,Local binary patterns)、基于灰度共生矩阵(GLCM,gray-level cooccurrence matrix)、基于小波变化方法等。

LBP算子已经成为一种非常强大的图像纹理度量方法,它已经在视觉检测、图像检索、遥感、生物医学图像分析、人脸图像分析、运动分析、环境建模和室外场景分析等领域广泛应用。

Ojala等[16]于1994年首次提出了局部二值模式(LBP)算子,原始LBP算子记录了与周围图像点的差异信息。如图2所示,最左边的是原图,要检测某点的像素信息,在3×3的区域内进行阈值化处理,如果邻域内某像素点值大于等于中心像素点的值[17],则该像素点的位置被标记为1,否则标记为0。最后将中心像素点周围的二进制数01100010(起始位置并无要求,只要按顺时针方向)转换为十进制数,得到该区域中心像素点的LBP值。

图2 原始LBP值的定义

为了使LBP算子不再局限于3×3的方形区域类,研究者又将原始的3×3邻域扩展到任意邻域,原始的正方形邻域也被圆形邻域替代[17],改进后的LBP算子在半径为R(R>0)的圆形邻域内有P(P>0)个像素点,以圆心为中心点,在半径为R的圆上等间隔地采样P个点(图3),用这P个点的灰度值与中心点的灰度值进行二值化比较,此种LBP算子被称为Extended LBP或Round LBP。

图3 不同取值的P、R对应的圆形邻域

用公式可以表示:

式(5)、式(6)中,P代表半径为R的圆形邻域内像素点的个数,中心像素点的灰度值用bc表示,bi为以bc为中心点且半径为R的圆上第i个像素点的灰度值。s(x)用来判断bi-bc的值,如果bi-bc值大于0,则s(x)为1,否则,s(x)为0。

伴随半径的增大,各像素的相关性逐步减小,即可在较小的邻域中获得大部分的纹理信息。对应的LBP(P,R)会产生2p种模式,以R=1、P=8为例,此邻域内会产生28=256种二进制模式。显然采样点增加了,LBP模式的种类也会随之增加。在特征提取的过程中造成了冗余,也会消耗大量的计算时间。

研究者提出等价模式(Uniform pattern)来对Extended LBP算子进行降维处理[17],当某种LBP模式对应的循环二进制数在0到1或1到0之间,且最多进行2次跳变,那么该LBP模式所对应的二进制称为一个等价LBP模式[18]。如:00011111(1位跳变)、11001111(2位跳变)它们属于统一模式,而01010010(6位跳变)不是统一LBP模式,为了验证某种模式是否为统一LBP模式,最简单的方法是将其移动一位后的二值模式按位相减再绝对值求和,用式(7)可以表示为:

式(7)中,b0代表被指定为bc左上角元素的灰度值,除了式(7)之外的其他LBP模式归为混合模式。通过此改进,在不丢失任何信息的情况下,LBP模式的数量大大减少,从2p种减少到p×(p-1)+2种,其中p表示邻域集内的采样点数。

为了使图像的旋转不变性,研究者又提出了旋转不变性的LBP算子[19],用该圆形邻域内的最小值作为此邻域的LBP值,用式(8)可以表示为:

式(8)中,ROR(x,i)表示将x循环右移i(i

图4 旋转圆形领域内LBP值

将统一LBP模式与旋转不变性的LBP模式联合起来,旋转不变均匀LBP描述子,可以用式(9)表示:

式(9)中,riu使用了旋转不变统一模式,这样统一的LBP模式都可以通过二值化计算中1的个数得到,而非统一LBP模式归为第P+1类。

1.5 算法流程

以MP4格式视频为例,输入一段视频序列V,设该序列中包含有N个视频帧。数组key存放初次关键帧的序列,数组key’存放经二次优化后关键帧序列。

1)预处理。在预处理阶段,提取视频序列V中的帧,利用式(1)将每一帧图像转换为灰度图像,并作为特征提取阶段的输入对象。

2)特征提取。对于灰度化后的每一帧图像使用式(3)提取图像的边缘信息,再利用式(9)提取均匀的局部二进制模式。在此过程中,先用Sobel算子提取视频图像的轮廓信息,再用LBP局部二值模式对轮廓图进行纹理特征提取,巧妙地将图像轮廓信息和纹理信息融合,也降低了视频图像背景噪声的影响。

3)帧间差计算。利用Euclidean距离法计算相邻两帧图像之间的差异距离,并将其计算结果存储到名为dissimilarity的数组中。

式中,Hlbpi和Hlbpi+1为相近两帧的纹理直方图统计,Hlbpi(j,k)为第i帧图像中第j个区域第k个灰度区间内LBP纹理信息的统计值,Hlbpi+1(j,k)为第i+1帧图像中第j个区域第k个灰度区间内LBP纹理信息的统计值。

4)阈值计算。计算dissimilarity数组的平均值D,并将其作为阈值T来提取关键帧。即T=平均值(D)。

5)初次关键帧提取。在数组dissimilarity中进行查找,将帧间距离与阈值T进行比较,如果距离大于T,则选取大于阈值T的两帧作为关键帧,直到所有视频序列帧处理完毕。并将得到的关键帧序列输入到数组key中,并输出视频关键帧数组key={key|i=1,2,…,n}。

6)二次优化提取关键帧。上述步骤是从视频图像的边缘和纹理特征提取关键帧,没有考虑到视频镜头中物体的快速运动或者闪光。导致内容相似的两帧会被误判成关键帧。从图5中可以看出,出现重复关键帧是在视频序列中同一组镜头内,为了提高提取关键帧的效果,本研究采用了刘华咏等[20]提出间隔2次提取关键帧的方法,对于第五步得到的关键帧数组序列进行二次优化提取关键帧。设帧率倍数系数为u,视频帧率为f,则帧间隔值d=uf,假设第一次提取的关键帧数量为n。

图5 初次提取关键帧效果

设数组p={pi|i=1,2,…,n}记录第一次提取关键帧数组key中的位置信息。数组q={qi|i=1,2…,n}记录相邻关键帧的位置序列号差值。比较数组q中的值与间隔d值,如果qid,则不做任何操作。经过二次优化提取视频关键帧,去除冗余视频图像,从而更好地反映视频的内容,且此方法对于不同类型视频镜头都具有一定的适应性[21],最后输出二次优化的视频关键帧数组key’={key|i=1,2,…,m}。

2 试验与结果分析

2.1 试验数据来源

试验视频素材均来源于中央电视台《农广天地》节目,从栏目中选取4段不同水果病虫害知识视频作为试验素材。每期节目大约25 min,帧速率为25帧/s,视频的格式为MP4,如图6所示。

图6 试验素材展示

2.2 评价标准

美国国家标准与技术研究院(National institute of standards and technology,NIST)给出了一种标准的估计方案,主要从查全率(R)和查准率(P)2个评价指标来检验算法的有效性,定义如下:

查全率和查准率有一定影响关系,高的查准率可以通过选取少量关键帧来实现,而高的查全率则可以通过选取过多的关键帧来实现,F1综合指数兼顾了二者的关系,它可以看做是查准率和查全率的调和平均数,其值最大值为1,最小值为0。用式(13)表示:

精确度是正确的关键帧数占视频总数帧的比例,其值越高,表明该算法提取视频中关键帧的准确度越高,用式(14)表示:

式(14)中,TN表示被正确检测到非关键帧的数目。

缺失因子表示没有找到的关键帧数量与已经找到正确的关键帧的数量之比,其值越低,表明该算法的性能越好。缺失因子(mf)定义如下:

采用基于豪斯多夫距离(Hausdorff distance)的保真度(Fidelity)来检验提取关键帧算法的有效性。保真度度量了提取出来的关键帧数和视频的总帧数最小距离的最大值,它反映了从视频中提取出的关键帧与该视频相似程度,保真度越高,提取对关键帧越能更好地表示视频内容[22]。

设一段视频序列中V包含n个帧,即V={f1,f2,f3,…,fn},R是从视频序列的镜头中提取的m个关键帧集合,即R={kf1,kf2,kf3,…,kfm},假设任意两帧图像之间的距离为d(·),将提取出来第一个关键帧与视频序列的每一帧图像进行比较,选取比较值中的最小值作为该关键帧的参考值,以此类推,直至结束。其计算公式为:

式(16)中,fn表示视频序列V的第n帧,kfm表示关键帧集合R中的第m个关键帧。

视频序列V和关键帧集合R之间的豪斯多夫距离定义如下:

结合式(16)、式(17)得出保真度:

式(18)中,di表示视频序列V中任意两帧图像特征向量之间的距离,保真度可以有效地评价提取提取出来的关键帧集合与原视频的相似程度。

2.3 结果分析

本研究在i7处理器、16 GB内存、Win10操作系统上用MATLAB2020a仿真软件对4段水果病虫害知识视频进行关键帧提取的仿真试验,在对初次提取关键帧进行二次优化时,帧率倍数u设置为1.5,其试验结果如表1和图7所示。

图7 关键帧提取效果展示

从表1可以看出,本研究算法与其他的关键帧提取方法相较,本研究算法测试4段水果病虫害知识视频的F1综合指数分别为0.92、0.96、0.88、0.87,平均F1综合指数可达0.91,平均精确度高达91.35%,平均缺失因子为2.46,平均保真度高达92.18%。从F1综合指数、精确度、缺失因子、保真度这4个维度上来看,本研究的算法总体性能较高,所使用提取的关键帧方法能较好地表示视频主要内容。研究者提出了一种新颖的基于图像块的视频摘要技术,将视频的帧划分为块,计算每个块的均值、方差、偏斜、峰度直方图,并将其与下一帧的相应块进行比较[8]。所提出的技术通过考虑由高阶颜色矩捕获的图像中颜色的分布,成功地检测了镜头边界和关键帧。从检测到的每个镜头中,选择均值和方差最高的帧作为关键帧。但未与其他特征相结合使用,因此提取关键帧效率一般。研究者通过sift点的直方图进行视频镜头边界检测和关键帧提取,sift对光照和尺度变化具有较好的鲁棒性,然而提取sift特征点的过程复杂,不适合像视频文件数据量大的应用场景[10]。利用深度学习方法提取关键帧,需要有大量的特征模型训练,且该方法在设置标签时掺杂了过多的主观因素[13]。

表1 本研究算法与其他算法对比

3 小结

以水果病虫害知识视频为例,将视频图像边缘局部二值模式(Sobel-LBP)算法融合视频帧间差,初步选取关键帧;为了优化提取关键帧的结果,结合初次提取关键帧在原始视频的位置间隔大小,去除冗余关键帧,得到二次优化的关键帧。该算法通过提取视频序列有代表性的画面作为关键帧,节省了广大农友的检索浏览时间,利用网络视频的信息传播优势,将新型农业技术快速有效地传递给广大农友。此算法深度融合了多媒体技术、农业生产种植技术、病虫害防治技术,满足了广大农友的需求,推动了现代农业向信息化、现代化、智能化的发展。

猜你喜欢
关键帧邻域算子
拟微分算子在Hp(ω)上的有界性
各向异性次Laplace算子和拟p-次Laplace算子的Picone恒等式及其应用
稀疏图平方图的染色数上界
一类Markov模算子半群与相应的算子值Dirichlet型刻画
基于邻域竞赛的多目标优化算法
基于改进关键帧选择的RGB-D SLAM算法
Roper-Suffridge延拓算子与Loewner链
关于-型邻域空间
基于相关系数的道路监控视频关键帧提取算法
基于聚散熵及运动目标检测的监控视频关键帧提取