TTFNet | 提高训练效率的实时目标检测(附源码)

计算机视觉研究院专栏

作者:Edison_G

目标检测模型的training time, inference speed, 和accuracy之间寻找trade off,重点关注如何在保持另外两个指标的情况下,减少模型的训练时间。

启示:

1、单纯的数据扩增能增加数据数量,但也会降低数据质量,导致需更多的训练时间才会收敛;

2、根据Linear Scaling Rule,学习率与batchsize一般情况下呈线性正比,增加高质量的sample也能起到类似batchsize的作用,从而可以提高学习率,缩短模型训练时间;

3、在精度方面,实验显示res18下与CenterNet都在COCO上达到了28.1的mAP,但0.5的mAP比CenterNet低了1个点左右,0.75的mAP比CenterNet高了0.6个点,所以猜测TTFNet可能检测出的bbox更加紧凑,因此提高了mAP。

扫码关注我们

公众号 : 计算机视觉战队

关注回复:TTFNet,获取源码

简要

现在目标检测器很少能同时实现训练时间短,推理速度快,精度高。为了达到平衡,作者就提出了Train-Friendly Network(TTFNet)。作者从light-head, single-stage, and anchor-free设计开始,这使得推理速度更快。然后作者重点缩短训练时间。 

我们注意到,从注释框中编码更多的训练样本与增加批处理大小具有相似的作用,这有助于扩大学习速率和加速训练过程。为此作者就介绍了一种利用高斯核对训练样本进行编码的新方法。此外,为了更好地利用信息,还设计了主动样本权重。在MSCOCO上的实验表明,TTFNet在平衡训练时间、推理速度和精度方面具有很大的优势。它比以前的实时检测器减少了7倍以上的训练时间,同时保持了最先进的性能。此外,super-fast版本的TTFNet-18和TTFNet-53可以分别是SSD300和YOLOv3的训练时间不到十分之一。

历史回顾&背景

目标检测器的精度,推理速度,训练时间等方面都得到了广泛关注和不断提高。然而,很少工作可以在它们之间取得良好的平衡。直观地说,推理速度较快的检测器应该有较短的训练时间。然而,事实上大多数实时检测器比非实时检测器需要更长的训练时间。高精度检测器可以大致分为两种类型之——它们的推理速度慢,而且需要大量的训练时间。

第一类网络(Huang, L.; Yang, Y.; Deng, Y.; and Yu, Y. 2015. Densebox: Unifying landmark localization with end to end object detection.)一般依靠heavy检测头或复杂后处理。虽然这些设计有利于精度的提高和快速收敛,但它们显著降低了推理速度。因此,这种类型的网络通常不适合实时应用。

为了加快推理,研究人员努力简化检测头和后处理,同时保持准确性(Zoph, B., and Le, Q. V. 2017. Neural architecture search with reinforcement learning.)。在最近的一项名为CenterNet的研究中,推理时间进一步缩短,几乎与主干网络消耗的时间相同。然而,所有这些网络不可避免地需要很长的训练时间。这是因为这些网络由于简化而难以训练,使得它们在很大程度上依赖于数据增强和较长的训练时间。例如,CenterNet需要在公共数据集MSCOCO上进行140个epochs训练。相比之下,第一类网络通常需要12个epochs

动机

根据Linear Scaling Rule,可以通过增大batchsize提高learning rate,然而仔细分析SGD的公式,我们也可以通过增加高质量的正样本个数来起到同样的作用。也就是不仅可以增大n,也可以增大m。

回顾随机梯度下降(SGD)的公式,权重更新表达式可以描述为:

至于目标检测,图像x可以包含多个注释框,这些框将被编码到训练样本s∈Sx。Mx=|Sx|表示图像x中所有框产生的样本数, 因此上公式可以表述为:

为了简化,假设mx对于小批量B中的每个图像x是相同的。关注个体训练样本s,上式可以改写为:

线性缩放规则是在经验中发现的,如果批处理大小乘以k,则学习速率应该乘以k,除非网络正在迅速变化,或者采用非常大的mini-batch批处理。也就是说,用小的mini-batch Bj和学习速率η执行k迭代基本上相当于用大的mini-batch ∪j∈[0,k)Bj和学习速率kη执行1迭代,只有当我们可以假设:

这个条件通常是在大规模的真实世界数据下满足的。

较大的学习速率不能帮助CenterNet更快地收敛,并且删除数据增强会导致性能变差。根据上面的结论,我认为这是因为CenterNet在训练过程中只在目标中心编码一个单一的回归样本。这种设计使得CenterNet在很大程度上依赖于数据增强和较长的训练时间,导致不友好的训练时间。 

为了减少网络对数据增强的依赖,同时减少训练时间,我认为需要更好的编码回归样本的策略。在这一动机的指导下,作者提出新的方法,在 ablation研究中进行更全面的实验可以进一步验证新方法的优越性。

新方法

展开阅读全文

Google开发专家带你学 AI:入门到实战(Keras/Tensorflow)(源码

09-19
原价199!现在下单立减100元!每天前100人再送5门编程课! AI+5门300元课程+讲师社群答疑+社群闭门分享会=99元 【为什么学AI】 归功于近年来大规模数据和硬件计算能力的大幅度提升,人工智能的概念近两年一直是市场追捧的对象。目前各大厂都争先恐后地布局AI,落地各类AI的的商业应用,也随之打响了一场激烈的人才争夺战。长远来看,越快将 AI 用于自己的工作中就能越早体会到AI带来的收益。 【讲师介绍】 彭靖田 Google Developer Experts。 曾为 TensorFlow Top级 的贡献者,著书《深入理解TensorFlow》,是国内第一本深度剖析 Google AI 框架的畅销书。 曾从0到1深入参与了华为 2012 实验室深度学习平台和华为深度学习云服务的设计与研发工作。 【课程设计】 课程内容基于最新的Keras版本(你也可以使用 TensorFlow 2 的 tf.keras 模块),其中有大量独家解读、案例,以及不少讲师一线实战多年的方法论和深度思考。同时,在层次划分上,难易兼顾,循序渐进。既有核心的基础知识,也有高级的进阶操作,尽量做到“老少皆宜”。 课程分为基础篇、入门篇和实战篇: 一、基础篇: 主要讲解人工智能发展史和深度学习脱颖而出的原由,以及神经网络的基础概念、理论实现、优化原理和计算方法。 二、入门篇: 主攻快速上手,通过7个小节让你从0到1实现环境搭建、模型优化,直接试水2个实战项目。同时,增强AI的理论学习,系统掌握机器学习3大分支、模型评估方法、数据预处理常用手段与过拟合问题的解决方案。 三、实战篇: 通过4个实战全面掌握深度学习理论与实现,涵盖目标检测、图像分类、可视化和可解释性学习、迁移学习、特征提取、数据增强等。带你综合运用前面所学的所有知识,逐渐熟练AI开发流程与技能。 课程包含思维导图上的所有内容(价值199元)前500名立减100元,仅99元买完就能学!
©️2020 CSDN 皮肤主题: 精致技术 设计师: CSDN官方博客 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值