加入极市专业CV交流群,与 10000+来自港科大、北大、清华、中科院、CMU、腾讯、百度 等名校名企视觉开发者互动交流!
同时提供每月大咖直播分享、真实项目需求对接、干货资讯汇总,行业技术交流。关注 极市平台 公众号 ,回复 加群,立刻申请入群~
MMDetection V1.0 版本发布以来,我们收到了很多用户的反馈,其中有不少有价值的建议,同时也有很多开发者贡献代码,和我们一起不断完善。经过 2 个月的酝酿,再经过 3 个月的开发和打磨(也就说了五六次“下周发版”吧,这里十分感谢主要开发的小伙伴们:文蔚,嘉瑞和钰杭),终于,在 2020 年 5 月 6 日,我们低调地发布了MMDetection V2.0。今天我们打算介绍一下。
太长不看版: 经过对模型各个组件的重构和优化,我们全面提升了 MMDetection 的速度和精度,达到了现有检测框架中的最优水平。通过更细粒度的模块化设计,MMDetection 的任务拓展性大大增强,成为了检测相关项目的基础平台。同时对文档和教程进行了完善,增强用户体验。
下面简单介绍下 MMDetection V2.0 的各项改进,更具体的细节见文档。
截至 2020 年 5 月底,MMDetection 官方模型库已经支持了35篇论文中的算法,提供了超过 250 个预训练模型,是目标检测领域最大规模的模型库。除此之外,还有 16 篇论文在 Github 上开源了基于 MMDetection 的代码。目前官方支持的方法如图所示:
从 V1.0 到 V2.0,我们新支持了 Res2Net,RegNet(独家放送)等 backbone,也支持了CARAFE,PISA,FSAF,NASFCOS 等方法。对新方法的及时支持使得 MMDetection 既可以用作学术研究的标准 benchmark,也可以用作各种 idea 实现的助力,以及各种比赛的刷(pai)分(lie)利(zu)器(he)。
模块化设计是 MMDetection 自诞生之初就遵循的原则,使得它能保持强大的生命力,得到社区的广泛支持。
从设计上看,MMDetection V2.0 的模块化设计比之前的版本更加细粒度,使得更多的模块可以被更灵活地替换或调整,让 MMDetection 从单纯的目标检测框架向检测类任务的框架平台转变。新的模块设计如下图所示。
在进行代码重构的过程中,我们针对之前的反馈,在用户体验上着重进行了改进,这里举几个例子。
痛点1:部分模块存在封装太深的问题,例如 AnchorHead 的 target 相关函数实现在了 core 里面,浏览和修改相关代码就需要在 head 和 core 两个文件夹之间来回跳跃,而且在继承拓展的时候无法和核心代码解耦。
V2.0改进:对代码结构进行了调整,简化了封装层次,head 的函数都尽量实现在了一个文件内,代码实现一目了然,同时拓展更加容易。
痛点 2:配置文件非常长,修改起来容易出错,而且改动的点不够清晰。
V2.0改进:我们设计了新的 config 系统,支持了多重继承机制。将常用的数据集配置、基础模型以及训练策略放到了 _base_ 文件夹中,每个新的 config 只需要继承一个或者多个已有的 config,然后对其中需要修改的字段进行重载即可。下图是 Mask R-CNN R-101 的配置文件在 1.0 和 2.0 版本的对比。V2.0 版本 只需要 2 行,而且所有的改动一目了然,如下图所示。
除此之外,我们在 V2.0 中增加了不少实用的小功能和改进,使得 MMDetection 简直是各位开发者的贴心小棉袄。(还有什么需求都可以提,我们慢慢加,当然能直接提 PR 就最好不过了。。。)
在进行代码重构的时候,我们也针对各个模块进行了优化, 实现了30%以上的训练加速和60%以上的测试加速。
**MMDetection V2.0 的基准模型精度相比于 V1.x 有了显著的提升。**我们虽然在 V1.0 的技术报告中对各种参数做了 ablation study,但是代码库中的默认配置选用了最朴实无华的版本。在 V2.0 中,在不增加训练和测试代价的前提下,通过对默认超参的调节和实现的优化,例如使用 L1 Loss 而非 SmoothL1 Loss 等,获得了不小的精度提升。Detectron2 在这方面也有不少可圈可点的地方,和 MMDetection V2.0 的主要区别在于默认采用了 multi-scale 训练,而我们仍然选择以 single-scale 作为默认配置。不过在采用相同参数的情况下,精度几乎一致。
其实大多数研究员和开发者在写代码的过程中都会逐渐感受到,代码的工程质量会显著影响研发效率。对于整个社区而言,目标检测的代码框架不仅需要工程上稳定高效的实现,还需要保持灵活性来支持新方法。而 MMDetection 正是在朝着这个方向不断努力。也欢迎各位提 PR 和Issue,让我们一起把它变得更好。
https://github.com/open-mmlab/mmdetection
推荐阅读:
添加极市小助手微信(ID : cv-mart),备注:研究方向-姓名-学校/公司-城市(如:AI移动应用-小极-北大-深圳),即可申请加入AI移动应用极市技术交流群,更有每月大咖直播分享、真实项目需求对接、求职内推、算法竞赛、干货资讯汇总、行业技术交流,一起来让思想之光照的更远吧~
△长按添加极市小助手
△长按关注极市平台,获取最新CV干货
觉得有用麻烦给个在看啦~