吳金明 黃 偉 董明超 徐懷宇
1(中國科學院上海高等研究院 上海 201204) 2(上??萍即髮W信息科學與技術學院 上海 200120)
VOT是計算機視覺領域中的一個關鍵任務,已應用到很多場景中,例如自動駕駛、人機交互、視頻監(jiān)控等。對于給定視頻序列,目標跟蹤是在已知目標初始信息條件下定位目標后續(xù)位置。該問題面臨的主要挑戰(zhàn)是目標形變,拍攝相機運動,環(huán)境光線變化,目標遮擋等復雜情況下目標難以識別與跟蹤,這些挑戰(zhàn)使得目標跟蹤算法無法適應不同場景。
近年來,目標跟蹤的主要研究成果是基于卷積神經網絡[1](Convolutional Neural Networks,CNN)或相關濾波(Correlation Filter,CF)技術的跟蹤方法。相關濾波技術的思想是使用濾波器在圖像中搜索目標位置。Bolme等[2]首次將相關濾波技術應用于目標跟蹤中,提出了最小輸出平方誤差(Minimum Output Sum of Squared Error, MOSSE)算法。KCF[3]算法采用方向梯度直方圖特征,提高了目標跟蹤的精度。這些算法利用循環(huán)矩陣擴充樣本數(shù)量,增強濾波器的判別能力,并通過傅里葉變換將矩陣乘法運算轉換為對角陣點乘運算,大幅地提高計算效率。
隨著計算機運算能力的提高和有標注數(shù)據(jù)集的增多,許多學者提出基于CNN的跟蹤方法。Bertinetto等[4]提出了基于全卷積孿生網絡的目標跟蹤算法(Fully Convolutional Siamese Networks, SiamFC),SiamFC算法以其超實時的跟蹤速率及高準確性讓孿生網絡在目標跟蹤領域得到廣泛運用。SiamRPN[5]算法將區(qū)域生成網絡 (Region Proposal Network, RPN)引入孿生網絡中,目標跟蹤被轉化為分類與回歸問題,進一步提升了跟蹤精度。Zhu等[6]提出DaSiamRPN算法,設計高效的采樣策略緩解訓練樣本不平衡問題。Fan等[7]提出了C-RPN算法,通過級聯(lián)多個RPN結構分級過濾同類別的干擾項?;贑NN的跟蹤算法的缺點是需要大量的有標注數(shù)據(jù)用于訓練神經網絡,這些數(shù)據(jù)集都需要人工來標注,所以工作量巨大。而強化學習可以使用部分標注的數(shù)據(jù)集,因此強化學習逐漸應用于目標跟蹤領域。
強化學習是基于試錯法的機器學習方法。目前強化學習已成功應用于智能游戲[8]、自動駕駛等場景,而在目標跟蹤領域,許多學者也提出了不少基于強化學習的目標跟蹤方法。文獻[9]中將目標跟蹤轉化為馬爾可夫決策(Markov Decision Process, MDP)過程。文獻[10]中提出離散動作決策網絡,學習跟蹤策略移動目標框實現(xiàn)目標定位。Huang等[11]利用強化學習,減少神經網絡前向計算,加快跟蹤速度。文獻[12]中使用演員評論家算法訓練目標框偏移預測網絡,單步驟預測目標框偏移量,減少動作決策次數(shù),提高跟蹤速率。
基于CNN的目標跟蹤算法在數(shù)據(jù)集VOT[13]、OTB[14]上取得優(yōu)異的性能表現(xiàn),這說明卷積神經網絡能有效地幫助解決目標跟蹤問題。然而,這些方法使用的骨干網絡相對較淺,僅包含少量卷積層,直接使用深層卷積網絡如VGG[15]、ResNet[16]也并未取得更好的跟蹤效果,這說明應用于目標識別的神經網絡無法簡單地用于目標跟蹤問題?,F(xiàn)有跟蹤算法使用水平矩形框標記目標位置,實際中,斜矩形框有時能更好地表示目標位置信息,如VOT數(shù)據(jù)集便是采用斜矩形框標記目標,這樣能減少矩形框內的背景信息,進而提取更優(yōu)的目標特征,能更好地區(qū)分目標與背景。
基于以上研究,提出一種基于強化學習的目標跟蹤算法,使用內部裁剪殘差單元[17](Cropping-inside Residual Unit, CIR)構造目標框偏移決策網絡。該決策網絡以當前位置處的圖像塊作為輸入輸出離散動作概率分布,這些動作包含目標框上下左右移動、放大縮小、旋轉等變換操作。跟蹤階段選擇概率最大的動作移動目標框,這種動作決策的跟蹤方式相比密集采樣方式需要更少的搜索步驟。訓練階段,提出一種基于強化學習(Reinforcement Learning, RL)的多階段訓練方式訓練目標跟蹤網絡。多階段分為監(jiān)督訓練階段和多閾值強化學習訓練階段,每個階段使用前一階段網絡權重作為網絡預訓練權重。
視覺跟蹤任務是利用初始幀給出的目標信息在視頻序列中定位目標后續(xù)位置。本節(jié)將詳細介紹基于強化學習的目標跟蹤算法。該跟蹤方法主要思想是,將前一時刻目標位置處的圖像塊輸入網絡,通過特征提取網絡提取目標位置信息,識別目標的偏移信息,依此進行目標框的移動決策。具體流程如圖1所示,跟蹤過程分三個步驟:① 是數(shù)據(jù)預處理階段,完成圖片裁剪、調整圖片大小等操作;② 經過主干網絡進行特征提??;③ 經過動作預測分支A,輸出9個離散動作的概率分布,選擇要執(zhí)行的動作,圖1對應示例為目標框旋轉操作,移動目標框搜索目標。為了防止目標丟失,跟蹤階段維護目標判別器,對應圖1中B分支,用于目標重檢測。目標跟蹤神經網絡的完整訓練階段分為監(jiān)督訓練和多閾值強化學習訓練階段。
圖1 基于強化學習的跟蹤算法流程
數(shù)據(jù)預處理指對數(shù)據(jù)操作前的預先處理,作用是為了提高數(shù)據(jù)的質量,有助于提高后續(xù)網絡訓練的收斂速度。常見數(shù)據(jù)預處理方式包括數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)轉換、數(shù)據(jù)規(guī)約等。本實驗涉及的數(shù)據(jù)集是來自開源的Alov300++[18]數(shù)據(jù)集,該數(shù)據(jù)集并未對所有視頻幀完成標注,并且圖像大小不一致,因此必須對這些數(shù)據(jù)進行預處理操作。實驗中使用的數(shù)據(jù)預處理技術是數(shù)據(jù)清理、數(shù)據(jù)格式轉換、圖像旋轉、翻轉、裁剪、縮放以及歸一化等數(shù)值操作。
1) 數(shù)據(jù)清理。Alov300++視頻數(shù)據(jù)來源自YouTube視頻,將采集的視頻按目標遮擋、光線變化、拍攝相機動作等場景分類,并且與VOT數(shù)據(jù)集有部分重疊。為了驗證算法有效性,必須將重疊部分視頻數(shù)據(jù)從訓練集中刪除。Alov300++數(shù)據(jù)集并未對所有視頻幀完成目標標注,只對部分視頻幀標注目標位置,數(shù)據(jù)集標簽中增加視頻幀索引說明標高不一致,為了方便深度合數(shù)據(jù)增強和多尺度簽對應圖像幀。為了以強化學習的方式使用這些視頻數(shù)據(jù),需要取固定數(shù)量的視頻幀組成短視頻跟蹤序列,短視頻序列中包含未標注的視頻幀,序列組成方式在1.4節(jié)詳細描述。
2) 尺寸變換。Alov300+數(shù)據(jù)集圖像寬網絡訓練,實驗前需要對原始圖像先進行裁剪操作,分辨率分別調整到360×480、480×720,圖像裁剪塊輸入網絡前統(tǒng)一分辨率為112×112。訓練不同分辨率的數(shù)據(jù),結訓練提高網絡識別精度和泛化能力。
3) 數(shù)值處理。由于Alov300+數(shù)據(jù)集采集時間、光線不同等因素導致圖像數(shù)據(jù)分布可能具有較大差異,所以需對圖像數(shù)值進行歸一化和去均值操作。這些操作可以使圖像數(shù)值具有相似分布,使用相同分布的數(shù)據(jù)進行訓練可以加快網絡模型收斂速度。
目標框偏移決策視作馬爾可夫決策過程,該過程基于馬爾可夫性。馬爾可夫性如式(1)所示。
P[St+1|St]=P[St+1|S1,…,St]
(1)
即馬爾可夫決策過程的狀態(tài)轉換僅取決于目標當前狀態(tài),而與目標之前狀態(tài)無關。其中為目標時刻的狀態(tài),P為狀態(tài)轉換函數(shù)。馬爾可夫決策過程由四元組組成(S,A,f,r)。s∈S表示目標當前狀態(tài),S為目標可能處于的狀態(tài)空間,a∈A表示對目標執(zhí)行的動作,A為可以對目標執(zhí)行的所有動作。狀態(tài)變換過程s′=f(s,a)指目標在狀態(tài)s下采取動作a后轉換為新的狀態(tài)s′的概率分布。r(s,a)指目標在狀態(tài)s下對目標執(zhí)行動作a后的即時回報。四元組(s,a,s′,r)構成強化學習的一個樣本,用于訓練策略網絡。目標跟蹤問題中,跟蹤器將目標框的移動變換視為馬爾可夫決策過程中的動作,因為目標框位移變化量取值范圍連續(xù)且無限,所以為了簡化問題,可以將目標框偏移量離散化。在跟蹤階段,將當前目標位置處的圖像塊作為目標框偏移決策網絡的輸入,該決策網絡預測目標位置變化量,新的目標位置與圖像塊組成目標新狀態(tài)。為了增加算法可靠性,跟蹤器中還增加目標判別器,用于確定圖像塊中存在目標的置信度,只有判別器判定決策網絡預測結果可信才更新目標狀態(tài),重復決策過程實現(xiàn)目標跟蹤。
目標狀態(tài):目標在圖像中的位置信息可以使用四元組bt=[x,y,w,h]標注,分別表示目標框中心在圖像中的坐標和目標框寬高。水平矩形框對于大部分情況足以描述目標位置信息,但是當目標物傾斜或形變時,水平矩形框會包含過多冗余信息,如圖2所示,圖2(a)相比圖2(b)包含更多冗余背景信息,圖2(b)定位目標更精確,影響決策網絡預測結果,因此增加矩形旋轉變量θ描述目標框傾斜角度,即bt=[x,y,w,h,θ]。目標狀態(tài)為當前幀在bt處的圖像塊st=p(bt,I),I為當前視頻幀,p為預處理函數(shù)。
(a) (b)圖2 水平矩形框標簽與斜矩形框標簽對比
動作設計:為了盡可能描述目標位置所有可能的變化并簡化問題,從四個維度Δx、Δy、Δs、Δθ描述目標框前后時刻偏移量,變換方式如式(2)所示。
(2)
分別表示目標框中心水平和垂直位移,寬高縮放程度和中心旋轉角度。每次目標框只變換單維度固定量,因此設計9個離散動作{左移,右移,上移,下移,放大,縮小,順時針旋轉,逆時針旋轉,停止}。為了防止動作預測出現(xiàn)循環(huán),停止操作和最大動作決策次數(shù)是必要的。
狀態(tài)變換函數(shù):動作決策網絡對目標當前狀態(tài)St執(zhí)行動作at=[Δx,Δy,Δs,Δθ]后,轉入至目標新位置bt+1與狀態(tài)st+1=p(bt+1,I),即當前視頻幀在目標新位置處的圖像塊。
回報函數(shù):r(s,a)說明目標在狀態(tài)s下采取動作a時獲得的即時收益。即時收益計算分兩種情況,當a不為停止動作時,則繼續(xù)進行馬爾可夫決策過程,分別計算新狀態(tài)目標位置bt+1、當前目標位置bt與真實目標位置G面積交并比(Intersection over Union, IoU),若交并比增大,則為正收益,反之為負收益,計算方法如式(3)所示。如果動作為停止,收益計算如式(4)所示,即面積交并比大于閾值視作目標跟蹤成功。式(4)中T為面積交并比閾值。同時面積交并比計算采用GIoU[19](Generalized Intersection over Union)計算,提高面積交并比計算精度。
(3)
(4)
GIoU是一種新的面積交并比計算方式。衡量目標定位準確性的主要指標是交并比,傳統(tǒng)交并比計算方式如式(5)所示,表示A、B交叉區(qū)域與合并區(qū)域的商,其中A、B為兩個矩形。
(5)
雖然IoU具有尺度不變性,但它存在兩個問題:1) 如果A和B沒有相交區(qū)域,則IoU=0,這時無論兩矩形相距多遠均無法反映兩個框的距離;2) 即使A和B具有相同的IoU,也不能代表目標框的定位效果相同。
通過采用GIoU來計算兩個邊界框的重合程度,可以克服IoU的缺點,計算方式如下:
(6)
式中:C表示最小的覆蓋兩個矩形框A和B的矩形框。相比IoU計算方式,GIOU具有以下優(yōu)點特性:1) GIoU可認為是IoU的下界,小于等于IoU;2) GIoU的取值范圍是(-1, 1],當A=B時,GIoU=IoU=1,當A與B不相交而且離得很遠時,GIoU(A,B)趨向于-1;3) GIoU能夠更好地反映兩個矩形的相交情況。
目前基于CNN的目標跟蹤方法中使用的骨干網絡相對較淺,它沒有充分利用深度神經網絡的特征表達能力。文獻[16]通過系統(tǒng)實驗分析深度神經網絡難以應用于目標跟蹤任務的主要障礙,文章指出其主要原因是神經元感受野的大幅增加導致特征可辨性和定位精度降低,卷積網絡的填充操作引起位置偏差。基于這些研究成果,提出的跟蹤方法所使用的卷積網絡基于CIR結構。CIR單元結構如圖3(a)所示,圖3(b)是ResNet中的殘差單元,它由3個堆疊的卷積層和繞過它們的快捷連接組成,這三層是卷積核大小為1×1、3×3和1×1的卷積層,其中1×1層負責融合多通道特征,使用3×3卷積核提取局部特征。殘差單元包括零填充操作,以確保單元輸出與輸入尺寸一致。CIR單元在殘差單元基礎上增加裁剪操作,可以在內部裁剪出不受填充操作影響的特征,緩解位置偏差的問題。特征對比如圖4所示,圖4(a)為輸入網絡的圖像裁剪塊,圖像來自訓練集,圖4(b)、(c)和(d)為不同網絡結構特征提取結果對應的熱圖,CIR網絡對目標定位更加精確,普通殘差單元構造的網絡包含更多位置偏差,結果說明,CIR結構更適用于目標跟蹤問題。將CIR單元作為殘差塊組成包含22個卷積層的CIResNet[16]殘差網絡,即圖1主干網絡部分,以此網絡作為跟蹤算法主干網絡。在卷積網絡之后接兩個全連接輸出層{A,B},對應圖1A、B分支,A分支輸出離散動作的概率分布p(a|st;N),N為目標框偏移決策網絡,概率最大的動作作為對目標框將要執(zhí)行的動作,B分支輸出矩形框內存在目標的概率分布,評估決策網絡跟蹤結果的可靠程度,跟蹤階段基于此結果判斷是否采用決策網絡的跟蹤結果。
(a) (b)圖3 CIR單元和原殘差單元
(a) 輸入圖像(b) Resnet50 (c) VGG (d) CIResnet圖4 不同卷積網絡的特征熱點圖
模型訓練包含兩個階段,分別是監(jiān)督訓練階段和多閾值強化學習訓練階段,訓練特征提取網絡和判別分支。特征提取網絡用于在圖像塊中獲取目標偏移信息,判別分支根據(jù)目標偏移信息作出決策,移動目標框使得目標中心盡可能處于矩形框中心位置。
在監(jiān)督訓練階段,圖像塊pj、動作aj和是否為目標oj作為一個樣本進行多任務訓練。圖像塊pj的生成方式是在真實邊框G中添加高斯噪聲生成樣本邊框bt和對應圖像塊pj=p(bt,I),計算能夠最大化面積交并比的動作,以此作為pj對應的動作標簽aj,動作標簽獲取方式如式(7)所示。
(7)
(8)
(9)
監(jiān)督訓練完成后,保留網絡權重作為強化學習訓練階段預訓練權重。通過監(jiān)督訓練過程,將目標跟蹤問題轉化為目標位置偏移的判別問題,使得主干網絡學習目標偏移信息,但在跟蹤階段,連續(xù)幀的目標偏移決策過程相互獨立,而實際中每次決策都會影響后續(xù)跟蹤決策,這樣并未考慮連續(xù)幀之間的序貫信息,通過引入強化學習,構造四元組訓練樣本(s,a,s′,r),利用決策過程關聯(lián)連續(xù)決策間的序貫信息,提高跟蹤精度和魯棒性。強化學習訓練過程與一般的監(jiān)督訓練不同,訓練時基于當前策略生成一系列訓練樣本,在模型上擬合這些樣本,利用訓練完成的模型改進決策策略,上述過程循環(huán)直至訓練完成。
提出的方法為跟蹤策略設計離散動作,因此采用強化學習策略梯度法訓練目標框偏移決策網絡。策略梯度法由文獻[20]首次提出,具體過程是:首先對數(shù)據(jù)進行預處理操作,將視頻序列分段成多段短視頻序列,序列如圖5所示,其中初始幀與結束幀有標注,中間幀無標注。
圖5 強化學習訓練的序列
然后對每個視頻序列模擬跟蹤過程,從首幀開始,每次根據(jù)決策網絡移動目標框,并根據(jù)實際跟蹤效果使用式(3)-式(4)計算相應的收益,通過模擬跟蹤過程完成樣本生成,最后使用這些樣本計算權重梯度,反向傳播更新網絡權重。梯度計算方式(根據(jù)文獻[20])如式(10),其中W為決策網絡權重,相比傳統(tǒng)梯度下降法,式(10)多了一個因子rt,反映樣本對權重梯度的影響程度。
(10)
訓練階段動作的選擇按e貪婪方式選擇,即以概率e隨機選擇動作保持網絡的探索能力。為了提高跟蹤精度,強化學習訓練階段設計多閾值訓練過程,將視頻序列按時間分為三個部分,為每個部分賦不同閾值,式(4)閾值T分別為0.8、0.7、0.5。通過多級訓練,逐漸過濾干擾樣本。
為了解決目標跟蹤過程出現(xiàn)漂移和決策網絡跟蹤結果不可信的問題,引入目標判別器,對應圖1的B分支,判別結果作為目標置信度表示決策網絡跟蹤結果的可信程度,若其結果不可信則使用密集采樣方式搜索目標并重新使用動作決策網絡跟蹤目標,同時跟蹤階段定時更新目標判別器。
提出的方法使用alov300+數(shù)據(jù)集訓練目標跟蹤網絡,為了驗證方法有效性和對比其他跟蹤方法,實際訓練數(shù)據(jù)只使用300個與VOT數(shù)據(jù)集不重復的視頻序列。監(jiān)督訓練階段對數(shù)據(jù)集運行50個epoch,強化學習訓練階段在數(shù)據(jù)集上運行100個epoch。兩個階段學習率設置為0.000 1,權重衰減因子設為0.000 5。
本實驗硬件環(huán)境為Inter Core i7-6500k CPU 3.4 GHz,并搭配兩個GeForce GTX 1080Ti 11 GB顯存的GPU。軟件環(huán)境為Python3.6和Pytorch1.1.0。本次實驗在數(shù)據(jù)VOT2016上進行評估,首先將提出的算法與其他算法進行對比分析,分析該算法整體跟蹤準確性和成功率;然后進行消融實驗,分析跟蹤算法強化學習訓練對跟蹤效果的影響。
VOT數(shù)據(jù)集最重要的兩個評價指標是精度(Accuracy)和魯棒性(Robustness)。精度越大,跟蹤算法準確度越高,魯棒性越大,跟蹤算法魯棒性越低。跟蹤器在第t幀上的精度計算如式(11)所示,其中Nrep為序列重復跟蹤次數(shù),Φt(k)為第k次測試的跟蹤精度。平均跟蹤精度計算如式(12)所示,其中Nvalid為視頻序列中有效幀數(shù)量。
(11)
(12)
魯棒性計算類似精度計算,計算方式如式(13)所示。F(k)為第k次測試跟蹤失敗的次數(shù)。
(13)
實驗比較了多個目前在VOT2016上性能表現(xiàn)優(yōu)異的算法,它們分別是ADNet[10]、Struck[21]、CCOT[22]、SRDCF[23]、KCF[23]、MDNet[24]、SAMF[25]、SiamRPN[5]、Staple[26]、TCNN[27],所有算法的精度與魯棒性結果對比如表1所示,表中數(shù)字標注加黑的是第一名,數(shù)字加下劃線的是第二名,數(shù)字加波浪線是第三名。提出的算法精度達到0.526 3,相比相關濾波算法KCF,算法精度提高3%。在算法只使用300個視頻數(shù)據(jù)訓練條件下,算法精度只比SiamRPN算法低2%,這說明利用強化學習能很好地利用視頻數(shù)據(jù)訓練神經網絡。算法運算能力為每秒處理8幀圖片,相比MDNet算法,處理速度更快。通過減少目標判別器更新頻率和動作決策次數(shù),能加快算法跟蹤速率。算法魯棒性相對SiamRPN、MDNet更低,VOT測試中失敗次數(shù)更多,使用更多的數(shù)據(jù)集用于訓練能提高目標跟蹤算法魯棒性。對比同為強化學習的跟蹤算法ADNet,得益于強化學習決策過程和主干網絡的改進,提出的方法綜合表現(xiàn)更優(yōu)?;趶娀瘜W習的跟蹤方法主要通過減少目標搜索空間加快跟蹤速度,但每次目標偏移決策都會影響后續(xù)跟蹤結果,即會逐漸放大錯誤偏移決策的影響,容易出現(xiàn)目標逐漸丟失的情況,目標丟失時只能依賴目標判別器重新搜索目標,影響目標跟蹤的精度和魯棒性。
表1 各跟蹤算法在VOT測試結果對比
為了驗證強化學習訓練對跟蹤算法的影響,設計兩個跟蹤算法。跟蹤器1為表1中Our_tracker1,僅包含監(jiān)督訓練過程,跟蹤器2為表1中Our_tracker2。使用跟蹤器1訓練結果作為跟蹤器2的預訓練網絡繼續(xù)強化學習訓練階段,結果如表1最后兩行所示,增加強化學習訓練階段能有效提高跟蹤器的精度和魯棒性。
表2給出了各跟蹤算法在不同場景視頻序列下精度對比,測試場景包括:CM相機運動、IC光線變化、MC運動變化、OCC遮擋、SC形變。表中數(shù)字標注加黑的是第一名,數(shù)字加下劃線的是第二名,數(shù)字加波浪線是第三名。跟蹤器2在目標形變場景下精度為0.5157,表現(xiàn)最優(yōu),遮擋場景下精度前三,精度為0.459 5。由于算法輸入是目標出現(xiàn)偏移的圖像塊,目標可能出現(xiàn)在圖像邊界,僅包含部分外觀信息,通過離線訓練和特定目標微調使跟蹤方法學習目標偏移信息,對于遮擋和形變場景,跟蹤算法依據(jù)部分外觀信息搜索目標位置,所以提出的算法在這些場景下更具優(yōu)勢。對于相機運動和運動變化場景,目標相對運動速度較快,位置變化較大,導致目標可能出現(xiàn)在搜索區(qū)域外,而提出的跟蹤算法搜索空間較小,容易發(fā)生目標丟失的問題,降低算法的跟蹤精度。
表2 各跟蹤算法不同場景下精度對比
續(xù)表2
基于強化學習提出目標框偏移決策跟蹤方法,為目標框移動設計中心移動、縮放和旋轉動作,以強化學習的方式使用較少視頻序列數(shù)據(jù)訓練動作決策網絡,同時引入新的殘差網絡增強骨干網絡特征表達能力。實驗表明提出的算法能有效應對多種復雜場景,特別是目標形變場景,具備較高的跟蹤精度和魯棒性。由于強化學習訓練過程緩慢,訓練集數(shù)量和視頻場景類別不夠充足,因此算法還有待提高。針對此問題,接下來將重點改進模型訓練過程,增加數(shù)據(jù)集,提高網絡收斂速度和算法跟蹤精度。