1. 程式人生 > >深度學習目標檢測_01

深度學習目標檢測_01

    基本上有三個月沒記錄具體的學習心得了。主要目前的研究重點放在影象識別和目標檢測上,所以這次就先開始寫寫目標檢測的內容,之後有時間再把理論學習的部分的坑填了。

    目前而言,在目標檢測方面有不少的網路和模型,例如yolo、R-CNN、fast R-CNN等等,種類繁多,一一學起來也是相當耗費時間。暫時筆者這邊的任務是做樂高積木的二維影象識別檢測和機器人拆卸,目前在時間上沒法投入大量的資源去記性網路的研究,所以是以利用已有的網路做遷移為主。

    Google在2017年6月開放了一個Tensorflow Object Detection API的這麼一個玩意兒(以下簡稱TFOD API),其利用TF實現了不少已有的一些目標檢測網路,正好也比較適合我們來利用,那現在就講下怎麼安裝。

一  TFObjectDetection API 環境搭建

    先介紹我的安裝環境:

    Win10系統,python3.6+Tensorflow,嗯大概就這些

1.API下載 

    在Git hub上(https://github.com/tensorflow/models)能夠下載到TFOD API的最新檔案,直接選擇打包下載zip檔案就好。加下來的內容,這個目錄(models/research/object_detection)的這個object detection資料夾就是TFOD API的重點檔案夾了。

    由於解壓完成後我對專案改過名,可能在目錄的名稱上有出入,下面所列相對路徑可作為參考,但是要針對自己的目錄作調整!

2.API安裝

2.1 protoc安裝

    在下載好的壓縮包當中,在這個目錄(models/research/object_detection/protos/)下可以看見不少proto檔案,這些檔案在使用執之前都需要編譯成所對應的py檔案,所以就需要用到protoc程式。

    下載完解壓,在bin資料夾下有一個protoc檔案,選中,複製,貼上到系統目錄(C:\Windows\System32)下。

    (這裡說一下,複製檔案到系統目錄的目的是為了不用新增安裝路徑到系統變數;如果有別的教程中提到新增系統變數也是可以的,那就不需要刻意放到系統目錄下了。

    開啟cmd,輸入protoc --version,如果沒報錯就說明能夠運行了。

2.2 protoc編譯

    網上不少教程都是基於ubuntu系統,利用protoc object_detection/protos/*.proto --python_out=.進行編譯,這裡給出另一種辦法:

    window系統進行編譯可以參考這裡給出的解決方法,在你下載的資料夾這個目錄(models/research)下,按住Shift同時點選滑鼠右鍵開啟Powershell,輸入下列程式碼就能完成編譯。

Get-ChildItem object_detection/protos/*.proto |Resolve-Path -Relative | %{protoc $_ --python_out=.}

    在models/research/object_detection/protos目錄下看到新編譯的py檔案就說明成功了。

2.3 新增環境變數

    在系統環境變數中新建一個PYTHONPATH變數,將下列三個路徑加入其中

models/research
models/research/slim
models/research/object_detection
#根據自己的模型路徑作調整!

2.4 安裝測試

    用pycharm執行models/research/object_detection/builders路徑下的 model_builder_test.py 檔案,出現以下結果說明安裝完畢。如果有提示有xxx沒安裝的話,開啟cmd啟用tensorflow然後pip install xxx就好。

遇到問題的話可以留言給我,互相探討↓

碼字不易,看完請點個讚唄。