yolov部署到iPhone或终端实践全过程一(论文源码福利)

de140477a850c1289d0bc46852d06256.gif

计算机视觉研究院专栏

作者:Edison_G

期待已久的检测经典又来来了一波强袭——yolov5。其实yolov5没有完整的文件,现在最重要的应该是把yolov4弄清楚,在目标检测领域中受益匪浅,可以在某些场景得到较高的提升。今天我们还是给大家分享yolov4,下一期我们将实践得将yolov5部署到苹果手机或者在终端通过摄像头实时检测!

391d2bcc11e079404c7ef43f7616c7f5.png

长按扫描二维码关注我们

知识回顾:Yolo 系列详细干货分析

59004183026b31d760e41eb00e464be6.jpeg

一、技术回顾

有大量的特征被认为可以提高卷积神经网络(CNN)的精度。需要在大型数据集上对这些特征的组合进行实际测试,并对结果进行理论验证。某些功能只对某些模型进行操作,某些问题只对某些模型进行操作,或只对小规模数据集进行操作;而某些功能(如批处理规范化和剩余连接)则适用于大多数模型、任务和数据集。本文假设这些通用特征包括加权剩余连接(WRC)、跨阶段部分连接(CSP)、跨小批量规范化(CmBN)、自对抗训练(SAT)和Mish激活。本文使用了新功能:WRC、CSP、CmBN、SAT、误激活、马赛克数据增强、CmBN、DropBlock正则化和CIoU丢失,并将其中一些功能结合起来,以达到以下效果:43.5%的AP(65.7%的AP50)用于MS COCO数据集,在Tesla V100上以65 FPS的实时速度。

b44acf031c6d346ceb79ce588990e714.png

二、创新点分析

 Mosaic数据增强

把四张图拼成一张图来训练,变相的等价于增大了mini-batch。这是从CutMix混合两张图的基础上改进;

027e23e6bd27ff6645a9b4f314176595.png

Self-Adversarial Training

在一张图上,让神经网络反向更新图像,对图像做改变扰动,然后在这个图像上训练。这个方法,是图像风格化的主要方法,让网络反向更新图像来风格化图像。

Self-Adversarial Training (SAT) also represents a new data augmentation technique that operates in 2 forward backward stages. In the 1st stage the neural network alters the original image instead of the network weights. In this way the neural network executes an adversarial attack on itself, altering the original image to create the deception that there is no desired object on the image. In the 2nd stage, the neural network is trained to detect an object on this modified image in the normal way.

97d69c61c132084fb47facbb9cd83182.png

Cross mini-batch Normal

CmBN表示CBN修改的版本,如下图所示,定义为 Cross mini-Batch Normalization(CMBN)。这只收集单个批次内最小批次之间的统计数据。

a89933666b3b696878bd085755620124.png

modify SAM

56956f50eedab41acfebf10c565392f5.png

680aa2e05c244b867df6d17cbb53cc9b.png

从SAM的逐空间的attention,到逐点的attention;修改的PAN,把通道从相加(add)改变为concat。

 实验 

5c6167fb3775d4aa9ca8acea5de499b2.png

以数据增强方法为例,虽然增加了训练时间,但可以让模型泛化性能和鲁棒性更好。例如下面的常见增强方法:

  • 图像扰动,

  • 改变亮度、对比对、饱和度、色调

  • 加噪声

  • 随机缩放

  • 随机裁剪(random crop)

  • 翻转

  • 旋转

  • 随机擦除(random erase)

  • Cutout

  • MixUp

  • CutMix

通过实验看得出,用了很多tricks,简直就是目标检测最强万花筒,下表是对分类网络的实验:

CSPResNeXt-50 classifier accuracy

fc4b9bfad1b787a6e9fc97f94cdd8250.png

CSPDarknet-53 classifier accuracy

263a66f5e752aff16e39f79181a313b9.png

在YOLOv4检测网络上,对比了四个loss(GIoU、CIoU、DIoU、MSE),标签平滑,Cosine学习率,遗传算法选超参数,Mosaic数据增强等各种方法。下表是YOLOv4检测网络上的消融实验结果:

CSPResNeXt50-PANet-SPP, 512x512

f8e82cf0b86bc5504ee50331cb2ca7ea.png

4519fe77b2a3b7822845be4af56241a7.png

使用不同与训练权重模型用于训练:

d6e3b3b26e0252c9672e436ec5ac3c2a.png

不同的mini-batch size结果:

42a0c3c0f1b9f380550a9c98dca47f07.png

最后,是在Maxwell、Pascal、Volta三个不同系列的GPU,在COCO 数据集上的结果对比:

0f26179e3ec269ea168466fdf53bca8c.png

最劲爆的是,在COCO数据集,与其他框架比较(速度和精度):

e40c29ca533a54eadc1bb9079a577da0.png

8b58d51b0e6966483f90070d1a9c4498.png

035f8b209d6056acca43cd1435d0862e.png

ef53c6147dc90fa8f8afcc539d770646.png

下一期,我们一起来看看怎么将yolov5部署到移动端或者终端通过摄像头进行目标实时检测!

c9086f73f34efac9571dbf4d1442b7cd.gif

END

f9f56ce11e5424afb196931d4119300b.gif

832e32cfc3f94c3eb2eda918bfdc77cc.gif

转载请联系本公众号获得授权

a1b355d6fc79c080d3b71da3853eeb1a.gif

计算机视觉研究院学习群等你加入!

ABOUT

计算机视觉研究院

计算机视觉研究院主要涉及深度学习领域,主要致力于目标检测、目标跟踪、图像分割、OCR、模型量化、模型部署等研究方向。研究院每日分享最新的论文算法新框架,提供论文一键下载,并分享实战项目。研究院主要着重”技术研究“和“实践落地”。研究院会针对不同领域分享实践过程,让大家真正体会摆脱理论的真实场景,培养爱动手编程爱动脑思考的习惯!

dad88e5672a80292a7ea3cdb383aeeb4.png

 往期推荐 

🔗

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

计算机视觉研究院

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值