【CV論文閱讀】+【搬運工】LocNet: Improving Localization Accuracy for Object Detection + A Theoretical analysis of feature pooling in Visual Recognition


論文的關注點在於如何提高bounding box的定位,使用的是概率的預測形式,模型的基礎是region proposal。論文提出一個locNet的深度網絡,不在依賴於回歸方程。論文中提到locnet可以很容易與現有的detection系統結合,但我困惑的是(1)它們的訓練的方法,這點論文中沒有明確的提到,而僅僅說用迭代的方法進行(2)到底兩者的融合后兩個網絡的結構是怎樣呢?可以看做一個多任務的系統,還是存在兩個網絡呢?

 

檢測方法

輸入的候選bounding box(使用selective search或者sliding windows獲得),通過迭代的方法,獲得更精確的box。檢測的由兩個過程組成:識別模型(recognition model)以及定位模型(localization model)。識別模型為每個box計算一個置信度(confidence score),度量定位的准確性,定位模型調整box的邊界生成新的候選box,再輸入到識別模型中。偽代碼如下,

 

可以看到,在識別模型中,會根據計算的置信度刪除其中一些box,這樣做的目的是為了減少計算的復雜度。但從過程可以看出,置信度對於定位模型幾乎沒有用,這個迭代的過程識別模型的計算好像沒有必要。

 

定位模型

但上述並不是關心的重點,主要是看看這個提升定位准確性的方法。提出的locnet模型步驟總結如下

(1)對於輸入的box,把它擴大一個因子的倍數,獲取一個更大的區域R,把R投影到feature map中。

(2)經過一個類似於ROI pooling的層,輸出固定大小的map。在這里需要展開說明。把一個區域划分成M*M的格子,這時可以產生兩個向量,分別代表區域R的每一行或者列包含在bounding box中的概率,如圖(左)。例如,對於ground truth box而言,對於邊界內的行或列概率為1,否則為0,

 

其中B代表四條邊界l,r,t,b。這個稱謂In – Out 概率。

除此以外,還定義了邊界概率。即行或列是邊界的概率。對於ground truth box,有

 

 

(3)經過幾個卷積層和ReLU激活之后,出現兩個分支,分別對應兩個向量。然后經過max pooling得到row、column對應的向量。

 

(4)經過FC層之后,使用sigmoid函數輸出In –Out概率或者邊界概率或者兩者都輸出。

 

損失函數

最重要的是定義損失函數了。使用的是伯努利分布的模型,即每行或列有兩種可能(是或者不是),取對數后,這也是logistic 回歸常用的損失函數交叉熵,對於In –Out概率有

其中,對於同理。對於邊界概率有

 

這里有兩個平衡因子,因為作為邊界的行或列較少,所以增大他們的權重,

 

 

問題引入:對於整個模型,讓人覺得奇怪的最后分支對應的row和column的max pooling的情況,竟然可以通過這樣蘊含邊界的信息,真的搞不明白為什么。這讓人思考pooling這個操作究竟為什么這么牛逼,無所不能的樣子。知乎上有人問過這個問題:CNN網絡的pooling層有什么用圖像分類中的max pooling和average pooling是對特征的什么來操作的,結果是什么?但好像得出結論是,這是一個拍腦袋的結果……而對此系統分析的論文《A Theoretical analysis of feature pooling in Visual Recognition》也說這是一個經驗的操作,而且貌似論文結果也沒得出為什么來……

 

論文《A Theoretical analysis of feature pooling in Visual Recognition》的筆記,當一回搬運工,主要是記錄Pooling Binary Feature部分,后面的已經看不明白了,最終得出結論是:Pooling 可以把聯合特征轉變為一個更重要的表示,同時忽略其他無關的細節。

 

簡單起見,假設服從伯努利分布,則均值池化操作為,最大化池化操作

 

論文中討論的是分布的可分性,給定兩個類別C1、C2,則計算可分性的兩個條件分布(最大值池化)為,均值池化以及。雖然是給定類別下的條件分布,但事實上也隱含着它屬於某個類別的概率,即后驗。因此可以用來計算兩個分布的可分性。

 

使得兩個分布可分性增大的方法是,使他們的均值期望距離增大,或者使得他們的樣本標准差變小。

 

對於均值池化,因為前面假設服從伯努利分布,所以的分布(注意此時不是條件概率分布,對於條件概率分布,它們各自下的均值會不同)均值為,但是方差變小了為

 

對於最大值池化,的均值為,方差為。定義為類條件下的可分性,對於均值的距離為

 

其中以及。上式是P的函數,把P擴展到實數域,可以得到的最值點為

 

函數先升后降,極限為0。假設,當P=1時就是均值的期望距離,此時會有許多的P,可以使得距離增大。假設,如果,可以推出,這表明它的一個選擇的特征代表超過半數的圖像中的patch(這句話我的理解是,因為即類別下選擇/生成特征的概率,即激活的概率過高),但通常而言這個不會發生在codebook包含超過100個codeword的時候(因為很高)。

 

對於最大值池化的方差,同樣會經歷一個先升后降的過程。

 

據以上,論文總結了幾個點:

 

1、最大池化特別適合在特征都是非常稀疏的時候來分離(即,有着非常低的概率去激活,這時很少出現的情況)

2、使用所有可用的樣本去執行池化也許不是最優的

3、最優化池化技術會隨着字典的尺寸增加而增加。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM