使用訓練好的caffe模型識別圖片
阿新 • • 發佈:2018-12-17
這裡記錄如何用訓練好的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。 可以看到檢測結果有點偏差,但從某個角度來講還是比較準確的。