朱方瑞,張 力,付彥偉,謝偉迪
(1. 復旦大學 大數(shù)據(jù)學院,上海 200433; 2. 牛津大學 工程科學系,英國 牛津 OX13PJ)
可靠性高、魯棒性強的智能目標跟蹤系統(tǒng)在很多計算機視覺應用中,例如: 車載導航、視頻監(jiān)控、視頻活動識別等,都發(fā)揮著至關重要的作用。目標跟蹤系統(tǒng)的應用問題通常被定義為: 給定視頻第1幀或關鍵幀中的目標邊界框或者目標分割掩碼(Mask),對視頻序列中其他幀中的目標進行定位,提取其邊界框或者分割掩碼,根據(jù)模型輸出的不同,分為目標跟蹤[1](輸出為目標的邊界框)和半監(jiān)督視頻目標分割[2](輸出為目標分割掩碼)。本文研究的問題是利用自監(jiān)督學習方法進行半監(jiān)督視頻目標分割,也可以稱之為密集型目標跟蹤(Dense object tracking)。最近自監(jiān)督方法已經(jīng)取得了不錯的結果,這些方法的主要思路是訓練神經(jīng)網(wǎng)絡作為特征編碼器提取特征來學習視頻幀之間的相似性,利用學習到的相似性矩陣進行分割目標的重建,將分割目標從第1幀或某個關鍵幀向后傳播至全部的視頻序列。這種方法主要通過挖掘視頻幀之間的時間-空間連續(xù)性來實現(xiàn),網(wǎng)絡的優(yōu)化目標分為兩類: 一類是最小化重建的視頻幀與原始幀之間的差異[1,3-4];一類是通過循環(huán)重建,最大化視頻幀間的循環(huán)一致性[5-6]。經(jīng)過訓練后的網(wǎng)絡用來進行幀與幀之間的匹配,通過網(wǎng)絡提取視頻幀的特征表示,使目標幀中的像素特征和參考幀中的對應像素的特征盡可能相似,和不對應的像素的特征盡可能不同。當視頻序列中出現(xiàn)時間-空間不連續(xù)的情況時(比如: 目標遮擋、目標快速運動、運動模糊等),這類方法在進行幀與幀的匹配時會出現(xiàn)錯誤,并且這些錯誤在分割后續(xù)視頻幀中的目標時會不斷積累。從這個角度分析,本文研究了如何通過記憶力機制對自監(jiān)督方法進行改進,通過一個在線自適應模塊來修正分割目標結果中的錯誤,即在測試階段不斷更新重建得到的目標分割掩碼,修正其中匹配不當?shù)腻e誤。這個在線自適應模塊是針對于每個視頻序列進行訓練的,網(wǎng)絡的權重是隨機初始化的,訓練數(shù)據(jù)是重建時得到的目標分割掩碼,所以這種方法仍然屬于自監(jiān)督學習的范疇。除此之外,本文進行了數(shù)據(jù)有效性的探究實驗,實驗結果表明,當采用少量的圖片數(shù)據(jù)或視頻數(shù)據(jù)進行自監(jiān)督訓練時,測試結果仍能超過部分有監(jiān)督學習方法,說明有監(jiān)督學習或者含有語義信息的特征表示對于半監(jiān)督視頻目標分割任務不是必要的,自監(jiān)督學習在這個任務上是適用的。
在本節(jié)中,首先介紹通過挖掘兩個視頻幀的相似性,重建視頻幀的自監(jiān)督學習方式來進行視頻目標分割;然后在此基礎之上,本文通過引入記憶力機制進行改進,在不增加額外計算開銷的情況下,解決了目標遮擋的問題;最后,通過設計自監(jiān)督的在線自適應模塊,修正了一些通過重建方式得到的目標分割掩碼中的錯誤,提升了模型的準確性。
本節(jié)首先介紹通過神經(jīng)網(wǎng)絡提取視頻幀的特征表示來學習幀與幀之間的相似性,這種方法不需要有標注的數(shù)據(jù),通過原始視頻數(shù)據(jù)直接進行網(wǎng)絡建模。通過設計自監(jiān)督學習中的瓶頸(Bottleneck),使網(wǎng)絡學習找到參考幀中能最佳匹配當前像素特征的像素集合,對當前像素特征進行重建。
具體來說,給定某個視頻序列中的兩個視頻幀,記為{It-1,It}∈H×W×3,其中H,W表示原始幀的長度和寬度;待訓練的神經(jīng)網(wǎng)絡(特征編碼器)記為Φ(·;θ);經(jīng)過特征編碼器提取輸入視頻幀的特征表示,記為ft=Φ(g(It);θ),提取的特征ft∈h×w×d,其中h,w,d分別表示特征圖的長度、寬度和通道數(shù);g(It)表示自監(jiān)督學習中的瓶頸,即人為地減少一些信息,防止網(wǎng)絡學習到平凡解(Trivial solution)。在這里,我們采用隨機舍棄輸入視頻幀在“Lab”顏色空間內(nèi)的一個或兩個通道的方式,得到的數(shù)據(jù)作為瓶頸信息。
通過軟注意力機制來計算某個特定視頻幀It與參考幀It-1的特征之間的相似性,得到相似度矩陣A??紤]到視頻序列中視頻幀之間時間-空間的連續(xù)性,當前幀It中的某個像素i的特征被表示為參考幀It-1中像素特征的加權和。這里用(i,j)表示特征圖上的空間位置坐標,在參考幀中,我們只考慮像素i的鄰域內(nèi)的像素特征,用來重建當前幀中像素i的特征,即N={?n∈It-1,|n-i| (1) (2) 式中:c表示像素i的鄰域半徑;相似度矩陣At∈hw×4c2;·表示數(shù)量積運算,即內(nèi)積。經(jīng)過訓練,得到可以最小化重建的視頻幀與原始的視頻幀It間的光度損失(Huber損失)的特征編碼器(Φ(·;θ)),也就是通過此編碼器提取的特征可以使視頻幀It中的像素特征和與其匹配的參考幀It-1中的像素特征的距離盡可能近,和其他不相關的像素特征的距離盡可能遠,網(wǎng)絡的優(yōu)化目標表示為 (3) 在測試時,同樣根據(jù)視頻幀的特征圖計算相似度矩陣,根據(jù)得到的相似度矩陣重建目標分割掩碼,得到視頻目標分割結果,記為 (4) 其中:yt表示第t幀的目標分割掩碼。 從一對視頻幀It,It+1中學習相似性會遇到的問題是,無法應對分割目標在視頻序列中“出現(xiàn)—消失—再出現(xiàn)”的情形。例如,某個待分割的目標在視頻幀It中是被遮擋的,而在視頻幀It+1中又重新出現(xiàn),那么在It,It+1兩幀進行匹配時,It+1中目標所在區(qū)域的像素特征將無法在It中找到可以匹配的像素特征。在心理學中,這種現(xiàn)象被稱作物體持久性,是一種能夠感知物體持續(xù)存在的能力,即使在此段時間內(nèi)無法通過視覺、觸覺、聽覺、嗅覺感知到這個物體。 為了使網(wǎng)絡模型擁有這種能力,最直觀的做法是采用一個外部的記憶模塊,來儲存更多的參考幀用來重建目標視頻幀。在本文中,我們提出一個基于動量更新的外部記憶模塊(Momentum memory),它大大簡化了增強記憶力的目標跟蹤器(Memory-Augmented Self-supervised Tracker, MAST)[3]中的復雜計算操作,在不增加額外GPU顯存和計算量的情況下,引入了多個參考幀用于對目標視頻幀進行更好地重建。 具體來說,給定一個目標視頻幀Iq和記憶模塊中儲存的K個參考幀,記作Ir={I1,I2,…,IK}∈K×H×W×3。我們訓練兩個基于神經(jīng)網(wǎng)絡結構的特征編碼器,即目標幀特征編碼器Φq(·;θq)和參考幀特征編碼器Φr(·;θr),用來提取目標視頻幀Iq和參考幀Ir的特征圖: fq=Φq(Iq;θq),fr=Φr(Ir;θr)。 (5) 式中:fq,fr分別為目標幀和參考幀的特征表示;θq,θr為編碼器參數(shù)。此時,重建目標視頻幀Iq中的像素i的過程表示為 (6) (7) 式中: 相似度矩陣Aq∈hw×K4c2;N={?n∈Ir,|n-i| 在訓練過程中,θq采用正常的反向傳播方法進行參數(shù)更新,為了節(jié)省計算開銷,θr采用動量更新的方式[7]進行參數(shù)更新,更新方式如下: θr←mθr+(1-m)θq。 (8) 這里,m∈[0,1)是動量系數(shù),在實驗中,我們采用m=0.999。至此,我們通過自監(jiān)督的視頻幀重建任務訓練了完整的特征編碼器,包括Φq(·;θq)和Φr(·;θr)兩部分。在測試過程中,對通過特征編碼器得到的特征圖進行相似度計算,重建目標分割掩碼,從第1幀起,逐漸得到整個視頻序列的目標分割掩碼。 盡管記憶力機制可以解決一部分物體遮擋的問題,但是模型仍然受到視頻序列的時間-空間不連續(xù)的影響,比如: 某些區(qū)域在初始的視頻幀中都是被遮擋的,但是在某個視頻幀中開始出現(xiàn),此時,對于新出現(xiàn)的區(qū)域,將無法從參考幀中找到和它們匹配的區(qū)域。在這種情況下,利用光度損失(Huber損失)訓練的特征編碼器將無法對這些區(qū)域準確地重建,積累的錯誤會隨著視頻序列的長度增加而增加。為了解決這一問題,我們提出一個在線的自適應模塊,來修正這些區(qū)域在匹配時出現(xiàn)的錯誤。 利用特征編碼器重建得到的目標分割掩碼,我們針對每一個視頻序列訓練一個在線自適應模塊,即一個圖像分割網(wǎng)絡Ψ(·;θ),它是從頭進行訓練的,網(wǎng)絡權重隨機初始化。網(wǎng)絡的優(yōu)化目標為: (9) (10) 圖1 本文方法的視頻目標分割的總體結構圖Fig.1 Schematic illustration of the proposed method for video object segmentation 在本節(jié)中,首先介紹實驗數(shù)據(jù)集和模型實現(xiàn)細節(jié),然后分析模型各個組成部分的影響,展示模型的定性和定量結果,并進行分析。最后,進行模型的數(shù)據(jù)有效性實驗研究,并分析結果。 本文在兩個標準的視頻目標分割數(shù)據(jù)集上進行實驗,分別是DAVIS-2017[2]和YouTube-VOS[10]。DAVIS-2017數(shù)據(jù)集中包含150個高分辨率視頻序列,含有30 000以上的目標分割掩碼標注;YouTube-VOS數(shù)據(jù)集包含4 000個高分辨率視頻序列,90個目標類別,190 000以上的目標分割掩碼標注。自監(jiān)督訓練時,我們只采用YouTube-VOS中的原始視頻幀數(shù)據(jù)。測試時,采用半監(jiān)督視頻目標分割的模式,利用視頻序列的第1幀的目標分割掩碼,去分割后續(xù)視頻幀中的目標。利用標準的評價準則[2,10]: 區(qū)域相似性(J)和邊界準確性(F),對模型進行評價。 在自監(jiān)督訓練時,特征編碼器采用ResNet-18結構,通過改變卷積操作步長使輸出的特征圖大小為輸入圖片的1/4。對于數(shù)據(jù)預處理,采用隨機裁剪,縮放至384×384大小作為網(wǎng)絡輸入,將圖像由“RGB”轉(zhuǎn)化為“Lab”通道圖像,并隨機(p=0.5)舍棄一個或兩個通道。首先,采用一對視頻幀預訓練特征編碼器,進行120 000次迭代,批大小為48,采用Adam優(yōu)化器;然后,加入記憶力機制微調(diào)特征編碼器,進行10 000次迭代,在特征圖間進行匹配時的鄰域大小為25×25。預訓練學習率為1×10-3,微調(diào)時學習率為1×10-4。在測試階段,通過兩個特征編碼器計算當前幀和參考幀之間的相似度矩陣,用此矩陣重建目標分割掩碼,與此同時,利用得到的分割結果,開始進行在線自適應模塊的訓練。為了簡化模型,我們采用以ResNet-18為骨干網(wǎng)絡的U-Net結構,輸入圖片大小為480×480,數(shù)據(jù)增強方式包括隨機顏色擾動、水平翻轉(zhuǎn)。網(wǎng)絡采用Adam優(yōu)化器,初始學習率為2×10-4,以步長50衰減。模型以訓練200次迭代左右的網(wǎng)絡輸出作為最后的分割結果。 為了驗證模型各個組成部分的有效性,我們逐一加入各個模塊進行訓練,即記憶力機制、在線自適應模塊,并在DAVIS-2017驗證集上進行測試,所有的模型都只在YouTube-VOS訓練集上訓練。通過表1(見第192頁)可以看出,每個模塊的加入都能提升模型性能,尤其是加入記憶力機制后,模型能解決視頻序列中大比例存在的目標遮擋問題。 表1 模型不同組成部分對模型性能的影響(在DAVIS-2017驗證集上的結果) 通過圖2中的定性結果,可以看出當只通過網(wǎng)絡學習兩幀間的相似性進行重建時,會由于物體被遮擋的原因,出現(xiàn)很多錯誤(將背景區(qū)域作為分割目標)。當加入記憶力機制后,網(wǎng)絡可以利用更多的參考幀進行重建,但是對于新出現(xiàn)的圖像區(qū)域仍會出現(xiàn)分割錯誤,在線自適應模塊的提出可以緩解這方面的問題。 圖2 模型加入不同組成部分后的目標分割定性結果Fig.2 Qualitative results of target segmentation after adding different components to the model 此外,本文分析了參考幀數(shù)量對模型性能的影響,因為參考幀數(shù)量的大小會對模型的運行效率產(chǎn)生影響,表2的結果表明,采用5個參考幀能獲得相對較好的性能,故在所有實驗中均采用5個參考幀。當參考幀數(shù)量為t-1時,即將當前幀t之前的所有幀均加入到記憶力模塊中進行編碼,這樣做的結果并不是最優(yōu)的,說明網(wǎng)絡仍需要有選擇地從參考幀中進行匹配。 表2 參考幀的數(shù)量對模型性能的影響(在DAVIS-2017驗證集上的結果) 在兩個標準的視頻目標分割數(shù)據(jù)集YouTube-VOS和DAVIS-2017上,將本文的方法和前人的方法進行比較。從表3和表4的結果可以看出,本文提出的自監(jiān)督方法可以超越先前的自監(jiān)督方法,縮小有監(jiān)督方法和自監(jiān)督方法的性能差距;本文提出的方法可以在較少訓練數(shù)據(jù)集上進行訓練,并達到不錯的效果,模型更加高效;自監(jiān)督學習方法有更好的泛化性能,在訓練中未出現(xiàn)的類別上的測試結果沒有和訓練中出現(xiàn)的類別的測試結果有很大的差距。 表3 模型在YouTube-VOS驗證集上的定量結果 表4 模型在DAVIS-2017驗證集上的定量結果 此外,我們對模型進行視頻目標分割的結果進行可視化,結果如圖3(見第194頁)所示。對于DAVIS-2017數(shù)據(jù)集,圖3中第1行展示了物體的尺度變化以及被遮擋區(qū)域逐漸出現(xiàn)的情形,第2行展示了分割目標的外觀和姿勢的變化,第3行展示了相機抖動和物體運動的情形。對于YouTube-VOS數(shù)據(jù)集,圖3中第1行展示了物體的外觀顏色和背景十分接近,第2行展示了遮擋和被遮擋后出現(xiàn)的情況,第3行展示了目標運動以及尺度發(fā)生變化的情況。本文提出的分割模型均能對其有良好的分割效果。 圖3 模型在DAVIS-2017和YouTube-VOS數(shù)據(jù)集上的定性結果Fig.3 Qualitative results of the proposed module on DAVIS-2017 and YouTube-VOS datasets 本文還針對提出的分割模型進行數(shù)據(jù)有效性的實驗探究,也就是只采用少量訓練數(shù)據(jù),來探究模型的性能。具體來說,實驗分為兩種情形: 一是只采用少量視頻數(shù)據(jù)作為訓練集;另一種是采用少量圖像數(shù)據(jù)作為訓練集。對于基于圖像的訓練數(shù)據(jù),我們采用單應變換對單張圖片進行連續(xù)的數(shù)據(jù)增強操作,生成一系列視頻序列,將這些視頻序列用作訓練數(shù)據(jù)。為了進行公平的比較,這里我們采用時長約為10 min的100個原始視頻序列進行對比實驗。 實驗結果如表5所示,盡管只采用少量的視頻或圖像數(shù)據(jù)進行訓練,模型仍能達到不錯的分割效果,比如可以超過CorrFlow方法[4]。這個結果表明,對于這類密集型目標跟蹤任務(半監(jiān)督視頻目標分割),有監(jiān)督學習或者含有語義信息的特征表示不是必要的,因為僅有少量訓練數(shù)據(jù)存在時,模型是無法學習到豐富的語義信息的。 表5 分割模型的數(shù)據(jù)有效性實驗探究(在DAVIS-2017驗證集上的結果) 本文對用自監(jiān)督學習方法進行半監(jiān)督視頻目標分割的任務展開研究。首先,利用神經(jīng)網(wǎng)絡構造特征編碼器學習視頻幀之間的相似性,用來重建目標分割掩碼;然后,提出了記憶力機制用于解決視頻序列中的目標遮擋問題,以便更好地進行匹配和重建,設計動量更新的特征編碼器以提高模型的計算效率;最后,設計自監(jiān)督的在線自適應模塊來修正重建分割目標掩碼中出現(xiàn)的錯誤。實驗結果表明,本文提出的方法可以超越前人的方法,并且在只采用少量訓練數(shù)據(jù)的情況下,模型仍能獲得不錯的分割性能,表明含豐富語義信息的特征表示在密集型目標跟蹤任務中不是必要的。 在未來的研究中,可以將重點放在以下幾點: 首先,可以引入光流信息來自監(jiān)督地捕獲目標運動信息,對復雜的運動情形進行更好地分割;其次,可以考慮結合RGB信息和光流信息,使其提供的自監(jiān)督信號互補,以完善目標分割模型。1.2 帶有記憶力機制的分割目標重建
1.3 自監(jiān)督的在線自適應模塊
2 實驗設計與結果討論
2.1 實驗數(shù)據(jù)集和實現(xiàn)細節(jié)
2.2 模型各個組成部分和參考幀的數(shù)量對分割模型的影響
2.3 模型在標準視頻分割數(shù)據(jù)上的實驗結果
2.4 模型的數(shù)據(jù)有效性研究
3 結 語