树梅派+Ubunut19.10+YOLOV4实现目标检测
学习了yolov4,记录一下入门操作,可以实现通过树梅派摄像头采集视频,通过PC端中运行yolov4来进行实时目标检测。
实现效果
测试环境准备
- 树梅派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" &
末尾&表示进程后台运行 -
Ubuntu19.10系统中安装YOLOV4
测试成功出现图下图片 -
Ubuntu19.10中安装CUDA10.1和CUDNN7.6.5
https://blog.csdn.net/CANGYE0504/article/details/104455394 -
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
来源:oschina
链接:https://my.oschina.net/u/4386603/blog/4496768