Tensorflow Object Detection API安裝與使用
一、簡介
《21個專案玩轉深度學習:基於Tensorflow的實踐詳解》第五章實踐
win10、jupyter notebook、python3.6,
Tensorflow Object Detection API專案地址:https://github.com/tensorflow/models
二、安裝API
首先下載Tensorflow Object Detection API專案,下載後的models資料夾下有個research資料夾,下文所指research資料夾即此資料夾
2.1、安裝protoc
protoc用於編譯proto檔案,按照書中教程,老是報錯,行不通,這裡使用另外一種方法啊,
2.1.1、下載protoc3.4版本:https://github.com/google/protobuf/releases
裡邊有兩個檔案見,一個bin,一個include,
2.1.2、將bin裡面的protoc.exe檔案新增進計算機環境變數path中,
2.1.3、開啟research資料夾,shift+滑鼠右鍵,然後點選Powershell,開啟powershell視窗(不知道在cmd中行不行,未測試)
2.1.4、在powershell視窗中輸入以下命令,回車,即可編譯proto檔案,
Get-ChildItem object_detection/protos/*.proto |Resolve-Path -Relative | %{protoc $_ --python_out=.}
可見\research\object_detection\protos資料夾下生成了.py檔案,即編譯成功
參考:https://blog.csdn.net/bailixuance/article/details/84502124
三、執行訓練好的模型
3.1、開啟anconda prompt,切換到objection_dection資料夾,執行jupyter notebook,在notebook中開啟該工程
3.2、開啟object_detection_tutorial.ipynb檔案
3.3、在object_detection_tutorial.ipynb檔案中,
將
from matplotlib import pyplot as plt
修改為:
import matplotlib.pyplot as plt
如圖:
這一步異常重要,不修改的話,會報錯,
3.4、執行run all 命令,即可使用預設預訓練模型對預設圖片進行目標檢測
3.5、執行結果如下:
可將\research\object_detection\test_images裡面的圖片修改為自己的圖片進行檢測,比如:
3.6、MODEL_NAME值是:'ssd_mobilenet_v1_coco_2017_11_17',因此使用的模型是SSD+MobileNet,
可以改變此值來使用不同的模型,在\research\object_detection\g3doc資料夾中,在detection_model_zoo.md儲存有模型地址,根據此檔案進行更改為相應的模型即可: