博主也是初学者,最近刚学完李沐的动深和yolo部分内容,写的错误的地方还请指出
yolov5整体网络架构
input部分,一般为图片输入
yolov5的图片输入部分,使用了Mosaic进行数据增强,将几张图片融合在一起,丰富了检测目标的背景,同时在计算batch_size normalization 时计算更快
backbone部分,一般为提取特征(feature_map)
使用Focus进行切片操作,切成很多特征图(转换为单张feature_map很小,通道数较多),不属于下采样
使用了CSP结构,将feature_map分为两个part,一个part用于继续使用网络处理,其余经过简单处理直接加在第一个part的输出上(整体与ResNet有区别,ResNet是整个加上去)
head部分,一般用于输出预测
和yolov3,yolov4类似,生成多尺度的anchors,可以进行多尺度的预测
同时,从yolov3开始使用logistic回归代替了softmax,可以进行多标签判定
以上是对于yolov5的简单理论介绍,下面进行一个简单的yolov5实战
安装yolov5 7.0
通过终端拉取yolov5安装包
要求在 Python>=3.7.0 环境中安装 requirements.txt ,且要求 PyTorch>=1.7 。
pytorch一定要安装gpu版本,不然训练速度会很慢
git clone https://github.com/ultralytics/yolov5
国内github访问速度较慢,可以使用镜像源
git clone https://gitcode.net/mirrors/ultralytics/yolov5.git
接着是安装依赖项
cd yolov5
pip install -r requirements.txt
如何测试安装是否成功?
linux系统,在yolov5文件夹输入
python detect.py
若linux系统中有多个python版本,有时候需要
python3 detect.py
windows系统则直接运行python文件即可
若运行成功且在runs/detect/exp有处理好的图片则说明运行成功
注:多次运行会出现exp1,exp2等等,如果你拉取的yolov5不是官方文件会出现这个问题
另外,在yolov5运行过程中经常出现如下字体缺少报错
Downloading https://ultralytics.com/assets/Arial.ttf
然后一直下载不下来(下载很慢之类的),可以先把这个字体下载好放在yolov5根目录里面
方法:
linux系统直接使用如下代码拉去字体文件
wget https://ultralytics.com/assets/Arial.ttf
windows系统可以下载好文件后拷贝