孫 哲 袁三男 劉志超
(上海電力大學(xué)電子與信息工程學(xué)院 上海 200120)
臺標(biāo)是現(xiàn)在互聯(lián)網(wǎng)視頻和電視臺視頻聲明版權(quán)的重要標(biāo)志,智能地對臺標(biāo)進行檢測識別具有重大意義。首先,在視頻安全監(jiān)測領(lǐng)域,臺標(biāo)檢測技術(shù)可以用于保護出品方的商業(yè)利益,又可核實確定發(fā)布方,過濾非法途徑來源的視頻。其次,通過檢測視頻節(jié)目中的臺標(biāo)可以定位到具體的節(jié)目,進而提供精確的視頻搜索,提高觀賞性[1]。此外,也能借助對臺標(biāo)的識別來統(tǒng)計電視臺的收視率,或?qū)τ脩舻氖找曅袨檫M行分析[2],對媒體視頻節(jié)目具有指導(dǎo)意義。
臺標(biāo)檢測與識別的方法有很多,如文獻[3]利用多幀視頻畫面像素值做差,從而分割出臺標(biāo)。這種算法原理簡單易實現(xiàn),但要求臺標(biāo)空間位置不變及色彩飽和度不受背景干擾,因而適用范圍窄、實用性低。文獻[4]提出模板匹配識別算法。它可以解決新型臺標(biāo)樣本位置多樣性的問題,但是需要建立模板庫,匹配過程計算復(fù)雜。文獻[5-6]是通過對比分析臺標(biāo)特征進行識別,如顏色直方圖、空間直方圖、SURF算法等。這種算法降低了計算量,但由于臺標(biāo)背景復(fù)雜多樣,使得特征提取困難,半透明臺標(biāo)尤為顯著。文獻[7-8]提出基于支持向量機(SVM)的分類識別方法,該方法應(yīng)用廣泛,特異性和針對性強,但對大規(guī)模訓(xùn)練樣本難以實施且它在解決多分類問題時存在困難。可以看出早期傳統(tǒng)的臺標(biāo)識別方法都無法很好地對半透明臺標(biāo)進行分類,識別時也多是局限在視頻幀左上角。
近些年得益于機器視覺和深度學(xué)習(xí)的蓬勃發(fā)展,使得基于卷積神經(jīng)網(wǎng)絡(luò)的特征提取算法在臺標(biāo)檢測與識別領(lǐng)域得到較好的應(yīng)用。文獻[2]使用一個遞進卷積層的卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)了臺標(biāo)的識別。文獻[9]探討了目標(biāo)檢測與弱監(jiān)督學(xué)習(xí)在臺標(biāo)監(jiān)測方面的應(yīng)用。這些網(wǎng)絡(luò)模型雖然可以較好地區(qū)分臺標(biāo)類別,但并未顯著改善傳統(tǒng)方法無法適應(yīng)新型臺標(biāo)的半透明特性、位置多樣特性以及縮放特性而存在的特征提取困難且識別率及實用性低的問題。
本文針對以上算法所存在的弊端,提出一種基于Faster RCNN[10]和VAE[11](Variational Auto-encoder)結(jié)合的臺標(biāo)檢測與識別的方法。通過構(gòu)建多層語義特征融合的FPN[12](Feature Pyramid Networks)神經(jīng)網(wǎng)絡(luò)提取臺標(biāo)特征,以目標(biāo)檢測算法Faster RCNN為主網(wǎng)絡(luò)構(gòu)建檢測分類模型,再利用VAE編碼提高識別檢測精度,從而實現(xiàn)臺標(biāo)的檢測與識別。
視頻臺標(biāo)檢測識別技術(shù)中最核心的兩個問題為臺標(biāo)定位與臺標(biāo)識別。其中臺標(biāo)定位的目的是從輸入的視頻或整幅圖片中定位出臺標(biāo)所在位置并丟棄無關(guān)元素;臺標(biāo)識別就是在檢測出的定位區(qū)域上提取信息并識別分類。目前基于深度學(xué)習(xí)的目標(biāo)檢測算法能較好解決這兩個問題,根據(jù)方法不同分為基于候選區(qū)域思想的算法,如RCNN[13]、Faster RCNN[14]、SPPNet[15]等;基于回歸思想的算法,如YOLO、SSD[16]、YOLOv2等。其中Faster RCNN網(wǎng)絡(luò)的訓(xùn)練測試簡便,且目標(biāo)檢測效果較好。故本文選擇此算法為主網(wǎng)絡(luò),對特征提取部分及分類部分加以改進。
Faster RCNN算法首先對輸入樣本提取特征圖送入候選框生成網(wǎng)絡(luò)(RPN)。RPN網(wǎng)絡(luò)在提取的特征圖上為每個特征點配備初始檢測框;接著使用Softmax分類器判斷出存在目標(biāo)的積極檢測框作為候選區(qū)域;再設(shè)計多任務(wù)損失函數(shù)(式(1)),利用范圍框回歸器修正候選區(qū)域的位置[18]獲得精確的預(yù)測窗口。
(1)
式中:pi是第i個檢測框是否為某目標(biāo)的可能性;向量ti表示對預(yù)測窗口進行校準(zhǔn)的四個參數(shù)化坐標(biāo);Lcls是分類損失;Lreg是回歸損失。
再由ROI[14]池化層提取proposal feature maps后送入分類回歸網(wǎng)絡(luò)。分類回歸網(wǎng)絡(luò)通過全連接層將proposal特征分為兩條線路:其一用于計算出目標(biāo)類別,其二再次進行邊界框回歸獲得最終的精確檢測窗口。
如圖1所示,F(xiàn)PN算法采用構(gòu)建多層特征金字塔并在不同層融合的方式提取圖像特征。其結(jié)構(gòu)主要分為三個部分:自底向上的線路(bottom-up)、自頂向下的線路(top-down)和橫向連接。
圖1 FPN結(jié)構(gòu)圖
自底向上的線路是通過CNN[17]的前向卷積和池化(下采樣)過程形成一系列原始特征圖。這些原始特征圖根據(jù)尺度的變化形成塔層(stage)。其反向線路通過上采樣進行,目的是將上一層特征圖擴大為和下一層特征圖具有相同大小的尺寸,進而向下融合。橫向連接則是將以上兩條線路中生成的大小相同的特征圖進行疊加融合。
VAE是一個變分自編碼器,其學(xué)習(xí)框架如圖2所示。
圖2 VAE學(xué)習(xí)構(gòu)架圖
VAE首先通過編碼(Encoder)網(wǎng)絡(luò),對輸入的真實樣本集X進行編碼,將樣本X的特征因素映射到低維空間,并使其服從分布函數(shù)qθ(Z|X),這個低維度因素稱為隱形參數(shù)Z(式(2));再由解碼(Decoder)網(wǎng)絡(luò)學(xué)習(xí)分布p(Z),生成集合X*與真實樣本集X的分布pφ(x|z)無限接近,以此來完成將Z映射回真實樣本集X的過程,通過訓(xùn)練從而實現(xiàn)最優(yōu)的數(shù)據(jù)重構(gòu)。VAE基于此構(gòu)造如式(3)所示的損失函數(shù)。
Z=m+eσ×e
(2)
Li(θ,φ)=-EZ~qθ(Z|Xi)[log(pφ(Xi|Z))]+
KL(qθ(Z|Xi)|p(Z))
(3)
式中:m、σ維度相同,為編碼器的輸出向量;e是符合高斯分布的隨機噪聲;KL是正則項[11],Encoder網(wǎng)絡(luò)中的參數(shù)為θ,Decoder網(wǎng)絡(luò)中的參數(shù)為φ。
視頻臺標(biāo)識別具有顯著的特點:多個臺標(biāo)的背景可能完全相同(不同網(wǎng)絡(luò)電視臺播放同一視頻時),一個臺標(biāo)的背景也會千差萬別,尤其是半透明臺標(biāo)受背景顏色影響較大,這就需要降低視頻畫面(背景)特征、臺標(biāo)共性特征和個性特征之間的相互影響。由前文可知RPN網(wǎng)絡(luò)主要在復(fù)雜背景中定位出目標(biāo)所在位置,所需特征為臺標(biāo)共性特征即所有臺標(biāo)共有而視頻畫面沒有的特征;分類網(wǎng)絡(luò)主要對不同目標(biāo)進行分類,所需特征為臺標(biāo)個性特征即各類臺標(biāo)之間的差異特征。而傳統(tǒng)Faster RCNN只使用一個特征提取器為RPN網(wǎng)絡(luò)和分類回歸網(wǎng)絡(luò)提供特征圖,并未降低這種相互影響,導(dǎo)致臺標(biāo)的識別率不高。如圖3所示,本文改進的Faster RCNN網(wǎng)絡(luò)為RPN網(wǎng)絡(luò)和分類網(wǎng)絡(luò)設(shè)置了相對獨立的特征提取器。
圖3 VAE學(xué)習(xí)構(gòu)架圖
使RPN網(wǎng)絡(luò)學(xué)習(xí)的特征由多層語義特征融合的FPN網(wǎng)絡(luò)提取,可以解決RCNN系列只利用頂層特征不能完整反映相似臺標(biāo)的小差別信息和動態(tài)臺標(biāo)的精確位置信息的問題,提高了臺標(biāo)召回率;單獨為分類網(wǎng)絡(luò)設(shè)置一個獨立的特征提取網(wǎng)絡(luò),雖然改進了網(wǎng)絡(luò)的運算性能、提高了識別率,但也增加了訓(xùn)練復(fù)雜度、降低了網(wǎng)絡(luò)效率。所以本文使分類網(wǎng)絡(luò)學(xué)習(xí)的特征由FPN的前向網(wǎng)絡(luò)提取,這樣既充分利用FPN網(wǎng)絡(luò)的頂層豐富的語義信息提高臺標(biāo)分類的準(zhǔn)確率,又無須多增加特征提取網(wǎng)絡(luò)。
此外本文在Faster RCNN的分類網(wǎng)絡(luò)中添加VAE網(wǎng)絡(luò)對proposal feature maps進行編解碼,生成隱形參量Z。這樣做是由于FPN網(wǎng)絡(luò)所提取的特征圖中含有較完善的特征信息,在臺標(biāo)類別較多且臺標(biāo)相似度較高(中央系列)的情況下,這些大量精細的相似信息反而會影響分類網(wǎng)絡(luò)的判斷識別。而VAE網(wǎng)絡(luò)僅由低維度的參數(shù)Z就可重構(gòu)輸入樣本X,可將Z認(rèn)為是決定X最后成型的各個重要因素,這樣通過獲取Z就滿足了對proposal feature maps中大量干擾特征的排除,從而保留臺標(biāo)分類的決定性特征因素,較好地提高識別率。
本文將Faster RCNN與VAE聯(lián)合使用,設(shè)計了獨特的FPN,通過自主學(xué)習(xí)有效區(qū)分背景和臺標(biāo)。所添加的VAE網(wǎng)絡(luò)可以實現(xiàn)臺標(biāo)更精確的識別。
本文設(shè)計的網(wǎng)絡(luò)結(jié)構(gòu)如圖4所示。由于輸入樣本的大小會影響定位準(zhǔn)確率,因此對樣本圖片進行了歸一化處理,通過預(yù)訓(xùn)練將達到最優(yōu)準(zhǔn)確率時的輸入樣本(1 280×720)大小設(shè)為固定大小224×224,即C0層的大小。為了解決增加深度帶來的副作用(梯度彌散或梯度爆炸的退化問題),前向網(wǎng)絡(luò)使用了5個stage的ResNet[19]網(wǎng)絡(luò),卷積核為3×3,每5層進行一次下采樣處理,使下一個stage的特征圖大小為上一層的1/2,C1、C2、C3、C4對應(yīng)的支路就是bottom-up網(wǎng)絡(luò);然后對C4進行1×1的卷積得到P4,改通道數(shù)為512,使之和P3的通道數(shù)相同,再對P4采用內(nèi)插值法插入鄰近像素值將其擴大2倍后與C3層融合得到P3,在融合之后添加3×3的卷積核對融合結(jié)果進行卷積,同理運算得到P2、P1。層P1、P2、P3、P4對應(yīng)的支路就是按上文中所提及的上采樣和橫向鏈接融合的方式所構(gòu)建的top-down網(wǎng)絡(luò),是FPN的核心部分。此外增加對C5層3×3卷積后進行步長為2的最大池化運算來搭建P5層且將P5層直接作為分類網(wǎng)絡(luò)的輸入特征圖,使得特征提取過程相對獨立且增加語義信息,從而獲得更好的準(zhǔn)確率。所有特征圖中固定特征維度(通道數(shù))設(shè)置為512。將P1-P4層作為輸入分別進入Faster RCNN的PRN網(wǎng)絡(luò)及后續(xù)POI層,F(xiàn)C層的參數(shù)對于每一層的ROI參數(shù)共享。
圖4 Faster RCNN-VAE網(wǎng)絡(luò)結(jié)構(gòu)圖
本文使用全連接層構(gòu)建了VAE網(wǎng)絡(luò),VAE模型層數(shù)的選擇如下:編碼器網(wǎng)絡(luò)為三層全連接,輸出的通道數(shù)分別為512、96、25;解碼器網(wǎng)絡(luò)為三層全連接,輸出的通道數(shù)分別為25、96、512。
全鏈接網(wǎng)絡(luò)使用多分類函數(shù)Softmax作為激活函數(shù)。其輸出層通過激活函數(shù)得到此目標(biāo)對應(yīng)的每個類別的概率值,所有類別的概率值總和為1。設(shè)定閾值r,當(dāng)輸出類別對應(yīng)的輸出值大于r時即該樣本為某類別的概率值大于r,則標(biāo)注該類別為識別結(jié)果。
(4)
式(4)表示隱形特征參數(shù)z屬于第j個類別的概率,共有k個類別。該函數(shù)的值域是[0,1]。
1) 構(gòu)建Faster RCNN神經(jīng)網(wǎng)絡(luò),改進FPN作為特征提取器,預(yù)訓(xùn)練使用ResNet網(wǎng)絡(luò),輸入訓(xùn)練集,訓(xùn)練該網(wǎng)絡(luò)模型;
2) 搭建VAE網(wǎng)絡(luò)結(jié)構(gòu),以proposal feature maps作為輸入,訓(xùn)練該網(wǎng)絡(luò)模型;
3) 構(gòu)建全連接層,以VAE網(wǎng)絡(luò)中的隱形參數(shù)Z作為全連接層的輸入進行分類回歸,訓(xùn)練該網(wǎng)絡(luò)模型;
4) 在已訓(xùn)練好的Faster RCNN-VAE網(wǎng)絡(luò)模型中輸入的測試樣本數(shù)據(jù),進行測試。
本文自建了臺標(biāo)數(shù)據(jù)庫,所采用的原始圖像數(shù)據(jù)來源于42個衛(wèi)星衛(wèi)視及網(wǎng)絡(luò)衛(wèi)視的視頻,包括中央1-15、北京、天津、東方等多個衛(wèi)星衛(wèi)視和網(wǎng)絡(luò)衛(wèi)視。將視頻按幀截取轉(zhuǎn)化為原始數(shù)據(jù)庫,并對其作如下預(yù)處理:
預(yù)處理1:運行圖像標(biāo)記工具labeling對14 000幅樣本圖片寫標(biāo)簽,即在樣本圖片上框出臺標(biāo)所在區(qū)域并標(biāo)明該臺標(biāo)類別,生成與圖像對應(yīng)的xml文件。
預(yù)處理2:針對相似度較高的臺標(biāo)(中央1-15)識別率通常略低的問題,將中央系列的細微差別處單獨作標(biāo)記框記為數(shù)字標(biāo)簽(1-15),整體的中央臺臺標(biāo)作為另一標(biāo)記框記為標(biāo)簽CCTV。
預(yù)處理3:按照Pascal voc2007的數(shù)據(jù)格式將原始數(shù)據(jù)庫制作為標(biāo)準(zhǔn)數(shù)據(jù)庫。把數(shù)據(jù)劃分為兩部分,每個類別的70%作為訓(xùn)練和驗證集,30%作為測試集。
人工標(biāo)記可能存在極少數(shù)誤差,它較于大量樣本來說對網(wǎng)絡(luò)學(xué)習(xí)產(chǎn)生的影響可以忽略不計。原始圖像標(biāo)注和生成的標(biāo)注文件結(jié)果如圖5所示。
圖5 原始圖像的標(biāo)注和生成的標(biāo)注文件
本文實驗使用Python3.7作為編程語言,操作系統(tǒng)為Ubuntu16.04,驅(qū)動為cuda10.0,實驗平臺為pytorch1.0+pycharm,GPU為RTX2080Ti。
首先,按如下方式初始化網(wǎng)絡(luò)參數(shù):編譯模型時,優(yōu)化函數(shù)為“adam[20]”、“sgd”。將學(xué)習(xí)率定為0.001,算法批尺寸batchsize的大小設(shè)為1,模型訓(xùn)練時迭代100次。
預(yù)處理2中對特殊數(shù)據(jù)(中央1-15)的處理在實際識別時可能存在如下現(xiàn)象:若視頻幀畫面中除中央臺臺標(biāo)外其余部分包含數(shù)字,此時候選框較多且雜亂。為此本文通過設(shè)定模型產(chǎn)生的CCTV目標(biāo)窗口和數(shù)字標(biāo)記窗口的交疊率t判定最終的檢測窗口,即CCTV檢測窗口CCTV TW(CCTV Testing window)和數(shù)字檢測窗口Number TW(Number Testing window)的交集比上CCTV檢測窗口和數(shù)字檢測窗口差集。
(5)
設(shè)定t為0.15,即t大于等于0.15時認(rèn)為檢測到了最終窗口。
通過預(yù)訓(xùn)練根據(jù)準(zhǔn)確率設(shè)定閾值r,當(dāng)選取r為0.8時識別率達到約94%。
為了證明在臺標(biāo)檢測與識別中使用的Faster RCNN-VAE架構(gòu)的有效性,將此網(wǎng)絡(luò)與其他兩種方法進行了比較:(1) 傳統(tǒng)Faster RCNN方法將RPN與VGG16相結(jié)合,不使用改進的FPN作為特征提取網(wǎng)絡(luò);(2) 傳統(tǒng)FPN方法使用FPN作為Faster RCNN算法中的特征提取網(wǎng)絡(luò),但不做改進且不添加VAE層。這三種方法都采用相同的超參數(shù),分別對傳統(tǒng)Faster RCNN模型、傳統(tǒng)FPN模型、Faster RCNN-VAE網(wǎng)絡(luò)模型進行訓(xùn)練驗證。采用的評價指標(biāo)為準(zhǔn)確率和召回率。
Ppre=TP/(TP+FP)
(6)
Prcc=TP/(TP+FP+FN)
(7)
式中:TP為識別正確的樣本數(shù);FP為識別錯誤的樣本數(shù);FN為未檢測出目標(biāo)的樣本數(shù)。準(zhǔn)確率即檢測為正例的樣本中真正為正例樣本的比例。召回率是每個類別的正確檢測樣本數(shù)和總測試樣本數(shù)的比值。
通過對測試結(jié)果的統(tǒng)計,得到了三種網(wǎng)絡(luò)對視頻臺標(biāo)檢測的召回率和準(zhǔn)確率,表1、表2、表3所示為選取了10個類的檢測統(tǒng)計結(jié)果。
表1 傳統(tǒng)Faster RCNN的檢測結(jié)果
表2 傳統(tǒng)FPN的檢測結(jié)果
表3 Faster RCNN—VAE的檢測結(jié)果
實驗表明,對此10個類的臺標(biāo)來說,普通的Faster RCNN網(wǎng)絡(luò)對不透明臺標(biāo)的召回率(識別率)能達到92.40%,但總的召回率僅有87.50%,說明它對半透明臺標(biāo)的識別情況較差僅有82.60%;其準(zhǔn)確率總體能達到93.28%。加入FPN特征提取器后的網(wǎng)絡(luò)對臺標(biāo)的識別的召回率總體能達到89.40%,提升了1.9百分點;準(zhǔn)確率總體能達到94.01%,僅提升了0.7百分點。這證明加入FPN使得樣本中的目標(biāo)更好地被召回但對召回目標(biāo)分類識別的準(zhǔn)確率并沒有得到較好的改善。采用Faster RCNN-VAE網(wǎng)絡(luò)召回率提升為92.20%,再次提升了2.8百分點;準(zhǔn)確率達到96.65%,再次提升了2.6百分點,其中對半透明臺標(biāo)的識別率提升顯著,達到了87.80%。證明本文設(shè)計的Faster RCNN-VAE網(wǎng)絡(luò)既使得樣本中的目標(biāo)更好地被召回,也對召回目標(biāo)分類識別的準(zhǔn)確率有所提高,尤其是半透明臺標(biāo)的識別率。但由于增加了VAE模塊,平均每幀圖片的識別時間延長至141.7 ms。
由于樣本類別較多,本實驗僅選取了十個類的樣本檢測統(tǒng)計結(jié)果進行對比分析,而本文設(shè)計的Faster RCNN-VAE網(wǎng)絡(luò)對大量(42個)分類的臺標(biāo)測試結(jié)果更優(yōu)。如圖6所示,F(xiàn)aster RCNN-VAE網(wǎng)絡(luò)的整體識別率達到了94.03%。
圖6 Faster RCNN-VAE模型精度隨迭代次數(shù)的變化
本文將目標(biāo)檢測算法應(yīng)用于臺標(biāo)識別任務(wù),并提出了一種將改進的FPN作為特征提取網(wǎng)絡(luò),以目標(biāo)檢測算法Faster RCNN為主網(wǎng)絡(luò)對其進行檢測和分類,并添加VAE來提高臺標(biāo)的識別率。通過大量的樣本訓(xùn)練,臺標(biāo)檢測的識別率達到94.03%。與傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)相比,解決了傳統(tǒng)臺標(biāo)檢測無法對臺標(biāo)的位移、傾斜的改變做出正確識別的難題;Faster RCNN算法中的RPN網(wǎng)絡(luò)更是能通過對樣本圖片全圖檢測來確定出臺標(biāo)的位置,解決了臺標(biāo)的位置不再單一固定于左上角的難題。與傳統(tǒng)的目標(biāo)檢測算法相比,臺標(biāo)分類的準(zhǔn)確率有所提高,對于受背景顏色影響顯著的半透明臺標(biāo)的識別率提升尤為明顯。盡管只使用了粗略調(diào)整的模型參數(shù),在相同數(shù)據(jù)集上的實驗結(jié)果證明,本研究所提出的方法優(yōu)于傳統(tǒng)方法的性能。該結(jié)果證明了Faster RCNN-VAE方法可以高效地檢測識別臺標(biāo)。本研究方法也為其他動態(tài)、透明圖像的檢測及分類問題提供了新的思路。