目标检测四大开源神器:Detectron2/mmDetectron/darknet/SimpleDet

2020 年 7 月 18 日 CVer

点击上方“CVer”,选择加"星标"置顶

重磅干货,第一时间送达

前言


去年Amusi 盘点过:目标检测三大开源神器:Detectron2/mmDetectron/SimpleDet。大家反映内容很棒,不少同学开始用起来这些目标检测工具,不管用于发Paper还是做项目。


如今过去半年多,目标检测领域发展迅速,Amusi 再次系统调研现在开源的目标检测神器。同时也有很多同学开始入坑目标检测,希望此文可以有所帮助,避免踩坑!


本文介绍目标检测(Object Detection)四个最为知名、关注度最高的开源神器,其实也可以称为工具箱(Toolkit),再俗气一点,就是"造轮子"神器。不仅会介绍这些神器的特点,还会增加新的内容:基于神器开发的新开源项目(这部分也可以说明该神器的认可度)。


用上好的神器,不仅可以快速实现你的idea,还可以帮助你提升coding能力。精读优质的代码(风格),长远看是非常有意义的。如下排名不分先后:


Detectron2


维护团队:Facebook

star数:11616

所属框架:PyTorch

https://github.com/facebookresearch/detectron2



Detectron2 前身就是鼎鼎大名的 Detectron,其实Detectron可以说是Facebook第一代检测工具箱,目前在github上获得 23.5k star!


https://github.com/facebookresearch/Detectron



但由于PyTorch版本升级等问题,Detectron目前已停止维护(弃用)。


其实在 Detectron向 Detectron2过渡期间,Facebook Research 还开源了一个知名的项目:maskrcnn-benchmark,目前已获得 7.7 k star!


https://github.com/facebookresearch/maskrcnn-benchmark



听名字应该就知道maskrcnn-benchmark主要是做实例分割和目标检测的,该项目也主要提供了Faster R-CNN和Mask R-CNN算法。



但同样由于PyTorch版本升级等问题,maskrcnn-benchmark目前已停止维护(弃用)。于是 maskrcnn-benchmark 这 7.7 k 的项目就此"搁浅"了。


话题说回主人公:Detectron2(新一代目标检测和分割框架)


Detectron2 不仅支持 Detectron已有的目标检测、实例分割、姿态估计等任务,还支持语义分割和全景分割。新增了Cascade R-CNN,Panoptic FPN和TensorMask新模型。


基于Detectron2二次开发的开源项目


AdelaiDet:实例级识别任务开源工具箱

https://github.com/aim-uofa/AdelaiDet


这个项目后面 Amusi 会单独写一篇文章来介绍,AdelaiDet 主要是阿德莱德大学沈春华团队维护的项目,涉及目标检测、实例分割、文本检测等方向。比如包含了SOLOv1-v2、FCOS、BlendMask、CondInst等工作。


像最近 CVPR 2020、ECCV 2020上有不少好的工作也都是基于 Detectron2开发的,比如DETR、CenterMask:


https://github.com/facebookresearch/detr

https://github.com/youngwanLEE/centermask2

https://github.com/youngwanLEE/vovnet-detectron2

https://github.com/shenyunhang/NA-fWebSOD/



mmDetection


维护团队:香港中文大学-商汤联合实验室

star数:10769

所属框架:PyTorch

https://github.com/open-mmlab/mmdetection



mmDetection 是个非常强大的目标检测工具箱,也是基于PyTorch实现。Amusi 个人觉得mmDetection可以称为目标检测方向的"国产之光"开源项目!



mmDetection包含模型非常非常多,部分内容如下(不要被吓到):


支持的backbones:


  •  ResNet

  •  ResNeXt

  •  VGG

  •  HRNet

  •  RegNet

  •  Res2Net


支持的模型:


  •  RPN

  •  Fast R-CNN

  •  Faster R-CNN

  •  Mask R-CNN

  •  Cascade R-CNN

  •  Cascade Mask R-CNN

  •  SSD

  •  RetinaNet

  •  GHM

  •  Mask Scoring R-CNN

  •  Double-Head R-CNN

  •  Hybrid Task Cascade

  •  Libra R-CNN

  •  Guided Anchoring

  •  FCOS

  •  RepPoints

  •  Foveabox

  •  FreeAnchor

  •  NAS-FPN

  •  ATSS

  •  FSAF

  •  PAFPN

  •  Dynamic R-CNN

  •  PointRend

  •  CARAFE

  •  DCNv2

  •  Group Normalization

  •  Weight Standardization

  •  OHEM

  •  Soft-NMS

  •  Generalized Attention

  •  GCNet

  •  Mixed Precision (FP16) Training

  •  InstaBoost

  •  GRoIE

  •  DetectoRS

  •  Generalized Focal Loss


基于mmdetection二次开发的开源项目


基于mmdetection 开发的开源项目特别特别多,比如最近CVPR 2020上很多检测工作就是基于此开发的。这里就不一一介绍,简单列几个较为知名的:


https://github.com/Gus-Guo/AugFPN

https://github.com/FishYuLi/BalancedGroupSoftmax

https://github.com/JialeCao001/D2Det

https://github.com/caiqi/sample-weighting-network

https://github.com/jshilong/SEPC

https://github.com/Sense-X/TSD

https://github.com/ggjy/HitDet.pytorch



SimpleDet


维护团队:图森未来(TuSimple)

star数:2691

所属框架:MXNet

https://github.com/TuSimple/simpledet



SimpleDet 是一套简单且多功能的目标检测与实例分割的框架。就这么说吧,如果你是用MXNet来开发检测项目,那么直接用SimpleDet就行。



SimpleDet 包含的库也相当丰富,如:Faster R-CNN,Mask R-CNN,Cascade R-CNN,RetinaNet,DCNv1/v2,TridentNet,NASFPN , EfficientNet, FOCS,FreeAnchor,RepPoints,和SEPC等


SimpleDet 更新频率也相当快,官网给出的更新时间表如下:



darknet


维护团队:AlexeyAB(个人开发者)

star数:11667

所属框架:darknet(基于C语言编写)

https://github.com/AlexeyAB/darknet



说起 darknet 可能有些人并不熟悉,但直接说出它的目标检测真身:YOLO,很多人就知道了。darknet 本身是 YOLO系列中著名的backbone,然后YOLO项目一直放在darknet中。


本文介绍的darknet并非YOLOv1-v3作者(Joseph Redmon)的darknet,而是YOLOv4作者(AlexeyAB)的darknet,因为Joseph Redmon不再继续维护darknet。


值得提一下,本文介绍的darknet的github star数是11667!这个数量要高于上面介绍的Detectron2、mmDetection和SimpleDet。而且这三个项目的commits数量全部加起来都比不过darknet


darknet中包含的目标检测模型相对上面三大神器要少很多,但个个都是扛把子的,比如YOLO、YOLOv2、YOLOv3和YOLOv4


如果你想用C/C++来开发目标检测模型,那么darknet是最适合你的神器。


总结


1. 如果你想用PyTorch开发检测项目,则推荐Detectron2、mmDetection;

2. 如果你想用MXNet开发检测项目,则推荐SimpleDet;

3. 如果你想用C/C++开发检测项目,则推荐darknet;

4. 如果你想用YOLO,则可以用darknet,也可以上github搜一下其他框架复现的版本。


如果各位CVer喜欢这样的"开源"系列,请给这篇文章点个""和"在看",如果点击"在看"的人多,其它CV方向的"开源"系列也会尽快推出!


重磅!CVer-目标检测 微信交流群已成立


扫码添加CVer助手,可申请加入CVer-目标检测 微信交流群,目前已汇集4100人!涵盖2D/3D目标检测、小目标检测、遥感目标检测等。互相交流,一起进步!


同时也可申请加入CVer大群和细分方向技术群,细分方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch和TensorFlow等群。


一定要备注:研究方向+地点+学校/公司+昵称(如目标检测+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群

▲长按加群


▲长按关注我们

整理不易,请给CVer点赞和在看

登录查看更多
4

相关内容

基于C语言的开源深度学习框架
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
【文献综述】深度学习目标检测方法及其主流框架综述
专知会员服务
118+阅读 · 2020年6月26日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
密歇根大学《20年目标检测综述》
专知会员服务
97+阅读 · 2019年10月13日
如何评价FAIR最新开源的Detectron2目标检测框架?
极市平台
18+阅读 · 2019年10月14日
Mask R-CNN官方实现“又”来了!基于PyTorch,训练速度是原来2倍
机器学习算法与Python学习
5+阅读 · 2018年10月26日
资源丨用PyTorch实现Mask R-CNN
量子位
6+阅读 · 2018年7月23日
整合全部顶尖目标检测算法:FAIR开源Detectron
炼数成金订阅号
6+阅读 · 2018年1月25日
Arxiv
24+阅读 · 2020年3月11日
Object Detection in 20 Years: A Survey
Arxiv
48+阅读 · 2019年5月13日
Arxiv
5+阅读 · 2019年4月8日
Arxiv
8+阅读 · 2018年4月12日
Arxiv
6+阅读 · 2018年2月6日
Arxiv
7+阅读 · 2018年1月24日
VIP会员
相关VIP内容
Linux导论,Introduction to Linux,96页ppt
专知会员服务
77+阅读 · 2020年7月26日
【文献综述】深度学习目标检测方法及其主流框架综述
专知会员服务
118+阅读 · 2020年6月26日
一网打尽!100+深度学习模型TensorFlow与Pytorch代码实现集合
密歇根大学《20年目标检测综述》
专知会员服务
97+阅读 · 2019年10月13日
相关论文
Arxiv
24+阅读 · 2020年3月11日
Object Detection in 20 Years: A Survey
Arxiv
48+阅读 · 2019年5月13日
Arxiv
5+阅读 · 2019年4月8日
Arxiv
8+阅读 · 2018年4月12日
Arxiv
6+阅读 · 2018年2月6日
Arxiv
7+阅读 · 2018年1月24日
Top
微信扫码咨询专知VIP会员