劉 立,豐洪才,黃 清
(1.武漢輕工大學(xué),a.數(shù)學(xué)與計算機學(xué)院,b.網(wǎng)絡(luò)與信息中心,武漢 430023;2.武漢市東西湖職業(yè)技術(shù)學(xué)校信息技術(shù)系,武漢 430023)
在鄉(xiāng)村振興的背景下,新媒體開啟了新時代的農(nóng)村發(fā)展之路[1],新媒體使視頻傳播農(nóng)作物種植技術(shù)以及病蟲害防治技術(shù)成為可能,廣大農(nóng)友可以從視頻中獲得大量新型實用的農(nóng)技知識。通過農(nóng)業(yè)技術(shù)推廣,幫助農(nóng)民增收致富。
視頻是由一系列視頻圖像幀組合而成,關(guān)鍵幀提取是一種用于從視頻幀集合中發(fā)現(xiàn)并消除重復(fù)幀的技術(shù)。關(guān)鍵幀是指視頻序列中最能準確反映并體現(xiàn)一個鏡頭乃至視頻具體內(nèi)容的圖像幀,在基于內(nèi)容視頻檢索(CBVR,Content-based video retrieval)過程中,對視頻序列進行鏡頭邊界檢測(SBD,Shot boundary detection)得到一系列鏡頭后,在各個鏡頭中選取適量的關(guān)鍵幀建立視頻索引,它是將視頻轉(zhuǎn)換為圖像的關(guān)鍵環(huán)節(jié)。因此,關(guān)鍵幀的精度提取是保證視頻的索引、檢索和瀏覽的重要前提。
在對視頻鏡頭提取關(guān)鍵幀時,應(yīng)選取具有較好的代表性視頻圖像,即能夠真實反映視頻鏡頭的主題或部分內(nèi)容。同時,所提取的關(guān)鍵幀個數(shù)需與鏡頭內(nèi)容的變化保持一致,即針對內(nèi)容變化較大的鏡頭,應(yīng)提取較多的關(guān)鍵幀。在實際應(yīng)用中,主要有4種不同類型的關(guān)鍵幀提取方法:基于鏡頭的方法[2]、基于內(nèi)容分析的方法[3]、基于運動分析的方法[4]、基于聚類的方法[5]。還有學(xué)者采用多種方法融合提取視頻關(guān)鍵幀,張杰等[6]采用主成分分析法(Principal component analysis,PCA)提取關(guān)鍵幀。盧小平等[7]利用多個影像重疊區(qū)相關(guān)系數(shù)快速提取關(guān)鍵幀。Jadhav等[8]使用基于分塊的高階顏色矩進行鏡頭邊緣檢測,然后從每個鏡頭中標準偏差最高的幀作為關(guān)鍵幀。郝曉麗等[9]在CUDA(Compute unified device architecture,統(tǒng)一計算設(shè)備架構(gòu))框架下利用互信息熵多級提取關(guān)鍵幀。Hannane等[10]利用SIFT(Scale-invariant feature transform,尺度不變特征變換)點的分布檢測鏡頭變換,再利用奇異值分解提取關(guān)鍵幀。王民等[11]面向手語視頻,提出了一種基于壓縮感知與SURF(Speed up robust features,加速健壯的特征)特征聯(lián)合提取關(guān)鍵幀的方法。俞璜悅等[12]從用戶感興趣的內(nèi)容出發(fā),聯(lián)合權(quán)重語義建模提取關(guān)鍵幀。張曉宇等[13]計算了傳統(tǒng)手工提取HOG特征與深度神經(jīng)網(wǎng)絡(luò)提取的特征,融合相似度進行關(guān)鍵幀的提取。
上述方法都有各自不同的研究角度,并面向特定場景應(yīng)用領(lǐng)域,但面向農(nóng)業(yè)技術(shù)領(lǐng)域內(nèi)的視頻關(guān)鍵幀提取研究甚少。為了滿足廣大農(nóng)友渴望高效地獲得農(nóng)技知識,能從海量視頻中快速準確搜索到有效信息,本研究以水果病蟲害知識視頻為例,提出了一種農(nóng)業(yè)知識視頻關(guān)鍵幀提取的方法。該方法分為2個階段6個步驟(圖1),首先采用了一種基于Sobel邊緣局部二值模式(Sobel-LBP)算法提取關(guān)鍵幀方法;再利用關(guān)鍵幀在視頻序列中的位置信息,去除冗余關(guān)鍵幀,得到二次優(yōu)化的關(guān)鍵幀。
圖1 算法流程
現(xiàn)有農(nóng)技知識視頻選題貼近農(nóng)業(yè)生產(chǎn)活動,拍攝內(nèi)容生動形象真實,拍攝環(huán)境以及角度都是由專業(yè)人員處理制作。這類視頻具有傳播速度快和覆蓋面廣等特點,逐漸成為了農(nóng)業(yè)科學(xué)技術(shù)轉(zhuǎn)化為現(xiàn)實生產(chǎn)力的媒介。對于水果病蟲害知識視頻來說,它具有以下特點。
1)視頻拍攝對象主要為受到病蟲侵害的水果,其果面會出現(xiàn)如變色、壞死、畸形、腐爛等特征表現(xiàn)。拍攝對象一般在鏡頭畫面正中央,圖像穩(wěn)定、無明顯雜波。
2)在一期水果病蟲害知識視頻節(jié)目中,通常以一種水果作為對象,介紹多種病蟲害的識別及防治方法。為了增加廣大農(nóng)友對于病果的識別判斷能力,在拍攝時,需要用到多個鏡頭、場景,突出這些病果呈現(xiàn)的形態(tài)。這就造成視頻鏡頭中信息的冗余,可將相似的特征圖像組只保留一個顯著特征,來概括視頻的關(guān)鍵信息。
顏色是水果的重要屬性之一,成熟水果的顏色與其他因素具有明顯區(qū)別,成熟的蘋果多為紅色且色澤光亮,而遭受蘋果褐腐病的果面呈灰褐色。因此,顏色可以作為識別水果成熟度以及水果病蟲害的依據(jù)之一。顏色特征是一種全局特征,描述了水果圖像幀對應(yīng)景物的表面性質(zhì)[14]。顏色特征的描述通常建立在顏色空間的基礎(chǔ)上。常用的顏色空間有RGB(Red,Green,Blue)、HSV(Hue,Saturation,Value)、LAB(Hue,Saturation,Intensity)等。
一幅視頻圖像由很多個像素點組成,而每個像素點的顏色信息通常是由RGB三原色組成,顏色本身非常容易受到光照的影響,導(dǎo)致RGB的值變化很大。為了減少視頻圖像的原始數(shù)據(jù)量,便于后續(xù)處理,需要將彩色的病蟲害視頻圖像轉(zhuǎn)換灰度圖像,減小背景對圖像的影響?;叶然?,RGB圖像的3個通道轉(zhuǎn)為1個通道后,且矩陣維度下降,運算速度大幅度提高,還保留了梯度信息。
按式(1)所示,對RGB三分量進行加權(quán)平均能得到較合理的灰度圖像。
圖像邊緣常常是灰度變化劇烈的區(qū)域,同時也是信息最集中的地方,只有成功地提取出圖像邊緣才能將目標和背景區(qū)分開來。常見提取圖像邊緣的算子有Sobel算子、Prewitt算子、Roberts算子、Canny算子、Laplacian算子等。其中,Sobel是一個主要用于圖像邊緣檢測的離散微分算子,它結(jié)合了高斯平滑和微分求導(dǎo),用于計算圖像敏感程度近似值[15]。Sobel算子不但具有計算簡單、執(zhí)行速度快、檢測效果較好等特點,還能有效抑制圖像噪聲。
Sobel算子使用2個不同的卷積核在圖像上做卷積運算,卷積的實質(zhì)分別是檢測出視頻圖像的水平邊緣及垂直邊緣。Sobel卷積核如公式(2)所示。
如果用A表示原始視頻圖像,Gx及Gy分別表示經(jīng)橫向及縱向邊緣檢測的視頻圖像,如式(3)所示。
利用式(4)來計算某點灰度大小如式(4)所示。
紋理是指視頻圖像像素灰度呈現(xiàn)出的空間分布特性,其中包括大量信息。紋理可以反映水果果面是否有傷痕以及缺陷的程度。如患炭疽病的蘋果,發(fā)病初期果面上出現(xiàn)淡褐色小斑點,后逐漸擴大成深淺相間的同心輪紋狀排列。當前,常用的紋理特征提取方法有基于局部二值模式(LBP,Local binary patterns)、基于灰度共生矩陣(GLCM,gray-level cooccurrence matrix)、基于小波變化方法等。
LBP算子已經(jīng)成為一種非常強大的圖像紋理度量方法,它已經(jīng)在視覺檢測、圖像檢索、遙感、生物醫(yī)學(xué)圖像分析、人臉圖像分析、運動分析、環(huán)境建模和室外場景分析等領(lǐng)域廣泛應(yīng)用。
Ojala等[16]于1994年首次提出了局部二值模式(LBP)算子,原始LBP算子記錄了與周圍圖像點的差異信息。如圖2所示,最左邊的是原圖,要檢測某點的像素信息,在3×3的區(qū)域內(nèi)進行閾值化處理,如果鄰域內(nèi)某像素點值大于等于中心像素點的值[17],則該像素點的位置被標記為1,否則標記為0。最后將中心像素點周圍的二進制數(shù)01100010(起始位置并無要求,只要按順時針方向)轉(zhuǎn)換為十進制數(shù),得到該區(qū)域中心像素點的LBP值。
圖2 原始LBP值的定義
為了使LBP算子不再局限于3×3的方形區(qū)域類,研究者又將原始的3×3鄰域擴展到任意鄰域,原始的正方形鄰域也被圓形鄰域替代[17],改進后的LBP算子在半徑為R(R>0)的圓形鄰域內(nèi)有P(P>0)個像素點,以圓心為中心點,在半徑為R的圓上等間隔地采樣P個點(圖3),用這P個點的灰度值與中心點的灰度值進行二值化比較,此種LBP算子被稱為Extended LBP或Round LBP。
圖3 不同取值的P、R對應(yīng)的圓形鄰域
用公式可以表示:
式(5)、式(6)中,P代表半徑為R的圓形鄰域內(nèi)像素點的個數(shù),中心像素點的灰度值用bc表示,bi為以bc為中心點且半徑為R的圓上第i個像素點的灰度值。s(x)用來判斷bi-bc的值,如果bi-bc值大于0,則s(x)為1,否則,s(x)為0。
伴隨半徑的增大,各像素的相關(guān)性逐步減小,即可在較小的鄰域中獲得大部分的紋理信息。對應(yīng)的LBP(P,R)會產(chǎn)生2p種模式,以R=1、P=8為例,此鄰域內(nèi)會產(chǎn)生28=256種二進制模式。顯然采樣點增加了,LBP模式的種類也會隨之增加。在特征提取的過程中造成了冗余,也會消耗大量的計算時間。
研究者提出等價模式(Uniform pattern)來對Extended LBP算子進行降維處理[17],當某種LBP模式對應(yīng)的循環(huán)二進制數(shù)在0到1或1到0之間,且最多進行2次跳變,那么該LBP模式所對應(yīng)的二進制稱為一個等價LBP模式[18]。如:00011111(1位跳變)、11001111(2位跳變)它們屬于統(tǒng)一模式,而01010010(6位跳變)不是統(tǒng)一LBP模式,為了驗證某種模式是否為統(tǒng)一LBP模式,最簡單的方法是將其移動一位后的二值模式按位相減再絕對值求和,用式(7)可以表示為:
式(7)中,b0代表被指定為bc左上角元素的灰度值,除了式(7)之外的其他LBP模式歸為混合模式。通過此改進,在不丟失任何信息的情況下,LBP模式的數(shù)量大大減少,從2p種減少到p×(p-1)+2種,其中p表示鄰域集內(nèi)的采樣點數(shù)。
為了使圖像的旋轉(zhuǎn)不變性,研究者又提出了旋轉(zhuǎn)不變性的LBP算子[19],用該圓形鄰域內(nèi)的最小值作為此鄰域的LBP值,用式(8)可以表示為:
式(8)中,ROR(x,i)表示將x循環(huán)右移i(i
圖4 旋轉(zhuǎn)圓形領(lǐng)域內(nèi)LBP值
將統(tǒng)一LBP模式與旋轉(zhuǎn)不變性的LBP模式聯(lián)合起來,旋轉(zhuǎn)不變均勻LBP描述子,可以用式(9)表示:
式(9)中,riu使用了旋轉(zhuǎn)不變統(tǒng)一模式,這樣統(tǒng)一的LBP模式都可以通過二值化計算中1的個數(shù)得到,而非統(tǒng)一LBP模式歸為第P+1類。
以MP4格式視頻為例,輸入一段視頻序列V,設(shè)該序列中包含有N個視頻幀。數(shù)組key存放初次關(guān)鍵幀的序列,數(shù)組key’存放經(jīng)二次優(yōu)化后關(guān)鍵幀序列。
1)預(yù)處理。在預(yù)處理階段,提取視頻序列V中的幀,利用式(1)將每一幀圖像轉(zhuǎn)換為灰度圖像,并作為特征提取階段的輸入對象。
2)特征提取。對于灰度化后的每一幀圖像使用式(3)提取圖像的邊緣信息,再利用式(9)提取均勻的局部二進制模式。在此過程中,先用Sobel算子提取視頻圖像的輪廓信息,再用LBP局部二值模式對輪廓圖進行紋理特征提取,巧妙地將圖像輪廓信息和紋理信息融合,也降低了視頻圖像背景噪聲的影響。
3)幀間差計算。利用Euclidean距離法計算相鄰兩幀圖像之間的差異距離,并將其計算結(jié)果存儲到名為dissimilarity的數(shù)組中。
式中,Hlbpi和Hlbpi+1為相近兩幀的紋理直方圖統(tǒng)計,Hlbpi(j,k)為第i幀圖像中第j個區(qū)域第k個灰度區(qū)間內(nèi)LBP紋理信息的統(tǒng)計值,Hlbpi+1(j,k)為第i+1幀圖像中第j個區(qū)域第k個灰度區(qū)間內(nèi)LBP紋理信息的統(tǒng)計值。
4)閾值計算。計算dissimilarity數(shù)組的平均值D,并將其作為閾值T來提取關(guān)鍵幀。即T=平均值(D)。
5)初次關(guān)鍵幀提取。在數(shù)組dissimilarity中進行查找,將幀間距離與閾值T進行比較,如果距離大于T,則選取大于閾值T的兩幀作為關(guān)鍵幀,直到所有視頻序列幀處理完畢。并將得到的關(guān)鍵幀序列輸入到數(shù)組key中,并輸出視頻關(guān)鍵幀數(shù)組key={key|i=1,2,…,n}。
6)二次優(yōu)化提取關(guān)鍵幀。上述步驟是從視頻圖像的邊緣和紋理特征提取關(guān)鍵幀,沒有考慮到視頻鏡頭中物體的快速運動或者閃光。導(dǎo)致內(nèi)容相似的兩幀會被誤判成關(guān)鍵幀。從圖5中可以看出,出現(xiàn)重復(fù)關(guān)鍵幀是在視頻序列中同一組鏡頭內(nèi),為了提高提取關(guān)鍵幀的效果,本研究采用了劉華詠等[20]提出間隔2次提取關(guān)鍵幀的方法,對于第五步得到的關(guān)鍵幀數(shù)組序列進行二次優(yōu)化提取關(guān)鍵幀。設(shè)幀率倍數(shù)系數(shù)為u,視頻幀率為f,則幀間隔值d=uf,假設(shè)第一次提取的關(guān)鍵幀數(shù)量為n。
圖5 初次提取關(guān)鍵幀效果
設(shè)數(shù)組p={pi|i=1,2,…,n}記錄第一次提取關(guān)鍵幀數(shù)組key中的位置信息。數(shù)組q={qi|i=1,2…,n}記錄相鄰關(guān)鍵幀的位置序列號差值。比較數(shù)組q中的值與間隔d值,如果qi
試驗視頻素材均來源于中央電視臺《農(nóng)廣天地》節(jié)目,從欄目中選取4段不同水果病蟲害知識視頻作為試驗素材。每期節(jié)目大約25 min,幀速率為25幀/s,視頻的格式為MP4,如圖6所示。
圖6 試驗素材展示
美國國家標準與技術(shù)研究院(National institute of standards and technology,NIST)給出了一種標準的估計方案,主要從查全率(R)和查準率(P)2個評價指標來檢驗算法的有效性,定義如下:
查全率和查準率有一定影響關(guān)系,高的查準率可以通過選取少量關(guān)鍵幀來實現(xiàn),而高的查全率則可以通過選取過多的關(guān)鍵幀來實現(xiàn),F(xiàn)1綜合指數(shù)兼顧了二者的關(guān)系,它可以看做是查準率和查全率的調(diào)和平均數(shù),其值最大值為1,最小值為0。用式(13)表示:
精確度是正確的關(guān)鍵幀數(shù)占視頻總數(shù)幀的比例,其值越高,表明該算法提取視頻中關(guān)鍵幀的準確度越高,用式(14)表示:
式(14)中,TN表示被正確檢測到非關(guān)鍵幀的數(shù)目。
缺失因子表示沒有找到的關(guān)鍵幀數(shù)量與已經(jīng)找到正確的關(guān)鍵幀的數(shù)量之比,其值越低,表明該算法的性能越好。缺失因子(mf)定義如下:
采用基于豪斯多夫距離(Hausdorff distance)的保真度(Fidelity)來檢驗提取關(guān)鍵幀算法的有效性。保真度度量了提取出來的關(guān)鍵幀數(shù)和視頻的總幀數(shù)最小距離的最大值,它反映了從視頻中提取出的關(guān)鍵幀與該視頻相似程度,保真度越高,提取對關(guān)鍵幀越能更好地表示視頻內(nèi)容[22]。
設(shè)一段視頻序列中V包含n個幀,即V={f1,f2,f3,…,fn},R是從視頻序列的鏡頭中提取的m個關(guān)鍵幀集合,即R={kf1,kf2,kf3,…,kfm},假設(shè)任意兩幀圖像之間的距離為d(·),將提取出來第一個關(guān)鍵幀與視頻序列的每一幀圖像進行比較,選取比較值中的最小值作為該關(guān)鍵幀的參考值,以此類推,直至結(jié)束。其計算公式為:
式(16)中,fn表示視頻序列V的第n幀,kfm表示關(guān)鍵幀集合R中的第m個關(guān)鍵幀。
視頻序列V和關(guān)鍵幀集合R之間的豪斯多夫距離定義如下:
結(jié)合式(16)、式(17)得出保真度:
式(18)中,di表示視頻序列V中任意兩幀圖像特征向量之間的距離,保真度可以有效地評價提取提取出來的關(guān)鍵幀集合與原視頻的相似程度。
本研究在i7處理器、16 GB內(nèi)存、Win10操作系統(tǒng)上用MATLAB2020a仿真軟件對4段水果病蟲害知識視頻進行關(guān)鍵幀提取的仿真試驗,在對初次提取關(guān)鍵幀進行二次優(yōu)化時,幀率倍數(shù)u設(shè)置為1.5,其試驗結(jié)果如表1和圖7所示。
圖7 關(guān)鍵幀提取效果展示
從表1可以看出,本研究算法與其他的關(guān)鍵幀提取方法相較,本研究算法測試4段水果病蟲害知識視頻的F1綜合指數(shù)分別為0.92、0.96、0.88、0.87,平均F1綜合指數(shù)可達0.91,平均精確度高達91.35%,平均缺失因子為2.46,平均保真度高達92.18%。從F1綜合指數(shù)、精確度、缺失因子、保真度這4個維度上來看,本研究的算法總體性能較高,所使用提取的關(guān)鍵幀方法能較好地表示視頻主要內(nèi)容。研究者提出了一種新穎的基于圖像塊的視頻摘要技術(shù),將視頻的幀劃分為塊,計算每個塊的均值、方差、偏斜、峰度直方圖,并將其與下一幀的相應(yīng)塊進行比較[8]。所提出的技術(shù)通過考慮由高階顏色矩捕獲的圖像中顏色的分布,成功地檢測了鏡頭邊界和關(guān)鍵幀。從檢測到的每個鏡頭中,選擇均值和方差最高的幀作為關(guān)鍵幀。但未與其他特征相結(jié)合使用,因此提取關(guān)鍵幀效率一般。研究者通過sift點的直方圖進行視頻鏡頭邊界檢測和關(guān)鍵幀提取,sift對光照和尺度變化具有較好的魯棒性,然而提取sift特征點的過程復(fù)雜,不適合像視頻文件數(shù)據(jù)量大的應(yīng)用場景[10]。利用深度學(xué)習(xí)方法提取關(guān)鍵幀,需要有大量的特征模型訓(xùn)練,且該方法在設(shè)置標簽時摻雜了過多的主觀因素[13]。
表1 本研究算法與其他算法對比
以水果病蟲害知識視頻為例,將視頻圖像邊緣局部二值模式(Sobel-LBP)算法融合視頻幀間差,初步選取關(guān)鍵幀;為了優(yōu)化提取關(guān)鍵幀的結(jié)果,結(jié)合初次提取關(guān)鍵幀在原始視頻的位置間隔大小,去除冗余關(guān)鍵幀,得到二次優(yōu)化的關(guān)鍵幀。該算法通過提取視頻序列有代表性的畫面作為關(guān)鍵幀,節(jié)省了廣大農(nóng)友的檢索瀏覽時間,利用網(wǎng)絡(luò)視頻的信息傳播優(yōu)勢,將新型農(nóng)業(yè)技術(shù)快速有效地傳遞給廣大農(nóng)友。此算法深度融合了多媒體技術(shù)、農(nóng)業(yè)生產(chǎn)種植技術(shù)、病蟲害防治技術(shù),滿足了廣大農(nóng)友的需求,推動了現(xiàn)代農(nóng)業(yè)向信息化、現(xiàn)代化、智能化的發(fā)展。