1. 程式人生 > >如何在caffe框架下通過CNN提取影象的特徵?

如何在caffe框架下通過CNN提取影象的特徵?



我需要用caffe提取圖片的CNN特徵,再進行後面的處理。
    在Oxford VGGnet官網裡面已經下載了在imgenet上訓練好的VGG16.caffemodel檔案,以及相應的配置檔案VGG16.prototxt,然後準備用matlab提取影象經過VGGnet的特徵。現在的問題是,VGG16.prototxt裡網路最後一層是經過softmax層的1000維向量,而我想要的是全連線層(fc7)的4096維特徵。。。然後我試著吧VGG16.prototxt裡fc7層之後的網路定義全部刪除,然後用Net.forward直接求出相應的特徵。
    結果是求出了每張圖片的4096特徵,但我不知道這到底是不是fc7層的輸出?另外我改了原始prototxt檔案裡的網路配置,那麼還是原有的,已經預訓練好的caffemodel,這按道理會出現不匹配的問題吧?

我提特徵就是用的FC7層後面加RELU層的輸出,改.prototxt就行,caffe網路自己會調節.prototxt與.caffemodel的不同。但是好像caffe自己給的例子裡也有提特徵的,但不是我這麼做的,建議你可以看看caffe自帶的歷程