树梅派+Ubunut19.10+YOLOV4实现目标检测

[亡魂溺海] 提交于 2020-08-19 03:03:58

树梅派+Ubunut19.10+YOLOV4实现目标检测

学习了yolov4,记录一下入门操作,可以实现通过树梅派摄像头采集视频,通过PC端中运行yolov4来进行实时目标检测。

实现效果

在这里插入图片描述在这里插入图片描述
在这里插入图片描述

测试环境准备

  1. 树梅派3B( Raspbain-desktop)
  2. ubuntu19.10
  3. CUDA 10.1 CUDNN 7.6.5
  4. OPENCV 3.4.4 Opencv_contrib3.4.4
  5. python 2.7 python3.7
  6. gcc -8 g++ -8

实现过程

  1. 树梅派中安装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" &
    末尾&表示进程后台运行








  2. Ubuntu19.10系统中安装YOLOV4
    在这里插入图片描述
    测试成功出现图下图片
    在这里插入图片描述


  3. Ubuntu19.10中安装CUDA10.1和CUDNN7.6.5
    https://blog.csdn.net/CANGYE0504/article/details/104455394

  4. 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

出现如下问题时:
在这里插入图片描述
解决办法如下,找到路径中报错的文件,修改如下
在这里插入图片描述


在这里插入图片描述

  1. 安装好opencv、cuda10.1和cudnn7.6.5之后,在darknet目录下面中的Makefile文件中修改如下
    在这里插入图片描述
    回到darknet目录中,执行如下命令

make clean
make
  1. 之后开始测试在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

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!