目標檢測四大開源神器:Detectron2/mmDetectron/darknet/SimpleDet

2021-03-02 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

支持的模型:

基於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點讚和在看

相關焦點

  • 目標檢測三大開源神器:Detectron2/mmDetectron/SimpleDet
    Amusi 經常開玩笑地說"沒有開源的論文就是耍流氓",這麼調侃其實是想簡單說明開原始碼對更容易激起大家的關注度和使用度(簡稱"白嫖")。本文就將介紹目標檢測(Object Detection)三個最為知名、關注度最高的開源神器,其實也可以稱為工具箱(Toolkit),再俗氣一點,就是"造輪子"神器。
  • Facebook 發布 Detectron2:基於 PyTorch 的新一代目標檢測工具
    ,包含了大量業內最具代表性的目標檢測、圖像分割、關鍵點檢測算法,該框架主要基於 python 和 caffe2 實現,開源項目已獲得了超 2.2w 的星標數。而 Detectron2 則是剛推出的新版 PyTorch 1.3 中一重大新工具,它源於 maskrcnn 基準測試,但它卻是對先前版本 detectron 的一次徹底重寫。Detectron2 包含了更大的靈活性與擴展性,並增強了可維護性和可伸縮性,以支持在生產中的用例。目前已在 GitHub 上開源,雷鋒網 AI 開發者將其重要內容整理編譯如下。
  • 整合全部頂尖目標檢測算法:FAIR開源Detectron
    昨天,Facebook AI 研究院(FAIR)開源了 Detectron,業內較佳水平的目標檢測平臺。
  • 訓練我們自己的數據來實現目標檢測和關鍵點檢測,detectron2,一,ubuntu1804,安裝,測試
    配置2. 環境安裝3. 測試detectron21.2.2 cocoapi (pycocotools)pip install cythongit clone https://github.com/cocodataset/cocoapi.gitcd cocoapi/PythonAPIpython setup.py build_ext install2.3 下載安裝detectron2
  • Facebook發布Detectron2,下一個萬星目標檢測新框架
    Detectron2已經包含了眾多保質量實現的目標檢測算法,包括:DensePose, panoptic feature pyramid networks,和Mask RCNN的各種變種。其模塊化特性也使其能夠有效幫助研究人員探索最先進的算法設計。
  • Detectron2 快速開始,使用 WebCam 測試
    本文將引導快速使用 Detectron2 ,介紹用攝像頭測試實時目標檢測。環境準備基礎環境Ubuntu 18.04Nvidia DriverAnaconda PythonDetectron2安裝,# 創建 Python 虛擬環境conda create -n detectron2 python=3.8 -yconda activate detectron2# 安裝 PyTorch
  • 進階的detectron2!
    之前的物體檢測和分割輕鬆上手:從detectron2開始(合篇)已經介紹了Facebook AI開源的物體檢測庫detectron2,近期在版本v0.4之後,detectron2又增加了一個非常好用的特性:LazyConfig。
  • 專欄 | Detectron精讀系列之一:學習率的調節和踩坑
    大家期盼已久的 Detectron 終於開源啦,state-of-the-art 的模型就在一個命令行之間。
  • 目標檢測 | 一文讀懂RPN和ROI Align
    rpn為roi align提供高質量的候選框,即proposal,關係如圖1所示:圖1下面詳細說明一下各個過程,並且配合了代碼的說明,其中代碼來自facebook的detectron2,其中相關參數的配置文件可以參考detectron2/config/defaults.pyrpn全稱是region proposalnetwork,作用是為第二階段提供高質量的目標候選框
  • Mask R-CNN原始碼終於來了,還有它背後的物體檢測平臺
    現在,官方版開原始碼終於來了。同時發布的,是這項研究背後的一個基礎平臺:Detectron。Detectron是Facebook的物體檢測平臺,今天宣布開源,它基於Caffe2,用Python寫成,這次開放的代碼中就包含了Mask R-CNN的實現。
  • EfficientDet目標檢測谷歌官方終於開源了!
    點擊上方「AI算法與圖像處理」,選擇加"星標"或「置頂」重磅乾貨,第一時間送達來源:我愛計算機視覺EfficientDet是谷歌大腦於去年11月份公布的目標檢測算法族因為結果吸引人,Github上已經有多份非官方開源實現,這次谷歌大腦的官方版本終於來了。開源地址:https://github.com/google/automl/tree/master/efficientdet位於google新開的automl項目內,看樣子以後這個項目還會有其他自動機器學習的算法開源。
  • darknet-mini:帶注釋的darknet簡化版,助你深入理解YOLO
    對比了多個框架,發現darknet是一個較為輕型的完全基於C與CUDA的開源深度學習框架,沒有任何依賴項(OpenCV都可以不用),移植性非常好,支持CPU與GPU兩種計算方式。真正可以對神經網絡的組件一探究竟,是提高自己對深度學習有效範本。
  • 物體檢測和分割輕鬆上手:從detectron2開始
    對於物體檢測和分割,目前有以下幾個通用的開源項目:Detectron:FAIR出品,基於caffe2;maskrcnn-benchmark:FAIR出品,基於PyTorch,可以看成Detectron的PyTorch升級版;MMDetection:商湯MMLab出品,基於PyTorch,Model zoo相當完備;Tensorflow Object Detection:Google出品,基於
  • python代碼閱讀神器,加速掌握開源項目
    閱讀知名開源項目源碼可以幫我們快速提升代碼功力,學到很多編程方法和技巧。工欲善其事,必先利其器。
  • 教你快速運行谷歌EfficientDet目標檢測
    向AI轉型的程式設計師都關注了這個號👇👇👇機器學習AI算法工程   公眾號:datayxEfficientDet是谷歌大腦於去年11月份公布的目標檢測算法族EfficientDet D0-D6所有預訓練模型雲盤下載連結獲取:關注微信公眾號 datayx  然後回復  目標檢測  即可獲取。
  • 本周優秀開源項目分享:基於yolov3的輕量級人臉檢測、增值稅發票OCR識別 等8大項目
    :https://pan.baidu.com/s/1bjtd3ueiUj3rt16p2_YQ2w將下載完畢的模型文件夾models放置於項目根目錄下。項目地址:https://github.com/facebookresearch/detectron2 person-reid-3d 3D空間中的人員重新識別
  • 旋轉框檢測方法綜述:RotateAnchor系列
    幾種常見的旋轉框檢測方法,分析這些方法是如何克服FasterRCNN的問題,從而實現旋轉框檢測的。/detectron2/modeling/anchor_generator.py#L202github.comRRPN(rotated proposal 生成器):https://github.com/facebookresearch/detectron2