ICCV 2015 B-CNN細粒度分類


哈哈,好久沒寫博客了。。。。最近懶癌發作~~主要是因為心情不太好啊,做什么事情都不太順心,不過已經過去啦。最近一直忙着公司的項目,想用這個網絡,就給大家帶來了的這篇文章。可能比較老,來自ICCV 2015的一篇關於細粒度分類的文章,文章:B-CNN。由於文章比較簡單,我就不介紹的那么詳細啦~

科普下:粗粒度與細粒度分類

粗粒度:比如貓狗豬這種差別比較大的。

細粒度:狗類別中,識別是什么品種的狗,這就是細粒度分類。

B-CNN框架:

從圖中可以看出,其實就是兩個卷積神經網絡對圖像進行特征抽取,然后用一個bilinear pooling 函數把CNN 抽取的兩組特征進行結合,最后代入softmax層進行分類。

在一般的深度學習模型中,都是由一個神經網絡構成的,在這里,有兩個神經網絡 A

和 B,輸入圖像首先被調整到448 × 448大小,然后用這兩個網絡分別提取該幅圖像的特征,在圖像的每一個位置,兩個網絡分別生成1 × 512大小的特征,在每一個位置 對兩個網絡提取的特征A(l)和B(l)做外積操作:

得到這個位置的雙線性特征,大小為512X512。

接下來采用求和池化方式,將所有位置得到的雙線性特征進行求和作為本幅

圖像的特征:

它的大小也為 512 × 512,接下來對該雙線性特征進行如下計算:

得到它的帶符號平方根,並進行正則化:

以此作為該幅圖片的特征,並用來分類。這個雙線性特征比單個卷積網絡提

取的特征在分類中獲得更好的效果,兩個卷積神經網絡的作用在這里分別相當於

區域檢測和特征提取。因此,它一方面避免了傳統方法中大量的人工標記操作,

同時也獲得了較高的准確率。

在訓練過程中,兩個網絡可以同時被訓練,並且整個訓練過程是端到端的,

已知 X的損失函數梯度為,A和 B 的損失函數梯度由鏈式法則求得:

這里的網絡 A和網絡 B 可以是兩個對稱的網絡,也可以是兩個不對稱的網

絡.文中分別用了VGG-16 和VGG-19兩種網絡。

關於為什么用向量的外積,我想是吸收兩組CNN 抽取的特征,然后進項特征融合,其實在這一步,我們可以做就很多東西。我現在發的有一篇文章,也有類似的思想。

 

首先說說內外積的幾何意義

向量ab的內積是長度為 |a||b|cosθ的標量,是向量a在向量b方向上的分量

而向量ab的外積是長度為 |a||b|sinθ、並垂直於向量ab的矢量

這就說明向量ab的外積和向量ab是不在同一平面內,或者說,向量ab在平面上被我們看到了的話,外積我們是看不到的,他應該是一個旋轉過程,

所以說,外積在物理上(我感覺運動學會用到)可以說是,對運動產生作用的。

 


免責聲明!

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



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