物體檢測TensorFlow Object Detection API (一)安裝

物體檢測TensorFlow Object Detection API (一)安裝

在計算機視覺任務中,區分一下圖像分類和物體檢測,一部分任務的數據標注形式是

圖片-標簽1,標簽2,標簽3

這種類型的數據,我們最終的目的,也是測試的圖片,打標簽,姑且將其認為屬于圖片分類任務。

而另外一種數據

圖片中的某一塊-標簽1
圖片中的另一塊-標簽2

這種任務,我們的目的是在某張圖片中檢測(查找)某物體。

TensorFlow Object Detection API 是 TensorFlow models 里的一個 research project 其中預設了很多網絡模型可供我們直接調用和調參,也可以根據其自定義模型。大大簡化了我們進行實驗的流程。然而,即便如此,TensorFlow 依然不是一個新 friendly 的一個項目。在開發過程中可能遇到各種各樣的問題。在此做此記錄。
——2018.8.10

安裝

此處參考了 Installation TensorFlow models 官方 GitHub doc.

依賴

  • Protobuf >= 3.0.0
  • Python-tk
  • Pillow
  • lxml
  • tf Slim
  • Jupyter notebook
  • matplotlib
  • TensorFlow
  • Cython
  • contextlib2
  • cocoapi

TensorFlow 如何安裝不再說明,Protobuf 可通過 brew 安裝。
coco api 選裝
其余通過 pip 安裝

其中 probuf 被用來設置模型和訓練參數,在正式使用前,需要將 protobuf 庫進行編譯

# From tensorflow/models/research/
protoc object_detection/protos/*.proto --python_out=.

注意看好路徑。

jupyter notebook 是交互式的筆記本應用,可以邊寫代碼邊記筆記。非常實用的工具,使用它可以看作者預設的一個最簡單的模型。

將 slim directories 加入 PYTHONPATH

# From tensorflow/models/research/
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

任何位置使用此 api 都要首先運行此命令。

如果沒有運行此命令可能會出現

ModuleNotFoundError: No module named 'object_detection'

這樣的錯誤

測試安裝效果

python object_detection/builders/model_builder_test.py

因為在本人機器上 python 命令默認調用 python2, python3 命令才會調用 python3 所以在測試命令改為:

python3 object_detection/builders/model_builder_test.py

如果出現以下場景,表明運行成功。


image

代表安裝成功了。

一件趣事:
在測試這個8月6號,7號測試時候,總是出現錯誤,后來發現是一處 xrange(python2)用法沒有改成 range。 然后我把它改了就能運行了,發了 pull request 被 Google 的哥哥回復了,說他們正在更新一個大版本,里面已經改了這個錯誤,然后 8月8號就確實更新了一個新版本,改了很多地方。


本文首發于個人網頁 Yao Blog,知乎專欄 談技術 不能潦草,CSDN博客:手握靈珠常奮筆。

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容