目標(biāo)檢測中的上下文信息

Attentive Contexts for Object Detection

論文地址:https://arxiv.org/pdf/1603.07415.pdf

研究動機(jī)
現(xiàn)代目標(biāo)檢測器通常只利用建議目標(biāo)區(qū)域內(nèi)部的特征進(jìn)行分類。
考慮以下兩個(gè)問題:
如何識別有用的全局上下文信息來檢測某個(gè)目標(biāo)?
如何利用目標(biāo)周圍區(qū)域的信息更好地推斷其內(nèi)容?
直觀地說,圖像背景的全局視圖可以提供有用的上下文信息。例如,如果要在圖像中檢測特定的汽車,通常與目標(biāo)共存的對象(如人、道路或其他汽車)可能會為目標(biāo)檢測提供有用的線索。然而,并非所有的背景信息對提高目標(biāo)檢測性能都是有用的,加入無意義的背景噪聲甚至可能損害檢測性能。因此,識別有用的上下文信息是必要的。除了這樣的“全局”環(huán)境外,還可以看到目標(biāo)周圍區(qū)域?yàn)橥茢嗄繕?biāo)的內(nèi)容提供一些有用的提示。例如,周圍環(huán)境(例如道路)和物體的部位(例如車輪)有助于檢測目標(biāo)(例如汽車)。

圖1. 結(jié)合局部和全局上下文信息指導(dǎo)目標(biāo)檢測的說明。對于局部上下文,在特定建議目標(biāo)框之外,使用內(nèi)部和外部上下文信息來增強(qiáng)特征表示。對于全局上下文,使用基于注意的循環(huán)模型從全局視圖獲取上下文信息(高亮顯示的區(qū)域)。

作者主要貢獻(xiàn)
a. 提出Attention to Context CNN (AC-CNN),幫忙檢測器同時(shí)獲取全局和局部上下文特征。
b. 基于注意力的循環(huán)模型和局部上下文提取網(wǎng)絡(luò)。
c. 在公開數(shù)據(jù)PASCAL VOC 2007和VOC 2012分別由2.0%和2.2%的性能提升。

下面開始分別介紹:
a. Attention to Context CNN (AC-CNN)


圖2. AC-CNN包括兩個(gè)主要的子網(wǎng)絡(luò),即基于注意力的全局上下文子網(wǎng)絡(luò)和多尺度局部上下文子網(wǎng)絡(luò)。圖像首先被送入卷積網(wǎng)絡(luò)以產(chǎn)生特征立方體。然后通過多尺度上下文子網(wǎng)絡(luò)對特征進(jìn)行局部上下文信息提取。每個(gè)建議區(qū)域的邊界框用三個(gè)預(yù)定義的因子進(jìn)行縮放,邊界框中的特征表示由ROIPooling層提取。每個(gè)特征表示,經(jīng)過L2歸一化、連接、縮放、尺寸縮小,然后被送入兩個(gè)全連接的層。在基于注意的上下文子網(wǎng)絡(luò)中,特征立方體首先被集合成一個(gè)具有固定比例的立方體。然后,采用三個(gè)LSTM層的循環(huán)注意力模型,從全局角度對有用區(qū)域進(jìn)行循環(huán)檢測。最后,基于計(jì)算出的注意圖,將全局上下文特征集合起來,并將其輸入到兩個(gè)全連接的層中。AC-CNN使用多尺度上下文子網(wǎng)絡(luò)的輸出特征進(jìn)行目標(biāo)邊界框回歸。兩個(gè)子網(wǎng)絡(luò)輸出的連接特征用于目標(biāo)分類。

b. 具體介紹下循環(huán)注意力模型吧,局部上下文網(wǎng)絡(luò)圖2已經(jīng)說的很明白了。
將特征立方體中的特征切片表示為X=[x_i,...,x_{K^2}],其中x_i(i=1,...,K^2)具有D維特征。將X輸入3層Long Short-Term Memory (LSTM)單元。LSTM的實(shí)現(xiàn)可以參考[26]

\begin{pmatrix} i_t \\ f_t \\ o_t \\ g_t \end{pmatrix}= \begin{pmatrix} \sigma \\ \sigma \\ \sigma \\ tanh \end{pmatrix}M \begin{pmatrix} h_{t-1} \\ x_t \end{pmatrix}
c_t=f_t \odot c_{t-1}+i_t \odot g_t
h_t=o_t \odot tanh(c_t)

圖3. LSTM結(jié)構(gòu)

其中i_t,f_t,c_t,o_th_t分別為輸入門,遺忘門,細(xì)胞狀態(tài),輸出門和隱藏狀態(tài)。x_tt時(shí)刻的輸入。M \in R^{a \times b}是一個(gè)仿射變換矩陣,其中a=d+D, b=4d,di_t,f_t,c_t,o_th_t的維度。\sigma代表sigmoid激活函數(shù),\odot表示逐元素相乘。
t時(shí)刻,注意力模型預(yù)測得到權(quán)重圖l_{t+1},然后在K \times K位置上經(jīng)過激活函數(shù)softmax。這是從全局角度對輸入圖像中相應(yīng)區(qū)域是否有利于對象分類的概率估計(jì)。t時(shí)刻處的一個(gè)位置上的softmax計(jì)算如下
l_{t,i}=p(L_t=i|h_{t-1})=\frac{exp(W_i^\top h_{t-1})}{\sum_{j=1}^{K\times K}exp(W_j^\top h_t-1)}, i\in \{1...K^2\}
其中W_i是第i^{th}位置的元素的映射權(quán)重,L_t是值為1-K^2中的隨機(jī)變量。利用這些概率,可以根據(jù)軟注意機(jī)制,通過對不同區(qū)域特征切片的期望值來計(jì)算有用特征[27]。得到的這一時(shí)刻的特征作為LSTM的輸入繼續(xù)計(jì)算下一時(shí)刻的特征:
x_t=\sum_{i=1}^{K^2}l_{t,i}X_{t,i}
其中,X_{t,i}t時(shí)刻特征立方體的i切片。

細(xì)胞狀態(tài)c_t和隱藏狀態(tài)h_t用[22]中的策略進(jìn)行初始化以加速網(wǎng)絡(luò)收斂
c_0=f_{init,c}(\frac{1}{K^2}\sum_{i=1}^{K^2}X_{t,i})
h_0=f_{init,h}(\frac{1}{K^2}\sum_{i=1}^{K^2}X_{t,i})
其中f_{init,c}f_{init,h}是2個(gè)多層感知機(jī)。這些用來計(jì)算決定初始輸入x_1的第一個(gè)位置softmaxl_1。

圖4說明了生成全局注意力特征的過程。可以觀察到,根據(jù)注意力位置圖,將所有位置的特征結(jié)合起來,可以得到一個(gè)基于注意力的全局三維特征。最后,該特征通過兩個(gè)全連接的層,生成具有全局上下文信息的p的特征表示,可以表示為F_G。

圖4. 演示如何生成全局注意力特征。利用基于注意力的上下文子網(wǎng)絡(luò),計(jì)算出一個(gè)KxK注意力空間特征圖,將所有位置的特征選擇性地組合成一個(gè)1x1xD維的全局注意特征。

實(shí)驗(yàn)在VOC2007和2012上的mAP分別是72.0和70.6。最后貼一個(gè)局部和全局子網(wǎng)絡(luò)的貢獻(xiàn)對比。


圖5. 局部和全局子網(wǎng)絡(luò)有效性對比。

[22] Xu, K., Ba, J., Kiros, R., Courville, A., Salakhutdinov, R., Zemel, R., Bengio, Y.: Show, attend and tell: Neural image caption generation with visual attention. arXiv preprint arXiv:1502.03044 (2015)
[26] Sharma, S., Kiros, R., Salakhutdinov, R.: Action recognition using visual attention. arXiv preprint arXiv:1511.04119 (2015)
[27] Bahdanau, D., Cho, K., Bengio, Y.: Neural machine translation by jointly learning to align and translate. arXiv preprint arXiv:1409.0473 (2014)

Object detection via a multi-region & semantic segmentation-aware CNN model

論文地址:https://arxiv.org/pdf/1505.01749.pdf
代碼:https://github.com/gidariss/mrcnn-object-detection
論文提出一種基于多區(qū)域卷積神經(jīng)網(wǎng)絡(luò)的目標(biāo)檢測器,且能夠編碼基于分割的語義信息。其還包含,一個(gè)迭代定位機(jī)制,交替地為目標(biāo)建議窗口打分,以及精確位置的回歸。

研究動機(jī)
目標(biāo)表征是目標(biāo)檢測中的核心。目標(biāo)表征分為2個(gè)層級。
(1)在第一個(gè)層次上,我們希望我們的對象表示能夠捕獲對象的幾個(gè)不同方面,比如它的純粹外觀特征、不同區(qū)域(目標(biāo)的子區(qū)域)的明顯外觀、上下文外觀、對象邊界兩側(cè)的聯(lián)合外觀和語義。如圖1所示。

圖1. 左圖:在這個(gè)場景中,如果不參考背景、山岳景觀,就很難發(fā)現(xiàn)綿羊。中間:相反,圖中的上下文只能混淆對船只的檢測。在這種情況下,識別模型應(yīng)該關(guān)注純粹的目標(biāo)特性。右圖:該車實(shí)例右側(cè)被遮擋,識別模型應(yīng)集中在左側(cè),以增加檢測置信度。

(2)在第二個(gè)層次上,受分割與檢測之間并沒關(guān)聯(lián)的啟發(fā),我們希望能在提升檢測的表征,從而也能捕獲語義分割信息。

除了目標(biāo)表征外,論文工作還受到以下觀察結(jié)果的激勵(lì):由于最近的CNN模型具有巨大的分類能力,因此良好的檢測性能的瓶頸現(xiàn)在是準(zhǔn)確的目標(biāo)定位。

所以論文的核心研究內(nèi)容是,如何更好地抽取好的特征,并更加精確的定位目標(biāo)。
作者的貢獻(xiàn)主要有3個(gè):
a. 提出一個(gè)多區(qū)域CNN來增強(qiáng)特征
b. 提出一個(gè)語義分割啟發(fā)式CNN再進(jìn)一步增強(qiáng)特征
c. 提出一個(gè)基于CNN的定位回歸方法,另外還提出2個(gè)tricks來優(yōu)化定位。
下面來一個(gè)一個(gè)的說。

a. 多區(qū)域CNN


圖2. 多區(qū)域CNN結(jié)構(gòu)。為了清楚起見,我們只介紹了其中的四個(gè)區(qū)域?!癮daptive max pooling”為自適應(yīng)區(qū)域池化ROIPool[13](只含有一級金字塔)

圖2詳細(xì)描述了多區(qū)域CNN的結(jié)構(gòu)。從輸入圖像中通過多層卷積計(jì)算特征圖,得到激活的特征圖(activation maps of input image)。
然后在特征圖上對目標(biāo)進(jìn)行多區(qū)域提取(ROIPool)。

作者一共提出了4種共10個(gè)區(qū)域:
(1)原始區(qū)域,就是目標(biāo)建議區(qū)域的原始位置,對應(yīng)圖3的中a
(2)截半,對應(yīng)圖3的b-e
(3)中心區(qū)域,對應(yīng)圖3中g(shù)和h
(4)邊界區(qū)域,對應(yīng)圖3中i和j


圖3. 多區(qū)域特征提取中的區(qū)域。

作者認(rèn)為這樣多區(qū)域的好處有兩個(gè)
(1)不同的區(qū)域是關(guān)注目標(biāo)的不同子區(qū)域,所以他們應(yīng)該是互補(bǔ)的,能夠增強(qiáng)特征的多樣性。
(2)認(rèn)為這個(gè)方法能夠有效應(yīng)對object proposal時(shí)候定位不準(zhǔn)確的問題,并在6.2和6.3通過實(shí)驗(yàn)驗(yàn)證。

b. 語義分割啟發(fā)式CNN

圖4.

這里的動機(jī)是通過分割的特征來輔助檢測。然后這里訓(xùn)練分割用的是很出名的FCN[23]的流程了,不過這里需要用分割的標(biāo)注,而是用bbox就好了,簡單粗暴地把bbox里面認(rèn)為是前景,外面認(rèn)為是背景即可。

雖然表面看似這樣的標(biāo)注很粗暴,很多像素都會錯(cuò)標(biāo),但是CNN的糾錯(cuò)能力是很強(qiáng)的,就是將那些標(biāo)錯(cuò)的像素都看成是噪聲,CNN依然能夠根據(jù)更多的標(biāo)對的像素來學(xué)習(xí)出來一個(gè)還不錯(cuò)的模型(如圖5的右列)。


圖5. 使用FCN[23]作為語義分段感知CNN特征的激活圖模塊的弱監(jiān)督訓(xùn)練的說明。左圖:帶有真實(shí)標(biāo)注邊界框的圖像。從上到下依次描述的類別是馬、人和狗。中圖:FCN訓(xùn)練使用的分割目標(biāo)值。它們是由左欄上的人工標(biāo)注的目標(biāo)邊界框生成的。我們用藍(lán)色作為背景,用紅色作為前景。右圖:根據(jù)我們訓(xùn)練的FCN模型估計(jì)的前景概率。這些都清楚地證明,盡管訓(xùn)練的監(jiān)督性很弱,提取的特征仍然帶有重要的語義分割信息。

用上述的方法訓(xùn)練出來一個(gè)還不錯(cuò)的分割CNN后,摘到最后一層,也加到上面的多區(qū)域CNN上,進(jìn)一步增強(qiáng)特征。如圖4所示。

c. 目標(biāo)定位
這一步,對應(yīng)的是RCNN或者SPP-Net的最后一步,也就是得到結(jié)果之后,對位置重新進(jìn)行一次回歸,不過這里做了幾點(diǎn)的改進(jìn):
(1)使用CNN來訓(xùn)練回歸器(在RCNN中是使用簡單的函數(shù)來訓(xùn)練回歸器的),具體來說跟Fast RCNN比較像啦,輸出是4xC個(gè)值,其中C是類別個(gè)數(shù),不過這里直接用L2 loss擬合。
(2)迭代優(yōu)化,跟DeepFace比較像,也就是,利用分類器打一個(gè)分,然后篩掉低分的,對于剩下的高分的proposal重新回歸位置,之后根據(jù)這個(gè)重新回歸的位置再利用分類器打個(gè)分,然后再回歸一次位置。
(3)投票機(jī)制,上述兩步會在每個(gè)object附近都產(chǎn)生不少bbox,這里利用上附近的bbox進(jìn)行投票打分,具體來說,取一個(gè)最高分的bbox,然后還有它附近跟他overlap超過0.5的bbox,最后的bbox位置是他們的加權(quán)平均(權(quán)值為overlap)。

[13] K. He, X. Zhang, S. Ren, and J. Sun. Spatial pyramid pooling in deep convolutional networks for visual recognition. arXiv preprint arXiv:1406.4729, 2014. 3, 8, 9
[23] J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. arXiv preprint arXiv:1411.4038, 2014. 6, 8

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容