detrex | 面向detr系列的目標檢測開源框架
點藍色字關(guān)注
“機器學習算法工程師
”
設為 星標 ,干貨直達!
前言
在我們IDEA研究院CVR團隊分別開源了DAB-DETR, DN-DETR, DINO后,CVR團隊一直計劃做一個統(tǒng)一的DETR系列代碼框架,支持DETR系列的算法工作,并且希望這套codebase可以拓展到更多相關(guān)的任務上,終于在9.21號,CVR團隊正式開源detrex,整合重構(gòu)復現(xiàn)了之前的開源工作并且吸納了一系列DETR系列算法。
項目地址: https://github.com/IDEA-Research/detrex
項目介紹
detrex項目的主要特點包括:
1. 支持的算法足夠豐富
目前已經(jīng)支持的算法:
- DETR
- Deformable-DETR
- Conditional-DETR
- DAB-DETR
- DAB-Deformable-DETR
- DN-DETR
- DN-Deformable-DETR
- DINO
- Group-DETR
并且會不斷更新新的算法
2. 模塊化設計與易用性
detrex在代碼易用性上做了以下的改進:
- 模塊化設計:detrex解耦了DETR系列算法中的一些必要組件,方便用戶替換其中的模塊,例如在backbone上不僅支持了ResNet,Swin等必要的backbone,還額外支持了Timm以及Torchvision的Backbone,并且代碼結(jié)構(gòu)足夠清晰,用戶可以方便添加自己的backbone。
- 項目管理:detrex對于每個算法,都在projects下進行了單獨的維護,保證了每個算法之間不會互相影響,并且用戶可以單獨看具體某個算法的實現(xiàn)代碼,不會有額外的信息干擾。
- 輕量化的config system與training engine:detrex基于detectron2的LazyConfig進行二次開發(fā), 整理訓練代碼十分簡潔,配置文件十分清晰,方便用戶實現(xiàn)自己的配置需求以及custom自己的訓練流程。
3. 算法的復現(xiàn)效果好
在detrex下復現(xiàn)的算法整體結(jié)果上相比于之前的項目更好或者持平,以下是一些算法復現(xiàn)結(jié)果的對比:
| Method | AP (original repo) | AP (detrex) |
|---|---|---|
| Conditional-DETR-R50 | 40.9 | 41.6 |
| DAB-DETR-R50 | 42.2 | 43.3 |
| DAB-DETR-R101 | 43.2 | 43.8 |
| DAB-Deformable-DETR-R50 | 48.7 | 48.9 |
| DN-DETR-R50 | 44.4 | 44.7 |
| DINO-R50-12epoch | 49.0 | 49.0 |
| DINO-Swin-L-12epoch | 56.8 | 56.9 |
不僅包括以上羅列的算法結(jié)果,我們還release了一批新的模型訓練結(jié)果,包括DAB-Deformable-Two-Stage, DINO-Swin-Tiny, DINO-Swin-Small, DINO-Swin-Base等訓練結(jié)果,可以關(guān)注我們的Model Zoo更新
- detrex Model Zoo: https://detrex.readthedocs.io/en/latest/tutorials/Model_Zoo.html
detrex下release的權(quán)重不僅包括了detrex本身training的權(quán)重,還包括了一些原始開源倉庫下convert過來的權(quán)重(具體的結(jié)果在每個算法的projects下的README中有描述),方便用戶作相關(guān)的inference以及可視化。并且提供了對應的converters,用戶不僅可以使用detrex對這些算法進行訓練,也可以在將之前訓練好的權(quán)重convert到detrex的格式下。
4. 搭配豐富的文檔教程 (持續(xù)更新中)
detrex的文檔地址: https://detrex.readthedocs.io/en/latest/
文檔中有詳細的教程教學如何安裝并使用detrex,并且對于配置系統(tǒng)中的每一個參數(shù)也有詳細的介紹,CVR團隊會不斷根據(jù)社區(qū)的反饋對文檔內(nèi)容進行更新,歡迎大家多提意見。
detrex的未來計劃
在detrex功能需求上,detrex會不斷優(yōu)化代碼實現(xiàn),并且根據(jù)用戶的反饋調(diào)整需求的優(yōu)先級,在detrex下置頂了兩個issue,用于收集社區(qū)的需求和意見,以下是issue地址
- detrex的功能需求反饋: Roadmap of detrex?https://github.com/IDEA-Research/detrex/issues/89
- detrex的文檔需求反饋: Roadmap of detrex documentation and tutorials?https://github.com/IDEA-Research/detrex/issues/92
在算法實現(xiàn)上,detrex在未來不僅僅會支持Transformer-Based的檢測算法,還會拓展到分割,姿態(tài)估計等任務上,敬請期待!
detrex開源背后的團隊想法
雖然detrex開源了,但是目前也只能算是beta v0.1.0版本,還有許多模塊需要優(yōu)化,還有更多功能需要支持,這些靠自己完成是遠遠不夠的,開源出來也是希望能借助社區(qū)的力量,一起推動DETR系列的工作。非常非常非常歡迎從任何角度為detrex提供意見,并且歡迎任何形式的contribution,無論是issue或者是PR,也希望能有更多的contributors加入我們!
detrex交流群
我們同時也建立了detrex交流群 (發(fā)二維碼容易被屏蔽), 歡迎添加微信: rentianhe666 備注 detrex + 姓名 即可,歡迎多交流~
推薦閱讀
輔助模塊加速收斂,精度大幅提升!移動端實時的NanoDet-Plus來了!
機器學習算法工程師
? ??? ? ? ? ? ? ? ? ? ? ????????? ??一個用心的公眾號

