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)(例如汽車)。

作者主要貢獻(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)

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

其中和
分別為輸入門,遺忘門,細(xì)胞狀態(tài),輸出門和隱藏狀態(tài)。
為
時(shí)刻的輸入。
是一個(gè)仿射變換矩陣,其中
,
是
和
的維度。
代表sigmoid激活函數(shù),
表示逐元素相乘。
在時(shí)刻,注意力模型預(yù)測得到權(quán)重圖
,然后在
位置上經(jīng)過激活函數(shù)softmax。這是從全局角度對輸入圖像中相應(yīng)區(qū)域是否有利于對象分類的概率估計(jì)。
時(shí)刻處的一個(gè)位置上的softmax計(jì)算如下
其中是第
位置的元素的映射權(quán)重,
是值為
中的隨機(jī)變量。利用這些概率,可以根據(jù)軟注意機(jī)制,通過對不同區(qū)域特征切片的期望值來計(jì)算有用特征[27]。得到的這一時(shí)刻的特征作為LSTM的輸入繼續(xù)計(jì)算下一時(shí)刻的特征:
其中,是
時(shí)刻特征立方體的
切片。
細(xì)胞狀態(tài)和隱藏狀態(tài)
用[22]中的策略進(jìn)行初始化以加速網(wǎng)絡(luò)收斂
其中和
是2個(gè)多層感知機(jī)。這些用來計(jì)算決定初始輸入
的第一個(gè)位置softmax
。
圖4說明了生成全局注意力特征的過程。可以觀察到,根據(jù)注意力位置圖,將所有位置的特征結(jié)合起來,可以得到一個(gè)基于注意力的全局三維特征。最后,該特征通過兩個(gè)全連接的層,生成具有全局上下文信息的的特征表示,可以表示為
。

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

[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所示。

(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詳細(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

作者認(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

這里的動機(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的右列)。

用上述的方法訓(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