一、目标检测发展历程
下方是来自github整理的一张目标检测的数据集图和关于时间线的发展史图。
具有重要影响的模型用红色标出,可以根据需要进行学习。
网上流传的另一种分类按照一阶段目标检测和两阶段目标检测作划分也可以对不同的方法有一个大致的认识:
二、各YOLO版本对比
| 项目 | YOLOv1 | YOLOv2 | YOLOv3 | YOLOv4 |
|---|---|---|---|---|
| 创新点 | 使用单个神经网络,将目标检测网络看作回归问题 | 1.引入Anchor boxes,K-means聚类和直接位置预测改善定位问题。 2.改进了网络结构,根据VGG16改进提出了Darknet-19作为分类模型的基础,减少了训练参数,提升了速度。 3.提出了对图像分类和目标检测进行联合训练的一种方法,有效解决目标检测的数据集不足,识别种类少的问题。 4.提出词树(WordTree),创新性的解决不同数据集之间分类的粒度问题,实现多个不同数据集之间的交互训练。 5.能够检测多达9000多种类别 |
工程上最佳实践的引入: 1.分类器由softmax改为独立的逻辑回归分类器。 2.损失函数改为二分类交叉熵 3.Backbone使用Darknet-53替代Darknet-19(残差结构的引入,训练更深的模型) 4.借鉴FPN,不同尺度输出 |
工程上最佳实践的引入: 1.改进的网络结构,单张传统的GPU便可以训练YOLOv4(不需要Tesla V100或GPU集群等) 2.结合深度学习领域的大多先进技术(Mosaic数据增强、注意力机制等),提速不提价 |
| 优势 | 1.方便进行端到端的性能优化 2.比当时的最新的目标检测模型更快 3.泛化性能更强大,在自然图片上训练,能够将目标检测应用于玩具模型等艺术品。 |
1.定位问题得到改善 2.联合训练使得精度提升 3.网络结构精减,去掉全连接层,速度更快 4.小物体检测获得改善 |
1.作者认为YOLOv3的改进已经趋于perfect,精度与速度都得到了提升 2.可以自由切换Backbone,在速度于精度之间自由取舍 |
1.速度与精度最佳性价比组合,快且准,作者认为效果优于所有现有的目标检测模型(与YOLOv3速度持平,精度(AP)提升大于10) |
| 缺点 | 1.YOLOv1的检测精度低于一些最新的目标检测模型。 2.YOLOv1容易产生物体的定位错误。(19.0%的定位错误相比于Fast R-CNN的8.6%高出不少) 3.YOLOv1对小物体的检测效果不好。 |
1.大目标检测效果精度略微下降 2.检测效果依赖于训练的数据集,COCO中没有出现的类别(服饰和一些随身配件如太阳镜)不饿能很好的检测到 |
YOLO创始人Joseph Redmon退出CV界江湖 | 不考虑实时性的情况下,精度略低于一些最新的目标检测模型(例如EfficientDet) |
参考文献
https://github.com/hoya012/deep_learning_object_detection
https://blog.csdn.net/Chermack/article/details/106461491
https://blog.csdn.net/Chermack/article/details/106568837
https://blog.csdn.net/Chermack/article/details/106600729
https://blog.csdn.net/Chermack/article/details/106746483