港中大、商汤开源目标检测工具包mmdetection,对比Detectron如何?

2018-11-06 11:44:33 浏览数 (1)

近日,中国香港中文大学-商汤联合实验室开源了基于 PyTorch 的检测库——mmdetection。上个月,商汤和港中大组成的团队在 COCO 比赛的物体检测(Detection)项目中夺得冠军,而 mmdetection 正是基于 COCO 比赛时的 codebase 重构。

商汤称,这个开源库提供了已公开发表的多种视觉检测核心模块。通过这些模块的组合,可以迅速搭建出各种著名的检测框架,比如 Faster RCNN,Mask RCNN,和 R-FCN 等,以及各种新型框架,从而大大加快检测技术研究的效率。

目前,mmdetection 的第一个版本已经实现了 RPN,Fast R-CNN,Faster R-CNN,Mask R-CNN,近期还计划放出 RetinaNet 和 Cascade R-CNN。

项目地址: https://github.com/open-mmlab/mmdetection

此次项目的参与者,中国香港中文大学陈恺博士称,相比 FAIR 此前开源的 Detectron,mmdetection 有以下几大优势:

编者注:Detectron 是 FAIR 用于实现最先进的目标检测算法(包括 Mask R-CNN)的软件系统。该系统基于深度学习框架 Caffe 2 ,由 Python 编写而成。(《Mask R-CNN 源代码终上线,Facebook 开源目标检测平台—Detectron》)

Performance 稍高:由于 PyTorch 官方 model zoo 里面的 ResNet 结构和 Detectron 所用的 ResNet 有细微差别(mmdetection 中可以通过 backbone 的 style 参数指定),导致模型收敛速度不一样,所以我们用两种结构都跑了实验,一般来说在 1x 的 lr schedule 下 Detectron的会高,但 2x 的结果 PyTorch 的结构会比较高。

训练速度稍快:Mask R-CNN 差距比较大,其余的很小。采用相同的 setting,Detectron 每个 iteration 需要 0.89s,而 mmdetection 只需要 0.69s。Fast R-CNN 比较例外,比 Detectron 的速度稍慢。另外在我们的服务器上跑 Detectron 会比官方 report 的速度慢 20% 左右,猜测是 FB 的 Big Basin 服务器性能比我们好?

所需显存稍小:显存方面优势比较明显,会小 30% 左右。但这个和框架有关,不完全是 codebase 优化的功劳。一个让我们比较意外的结果是现在的 codebase 版本跑 ResNet-50 的 Mask R-CNN,每张卡(12 G)可以放 4 张图,比我们比赛时候小了不少。

易用性更好:基于 PyTorch 和基于 Caffe2 的 code 相比,易用性是有代差的。成功安装 Detectron 的时间,大概可以装好一打的 mmdetection 吧。

当然,陈恺博士也承认 Detectron 也有一些明显优势,“作为第一个全面的 detection codebase,加上 FAIR 的金字招牌,关注人数和用户很多(虽然吐槽也比较多),release 的模型也比较全面。我们也在努力扩充 model zoo,奈何人力和算力还是有很大差距,所以还需要时间。”

与 mmdetection 一起开源的还有一个基础库——mmcv。据陈恺博士介绍, mmcv 基础库主要分为两个部分:一部分是和 deep learning framework 无关的一些工具函数,比如 IO/Image/Video 相关的一些操作;另一部分是为 PyTorch 写的一套训练工具,可以大大减少用户需要写的代码量,同时让整个流程的定制变得容易。

项目地址: https://github.com/open-mmlab/mmcv

实际上,mmdetection 和 mmcv 都同属于中国香港中文大学多媒体实验室的 Open-MMLab 计划。港中大助理教授林达华称,启动 Open-MMLab 计划,是希望在一个统一的代码架构上,逐步开放实验室积累的算法和模型,为计算机视觉的研究社区贡献自己的一分力量。以下是简单说明:

1. 这是一个纯粹的学术开源计划,所开放的都是已经公开发表的算法和模型(包括我们自己和其它研究组提出的代表性算法),不涉及任何的商业化技术。

2. 我们希望这个计划能够降低算法复现的难度,和不必要的重复实验与训练,从而让使用者能够专注于新问题的提出、新思路的探索,而不需要花费主要精力用于已有算法组件的细节调试。

3. 我们在开放的 codebase 中会对现有的主流算法框架进行重构,把它们分解为可复用的组件。希望未来的研究者可以基于这些组件,能迅速建立新的算法框架原型,加快探索的进度。

4. 我们希望 Open-MMLab 成为一个学术交流和探讨的渠道。

参考资料: https://www.zhihu.com/question/294578141 https://zhuanlan.zhihu.com/p/47011261

【完】

0 人点赞