ROLO使用教程

重新調試了ROLO代碼,記錄一下配置過程;ROLO項目地址
ROLO運行環境:

  • python2.7
  • tensorflow0.8
  • opencv2.4(可嘗試高版本opencv,低版本opencv2.4存在一個問題,步驟6也給出了該問題的解決方案)
    以下是一些注意事項,以下均是在終端翻牆情況
  1. 安裝tensorflow 0.8
pip install --ignore-installed --upgrade https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl
如果上面失敗,可以嘗試用下面的命令,注意是在python2.7下面
python2.7 -m pip install https://storage.googleapis.com/tensorflow/linux/cpu/tensorflow-0.8.0-cp34-cp34m-linux_x86_64.whl
  1. 安裝opencv2.4
conda install -c https://conda.anaconda.org/menpo opencv

主要環境配置完成,下面爲代碼部分

  1. ROLO本質上就是在YOLO的基礎上加上一個LSTM進行一個後處理,因此在使用ROLO代碼首先要通過YOLO產生一個初步的bounding box,YOLO代碼在ROLO-master/3rd party下面,該代碼使用
  • 需要下載個YOLO_small.ckpt模型,模型鏈接 YOLO_small.ckpt下載地址, 需翻牆
  • 修改代碼中weights_file路徑;
  • 根據你要測試的數據,修改代碼中 test值 ,注意test下面註釋不對!!!
  • 在ROLO-master目錄下運行YOLO_network.py, (一定要在該目錄下運行,否則報錯一個類似這樣的錯誤
    paths = [os.path.join(fold,fn) for fn in next(os.walk(fold))[2]] StopIteration)
python 3rd\ party/YOLO_network.py 
  1. 此時可能會報錯
    import ROLO_utils as utils ImportError: No module named ROLO_utilsimport ROLO_utils as utils
    解決辦法爲:
import sys
sys.path.append("/path/to/utils")
import ROLO_utils as utils
  1. 此時可能會報錯
    AttributeError: ‘NoneType’ object has no attribute ‘shape’
    該錯誤是因爲opencv2.4與python的接口問題,導致imread沒有讀入圖片
    可通過該命令解決:
pip install --upgrade opencv-python
  1. 在順利執行YOLO代碼後,會在benchmark/DATA/對應數據下生成yolo_out,此時即可調用ROLO_network_test_single.py,該代碼需要修改的部分爲:
  • self.rolo_weights_file / rolo_weights_file 修改爲預訓練好的ROLO模型位置
  • 根據你要測試的數據,修改代碼中 test值,與YOLO_network.py中一致
  • 在import ROLO_utils as utils前面添加
import sys
sys.path.append('/home/bywind/ROLO-master/utils')
  • ROLO-master目錄下運行ROLO_network_test_single.py
python./experiments/testing/ROLO_network_test_single.py 
  1. 該部分代碼調通後,會生成rolo_out/,此時可調用
    ROLO_demo_test.py 進行可視化對比,該部分代碼需要修改部分爲:
  • 在import ROLO_utils as utils前面添加
import sys
sys.path.append('/home/bywind/ROLO-master/utils')
  • 如果報錯fourcc = cv2.cv.CV_FOURCC(*“XVID”) AttributeError: ‘module’ object has no attribute ‘cv’
    則將代碼中
fourcc= cv2.cv.CV_FOURCC(*'DIVX')
修改爲
fourcc= cv2.VideoWriter_fourcc(*'DIVX')

運行

python ./ROLO_demo_test.py 

即可得到
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章