1. 程式人生 > >使用訓練好的caffe模型識別圖片

使用訓練好的caffe模型識別圖片

這裡記錄如何用訓練好的caffe模型來對測試圖片進行識別。

下載訓練好的caffemodel

首先需要一個訓練好的caffemodel,這裡我選用的是caffe官方提供的caffemodel,該模型擁有較多標籤,經過大量的資料訓練得到的。 下載地址:http://dl.caffe.berkeleyvision.org/bvlc_reference_caffenet.caffemodel 下載完成後,將caffemodel檔案放到caffe根目錄下的model/bvl_reference_caffenet/資料夾下面(不是必須的)。

下載均值檔案

均值檔案是用來對待測圖片進行預處理的,我們可以通過如下方式下載。 執行caffe自帶的指令碼:# sudo sh ./data/ilsvrc12/get_ilsvrc_aux.sh 下載的均值檔案會被放到/build/examples/cpp_classification/ 下面。 同時也下載好了一個synset_words.txt檔案。 (為什麼要使用均值檔案?其中的一個原因是訓練過程中訓練資料減去了這個均值,所以檢測的時候也需要用到均值檔案。)

下載驗證圖片

隨便到網上下載一張jpg圖片,放到任意目錄下,我存放目錄是caffe_root/data/ilsvrc12/synset_words.txt examples/images/ 圖片如下: 在這裡插入圖片描述

驗證模型

在caffe根目錄下的 example/cpp-classfication/資料夾下面,有個classification.cpp檔案,這個檔案就是用來分類的。編譯後在/build/examoles/cpp_classification/下面。 直接執行下面命令:

sudo ./build/examples/cpp_classification/classification.bin models/bvlc_reference_caffenet/deploy.prototxt models/bvlc_reference_caffenet/bvlc_reference_caffenet.caffemodel data/ilsvrc12/imagenet_mean.binaryproto data/ilsvrc12/synset_words.txt examples/images/shake.jpg

輸出結果

0.9586 - "n01484850 great white shark, white shark, man-eater, man-eating shark, Carcharodon carcharias"
0.0369 - "n01491361 tiger shark, Galeocerdo cuvieri"
0.0014 - "n02071294 killer whale, killer, orca, grampus, sea wolf, Orcinus orca"
0.0010 - "n02074367 dugong, Dugong dugon"
0.0009 - "n01494475 hammerhead, hammerhead shark"

大白鯊的可能性是百分之95.86。 可以看到檢測結果有點偏差,但從某個角度來講還是比較準確的。