树梅派+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