YOLO算法最全综述:从YOLOv1到YOLOv5( 七 )
仍采用之前的logis , 其中cx,cy是网格的坐标偏移量,pw,ph是预设的anchor box的边长.最终得到的边框坐标值是b*,而网络学习目标是t* , 用sigmod函数、指数转换 。
YOLOv4YOLOv4: Optimal Speed and Accuracy of Object Detection
论文:
代码:
YOLOv4!
文章插图
YOLOv4 在COCO上 , 可达43.5% AP , 速度高达 65 FPS!
YOLOv4的特点是集大成者 , 俗称堆料 。 但最终达到这么高的性能 , 一定是不断尝试、不断堆料、不断调参的结果 , 给作者点赞 。 下面看看堆了哪些料:
- Weighted-Residual-Connections (WRC)
- Cross-Stage-Partial-connections (CSP)
- Cross mini-Batch Normalization (CmBN)
- Self-adversarial-training (SAT)
- Mish-activation
- Mosaic data augmentation
- CmBN
- DropBlock regularization
- CIoU loss
1. 提出了一种高效而强大的目标检测模型 。 它使每个人都可以使用1080 Ti或2080 Ti GPU 训练超快速和准确的目标检测器(牛逼!) 。
2. 在检测器训练期间 , 验证了SOTA的Bag-of Freebies 和Bag-of-Specials方法的影响 。
3. 改进了SOTA的方法 , 使它们更有效 , 更适合单GPU训练 , 包括CBN [89] , PAN [49] , SAM [85]等 。 文章将目前主流的目标检测器框架进行拆分:input、backbone、neck 和 head.
具体如下图所示:
文章插图
- 对于GPU , 作者在卷积层中使用:CSPResNeXt50 / CSPDarknet53
- 对于VPU , 作者使用分组卷积 , 但避免使用(SE)块-具体来说 , 它包括以下模型:EfficientNet-lite / MixNet / GhostNet / MobileNetV3
总结一下YOLOv4框架:
- Backbone:CSPDarknet53
- Neck:SPP , PAN
- Head:YOLOv3
其中YOLOv4用到相当多的技巧:
- 用于backbone的BoF:CutMix和Mosaic数据增强 , DropBlock正则化 , Class label smoothing
- 用于backbone的BoS:Mish激活函数 , CSP , MiWRC
- 用于检测器的BoF:CIoU-loss , CmBN , DropBlock正则化 , Mosaic数据增强 , Self-Adversarial 训练 , 消除网格敏感性 , 对单个ground-truth使用多个anchor , Cosine annealing scheduler , 最佳超参数 , Random training shapes
- 用于检测器的Bos:Mish激活函数 , SPP , SAM , PAN , DIoU-NMS
文章插图
感受一下YOLOv4实验的充分性(调参的艺术):
文章插图
文章插图
感受一下性能炸裂的YOLOv4实验结果:
文章插图
文章插图
推荐阅读
- 向日葵远程控制企业版客户端更新升级,优化远控UI适配SADDC内核算法
- 在谷歌算法更新之后2020年盗版网站流量锐减三分之一
- 详解工程师不可不会的LRU缓存淘汰算法
- 今天上海这个比赛上,获奖“程序媛”讲述了自己与算法的爱恨情仇
- 算法萌新如何学好动态规划(3)
- 这场赛事的主角是算法!——首届BPAA全球算法最佳实践典范大赛在上海启动
- 谷歌AI又获重大突破!新算法无需了解规则也能自学成“棋”
- 米家飞利浦台灯3发售:199元、AA级照度+自动算法调节
- 布局AI药物研发!华为招聘药物研发算法工程师,早有准备进军医疗行业?
- 苹果拍照成像好的秘密,源于更优的软件算法