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