【小白学YOLO】-YOLO发展历程及网络架构解读
YOLO发展历程及网络架构通俗解读
算法的优点
从算法原理来说实现起来非常容易,当前很多算法均可做物体检测,但他们消耗的资源过多,一些嵌入设备无法达到要求。
在大型项目中应用广泛,速度快,可实时行为检测视频,而不仅仅为图片。
yolo创造性的提出了one-stage,解决了传统two-stage目标检测算法普遍存在的运算速度慢的缺点。将物体分类和物体定位在一个步骤中完成。
算法发展历程
· 2016年发表论文:You Only Look Once:Unified,Real-Time Object Detection。YOLOv1正式发布。
论文链接:https://pjreddie.com/media/files/papers/yolo_1.pdf
· 2017年发表论文:YOLO9000: Better, Faster, Stronger。YOLOv2正式发布
论文链接:https://pjreddie.com/media/files/papers/YOLO9000.pdf
· 2018年发表论文:YOLOv3: An Incremental Improvement。YOLOv3正式发布
论文链接:https://pjreddie.com/media/files/papers/YOLOv3.pdf
· 2020年发表论文:YOLOv4:Optimal Speed and Accuracy of Object Detection。YOLOv4正式发布
论文链接:https://arxiv.org/abs/2004.10934
网络架构
YOLOv1框架解读
由图可知,YOLOv1处理数据的过程为:
输入层输入数据->卷积层(conv)提取数据特征->特征图(由于本篇博客仅为新手了解YOLO算法基本架构提供帮助,因此,卷积层不作详细说明)
输入数据448×448×3详解:
448×448为输入图片的大小(图片的长宽)
3表示红黄蓝三原色
输出数据7×7×30详解:
7×7表示输出特征图片大小(图片长宽)
30=5+5+20
20:当前可识别20种物体,每种物体对在输出特征图片中都对应着一定的概率,输出特征图选取概率最大的物体作为目标识别结果
5:在识别目标物体时,选择框对应的5个参数确定先验框大小和位置的(x,y,w,h)和置信度c。由于YOLOv1为每个目标识别物体提供两种先验框,因此对 应参数为:5+5. 注意:x:先验框中心横坐标;y:先验框中心纵坐标;w:先验框宽度;h:先验框高度。
YOLOv2改进框架解读
YOLOv1仅提供两种先验框,因此在目标识别过程中有一定的局限性,因此YOLOv2在v1的基础上提出了聚类提取先验框,如下图所示的五种候选框,它们的大小由聚类先验值决定。
除此之外,YOLOv2训练时额外增加了10次448×448的微调,使用了高频率分类器。
做了以上改动后YOLOv2的mAP值提高了4%左右。
YOLOv3改进框架解读
YOLOv3在YOLOv2的基础上,改进卷积层,没有池化和全连接所有卷积,多出三个输出层,分别输出大目标、中目标、小目标,使整个模型对于大中小目标的处理效果差不多,解决了前两两个版本及其他目标识别算法中普遍存在的问题。整体效果更好。
YOLOv4改进局限性
YoloV4相比V3加入了很多细节,效果也更好,但V4版本进行的试验均为基于服务器的实验,在实际应用嵌入式设备中,有许多算法公式并不支持。
- 点赞
- 收藏
- 关注作者
评论(0)