徐振杰,陳慶奎
(上海理工大學 光電信息與計算機工程學院,上海 200093)
E-mail:xuzhenjie12345@126.com
隨著物聯網技術的發展,越來越多的視頻設備被運用到了我們的生活當中,而一些視頻設備由于安裝不當或是長期裸露在自然環境中受到如風,雨等自然外力的影響導致視頻設備偏斜,嚴重影響到工作人員的使用.而如果人為對視頻設備進行檢測,由于視頻設備眾多,不僅將耗費大量的人力物力,更加重要的是人為檢測極為不準確.相反,通過計算機視覺的自動化方法相較于人工檢測具有檢測精度高,檢測成本低等優點.因此一種自動化的圖像偏斜檢測方法迫在眉睫.所以本文希望通過目標檢測的方法得到此場景下每個目標的偏斜角度,從而推斷出圖像的偏斜角度.
近年來在計算機視覺領域,深度學習的進展取得了極大的成功[1-3].在目標檢測領域,越來越多的目光聚焦在基于深度學習的方法上,并且也取得了長足的進步.R.Girshick等人提出RCNN[4]為目標檢測奠定了良好的基礎.雖然RCNN在計算和存儲空間方便有明顯的缺陷,但是效果依然優于傳統方法.Fast-RCNN[5]通過共享參數變量有效增強檢測效率和減少了存儲空間.Ren等人提出了Faster-RCNN[6]用RPN網絡代替隨機搜索提升了效率和準確率,也組成了兩階段網絡中重要的兩個部分:候選區域(region proposal)和區域分類(region classification).
上述方法對水平區域的檢測有很好的效果,但是對于物聯網場景下,圖像的歪斜程度情況極不一致,導致運用上述方法時,目標與目標框由于冗余背景的原因使得匹配并不準確.因此針對這一問題,許多研究者對此做出了貢獻,Jiang等人提出R2CNN[15]在文字檢測上取得了很好的效果,但是R2CNN仍然采用水平邊界框.Ma等人提出了RRPN[16]通過加入帶有角度的邊界框有效提升模型的性能,但是其在處理感興趣區域時會導致信息損失.但是相比簡單的文字檢測場景,物聯網場景更為復雜,有許多復雜背景和噪音目標的干擾,以及目標框的重疊和遮擋極大地影響了目標檢測的效果.Yang等人提出R2oI池化采樣提取判別特征從而能夠對任意旋轉角度的船體進行檢測[17].但是單純只帶有角度的邊界框缺少方向性,容易造成角度混淆,因為當圖像旋轉角度為90°和180°產生的邊界框是沒有區別的,所以不能準確得到每個目標偏斜的角度,更不能推斷出整張特征圖的偏斜角度.為了解決這一系列問題,本文提出了基于目標檢測的偏斜圖像自動校準框架.

圖1 偏斜圖像校準整體框架
本文提出的框架主要由4個部分組成:AFPN網絡,偏斜感興趣區域變換,邊界框回歸以及偏斜圖像自動校準.與基于傳統目標檢測的卷積神經網絡相比,本文所提出的框架更加適合于校準角度變化范圍較廣的大規模物聯網場景下的偏斜圖像.
本文做出的主要貢獻有:
1)AFPN
本文設計的增強金字塔特征網絡通過對FPN[7]網絡進行改進,有效地結合了低網絡層中的位置信息的多尺度特征和高網絡層中的語義信息的多尺度特征,為目標檢測提供了更加有效的特征信息.
2)偏斜感興趣區域變換
偏斜感興趣區域變換中包括了三個階段,分別為偏斜感興趣區域學習機,偏斜位置敏感感興趣區域校準以及偏斜感興趣區域計算.其中偏斜感興趣區域學習機的作用是對從水平感興趣到偏斜感興趣區域轉換過程的學習.偏斜位置敏感得分圖主要是來保證網絡中的特征偏斜不變性,由于考慮了偏斜特征,因此使分類和回歸達到更佳的效果.偏斜感興趣區域計算改變了傳統的感興趣區域計算,使得邊界框回歸更加精確.
3)偏斜圖像自動校準
通過引入direction損失,使得邊界框具有方向性.并通過對每一個目標框的預測角度和direction預測值綜合計算得到每個目標偏斜角度,解決了已有研究中缺少方向性的問題.從而對一張特征圖中的所有目標的偏斜角度加權平局最終得到特征圖的偏斜角度,然后完成自動校準.
深度學習近年來在目標檢測領域的運用越來越廣泛,有很多方法取得了很好的效果,有依賴于候選區域的方法如:RCNN[4],Fast RCNN[5],Faster RCNN[6],R-FCN[9].也有一些并不依賴于候選區域的方法如SSD[13],YOLO[14],甚至提出了基于多尺度融合網絡FPN[7]的方法,但是以上方法檢測偏斜目標是,由于大量冗余背景干擾,因此不具備檢測偏斜目標的能力.
在傳統偏斜校正中,有許多對車牌,身份證,紙幣等簡單圖像的校正方法[20,21],大都是通過傳統圖像處理的方法并檢測邊界框,但不具備對多樣化的大規模物聯網場景下的圖像進行偏斜校正能力.而在深度學習的領域中,對偏斜目標檢測較為常見的是對偏斜文字檢測如R2CNN[15],RRPN[16].但是由于文字之間相隔空間相對較大,而實際自然場景下的偏斜目標之間的距離非常密集,所以實際自然場景下的挑戰更大.最近也出現了有許多方法針對航拍船體檢測,如利用旋轉邊界框和判別網絡來檢測任意旋轉角度的船體[18],Yang等人提出R2CNN++[19],利用旋轉不變探測器并結合多尺度注意力機制,在船體檢測上達到了很好的效果.但是以上方法僅僅在邊界框中簡單地加入角度損失,缺少角度的方向性,所以都不能對偏斜圖像進行準確的校準.直到目前為止,并沒有一種完整有效的適用于大規模場景的圖像偏斜校準方法,因此文本是首個提出基于目標檢測的偏斜校準框架的方法.
在這一章中,我們首先在3.1小節中給出圖像偏斜校準方法的整體框架.其次,在3.2和3.3小節中分別闡述AFPN和偏斜感興趣區域變換的作用.最后,在3.4小節中介紹如何引入direction損失到損失函數以及在3.5小節中說明如何對偏斜圖像進行校準.
偏斜圖像校準方法的整體框架如圖1所示.整體框架由4個部分組成:AFPN網絡,偏斜感興趣區域變換,邊界框回歸以及偏斜圖像自動校準.首先輸入特征圖通過AFPN網絡,AFPN是一個能夠有效將多尺度特征融合的網絡,將低網絡層的語義信息與高層網絡的位置信息結合,確保了檢測目標的有效性.之后通過本文設計的偏斜感興趣區域變換保證了圖像特征的偏斜不變性.然后通過對loss中加入direction損失使得邊界框具有方向性并分類與回歸得到特征參數.最后將通過對輸入圖中每個目標的特征參數進行計算得到圖像的偏斜角度,從而根據偏斜角度實現對偏斜圖像的校準,并得到最終的校準結果.

圖2 AFPN結構圖和級聯細節
由于低網絡層中的位置信息和高網絡層中的語義信息對目標檢測的準確度有著至關重要的作用.而FPN通過對多層尺度的融合,使得它是一種十分有效的多尺度檢測方法,因此我們以FPN為基礎.但是,眾所周知,低層的特征圖保留位置信息,而語義信息一般出現在高層的特征圖中.FPN雖然進行了多尺度融合,但是小目標一般在低網絡層中預測,所以缺少語義信息,而大目標在高網絡層中預測,缺少位置信息.而在復雜的物聯網場景下,會產生大量大小不一的目標. 因此本文針對FPN進行改進,提出AFPN(Augment FPN),如圖2所示.與FPN相比,AFPN有更強的泛化能力.在前饋自下而上的神經網絡中,我們以ResNet為基礎,并選擇每個殘差塊的最后一層作為特征圖{C2,C3,C4}.根據殘差網絡的結構,每一個特征圖的步長為{4,8,16}像素.在自上而下的神經網絡中,我們將同層特征圖的連接和上下層特征圖的連接得到{P2,P3,P4}.并且通過設置所有特征圖的通道數為256來降低參數的數量.計算公式定義如公式(1)所示.
(1)
其中Ci和Pi表示特征圖,Convk×k(.)表示卷積操作,k為卷積核的大小,Upsample(.)代表上采樣,⊕表示級聯操作.
本小節主要介紹偏斜感興趣區變換,其中感興趣區變換與三個部分組成:分別為偏斜感興趣區域學習機,偏斜位置敏感感興趣區域校準以及偏斜感興趣區域計算.
3.3.1 偏斜感興趣區域學習機
由于偏斜的原因,導致目標框匹配不準確,因此我們通過設計偏斜感興趣區學習機來解決這一問題.我們不直接在水平感興趣區域中對邊界框進行回歸,而是通過角度變換,將水平感興趣區域轉換為偏斜感興趣區域,從而對減少了不必要的誤差,讓學習更加有效.
在傳統RPN神經網絡主要是為了第二階段提取粗粒度的邊界框,因此為了提高RPN層的效率,本文只考慮得分排名前13000個的邊界框作為非極大抑制的輸入并得到2000個感興趣區域.特征圖經過AFPN獲得了n個水平的感興趣區域,記為Hi,其形式為x(i),y(i),w(i),h(i),θ(i),與其相對應的特征圖記為Fi,形式也與其相同.本文通過設計全連接網絡完成從水平感興趣區域到偏斜特征感興趣區域的推斷,因此設計偏移量學習回歸函數如公式(2)所示.
(2)

對于每一個特征圖Fi,{tx,ty,tw,th,tθ}為全連接層的輸出,計算公式如公式(3)所示.
t=G(F;W)
(3)

圖3 邊界框回歸示意圖
其中G(.)表示全連接層,W為全連接層的權重參數,F為特征圖.在每一次前饋網絡得到t后,通過解碼器得到解碼后的偏斜感興趣區域參數.
3.3.2 偏斜位置敏感感興趣區域校準
一旦得到偏斜感興趣區域中的參數,我們就能從特征圖中提取偏斜不變特征.由于池化會丟失位置信息,而R-FCN[9]通過提出位置敏感得分圖使得在池化中增加位置信息.Mask RCNN[10]為了解決RoI Pooling導致的量化誤差不匹配問題而提出RoI Align.本文受到以上兩點的啟發,為了使得我們的框架能夠適合目標密集的圖像,因此提出偏斜位置敏感感興趣區域校準來提取具有偏斜不變性特征.

圖4 偏斜位置敏感感興趣區域池化
我們記輸入D為用有H×W×C個通道的特征圖,偏斜感興趣區域的參數為(x1r,y1r,x2r,y2r,hr).通過偏斜位置敏感感興趣區域池化將所得到的偏斜感興趣區域分為k×k個大小相等的網格區域如圖4所示,并輸出特征圖y,其形狀為(K×K×C).對于每個網格,它的索引為(i,j)(0≤i,j≤k),輸出通道為c(0≤c (4) (5) 與Mask RCNN的RoI Align相同,我們對公式(4)使用雙線性內插法. 3.3.3 偏斜感興趣區域計算 由于在本文場景下會生成不同角度的邊界框,因此傳統的感興趣區域計算會導致偏斜的邊界框的計算不準確,進而導致邊界框的學習不準確.因此本文根據三角剖分法[11]設計了一種偏斜感興趣區域的計算方法.對于給定一個邊界框集合R1,R2,…,Rn,計算每兩個邊界框 為了更加關注目標的偏斜程度而不是目標的種類,因此本文采用二分類而不是多分類損失函數的端到端網絡訓練.由于上一節提到存在角度混淆情況,因此我們對邊界框的四個方向進行標注,使得邊界框具有方向性.如圖6所示,我們為每一個邊界框另外標注使其具有方向信息,具體將其標注為四個方向(direction0,direction,direction2,direction3).因此本文的損失函數設計如公式(6)所示. 圖5 偏斜感興趣區域計算示意圖 (6) Lcls(p)=-logp (7) (8) (9) 每張輸入圖像通過上述網絡我們可以分別從回歸和分類網絡中得到(x(i),y(i),w(i),h(i),θ(i)),direction(i)和p(i),其中通過θ(i)和direction(i)計算邊界框偏斜的角度,如圖6所示. 由圖6很容易可以看出,偏斜框的最終角度是由所預測的direction和θ計算得到,計算公式為公式(10). (10) 式中θr為網絡預測得到的角度,當預測direction得到direction1時,k值設為-1,當direction為direction0時,k值設置為0,當direction為direction3時,k值設置為1,當direction為direction2時,k值設置為3. (11) 圖6 邊界框偏斜角度計算 在本章中,我們將對所提出的偏斜圖像校準框架通過一些對比實驗對框架效果進行驗證.本文中所有的實驗都是在NVIDIA TITAN X GPU上完成的. 由于公開數據集中偏斜圖像的數據集較為少見,所以我們通過視頻采集得到1564張偏斜圖像,主要場景為公共汽車,地鐵,商場,上下扶梯等一些常見的擁有視頻設備監控場景.為了獲得更多樣的偏斜狀態下的圖片使數據集更加充分防止過擬合,我們對一有數據集中的每張圖像進行旋轉,并每隔20°采樣,因此得到28152張圖像(1564×18). 我們所有的實驗均在tensorflow[12]深度學習框架上搭建.我們首先將預訓練好的ResNet-101初始化網絡.梯度下降策略為隨機梯度下降(SGD),并以0.001學習率和batch為16作為初始值迭代9萬次.在迭代到6萬次和8萬次的時候分別將學習率改變為0.0001和0.00001.權重衰減和momentum分別設置為0.0001和0.9.優化器我們選擇的是MomentumOptimizer. 由于低網絡層中對目標位置回歸較為準確,但是特征的語義信息有所犧牲.與之相反的是,在高網絡層中,特征的語義信息充分,但是目標位置的預測卻不盡人意.因此對特征圖的選擇尤其重要.本節中,我們選擇6個不同的特征圖的組合策略驗證我們的結構,實驗結果如表1所示. 表1 不同特征圖組合策略的性能表現 Table 1 Performance of different feature maps combination strategies 組合策略Precision(%)Recall(%)F1(%)P269.557.763.1P375.364.869.7P471.660.165.3P2,P375.267.471.1P3,P477.673.475.4P2,P3,P479.876.077.8 從中可以看出,在只有單個特征圖時,結果不盡人意.但是,由P3比其他兩組的結果要好,說明在我們的數據集中邊界框的匹配大都集中在P3中.由于大目標的預測一般在高層P4中,小目標的預測一般在低層P2中,又因為P3,P4的組合結果要好于P2,P3的組合,因此我們得以知道我們的數據集中被檢測的大都為大目標.最終由P2,P3,P4的組合表現結果最優,準確率為79.8%,召回率為76.0%,F1為77.88%,因此說明我們所提出的的AFPN有非常好的效果. 我們以我們所設計的AFPN為基準網絡,用傳統目標檢測中的RPN網絡和損失函數,回歸參數為(x,y,w,h),與本所設計的偏斜感興趣區域對比,實驗結果如表2所示. 表2 偏斜感興趣區域變換的性能表現 Table 2 Performance of IPS ROI transform 模型Precision(%)Recall(%)F1(%)基準69.266.767.9基準+偏斜感興趣區域變換79.876.077.8 從實驗中可以明顯看到,是否擁有偏斜感興趣區域變換對檢測效果具有非常大的影響.主要基準網絡并有沒有對偏斜特征進行考慮,使得對于偏斜對象的檢測包含了太多的冗余信息.當圖像中的目標密集時,這個缺點就被放大了,造成大量的邊界框重疊,極大的影響了檢測的效果.如圖7所示,(a)和(b)分別是基準網絡所檢測的結果和標注圖片,(c)和(d)分別是加入偏斜感興趣區域變換的結果與標注圖片.可以很明顯的看到由于大量的遮擋,基準網絡的結果中有許多目標并沒有正確預測.而恰恰相反,由于加入偏斜感興趣區域變換使得邊界框中的冗余信息減少,也大大降低了檢測的復雜程度,得到了比較好的效果.這說明我們所提出的方法對目標檢測的準確性較好. 圖7 與基準方法對比 通過橫向對比,我們分別對RRPN[16]和R2CNN[19]在本文制作數據集中進行驗證,如表3所示.可以看到我們所用的方法準確率略高于RRPN和R2CNN.我們認為是因為本數據集中包含了很多目標較為密集的圖像,而上述兩種方法主要是針對傾斜文字的檢測,而文字之間的距離一般較大.而本文的方法中恰好是由于引入了偏斜位置敏感感興趣區域校準,使得在池化時減少了對位置信息的損失,從而也使得對目標較為密集的圖像檢測效果相較于其他方法更好. 表3 與其他方法的對比 Table 3 Comparison with other method 模型Precision(%)Recall(%)F1(%)RRPN75.879.276.9R2CNN78.474.376.2Ours79.876.077.8 為了準確得到圖像校準的精確度,我們從測試集中篩選出原本并不偏斜的圖像,并通過旋轉得到偏斜圖像,從而我們能夠知道該圖像準確的旋轉角度.我們從測試集中一共得到68張未偏斜圖像,通過以20°為旋轉步長,一共得到1224(68×18)張圖片.我們分別設定預測的角度與真實的角度偏離閾值為±7°,±5°,±3°,±1°.如果預測的角度與真實角度的偏離值不超過閾值,則判定為正例,否則判定為負例,并計算預測準確率.并與是否在損失函數中加direction損失進行對比實驗,實驗結果如表4所示. 表4 不同損失函數偏斜角度預測準確率 Table 4 Accuracy of inclined angle prediction in different loss function ±7°±5°±3°±1°沒有direction損失87.28%80.92%73.34%66.26%加入direction損失98.82%94.69%87.53%78.36% 從表中可以看出,由于沒有加入direction損失,導致方向信息的缺失,從而導致角度預測的準確率較低.從橫向數據來看我們的模型預測角度的偏差基本不會超過±7°,且大部分預測的偏差值在±3°到±5°之間,小于±1°偏差的準確率偏低.但是由于大部分角度預測偏差在±3°到±5°之間,所以我們認為該誤差也是可以容忍的. 本文以解決物聯網場景下的圖像偏斜為背景,以神經網絡目標檢測的方法為切入點,提出了AFPN網絡,有效地結合了低網絡層中的位置信息的多尺度特征和高網絡層中的語義信息的多尺度特征.并通過偏斜感興趣區域變換去除了冗余信息并學習得到邊界框角度,是偏斜圖像校準的重要組成部分.雖然得到了角度,但是由于角度混淆,所以方法缺少方向性.因此通過在損失函數中加入direction損失,增加了邊界框的方向性.最終通過對偏斜角度的加權平均,成功預測角度.該算法可以通過對偏斜圖像中的偏斜目標成功預測偏斜角度,并得到偏斜圖像的偏斜角度而且可以對圖像自動校準,從而節省大量的人力校準圖像.尤其是我們所提出的的框架具有一定的通用型,能夠對大部分圖像運用此框架.但是預測角度閾值在的準確率在±1°時還有待提高,這也是我們接下來進一步研究的方向并提高準確率.
3.4 損失函數


3.5 偏斜圖像校準


4 實驗及分析
4.1 數據集和訓練細節
4.2 驗證AFPN

4.3 驗證偏斜感興趣區域變換



4.4 偏斜圖像校準準確率

5 結 語