吳雨澤, 聶卓赟, 周長新
(華僑大學 信息科學與工程學院, 福建 廈門 361021)
在先進駕駛輔助系統(tǒng)與自動駕駛技術(shù)中,圖像視頻處理是重要的一環(huán),通過機器視覺對行人、車輛等交通環(huán)境進行目標檢測[1],以確保駕駛安全.然而,實際行車環(huán)境的復(fù)雜性(光照、雨雪天氣、道路雜物、道路擁擠等)常導(dǎo)致檢測目標被遮擋,從而引起安全隱患,特別是在高速行駛下的目標丟失極具危險性.因此,研究適用于短暫目標遮擋的目標檢測算法具有重要意義.
近年來, 隨著深度學習的發(fā)展, 目標檢測算法取得了很大的突破,如兩階段的FasterR-CNN[2-4]系列、一階段的SSD系列[5-9]和YOLO系列[10-13].特別是2020年Facebook AI提出直接將transformer架構(gòu)適配到視覺領(lǐng)域的端到端目標檢測(DETR)網(wǎng)絡(luò)[14],將注意力機制在圖像中的應(yīng)用帶到了臺前,并取得了前所未有的檢測精度.國內(nèi)商湯科技的也進一步肯定了注意力機制的作用[15-17].
目前,大多數(shù)應(yīng)用場景是以視頻作為信息的載體[19],除了常規(guī)視覺信息外,視頻還提供了額外的時間維度信息.針對視頻進行目標檢測,通常可以進行兩類識別計算:一類是對每一幀進行目標檢測;另一類是利用時間維度信息,將被檢測的目標物跨幀鏈接成軌跡[18-25],并利用生成的軌跡進行下次目標狀態(tài)預(yù)測和跟蹤.在檢測任務(wù)中,為充分利用時間維度信息,本文將檢測與跟蹤集成于一體,以DETR網(wǎng)絡(luò)為主干,通過時間序列信息增強目標檢測的效果.
算法1:融合跟蹤目標信息的目標檢測算法
輸入:video framesFt
輸出:bounding boxBt,t=0,…,T
B0=DetectionDETR(F0)
D0=B0
For t=1 to T
Bt=EnhancedDetect(ω,F(xiàn)t,Dt-1)
Bt=NMS(Bt)
Dt=Binary Graph Matching(Bt,Dt-1)
整體框架,如圖1所示.圖1中:CNN為卷積神經(jīng)網(wǎng)絡(luò);FFN為前饋神經(jīng)網(wǎng)絡(luò);NMS為非極大值抑制層;re-id為重檢測;x′為提取的特征序列;x為疊加位置編碼后的圖像底層特征信息;y為對應(yīng)位置的特征向量;z為輸出的特征序列;α,θ,γ為可學習參數(shù);ω為相似度.
DETR采用resnet-50[15]作為主干網(wǎng)絡(luò),該網(wǎng)絡(luò)以Block作為基本單位,每個Block包含兩層1×1的卷積層和一層3×3的卷積層,外加跳接層傳輸殘差,其中,1×1卷積層主要用于減少通道數(shù),降低網(wǎng)絡(luò)整體參數(shù)量.主干網(wǎng)絡(luò)一共包含48個Block用于提取圖像底層特征,而后展平為序列x′,疊加位置編碼后的x輸入Transformer[16]網(wǎng)絡(luò).Transformer網(wǎng)絡(luò)分為Encoder與Decoder兩大模塊.不同于以往CNN獲取圖像信息的方式,Encoder采用文獻[16]所提出的注意力機制,主干網(wǎng)絡(luò)提取的特征序列經(jīng)過自注意力層與全連接層(共有6組Encoder串接),可以提取圖像中長距離相關(guān)信息作為輸出的特征序列z,克服了CNN過于關(guān)注局部信息的問題.Decoder的輸入為固定數(shù)目的object query序列(每個序列元素代表圖像某個位置的編碼,可學習)及Encoder輸出的從圖像中所提取到的特征序列z,輸出為圖像上該object query對應(yīng)位置的特征向量y.經(jīng)過兩層FFN和NMS[17]后,得到圖像上對應(yīng)位置包圍框的定位數(shù)值序列b及包圍框內(nèi)存在目標物的概率值P(c|b),其中,c表示類別.
為解決視頻信息中常存在的模糊、遮擋問題,提出基于注意力疊加的標識提取模塊,將疊加的Transformer網(wǎng)絡(luò)注意力σb作為每個輸出目標的空間信息,用于抽取圖像上對應(yīng)空間的底層特征.通過計算跟蹤目標(上、下幀所有檢測目標經(jīng)二分圖匹配所得)的相似度ω,將已有跟蹤目標的特征信息融入本幀檢測,增強本幀圖像目標檢測效果.
Attention機制最早在視覺領(lǐng)域提出,Google Mind采用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)模型結(jié)合Attention機制完成圖像分類需求[17].而后,Bahdanau等[25]又將其引入到神經(jīng)語言程序?qū)W (NLP)領(lǐng)域,采用Seq2Seq融合Attention機制進行機器翻譯.將Attention機制推向研究熱點的是Google機器翻譯團隊,Vaswani[16]提出Transformer網(wǎng)絡(luò)結(jié)構(gòu),完全拋棄RNN,CNN等傳統(tǒng)結(jié)構(gòu),僅僅依靠Attention機制進行翻譯任務(wù),并取得驚人的效果.
Transformer網(wǎng)絡(luò)結(jié)構(gòu),如圖2所示.圖2中:a為解碼器的展開;b為Transformer網(wǎng)絡(luò)簡圖;c為中的編碼器模塊,通過上、下文(即尋找源句中與之相關(guān)的詞語,稱為自注意力,即每個詞匯對其他詞匯關(guān)注度的權(quán)重)將每個詞匯編碼為中間向量r;d為自注意力層的展開.求某詞匯相對另外一個詞匯的“關(guān)注度”時,注意力權(quán)重ω最終輸出r=ω×v.以此逐個計算每個詞匯相對源句中其他詞匯的注意力,使r中每個語義編碼都包含某個詞匯在特定上、下文表示的語義信息,即
圖2 Transformer網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure of Transformer
ωAtt(q,k,v)=softmax(q×k).
(1)
式(1)中:q為該詞匯的索引信息;k為匹配信息,v為詞匯語義信息.
通過引入注意力機制,克服了RNN,CNN在計算序列信息上存在的窗口問題.序列上每個元素之間的距離不再成為影響結(jié)果的重要因素,使長期記憶變?yōu)榭赡?解碼器同樣使用注意力機制,完成從語義信息編碼到目標語言編碼的變換,區(qū)別只在于解碼器注意力層使用編碼器輸出k,v,不再贅述.
2020年,F(xiàn)acebook AI提出直接將transformer架構(gòu)適配到視覺領(lǐng)域的DETR網(wǎng)絡(luò),不再采用傳統(tǒng)的基于預(yù)先生成的錨定框回歸候選框誤差的策略,直接從圖像特征并行地回歸候選框與類別,最大特點是使用注意力機制Transformer網(wǎng)絡(luò)中Encoder層自注意力權(quán)重熱點圖,如圖3所示.圖3中:(8,13),(9,25),(9,3),(8,32)為編碼器在特征圖上的4個位置.
由圖3可知:在DETR網(wǎng)絡(luò)中,Encoder每層的注意力有集中于目標實例的特性,而在Decoder各層的注意力則分散于每個目標實例的邊緣處.因此,依據(jù)該特性提出基于注意力疊加的標識提取模塊,通過疊加Encoder與Decoder每個檢測實例的注意力權(quán)重,獲取在預(yù)測該目標時網(wǎng)絡(luò)重點關(guān)注的空間位置信息,用于提取像素級別的網(wǎng)絡(luò)低維度特征.Transformer網(wǎng)絡(luò)中Encoder層各通道自注意力權(quán)重的疊加,如圖4所示.圖4中:a為解碼器注意力疊加;b為編碼器自注意力疊加.
圖4 Transformer網(wǎng)絡(luò)中Encoder層各通道自注意力權(quán)重的疊加Fig.4 Superposition of Self-attention weight of each channel in the encoder layer in transformer network
由圖4中的a可知:原圖像經(jīng)過主干網(wǎng)絡(luò)輸出為w×h的featuremap,將其展平成長度為n=w×h的一維向量x,則Encoder層注意力權(quán)重矩陣為Nn×n,每一行代表某像素點對與其他像素點的注意力值,共n行,即有n幅注意力權(quán)重熱點圖.
同理,Decoder層注意力權(quán)重矩陣為Mm×n,m為object query序列長度(有100個預(yù)測結(jié)果),每一行代表某個輸出對Encoder輸出r的注意力權(quán)重.設(shè)σm×n代表m個預(yù)測結(jié)果所關(guān)注的featuremap上的空間位置信息,則圖4中b的第i個預(yù)測結(jié)果的權(quán)重信息為
(2)
(3)
式(3)中:xt為主干網(wǎng)輸出的特征圖.
網(wǎng)絡(luò)通過之前幀的目標檢測與跟蹤所提供的信息增強本幀目標檢測效果,也即在構(gòu)建的網(wǎng)絡(luò)在進行目標檢測時,不僅使用了本幀里的圖像信息,還使用了從前些幀中恢復(fù)的tracklet信息,即增強型目標檢測網(wǎng)絡(luò)融合了上、下文信息.
(4)
(5)
式(5)中:參數(shù)θ,γ初始值分別為θ=20.0,γ=8.0.
(6)
式(6)中:α的初始值為0.5.
早在2014年,杰卡斯開始顛覆傳統(tǒng),采用全新釀造工藝,鉆研雙桶陳釀。“我們除了把控傳統(tǒng)的釀造技藝,在杰卡斯雙桶創(chuàng)釀系列上,還額外增加釀制步驟,把葡萄酒置入陳年威士忌酒桶中。用時間醞釀出更完美的酒體?!眹H釀酒師Bernard Hickin如是說。據(jù)介紹,釀制時,得先把紅酒放到傳統(tǒng)橡木桶內(nèi)12-18個月深度熟成,然后再由經(jīng)驗豐富的釀酒師,把葡萄酒放入陳釀威士忌酒桶中陳釀,進行二次熟成。
(7)
包圍框與跟蹤目標的匹配有多種方法[10],采用基本的KM算法進行匹配,代價矩陣C為
(8)
本幀所預(yù)測的目標為以最小代價匹配已有跟蹤實例,設(shè)定最大代價值為2.0,超過此值忽略匹配.本幀預(yù)測目標匹配成功的實例根據(jù)式(7)更新已有跟蹤實例數(shù)據(jù),已有跟蹤實例在本幀未被匹配者,則從緩存中刪除.即
實驗平臺硬件配置如下:Intel(R) Xeon(R) CPU E5-2623 v4@2.60 GHz;內(nèi)存32 GB;TITAN Xp型顯卡,12 GB.軟件配置如下:Ubuntu18.04LTS,CUDA11.2,python3.6,pytorch1.6.0.為驗證文中方法,采用KITTI數(shù)據(jù)集對不同方法進行對比.KITTI數(shù)據(jù)集由德國卡爾斯魯厄理工學院和豐田美國技術(shù)研究院聯(lián)合創(chuàng)辦,是目前國際上最大的自動駕駛場景下的計算機視覺算法評測數(shù)據(jù)集.該數(shù)據(jù)集用于評測立體圖像、光流、視覺測距、3D物體檢測和3D跟蹤等.KITTI數(shù)據(jù)集包含市區(qū)、鄉(xiāng)村和高速公路等場景采集的真實圖像數(shù)據(jù),每張圖像中最多達15輛車和30個行人,還有各種程度的遮擋與截斷.同時,KITTI數(shù)據(jù)集包含多個類別的標簽,但大部分類別數(shù)據(jù)量較少,文中取數(shù)據(jù)最多的Car,Pedestrian與Cyclist三項.
為減短模型訓練時間,部分網(wǎng)絡(luò)初始權(quán)重采用在ImageNet上預(yù)訓練好的DETR模型參數(shù),并凍結(jié)主干網(wǎng)絡(luò)權(quán)重,不參與學習.損失函數(shù)loss為
(9)
式(9)中:ρ,ζ為超參數(shù),均取1;Bpre為預(yù)測的包圍框集合,Btru為包圍框標簽集合.
訓練采用Adam優(yōu)化算法,初始學習率為0.000 1,權(quán)重衰減參數(shù)為1×10-5,學習率衰減策略為StepLR,StepSize為200.輸入圖像分辨率1 242 px×375 px,為體現(xiàn)網(wǎng)絡(luò)在遮擋條件下融合上、下文信息預(yù)測的能力,除通常的歸一化等圖像預(yù)處理外,還對目標進行隨機的遮擋.訓練集圖片總數(shù)為7 121,隨機抽取3張連續(xù)幀作為一個訓練單元,則每個epoch有7 118個訓練單元.網(wǎng)絡(luò)訓練損失函數(shù)曲線,如圖5所示.圖5中:loss為損失函數(shù).由圖5可知:網(wǎng)絡(luò)在快速下降后,逐漸趨于平穩(wěn).
圖5 網(wǎng)絡(luò)訓練損失函數(shù)曲線Fig.5 Loss function curve of network training
被遮擋目標的檢測效果圖,如圖6所示.圖6中:每個樣本包含連續(xù)的3幀圖像,并在第3幀人為添加遮擋物;紅色框為目標檢測效果;藍色框為原DETR網(wǎng)絡(luò)目標檢測效果.為排除訓練次數(shù)帶來的干擾,測試的兩模型中相同網(wǎng)絡(luò)部分具有同樣的權(quán)重.
(a) 樣本1 (b) 樣本2
(c) 樣本3 (d) 樣本4圖6 被遮擋目標的檢測效果圖Fig.6 Detection effect diagram of occluded target
由圖6可知:目標物無遮擋的情況下,兩網(wǎng)絡(luò)表現(xiàn)效果相近;而對于被遮擋的目標物(遮擋物為實心黑色圓,遮擋比(η)為圓半徑與包圍框?qū)挾缺?,文中網(wǎng)絡(luò)具有更好的效果.
改進前、后目標檢測精度數(shù)據(jù),如表1所示.表1中:AP為精度.
表1 改進前、后目標檢測精度數(shù)據(jù)Tab.1 Target detection accuracy dates of improving before and after
由表1可知:隨著遮擋比的增大,兩種方法的檢測準確率均出現(xiàn)了下降的趨勢;但文中網(wǎng)絡(luò)在目標物被遮擋的情況下有更好的表現(xiàn)效果,且兩種方法的差距隨著遮擋比的提升而提升.
不同遮擋物比下各檢測網(wǎng)絡(luò)的平均精度對比,如表2所示.
表2 不同遮擋物比下各檢測網(wǎng)絡(luò)的平均精度對比Tab.2 Comparison of average accuracy in different detection network with different occlusion proportions
針對視頻中的目標物移動可能產(chǎn)生遮擋、姿勢的變化,光照的差異等問題,提出一種基于注意力疊加與時序特征融合的目標檢測方法.引入注意力權(quán)重疊加的像素級標識提取模塊,更好地匹配軌跡.通過已有軌跡信息,采用時序特征融合的方式增強當前幀下的目標檢測精度.實驗結(jié)果證明,文中方法能有效修正目標物被遮擋等情況下的檢測效果,是一種具有強魯棒性的目標檢測方法.