"Speed/accuracy trade-offs for modern convolutional object detectors."
Huang J, Rathod V, Sun C, Zhu M, Korattikara A, Fathi A, Fischer I, Wojna Z,
Song Y, Guadarrama S, Murphy K, CVPR 2017
————————————————————————————————————
本文為作者原創,轉載請注明出處(http://www.cnblogs.com/mar-q/)by 負贔屓
這個API的目的是創建一個能夠在單個圖像中定位和識別多個對象的精確機器學習模型,這在仍然是計算機視覺領域仍然是一個核心挑戰。該API是在tensorflow上構造的開源框架,易於構建、訓練和部署目標檢測模型,谷歌已經應用在公司的視覺項目中,來源是開頭的那篇論文,如果有興趣可以研究一下,主要對比了幾種不同的Object Detection神經網絡(FasterRCNN RFCN SSD)。
一、安裝(鏈接為GitHub上給出的安裝說明):
1、依賴:
Protobuf 2.6Pillow 1.0lxmltf Slim (which is included in the "tensorflow/models" checkout)Jupyter notebookMatplotlibTensorflow
2、關於Protobuf:
Protocol-buffer,Google開發的一套數據存儲、網絡通信時用於協議編碼的工具庫,和XML或json類似,就是把數據以某種結構保存下來,不同之處在於protobuf是二進制的,而且編碼的時間和空間開銷都降低很多。原理可以參考博客:majianfei1023。
使用方法:在Google的git倉庫下載需要的版本:根據前文依賴需要的是Protobuf 2.6,我們只需要它的編解碼功能,所以只需要下載win32版本即可。下載解壓發現是一個可執行文件,OK,把它加入環境變量:在path中添加exe文件路徑,並新建一個proto_path,路徑為exe文件路徑。調用cmd,輸入protoc發現提示missing input file,證明已經可以使用了。


參照GitHub上給出的installation提示,在tensorflow/models/目錄下輸入命令:
protoc object_detection/protos/*.proto --python_out=.


可以看到object_detection/protos/目錄下的所有*.proto都生成了對應的py文件。
3、添加環境變量PYTHONPATH
PYTHONPATH G:\TensorFlow\models\slim;G:\TensorFlow\models\slim
4、測試是否成功
(塗抹兩個路徑,防止給大家添加環境變量造成歧義,這里我用的是anaconda的虛擬環境)


二、運行官方的檢測demo







三、和SSD對比
SSD


Object Detection API


(圖片來自百度圖片,如有侵權請告知刪除)
四、訓練數據集
挖個坑,慢慢填……
填坑:http://www.cnblogs.com/mar-q/p/7579263.html