筆者曾介紹過物件偵測(Object Detection),請參閱【這裡】,三年來,整個技術的演進又提升了不少,尤其是YOLO演算法已經進化到第5版了,而且還是不同的開發者。Tensorflow 也推出TensorFlow 2 物件偵測(Object Detection) API,包括Tensorflow 1.x 及Tensorflow 2.x的版本,後者的安裝簡化許多,本文就以Tensorflow 2.x版本為主。
物件偵測(Object Detection) 不只要辨識物件的類別,還包括以下要求:
圖一. 物件偵測範例,圖片來源:YOLO: Real-Time Object Detection
圖二. ImageNet ILSVRC 挑戰賽項目
有了物件偵測功能,無人車、機器人、AGV就可以辨識前方的道路或障礙物,達到自動行進/停止/轉彎的特異功能。除了精準辨識外,還要辨識速度快,系統才能即時作出反應。
物件偵測演算法依處理方式概分為兩類:
圖三. Object Detection RCNN 演進
圖五. YOLO 與其他版本、其他演算法比較,縱軸為準確度,橫軸為速度(FPS),圖片來源:YOLOv4: Optimal Speed and Accuracy of Object Detection
要研究這麼多演算法真的很累,幸好 Tensorflow 推出 API,它幾乎全包了。
圖六. TensorFlow 2 Object Detection API 支援的演算法
安裝環境需求請參考 【TensorFlow Object Detection API 教學官網】,目前如下表:
圖七. TensorFlow 2 Object Detection API 安裝環境需求
以下介紹 Windows 作業環境下的安裝:
protoc object_detection/protos/*.proto --python_out=.
pip install cython
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
python -m pip install .
python object_detection/builders/model_builder_tf2_test.py
出現以下畫面,就搞定了。
圖八. TensorFlow 2 Object Detection API 測試結果
夜深了,明天再戰。
老師我在執行
pip install cython
pip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI
的時候一直顯示git失敗,一開始以為是網址失效,但用google搜尋可以找到該github,請問老師還有哪些原因可能造成錯誤嗎?
我在本機測試OK喔。新版好像有改變,可參考下列說明:
https://github.com/philferriere/cocoapi
謝謝老師,我再試試看!
另外請教老師關於步驟7~10分別是在哪個終端機執行,因為我一直搞混不知道該在win10的cmd還是anaconda的prompt。
win10的cmd。
謝謝老師!最後請教老師在研究tensorflow object detection api的時候有哪些參考資料可以分享的嗎?
老師第九個步驟的複製,是放到哪一個資料夾當中
內文第9步驟更新,請參閱。
原文安裝步驟:
https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/install.html
範例:
https://tensorflow-object-detection-api-tutorial.readthedocs.io/en/latest/auto_examples/index.html
也可以google一下,網路有許多文章可參考。
好的非常感謝老師