基于树莓派与YOLOv3模型的人体目标检测小车(一)

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

基于树莓派与YOLOv3模型的人体目标检测小车(一)

凌乱533   2020-03-31 我要评论
#### 项目介绍: 本科毕业选的深度学习的毕设,一开始只是学习了一下YOLOv3模型, 按照作者的指示在官网上下载下来权重,配好环境跑出来Demo,后来想着只是跑模型会不会太单薄,于是想了能不能做出来个比较实用的东西(因为模型优化做不了)。于是乎做一个可以检测人体的可操控移动小车的想法就诞生了。 实现的功能:1. 控制小车行进,并实时检测人体目标。 ​ 2. 作为家庭监控,可以将出现在摄像头中的人体目标通过微信发到手机上,并可以人为决定是否通过蜂鸣器发出警报。 大致的工作包括:1. YOLOv3 tiny 模型的训练 ​ 2. Darknet模型到tensorflow模型再到NCS(神经计算加速棒)模型的两次转化 ​ 3. 小车控制以及视频流直播程序 ​ 4. 微信报警程序 ------ #### 一 、环境搭建 ###### 一、安装NVIDIA显卡驱动 1.删除旧的驱动。 原来Linux默认安装的显卡驱动不是英伟达的驱动,所以先把旧得驱动删除掉。 ``` sudo apt-get purge nvidia* ``` 2.禁止自带的nouveau nvidia驱动。 2.1 打开配置文件: ``` sudo gedit /etc/modprobe.d/blacklist-nouveau.conf ``` 2.2填写禁止配置的内容: ``` blacklist nouveau``options nouveau modeset=0 ``` 2.3更新配置文件: ``` sudo update-initramfs -u ``` 重启电脑! 2.4检查设置 (因为禁止了显卡的驱动,这时你的电脑分辨率会变成800*600,图标格式将会很不和谐,当然通过这个可以看出,是否完成这上面的操作) ``` lsmod | grep nouveau ``` *如果屏幕没有输出则禁用nouveau成功 3 正式安装 法一:ppa源安装(原生安装) 1.添加Graphic Drivers PPA ``` sudo add-apt-repository ppa:graphics-drivers/ppa``sudo apt-get update ``` 2.查看合适的驱动版本: ``` ubuntu-drivers devices ``` 3.在这里我选择合适的396版本: ``` sudo apt-get install nvidia-driver-396 ``` 重启电脑! 4.安装成功检查: ``` sudo nvidia-smi``sudo nvidia-settings ``` *最直接的方法是进入到系统的“软件和更新”,点击进入到“附加驱动”,选择你需要安装的英伟达驱动,然后点击“应用更改”,便能进行安装了。注意的是这个方法适合网速较好的环境下进行。 ###### 二、安装CUDA 1、官网下载:https:/https://img.qb5200.com/download-x/developer.nvidia.com/cuda-90-download-archive 我的如下: ![img](https://img2018.cnblogs.com/blog/811207/201812/811207-20181201142630432-730533796.png) 2、安装依赖库 ``` sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev ``` 否则将会报错: ![img](https://img2018.cnblogs.com/blog/811207/201812/811207-20181201143131974-1767488116.png) 3、注意C++\G++版本 CUDA9.0要求GCC版本是5.x或者6.x,其他版本不可以,需要自己进行配置,通过以下命令才对gcc版本进行修改。 查看版本: ``` g++ --version ``` 版本安装: ``` sudo apt-get install gcc-5 sudo apt-get install g++-5 ``` 通过命令替换掉之前的版本: ``` sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 50 sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-5 50 ``` 最后记得再次查看版本是否修改成功。 4、运行run文件 ``` sudo sh cuda_9.0.176_384.81_linux.run ``` 安装协议可以直接按q跳到最末尾,注意一项: ``` Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 384.81? (y)es/(n)o/(q)uit: n # 安装NVIDIA加速图形驱动程序,这里选择n ``` 5、添加环境变量 进行环境的配置,打开环境变量配置文件 ``` sudo gedit ~/.bashrc ``` 在末尾把以下配置写入并保存: ``` #CUDA export PATH=/usr/local/cuda-9.0/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda-9.0/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}} ``` 最后执行: ``` source ~/.bashrc ``` 6、安装测试 在安装的时候也也相应安装了一些cuda的一些例子,可以进入例子的文件夹然后使用make命令执行。 例一: 1.进入例子文件 ``` cd /usr/local/cuda-8.0/samples/1_Utilitieshttps://img.qb5200.com/download-x/deviceQuery ``` 2.执行make命令 ``` sudo make ``` \3. 第三步 ``` .https://img.qb5200.com/download-x/deviceQuery ``` 如果结果有GPU的信息,说明安装成功。 例二: \1. 进入例子对应的文件夹 ``` cd NVIDIA_CUDA-9.0_Samples/5_Simulations/fluidsGL ``` 2.执行make ``` make clean && make ``` \3. 运行 ``` ./fluidsGL ``` 当执行这个例子,我们会看到流动的图,刚开始可能看不到黑洞,需要等待一小段时间。不过记得用鼠标点击下绿色的画面。 ![img](https://img2018.cnblogs.com/blog/811207/201812/811207-20181201145312087-1064794317.png) ###### 三、安装cuDNN 1、官网下载:https:/https://img.qb5200.com/download-x/developer.nvidia.com/rdp/form/cudnn-download-survey 这个需要注册账号,拿自己的邮箱注册即可。 只需下载下面3个安装包即可 ![img](https://img2018.cnblogs.com/blog/811207/201812/811207-20181201145727659-2040478424.png) 2、顺序执行下面3个安装命令: ``` sudo dpkg -i libcudnn7_7.0.3.11-1+cuda9.0_amd64.deb``sudo dpkg -i libcudnn7-dev_7.0.3.11-1+cuda9.0_amd64.deb``sudo dpkg -i libcudnn7-doc_7.0.3.11-1+cuda9.0_amd64.deb ``` 3、安装测试 输入以下命令: ``` cp -r /usr/src/cudnn_samples_v7/ $HOME``cd $HOME/cudnn_samples_v7/mnistCUDNN``make clean && make``./mnistCUDNN ``` 最终如果有提示信息:“Test passed! ”,则说明安装成功! ###### 四、安装TensorFlow 1.pip直接安装 ``` pip install tensorflow_gpu-1.9.0 ``` ###### 五、安装darknet 打开YOLOv3官网,http://pjreddie.comhttps://img.qb5200.com/download-x/darknet/,按着教程一步一步的照做。 1. 把项目克隆到本地,编译 ``` git clone https://github.com/pjreddiehttps://img.qb5200.com/download-x/darknet cd darknet make ``` 2. 下载已经训练好的[yolov3权重](http://pjreddie.com/media/files/yolov3.weights),或者直接wget,如果下载速度太慢可以去百度找一下。 ``` wget http://pjreddie.com/media/files/yolov3.weights ``` 3. 下载完之后就可以使用权重模型来进行测试了。 ``` .https://img.qb5200.com/download-x/darknet detect cfg/yolov3.cfg yolov3.weights datahttps://img.qb5200.com/download-x/dog.jpg ``` 这里不会弹出来检测的图片是因为没有安装OpenCV,检测的结果会在项目文件夹下生成predictions.png. 4. 如果你有摄像头,你也可以直接通过视频测试模型 ``` .https://img.qb5200.com/download-x/darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights ``` ###### 六、总结 至此已完成了,模型训练端的环境搭建,下一篇文章将介绍如何利用YOLOv3模型训练自己的数据集。

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们