樹梅派+Ubunut19.10+YOLOV4實現目標檢測
學習了yolov4,記錄一下入門操做,能夠實現經過樹梅派攝像頭採集視頻,經過PC端中運行yolov4來進行實時目標檢測。html
實現效果
測試環境準備
- 樹梅派3B( Raspbain-desktop)
- ubuntu19.10
- CUDA 10.1 CUDNN 7.6.5
- OPENCV 3.4.4 Opencv_contrib3.4.4
- python 2.7 python3.7
- gcc -8 g++ -8
實現過程
-
樹梅派中安裝mjpg-streamer
參考博客:
https://shumeipai.nxez.com/2017/05/14/raspberry-pi-mjpg-streamer-installation.html
https://blog.csdn.net/lby0910/article/details/51791862
安裝好以後設置mjpg-sreamer自啓動
進入樹麼派/etc/rc.local文件
在exit 0前面添加mjpg-streamer路徑以下
cd /home/pi/mjpg-streamer/mjpt-streamer-experimental
./mjpg_streamer -i 「./input_raspicam.so」 ./output_http.so -w ./www" &
末尾&表示進程後臺運行
python -
Ubuntu19.10系統中安裝YOLOV4
測試成功出現圖下圖片
ubuntu -
Ubuntu19.10中安裝CUDA10.1和CUDNN7.6.5
https://blog.csdn.net/CANGYE0504/article/details/104455394
bash -
Ubuntu19.10中安裝opencv3.4.4和opencv-contrib3.4.4
注意:安裝opencv時須要下載依賴包(參考以下博客)
https://blog.csdn.net/JackSparrow_sjl/article/details/81911855?utm_medium=distribute.pc_feed_404.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_feed_404.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecas
在Ubuntu19.10系統中下載opencv3.4.4和opencv-contrib3.4.4,並進行解壓,使他們在同級目錄下(方便設置路徑)
學習
//進入opencv-3.4.4文件中 //建立build文件 mkdir build //進入build文件 cd build //使用cmake進行編譯 cmake -D CMAKE_BUILD_TYPE=RELEASE .. cmake -D CMAKE_INSTALL_PREFIX=/usr/local .. cmake -D INSTALL_PYTHON_EXAMPLES=ON .. cmake -D INSTALL_C_EXAMPLES=OFF .. //設置opencv_contrib-3.4.4路徑(它們在同級目錄下) cmake -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib-3.4.4/modules.. cmake -D CUDA_GENERATION=Auto .. cmake -D PYTHON_EXCUTABLE=/usr/bin/python .. cmake -D WITH_TBB=ON .. cmake -D WITH_V4L=ON .. cmake -D WITH_GTK=ON .. cmake -D -D WITH_OPENGL=ON .. cmake -D BUILD_EXAMPLES=ON .. //編譯完成以後執行以下命令 sudo make -j8 //8現成 sudo make install //執行完以後表示opencv安裝完成 //若是中途出出現錯誤(個人解決辦法是將opencv文件夾刪除,從新解壓一個新的,從新來過) //安裝過程當中出現錯誤boostdesc_bgm.i找不到,參考博客 //https://blog.csdn.net/AlexWang30/article/details/99612188 //安裝過程當中出現找不到cuda.hpp、nonfree.hpp等問題,本人的解決辦法是找到出錯//路徑中的文件,將include後面的路徑改成opencv-contrib-3.4.4中的絕對路徑 //或者參考博客https://www.cnblogs.com/ZHJ0125/p/12904507.html
出現以下問題時:
解決辦法以下,找到路徑中報錯的文件,修改以下
測試
- 安裝好opencv、cuda10.1和cudnn7.6.5以後,在darknet目錄下面中的Makefile文件中修改以下
回到darknet目錄中,執行以下命令
make clean make
- 以後開始測試在darknet目錄中輸入以下命令
//http://192.168.128.190:8080/?action=stream表示本身樹梅派產生視頻流的IP地址和端口,須要本身進行修改 ./darknet detector demo cfg/coco.data cfg/yolov4.cfg ./yolov4.weights http://192.168.128.190:8080/?action=stream