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

项目介绍:

本科毕业选的深度学习的毕设,一开始只是学习了一下YOLOv3模型, 按照做者的指示在官网上下载下来权重,配好环境跑出来Demo,后来想着只是跑模型会不会太单薄,因而想了能不能作出来个比较实用的东西(由于模型优化作不了)。因而乎作一个能够检测人体的可操控移动小车的想法就诞生了。linux

实现的功能:1. 控制小车行进,并实时检测人体目标。git

​ 2. 做为家庭监控,能够将出如今摄像头中的人体目标经过微信发到手机上,并能够人为决定是否经过蜂鸣器发出警报。github

大体的工做包括:1. YOLOv3 tiny 模型的训练ubuntu

​ 2. Darknet模型到tensorflow模型再到NCS(神经计算加速棒)模型的两次转化bash

​ 3. 小车控制以及视频流直播程序微信

​ 4. 微信报警程序学习


一 、环境搭建

1、安装NVIDIA显卡驱动

1.删除旧的驱动。测试

原来Linux默认安装的显卡驱动不是英伟达的驱动,因此先把旧得驱动删除掉。优化

sudo apt-get purge nvidia*

2.禁止自带的nouveau nvidia驱动。
2.1 打开配置文件:ui

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

*最直接的方法是进入到系统的“软件和更新”,点击进入到“附加驱动”,选择你须要安装的英伟达驱动,而后点击“应用更改”,便能进行安装了。注意的是这个方法适合网速较好的环境下进行。

2、安装CUDA

一、官网下载:https://developer.nvidia.com/cuda-90-download-archive

个人以下:

img

二、安装依赖库

sudo apt-get install freeglut3-dev build-essential libx11-dev libxmu-dev libxi-dev libgl1-mesa-glx libglu1-mesa libglu1-mesa-dev

不然将会报错:

img

三、注意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

最后记得再次查看版本是否修改为功。

四、运行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

五、添加环境变量

进行环境的配置,打开环境变量配置文件

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

六、安装测试

在安装的时候也也相应安装了一些cuda的一些例子,能够进入例子的文件夹而后使用make命令执行。

例一:

1.进入例子文件

cd /usr/local/cuda-8.0/samples/1_Utilities/deviceQuery

2.执行make命令

sudo make

\3. 第三步

./deviceQuery

若是结果有GPU的信息,说明安装成功。

例二:

\1. 进入例子对应的文件夹

cd NVIDIA_CUDA-9.0_Samples/5_Simulations/fluidsGL

2.执行make

make clean && make

\3. 运行

./fluidsGL

当执行这个例子,咱们会看到流动的图,刚开始可能看不到黑洞,须要等待一小段时间。不过记得用鼠标点击下绿色的画面。

img

3、安装cuDNN

一、官网下载:https://developer.nvidia.com/rdp/form/cudnn-download-survey

这个须要注册帐号,拿本身的邮箱注册便可。

只需下载下面3个安装包便可

img

二、顺序执行下面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

三、安装测试

输入如下命令:

cp -r /usr/src/cudnn_samples_v7/ $HOME``cd $HOME/cudnn_samples_v7/mnistCUDNN``make clean && make``./mnistCUDNN

最终若是有提示信息:“Test passed! ”,则说明安装成功!

4、安装TensorFlow

1.pip直接安装

pip install tensorflow_gpu-1.9.0
5、安装darknet

打开YOLOv3官网,https://pjreddie.com/darknet/,按着教程一步一步的照作。

  1. 把项目克隆到本地,编译

    git clone https://github.com/pjreddie/darknet
    cd darknet
    make
  2. 下载已经训练好的yolov3权重,或者直接wget,若是下载速度太慢能够去百度找一下。

    wget https://pjreddie.com/media/files/yolov3.weights
  3. 下载完以后就可使用权重模型来进行测试了。

    ./darknet detect cfg/yolov3.cfg yolov3.weights data/dog.jpg

这里不会弹出来检测的图片是由于没有安装OpenCV,检测的结果会在项目文件夹下生成predictions.png.

  1. 若是你有摄像头,你也能够直接经过视频测试模型

    ./darknet detector demo cfg/coco.data cfg/yolov3.cfg yolov3.weights
6、总结

至此已完成了,模型训练端的环境搭建,下一篇文章将介绍如何利用YOLOv3模型训练本身的数据集。

相关文章
相关标签/搜索