背景
每次必须介绍背景,这次为啥突然要跑yolo5呢?主要使用海康威视的红外相机进行行人与目标检测。为什么用yolov5呢,主要是因为我之前使用SVM+HOG检测的效果很不理想,所以就想试一试深度学习的方法。
环境搭建
这次搭建环境,我发现了一个之前的问题,之前我以为CUDA和CUDnn必须直接安装。实际上直接在anaconda3上使用虚拟环境搭建就可以,好吧,言归正传直接说明如何搭建。
在之前的使用tensorflow的过程中,我为了安装tensorflow-gpu版本,安装了CUDA10.0,但是yolov5版本对环境上要求如下所示:
# base ----------------------------------------
Cython
matplotlib>=3.2.2
numpy>=1.18.5
opencv-python>=4.1.2
pillow
PyYAML>=5.3
scipy>=1.4.1
tensorboard>=2.2
torch>=1.6.0
torchvision>=0.7.0
tqdm>=4.41.0
# coco ----------------------------------------
# pycocotools>=2.0
# export --------------------------------------
# packaging # for coremltools
# coremltools==4.0b4
# onnx>=1.7.0
# scikit-learn==0.19.2 # for coreml quantization
# extras --------------------------------------
# thop # FLOPS computation
# seaborn # plotting
所以必须安装CUDA10.2版本,因为Torch1.6版本对应的才是CUDA10.2。
第一步创建虚拟环境pytorch_gpu
conda create -n pytorch_gpu python==3.8
第二步,查看目前拥有的虚拟环境
conda info -e
第三步,进入虚拟环境
conda activate pytorch_gpu
第四步,安装CUDA10.2
conda install cudatoolkit=10.2 -n pytorch_gpu -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/linux-64/
第五步,安装与CUDA相对应的cudnn7.6.5
conda install cudnn=7.6.5 -n pytorch_gpu -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/linux-64/
第六步,安装pytorch
conda install pytorch torchvision cudatoolkit=10.2 -c pytorch
因为太慢了,添加源来加快速度
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
第七步,安装其他各种包
主要提一下安装opencv
conda install -c https://conda.anaconda.org/menpo opencv
或者
pip3 install opencv-python -i https://pypi.tuna.tsinghua.edu.cn/simple/
开始测试
一定要在pytorch_gpu的环境下运行
python detect.py --source ./inference/images/ --weights yolov5s.pt --conf 0.4
可以在/home/demon/CLionProjects/yolov5-master/inference/output
这里面看到输出图片检测的结果。
这里面的0.4表示的是置信度,yolov5s.pt表示是权重文件,./inference/images/表示的是检测结果的输出路径。
此外我还用b站上的一个视频进行了检测。
最后
我发现使用yolo检测本次的视频的结果对于人的检测出了很多错误。
可以直接看我的b站视频。https://www.bilibili.com/video/BV1Sp4y1r7tJ/
参考GitHub地址:
https://github.com/ultralytics/yolov5