機器不學習:CNN-RNN結合的3D物體識別分類

機器不學習 www.jqbxx.com : 深度聚合機器學習、深度學習算法及技術實戰

原文:Convolutional-Recursive Deep Learning for 3D Object Classification

總體思想:

1、同時使用CNN-RNN進行圖像特徵的學習,對RGB-D圖像進行分類

2、使用單層CNN提取圖像低維特徵,使用這種方法的原因在於這種低維特徵能夠允許物體的部分形變,從而具有一定的魯棒性。將單層CNN的輸出作為輸入輸入至RNN中,讓RNN去學習特徵間的組合關係(應該也可以理解為是RNN學習到的隱關係)

3、嘗試探索新的用於機器視覺的深度學習架構,在之前的用於自然語言處理和計算機視覺中,嘗試使用(1)對每種輸入採取不同樹結構(2)對單層RNN使用一套權重(3)嚴格限制樹的結構為二維(4)使用反向傳播訓練RNN。在本文中使用固定樹結構,允許n進制樹。

4、使用非監督學習的方法學習濾波器權重。

5、總體結構示意圖(引自原文)

機器不學習:CNN-RNN結合的3D物體識別分類

左側為RGB圖像,右側為深度圖像。首先使用K個濾波器進行卷積操作,將卷積層輸出結果按序輸入至RNN中。這裡有一點不明白,就是為什麼CNN和RNN的塊輸入順序不同。

Convolutional-Recursive Neural Networks

1、非監督學習CNN濾波器

實現方法,首先將RGB和深度圖像的patch分別進行提取放入到兩個集合內,而後分別進行歸一化和白化。對這些預處理過的patch使用k-means進行聚類,下圖為進行聚類後得到的結果(引自原文)

機器不學習:CNN-RNN結合的3D物體識別分類

2、單層CNN

使用單層CNN結構是為了使提取的特徵具有平移不變性。使用了what is the best multi-stage architecture for object recognition的結構,並且加入了矯正和LCN(局部對比度歸一化,用於在一個feature map中實現對比特徵)。

使用K個filter,大小為dp,進行卷積操作,然後再使用size為dl,stride為s進行平均池化。最終得到一個K×r×r的3D矩陣為輸出。

3、Fixed-Tree Recursive Neural Networks

本文中使用的結構是一個固定的樹結構,葉節點為K維向量(來自於CNN池化後的結果),為了方便理解,畫了兩個示意圖(字略醜,湊合看)第一個就是經池化後從CNN輸出的結果,第二張是k為128,block大小為3×3的拼接。

機器不學習:CNN-RNN結合的3D物體識別分類

機器不學習:CNN-RNN結合的3D物體識別分類

整個部分的目的就是為了提取圖像的隱特徵,並且最終輸出的結果是一個k維的向量。每一步的操作都類似於金子塔,其計算方式如下,W為權重,維度為K×b^2K

機器不學習:CNN-RNN結合的3D物體識別分類

在實現過程中,第一個matrix P1的數量應該為(r/b)^2個,其中r為經過CNN處理後的輸入圖像的大小,b表示block的大小。從X到P1的合併就使用上述公式,對將P1合併為P2同樣也使用相同的方法,直至最後只剩下一個P矩陣。使用後向傳播,最小交叉熵進行訓練。下圖為合併過程示意圖,摘自原文。

機器不學習:CNN-RNN結合的3D物體識別分類

4、Multiple Random RNNs

對於3D矩陣的輸入,可以使用N個RNN,每個RNN都輸出K維向量,然後將這N個輸出進行連接,作為softmax分類器的輸入。實驗表明即使RNN使用random weight,仍能夠獲得較高質量的特徵向量。


分享到:


相關文章: