羅靈兵,馮 輝,胡 波,王祺堯
(1.復旦大學 信息科學與工程學院 電子工程系,上海 200433; 2.復旦大學 智慧網絡與系統(tǒng)研究中心,上海 200433)
近年來,視覺注意力模型研究得到廣泛的關注,因為這些模型能為包括圖像分割、目標檢測、視頻摘要與壓縮等[1]各類計算機視覺問題提供重要幫助.
視覺注意力模型研究的主要任務是找到場景(圖像、視頻等)中能吸引人的視覺注意力的區(qū)域.針對輸入數據的不同,視覺注意力研究可分為基于圖像與視頻兩類.目前,針對圖像的視覺注意力研究較為成熟[1-2],而視頻的注意力模型除了考慮單幀內容的顯著性,還需考慮前后幀的動態(tài)變化,相關研究較少.根據模型輸出的不同,視覺注意力模型一般被分為視覺顯著圖預測與注視點序列預測兩類,前者是輸出場景中能引起人的注意力的區(qū)域,而后者體現了場景中使人感興趣部分之間的順序性,反映出人獲取信息的規(guī)律和邏輯,更能揭示人如何進行注意力的分配和選擇[3].本文探究的是針對視頻的注視點序列預測模型.
引起人視覺注意的機制的因素一般分為自下而上(bottom-up)的外源型因素與自上而下(top-down)的內源型因素[4].自下而上型主要基于場景的底層特征,如顏色、紋理、方向、亮度等,若是針對視頻場景,則需要考慮時序特征,如運動等.自上而下型一般是指帶有語義的高層特征,如人臉、各類物體等.傳統(tǒng)的視覺顯著圖預測的研究一般是基于特征融合理論[5-6].如文獻[7]將顏色、方向、亮度等底層特征通道提取出來并建立金字塔式結構進行特征融合.文獻[8-9]將自下而上和自上而下兩類特征同時融合.而這類模型無法真正衡量各類特征對視覺注意力的影響,而且使用的特征數目有限.也有部分研究基于人類視覺機制,通過模擬視覺刺激生成更符合人類感知的視覺顯著圖[10].
近年來,由于深度學習的興起,大量基于深度神經網絡的視覺顯著圖預測模型應運而生[11-12],并產生了較好的效果.其原因在于深度神經網絡能同時提取出場景中的底層特征與高層特征,并完成自動融合,使其自動適配注視點信息,無需進行人工特征融合的過程.但是,目前大部分深度視覺顯著圖預測模型研究的都是基于靜止圖像,僅有少數是研究視頻的顯著性,例如文獻[13]不僅手動地提取視頻幀的圖像特征,在考慮視頻的時序特性時也只考慮了視頻幀間簡單的幾維運動特征.
相較于視覺顯著圖預測模型,注視點序列預測模型的研究則更少.一類研究是基于信息最大化的原則來理解注視點的轉移[14-15],但文獻[14-15]并沒有提出實際的計算模型.文獻[3]通過最大化殘差響應信息得到下一注視點的位置,但此類模型在圖像場景中運用較多,在視頻場景中并不完全適用.另一類是根據已有的視覺顯著圖來動態(tài)預測注視點序列.文獻[16]將視覺顯著圖與返回抑制結合,使用了真實觀測者的注視點密度圖,驗證了注視點的空間統(tǒng)計特性,但并未真正對注視點轉移進行預測.文獻[7]基于原始估計的視覺顯著圖,采用勝者全取與返回抑制結合的機制來生成注視點序列,但是其并沒有考慮顯著性隨注視點改變的性質.還有一些其他的計算模型,如文獻[17]提出使用隱馬爾可夫模型對語義信息的轉移進行建模,但最終注視點的選擇還是采取文獻[7]中的方法.
基于以上現狀與問題,本文提出了一種針對視頻并且同時考慮視頻高層與底層特征的注視點序列預測模型.首先,采用隱馬爾可夫模型(Hidden Markov Model, HMM)對注視點的轉移進行建模.HMM是一種統(tǒng)計模型,它刻畫了不可直接觀測的狀態(tài)隨時間的轉移.由于場景中需要預測的注視點位置序列具有動態(tài)時間特性且無法被直接觀測,所以HMM的隱藏狀態(tài)為注視點在場景中的位置.然后,本文使用卷積神經網絡(Convolutional Neural Network, CNN)來預測視頻的視覺顯著圖,并用其顯著值描述觀測概率,以表征注視點所在位置的場景區(qū)域能引起人的視覺注意力程度;用基于萊維飛行(Levy Flights)的眼跳概率模型建模HMM狀態(tài)的轉移概率.最后通過維特比算法(Viterbi Algorithm)找到最有可能的注視點序列.
本文提出的模型有以下幾點優(yōu)勢: 1) 將視頻的注視點轉移建模為HMM,充分考慮了注視點轉移過程中的動態(tài)特性,并且維特比算法能生成全局最有可能的注視點序列;2) 在CNN的輸入信息中加入了前景運動特征,并同時考慮自上而下的高層特征與自下而上的底層特征,獲得更準確的視頻視覺顯著圖的預測;3) 采用基于萊維飛行的眼跳概率模型對注視點轉移概率建模,充分考慮了人眼觀察過程中的統(tǒng)計特性.
圖1 本文模型框圖Fig.1 The structure of proposed model
本節(jié)將詳細介紹視頻注視點序列預測模型.如圖1所示,將注視點的轉移表示成狀態(tài)不可觀測的馬爾可夫過程,狀態(tài)轉移概率采用基于萊維飛行的眼跳概率模型描述,通過基于CNN的視覺顯著圖模型,得到視頻幀的視覺顯著圖,用于觀測概率建模.
本節(jié)將按照以下兩個部分展開: 第一部分主要介紹了HMM建模方法,包括變量定義、參數建模與注視點序列生成方法;第二部分將介紹CNN視覺顯著圖預測模型的設計細節(jié)等.
隱馬爾可夫模型被廣泛應用于時間序列建模中,可以通過已有的觀測對不可直接觀測的狀態(tài)序列進行推測.HMM中的變量可分為兩組第一組是狀態(tài)變量{x1,x2,…,xT},其中xt∈χ表示t時刻的系統(tǒng)狀態(tài),χ為狀態(tài)空間.通常假設狀態(tài)變量是隱藏的、不可被觀測的.對于一段視頻,某一幀的注視點的位置是無法直接觀測的,所以本文將xt定義為t時刻觀察者可能注視的像素點坐標.本文將整個視頻橫縱坐標進行等間隔采樣,組成網格式的位置坐標點,注視點限定為在N個坐標點之間轉換,即χ={s1,s2,…,sN}.第二組變量是觀測變量{y1,y2,…,yT},其中yt表示t時刻的觀測值.在本文的場景當中,yt∈{1,0},yt=1表示第t幀成功引起了人的視覺注意力.
1.1.1 HMM建模
除了結構信息,隱馬爾可夫模型還需以下3組參數:
(1) 輸出觀測概率
模型根據當前狀態(tài)獲得各個觀測值的概率,記作P(yt|xt=si),表示t時刻坐標si所在的區(qū)域是否能引起人的視覺注意力的概率.第t幀圖像的視覺顯著圖中每個位置的顯著值表示該位置能吸引人注意力的程度,顯著值越大,表示該位置越能引起人的注意力,從概率的角度看,表明該位置有更大的概率引起視覺注意力.因此,本文將輸出觀測概率定義為第t幀圖像顯著圖St中在坐標si處的歸一化顯著值St(si),記為:
P(yt=1|xt=si)=St(si).
(1)
這里與傳統(tǒng)HMM不同的在于: 由于視頻的動態(tài)特性,基于每一幀的視覺顯著圖是不同的,所以觀測概率是時變的,而不是固定的.具體如何獲取視頻的視覺顯著圖,將在1.2節(jié)介紹.
(2) 狀態(tài)轉移概率
模型在各個狀態(tài)之間轉換的概率,記作P(xt+1=sj|xt=si),表示t時刻到t+1時刻注視點從坐標si轉移到sj的概率.現有的視覺心理學研究[18]表明,注視點的快速轉移(眼跳)與萊維飛行類似.萊維飛行是一種隨機游走模型,具體表現在轉移方向具有迷向隨機性,轉移步長具有厚尾分布的特性.基于以上特點,本文采用二維的柯西分布對注視點轉移概率進行建模:
(2)
其中γ是柯西分布的參數,可根據實驗確定.
(3)
其中d∈(0,+),由于步長d的分布是厚尾的,所以式(2)是一個萊維飛行.
(3) 初始狀態(tài)概率
模型在初始時刻各狀態(tài)出現的概率,記為π={π1,π2,…,πN},即在視頻的初始幀的各個坐標點的注意力分布概率,本文將其定義為初始幀的圖像顯著圖S1在各個坐標處的顯著值:
πi=P(x1=si)=S1(si).
(4)
1.1.2 推斷注視點序列
通過制定的狀態(tài)空間與觀測空間以及上述3組參數,本文確定了一個隱馬爾可夫模型.給定一個觀測序列y1:T={y1,y2,…,yT},假定視頻的每一幀都成功引起了觀察者的注意,目標是找到與此視頻最匹配的狀態(tài)序列,即注視點坐標序列.本文使用維特比算法生成該序列.
對于給定的觀測序列y1:T={y1,y2,…,yT},要找到最有可能的注視點坐標序列x1:T,則需要最大化條件概率P(x1:T|y1:T),由于給定y1:T,則有:
P(x1:T|y1:T)∝P(x1:T,y1:T).
(5)
得到如下優(yōu)化問題:
(6)
令
(7)
由概率圖的條件獨立關系與最大積原理,并進行迭代運算,得到最有可能的注視點坐標路徑:
(8)
在1.1節(jié)中,本文用視頻幀的視覺顯著圖對HMM的觀測概率進行建模,在進行觀測概率建模時,采用了視頻幀的歸一化視覺顯著值,所以本小節(jié)將主要介紹如何預測視頻的視覺顯著圖.
運動的物體容易吸引人的視覺注意力[19].動態(tài)的視頻場景相較于靜態(tài)的圖像場景更為復雜的原因之一在于視頻場景存在移動的物體,即使其基本空間特征(如顏色、對比度等)沒有很強的顯著性,但是仍然可以吸引到人的注意,成為視覺注意力的顯著區(qū)域.所以,首先本文受到文獻[12]的啟發(fā)引入了一種基于CNN的視頻視覺顯著圖預測模型,然后以此為基礎,在CNN的輸入端加入了前景運動特征,并采用了遷移學習的思想,使之適用于視頻序列,用于判別視頻幀中的某一塊區(qū)域是否顯著.對視頻幀的所有區(qū)域進行判別后,即可得到該幀的視覺顯著圖,并用此方法得到視頻所有幀的顯著圖.
1.2.1 顯著與非顯著區(qū)塊提取
圖2 用于訓練的顯著性與非顯著區(qū)塊提取Fig.2 Extraction of salient/non-salient patches for training
觀察者自由觀看視頻,通過眼動儀記錄下基于視頻每一幀的眼動數據.基于文獻[19]中的方法,多名觀察者觀察該幀后形成多個注視點,每一個注視點在幀的范圍大小內形成一個二維高斯圖后,再將多個高斯圖的值進行疊加,歸一化后生成每一幀的注視點密度圖,即視覺顯著圖,如圖2所示.本文稱視頻一幀圖像中的固定大小(如像素為d×d)的一塊圖像為區(qū)塊(patch).若一個區(qū)塊的中心所在的像素的密度值高于某一閾值,則認為該區(qū)塊是顯著區(qū)塊,若低于某一閾值則認為是非顯著區(qū)塊.一個區(qū)塊可用矩陣Rd×d×n表示,其中n表示區(qū)塊所需要輸入CNN的特征數量.如彩色圖像有RGB 3個顏色通道,則可定義n=3,考慮到視頻的動態(tài)特性,加入一維運動特征,所以n=4.本文采用式(9)來選取顯著與非顯著區(qū)塊:
(9)
其中: label(Pi)表示區(qū)塊Pi是否顯著;xi為區(qū)塊Pi的中心坐標;S(xi)表示區(qū)塊Pi中心坐標處的視覺顯著圖中的值.本文將根據閾值Th對視覺顯著圖進行二分,大于該閾值的區(qū)域為顯著區(qū)域,其余區(qū)域的為非顯著區(qū)域.從顯著區(qū)域和非顯著區(qū)域中選取顯著區(qū)塊與非顯著區(qū)塊.如圖2所示,黃色框為選取的顯著區(qū)塊,藍色框為選取的非顯著區(qū)塊.
1.2.2 前景運動特征提取
為了考慮視頻中能引起人注意的運動因素,本文在輸入訓練的樣本區(qū)塊特征中,加入了一個維度來表示運動特征.
視頻圖像通常由前景圖像與背景圖像構成.其中由于攝像機自身位置參數變化導致的整個圖像變化被稱為背景圖像運動,即全局運動,由于所拍攝場景的物體運動而導致的圖像變化被稱為前景圖像運動,即局部運動[20].由于人的注意力大部分是被前景圖像運動所吸引,本文在提取前景圖像運動特征時,采用了全局運動補償的方法,以防止全局運動所帶來的干擾.
首先,本文采用文獻[21]中提出的方法,計算出一幀的某一像素點i的光流信息vO(i);第二,采用文獻[22]的方法,計算出全局運動vG(i);得到前景圖像運動特征向量:
vR(i)=vO(i)-vG(i),
(10)
其中
vG(i)=Axi,
(11)
這里:xi表示像素i的坐標;矩陣A為3×3的仿射矩陣,通過前后兩幀的宏塊進行預判與匹配,估計出矩陣A.
由于眼球在跟蹤運動物體時,其最快的眼動速度不能超過80°/s[23],所以如果視頻中產生較大的抖動,則會出現眼球無法跟蹤得上的情況.為了防止這樣的情況,本文最終得到第t幀的第i個像素點的前景運動特征值:
(12)
設視頻的尺寸為(H,W),其中K啟發(fā)式地取為:
K=max{H,W}/10.
(13)
1.2.3 CNN模型結構
本文所使用的CNN結構是基于AlexNet模型[24]的基本框架,由于AlexNet處理的是基于ImageNet數據庫的1000類的分類問題,而本文所使用的CNN模型的目標是判斷一個區(qū)塊是否顯著,處理的是一個二分類問題.所以,本文將模型的最后一個全連接層神經元個數設置為2,分別對應于二分類的兩個類別,并將其與Softmax輸出層相連,生成一個2維向量,分別對應于二分類中兩個類別的概率,label為0表示非顯著區(qū)域,label為1則表示顯著區(qū)域.其中l(wèi)abel為1的概率值作為該區(qū)塊的顯著值.
在訓練初始化時,除全連接層8的參數進行隨機生成外,其他層的參數采用AlexNet的參數進行初始化,并采用隨機梯度下降算法迭代求解,訓練階段如圖3(a)所示,通過1.2.1節(jié)與1.2.2節(jié)中的方法提取出顯著與非顯著區(qū)塊,將其作為帶標志的樣本輸入至CNN進行訓練.
在預測階段,如圖3(b)所示,本文采用等步長滑窗的方式,從視頻的每一幀圖像中提取出待檢測的區(qū)塊,按1.2.1節(jié)與1.2.2節(jié)中的方法進行處理后,輸入至訓練好的CNN模型中,模型將會輸出對應于每一區(qū)塊的顯著值.
圖3 CNN訓練階段與預測階段Fig.3 The training and predicting phase of CNN
1.2.4 視覺顯著圖生成
圖4 加權高斯和的顯著圖Fig.4 Weighted Gaussian sums of the saliency map
CNN模型預測得到針對每一幀的滑窗區(qū)塊的顯著值.為了獲得像素級的視覺顯著圖,本文基于每個區(qū)塊中心,形成一個二維高斯函數值,再將該幀所有區(qū)塊所形成的二維高斯函數值求加權和,如圖4所示.權值則是每個區(qū)塊預測的顯著值,則得到第t幀的顯著圖:
(14)
本文首先預測基于視頻幀的視覺顯著圖,再基于該顯著圖進行注視點序列的預測.所以本節(jié)給出了針對視覺顯著圖與注視點序列的仿真與分析,其中包括注視點轉移步長的驗證.
為了訓練視覺顯著圖預測模型,本文實驗使用了公開的眼動數據庫HOLLYWOOD2[25],該數據庫包含的視頻場景主要采集自好萊塢各類電影,包含單人、多人、室內、室外等各種真實場景,包含1707段視頻,對于每段視頻有19個測試者的眼動序列被記錄下來.本文從其中的823段訓練視頻中分別抽取了98491個顯著區(qū)塊與非顯著區(qū)塊進行訓練,驗證集則分別提取了32830個顯著與非顯著區(qū)塊.區(qū)塊的大小取為100×100像素,滑窗步長為20像素,生成視覺顯著圖的高斯標準差σ=5.
訓練過程中,采用了0.001的初始學習率,塊大小設置為128,求解方法采用隨機梯度下降法,在進行到60000次左右的迭代次數之后,訓練精度穩(wěn)定在90.1%.
實驗中比較的方法有GBVS[2],itti[7],Signature[26],SalNet[27],都是在視覺顯著圖研究領域中經典且效果較好的方法,其中SalNet是最近采用了深度神經網絡的視覺顯著圖模型.本文引入AUC(Area Under roc Curve)與NSS(Normalized Scanpath Saliency)[28]方法計算預測的結果和真實眼動數據在位置上的相似程度.AUC計算的是閾值變化得到的ROC(Receiver Operation Characteristics)曲線下的面積,面積越大則結果與真實數據越相似.NSS衡量的是真實注視點在標準化后的預測的視覺顯著圖上所在位置的顯著值的平均值,其值越高,代表預測結果越準確.
表1展示了本文的視覺顯著圖預測模型與對比算模型在AUC與NSS 2個相似性評價指標的實驗結果.可以看到本文所提出的方法在該兩項指標上相較于傳統(tǒng)模型都有較明顯的提高,原因在于傳統(tǒng)模型沒有考慮運動特征或者只考慮了運動特征中的光流信息,而本文算法考慮了前景圖像運動特征;以及本文算法采用了深度CNN網絡,其強大的特征提取能力也是其強于傳統(tǒng)模型的原因.相比于同樣基于深度神經網絡的SalNet模型,同樣由于前景圖像運動特征的加入,使得兩項指標分別提升為0.86%與2.50%.
表1 視覺顯著圖預測指標結果
視覺顯著圖預測的主要開銷在于區(qū)塊的顯著性的預測.本算法以等長的滑窗步長進行區(qū)塊劃分,每個區(qū)塊都要進行一次顯著性測試,若視頻幀的長邊與寬邊的區(qū)塊數分別為W和H,視頻需要參與測試的幀數為T,所以測試的時間復雜度為O(WHT).可見,視頻分辨率越高,視頻長度越長,則需要更長的測試時間.
圖5 觀察者真實注視點轉移步長分布 與柯西分布擬合結果Fig.5 Step length distribution for human gaze shifts with fitting results by using a Cauchy distribution
注視點轉移步長為前后的兩個注視點在場景中的直線距離,如在圖像和視頻中,可用像素值來表示.本文從HOLLYWOOD2數據庫的823條訓練樣本視頻中提取了觀察者真實眼動數據,并統(tǒng)計了幀數間隔為5幀的轉移步長,并采用γ=5柯西分布分別進行擬合,結果如圖5所示.可以發(fā)現,真實的注視點轉移步長具有明顯的厚尾分布特征,并且柯西分布能有效地刻畫該分布特性.
注視是指將眼睛的中央窩對準某一物體的超過100ms,在此期間注視的物體成像在中央窩上,獲得更充分的加工而形成清晰的像[4],視頻的幀率在 20~30Hz.若幀數間隔過大,在預測的過程中會丟失較多信息,導致預測不準確;若幀數間隔過小,則會導致時間間隔不足以形成注視,預測過程不符合人眼注視規(guī)律.所以綜合考慮,采用5幀的幀數間隔且γ=5,注視時間間隔在160~200ms.
本文采用Hausdorff距離與平均歐氏距離作為衡量2個注視點序列的相似程度的指標.由于視頻幀是嚴格等間隔的,所以可以通過視頻幀的時間戳使得注視點序列嚴格對齊.Hausdorff距離計算2個集合之間最小距離的最大距離,對于長度為T的注視點序列X={x1,x2,…,xT}與Y={y1,y2,…,yT},xt,yt為圖像像素位置坐標,Hausdorff距離表示為:
(15)
其中Ldiag為視頻的對角線像素長度,以考慮不同視頻存在的尺寸差異.
平均歐氏距離是相同時間戳的注視點位置之間的歐氏距離平均值,表示為:
(16)
Hausdorff距離度量了2個注視點序列的最大不匹配程度;平均歐氏距離評價指標能夠在整體上衡量2條注視點序列的相似度.顯然,Hausdorff距離和平均歐氏距離越小,表示序列相似程度越高,即預測越準確.
由1.2節(jié)的討論,本文采用5幀的幀數間隔,且眼跳轉移概率中參數γ=5.在比較注視點序列時,同一段視頻所產生的序列與不同受試者的注視點序列進行比較,對比較的結果取平均值,以代表該視頻上的評價分數.采用100段訓練樣本外的視頻序列用于測試,并將所有測試視頻的指標做平均,得到最終評價分數,其中每段視頻有19位受試者的真實眼動數據.一般注視點轉移采用WTA(Winner-Take-All)[7]的原則進行建模.所以基于1.2節(jié)預測的視覺顯著圖,分別采用WTA的方法進行注視點序列預測,與本文提出基于HMM的方法對比.
圖6 真實注視點視覺顯著圖(上圖)與預測注視點示意圖(下圖)Fig.6 Human fixation saliency maps(up) and the predicted fixations(down)
圖6展示了測試視頻中幀的真實注視點視覺顯著圖與本文模型所預測的注視點位置.從圖中可以看到,在第25幀時,預測得到的注視點基本能與大部分真實注視點相吻合.在第50幀時,模型判斷最有可能的注視點出現在兩人握手的位置,雖然有部分觀察者是注視兩人的人臉,但大部分的注視點是在兩人握手的位置,而模型給出的最終位置也與大部分人的注視點統(tǒng)一,更符合人注視點轉移規(guī)律.
表2展示了本文模型CNN(HMM)與對比模型的結果,其中包括基于本文所提出模型預測的視覺顯著圖使用WTA的結果CNN(WTA).GBVS、Itti、Signature都是基于自下而上的底層特征的經典模型,所以在預測視覺顯著圖時較少能考慮到高層特征,而數據集中若出現不突出的人臉等物體則很難被這些模型所預測,這也是導致這些模型預測效果遜色于本文模型的原因之一.WTA的基本思路是選擇視覺顯著圖中顯著值較高的位置,這樣的機制沒有考慮注視點在轉移過程當中步長的統(tǒng)計特性,所以在表示整體預測誤差的平均歐氏距離指標上,即使采用了相同的視覺顯著圖模型,本文基于HMM的方法也明顯優(yōu)于WTA,原因在于基于HMM的建模囊括了注視點的動態(tài)轉移特性,并采用動態(tài)規(guī)劃的思想推斷產生概率最高的注視點序列,與真實注視點序列更吻合.基于SalNet預測的顯著圖采用HMM方法預測的注視點序列比本文模型結果稍差,本文方法在Hausdorff距離與平均歐氏距離指標上分別提高10.4%與15.2%,原因在于SalNet與本文的CNN模型類似,都能利用視頻的高層特征生成視覺顯著圖,但總體效果仍稍遜于本文模型.
表2 注視點序列預測指標結果
注視點預測主要通過維特比算法對隱馬爾可夫模型進行解碼,對長度為T的注視點序列,視頻幀中可能的位置數為N,即預先在視頻幀中劃分的區(qū)塊數目,視頻分辨率越高則N越大.從式(7)與式(8)可以推得注視點的預測過程的時間復雜度為Ο(N2T),結合上文視覺顯著圖預測的執(zhí)行分析,整體的測試時間復雜度與視頻時長和分辨率有關.
針對視頻的動態(tài)特性,本文提出了一種針對視頻的注視點序列預測模型.首先,本文采用隱馬爾可夫模型對注視點轉移進行建模,充分考慮人類視覺心理學特點,采用基于萊維飛行的眼跳概率模型對轉移概率建模,同時使用視頻的視覺顯著圖對觀測概率建模;其次,為了得到精確的視覺顯著圖,本文引入了一種卷積神經網絡預測視頻幀的視覺顯著圖;最后,實驗分析表明本文提出的模型具有較好的預測效果.本文針對注視點轉移概率的建模只是采用了較為簡單的萊維飛行,不足以描述更復雜的人類注意力轉移模式,如何對轉移概率進行更精確、泛化能力更強的建模是后續(xù)研究的重點工作.