怎么看mmdetection版本_如何评价商汤开源的 mm-detection 检测库?

万年潜水党,上来答一发。

利益相关:名字在 author list 里。

今天(10.12)正式开源了两个项目,mmcv 和 mmdetection。(划重点:for pure research)

mmdetection 是基于我们 COCO 比赛(Detection 2018 winner)时的 codebase 重构,先放一张 test-dev 的结果。

Workshop 讲 talk 的时候反应很热烈的经验总结部分是 @Jianping Shi 的建议,顺带致谢一波。

mmdetection 原计划九月底 release,由于某些不可抗力(比如拖延症)延迟到了现在,感觉如释重负。第一个版本中实现了 RPN,Fast R-CNN,Faster R-CNN,Mask R-CNN,近期还计划放出 RetinaNet 和 Cascade R-CNN。(如果由于赶 CVPR 跳票了,请不要介意,介意也不会release的)

先简单介绍一下和 Detectron 的对比performance 稍高

训练速度稍快

所需显存稍小

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

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

具体说说上面提到的三个方面吧。首先是 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 张图,比我们比赛时候小了不少。

具体的对比数据可以在 github 页面上找到。open-mmlab/mmdetection​github.com

顺带介绍一下 mmcv,mmcv 和 mmdetection 同属于 open-mmlab 项目,这个项目会将我们 lab 的一些 research project 有计划、系统性地开源。mmcv 是一个基础库,主要分为两个部分,一部分是和 deep learning framework 无关的一些工具函数,比如 IO/Image/Video 相关的一些操作,另一部分是为 PyTorch 写的一套训练工具,可以大大减少用户需要写的代码量,同时让整个流程的定制变得容易。open-mmlab/mmcv​github.com

欢迎 star/fork/watch/pr/research 交流。

你可能感兴趣的:(怎么看mmdetection版本_如何评价商汤开源的 mm-detection 检测库?)