hans

hans

【機器學習】【Python】六、邊緣框 + SVM + NMS 用於定位 ---- 《SVM物體分類和定位檢測》


前言#

總覺得 SW 效果不好,就嘗試用了下 EdgeBoxes,速度提升一點點,不明顯,平均 1.1 幀吧。但是框出物體的穩定程度和框正物體的準確率高很多,誤檢測相對也少了。

** 最新代碼地址 GitHub: ** https://github.com/HansRen1024/SVM-classification-localization

配置 EdgeBoxes#

原作者只開源了 matlab 代碼,在 github 找到了通過生成.so 庫文件並調用的開源項目。

地址是: https://github.com/samarth-robo/edges

EdgeBoxes 安裝流程:

先安裝 numpy-opencv-converter

git clone https://github.com/samarth-robo/numpy-opencv-converter.git
cd numpy-opencv-converter/build
cmake ..
make

再安裝 cvmatio

git clone https://github.com/samarth-robo/cvmatio.git
cd cvmatio/build
cmake ..
make
make install

這裡可能編譯不通過,說找不到 numpy/ndarrayobject.h 頭文件。

將 /usr/local/lib/python2.7/side-
packages/numpy/core/include/ 目錄中的 numpy 目錄複製到 /usr/local/include 即可

sudo cp -r /usr/local/lib/python2.7/side-packages/numpy/core/include/numpy /usr/local/include

最後安裝 edge

git clone https://github.com/samarth-robo/edges.git
cd edges/cpp
修改CMakeList.txt
將 CVMATIO_PATH 和 NUMPY_OPENCV_CONVERTER_PATH 路徑改成上面安裝好的路徑。
cd build
cmake ..
make -j6

編譯好之後,將 build 目錄中的 edge_boxes_python.so 拷貝到要調用這個庫文件的.py 文件目錄下

同時要將../cpp/external/gop_1.3/data/ 目錄中的 sf.dat 文件一起拷貝過去。

這樣在我們的.py 文件中就可以正常調用 EdgeBoxes 這個算法了。

檢測代碼 #

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。