0

0

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

爱谁谁

爱谁谁

发布时间:2025-06-29 08:02:35

|

386人浏览过

|

来源于php中文网

原创

作者:edison_g

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

当前的目标检测器很少能在训练时间短、推理速度快和精度高之间取得平衡。为了解决这一问题,作者提出了Train-Friendly Network(TTFNet)。作者从light-head, single-stage, 和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研究中进行更全面的实验可以进一步验证新方法的优越性。

新方法

花生AI
花生AI

B站推出的AI视频创作工具

下载

提高训练效率的实时目标检测(附源码)TTFNet的体系结构如上图所示。在实验中使用ResNet和DarkNet作为主干网络。主干网络提取的特征被采样到原始图像的1/4分辨率,这是通过Modulated Deformable Convolution(MDCN)和上采样层实现的。在MDCN层之后是批归一化(BN)和ReLU。上采样的特征然后分别通过两个头部为不同的目标。

检测头在物体中心附近的位置产生高激活,而回归头直接预测从这些位置到box四面的距离。由于目标中心对应于特征映射处的局部最大值,因此可以在2D最大池的帮助下安全地抑制非最大值。然后利用局部最大值的位置来收集回归结果。

最后,可以得到检测结果。新提出的方法有效地使用了大中型目标中包含的注释信息,但对于包含很少信息的小目标,推广是有限的。为了在较短的训练计划中提高小目标的检测性能,添加了shortcut connections来引入高分辨率但低级别的特征。shortcut connections从主干的2级,3级和4级引入特征,每个连接由3×3卷积层实现。第二、第三和第四阶段的层数设置为3、2和1,除了shortcut connections中的最后一层外,ReLU遵循在每个层。

与CenterNet相比,主要在以下两方面进行了改进:

center localization

对于Center点的位置回归,两个方法都用到了高斯核来增加正样本的数量,也都用到了Focal Loss。但是CenterNet和CornerNet一样,高斯核里的参数sigema只和bbox的面积有关,没有充分考虑bbox的纵横比,而TFFNet为长和宽分别设置了sigema,从而更加合适。

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

这部分才是本次作者提出的重点,也是增加高质量样本的实际做法。CenterNet只把heatmap上Object的Center点以及相邻的4个点作为正样本进行物体的大小回归监督,并且只回归bbox的w和h。

而TFFNet继续采取高斯核的方式增加正样本的个数,同时每个正样本回归对应点到bbox四个边的距离。

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

提高训练效率的实时目标检测(附源码)不同核结果

提高训练效率的实时目标检测(附源码)在shortcut connections中使用不同设置时,速度-准确性权衡如下

提高训练效率的实时目标检测(附源码)与其他性能比较

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

提高训练效率的实时目标检测(附源码)可视化

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

相关专题

更多
微信聊天记录删除恢复导出教程汇总
微信聊天记录删除恢复导出教程汇总

本专题整合了微信聊天记录相关教程大全,阅读专题下面的文章了解更多详细内容。

2

2026.01.18

高德地图升级方法汇总
高德地图升级方法汇总

本专题整合了高德地图升级相关教程,阅读专题下面的文章了解更多详细内容。

74

2026.01.16

全民K歌得高分教程大全
全民K歌得高分教程大全

本专题整合了全民K歌得高分技巧汇总,阅读专题下面的文章了解更多详细内容。

133

2026.01.16

C++ 单元测试与代码质量保障
C++ 单元测试与代码质量保障

本专题系统讲解 C++ 在单元测试与代码质量保障方面的实战方法,包括测试驱动开发理念、Google Test/Google Mock 的使用、测试用例设计、边界条件验证、持续集成中的自动化测试流程,以及常见代码质量问题的发现与修复。通过工程化示例,帮助开发者建立 可测试、可维护、高质量的 C++ 项目体系。

54

2026.01.16

java数据库连接教程大全
java数据库连接教程大全

本专题整合了java数据库连接相关教程,阅读专题下面的文章了解更多详细内容。

39

2026.01.15

Java音频处理教程汇总
Java音频处理教程汇总

本专题整合了java音频处理教程大全,阅读专题下面的文章了解更多详细内容。

19

2026.01.15

windows查看wifi密码教程大全
windows查看wifi密码教程大全

本专题整合了windows查看wifi密码教程大全,阅读专题下面的文章了解更多详细内容。

106

2026.01.15

浏览器缓存清理方法汇总
浏览器缓存清理方法汇总

本专题整合了浏览器缓存清理教程汇总,阅读专题下面的文章了解更多详细内容。

44

2026.01.15

ps图片相关教程汇总
ps图片相关教程汇总

本专题整合了ps图片设置相关教程合集,阅读专题下面的文章了解更多详细内容。

11

2026.01.15

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.9万人学习

ThinkPHP6.x 微实战--十天技能课堂
ThinkPHP6.x 微实战--十天技能课堂

共26课时 | 1.6万人学习

前端开发(基础+实战项目合集)
前端开发(基础+实战项目合集)

共60课时 | 3.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号