Transformer检测神器!detrex:面向DETR系列的目标检测开源框架
点击下方卡片,关注“CVer”公众号
AI/CV重磅干货,第一时间送达
点击进入—> 目标检测技术交流群
前言
在我们IDEA研究院CVR团队分别开源了DAB-DETR
, DN-DETR
, DINO
后,CVR团队一直计划做一个统一的DETR系列代码框架,支持DETR系列的算法工作,并且希望这套codebase可以拓展到更多相关的任务上,终于在9.21号,CVR团队正式开源detrex,整合重构复现了之前的开源工作并且吸纳了一系列DETR系列算法。
项目地址:
https://github.com/IDEA-Research/detrex
项目介绍
detrex项目的主要特点包括:
1. 支持的算法足够丰富
目前已经支持的算法:
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,并且代码结构足够清晰,用户可以方便添加自己的backbone。 项目管理:detrex对于每个算法,都在projects下进行了单独的维护,保证了每个算法之间不会互相影响,并且用户可以单独看具体某个算法的实现代码,不会有额外的信息干扰。 轻量化的config system与training engine:detrex基于detectron2的LazyConfig进行二次开发, 整理训练代码十分简洁,配置文件十分清晰,方便用户实现自己的配置需求以及custom自己的训练流程。
3. 算法的复现效果好
在detrex下复现的算法整体结果上相比于之前的项目更好或者持平,以下是一些算法复现结果的对比:
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 |
不仅包括以上罗列的算法结果,我们还release了一批新的模型训练结果,包括DAB-Deformable-Two-Stage
, DINO-Swin-Tiny
, DINO-Swin-Small
, DINO-Swin-Base
等训练结果,可以关注我们的Model Zoo更新
detrex Model Zoo: https://detrex.readthedocs.io/en/latest/tutorials/Model_Zoo.html
detrex下release的权重不仅包括了detrex本身training的权重,还包括了一些原始开源仓库下convert过来的权重(具体的结果在每个算法的projects下的README中有描述),方便用户作相关的inference以及可视化。并且提供了对应的converters,用户不仅可以使用detrex对这些算法进行训练,也可以在将之前训练好的权重convert到detrex的格式下。
4. 搭配丰富的文档教程 (持续更新中)
detrex的文档地址: https://detrex.readthedocs.io/en/latest/
文档中有详细的教程教学如何安装并使用detrex,并且对于配置系统中的每一个参数也有详细的介绍,CVR团队会不断根据社区的反馈对文档内容进行更新,欢迎大家多提意见。
detrex的未来计划
在detrex功能需求上,detrex会不断优化代码实现,并且根据用户的反馈调整需求的优先级,在detrex下置顶了两个issue,用于收集社区的需求和意见,以下是issue地址
detrex的功能需求反馈: Roadmap of detrex detrex的文档需求反馈: Roadmap of detrex documentation and tutorials
在算法实现上,detrex在未来不仅仅会支持Transformer-Based的检测算法,还会拓展到分割,姿态估计等任务上,敬请期待!
detrex开源背后的团队想法
虽然detrex开源了,但是目前也只能算是beta v0.1.0版本,还有许多模块需要优化,还有更多功能需要支持,这些靠自己完成是远远不够的,开源出来也是希望能借助社区的力量,一起推动DETR系列的工作。非常非常非常欢迎从任何角度为detrex提供意见,并且欢迎任何形式的contribution,无论是issue或者是PR,也希望能有更多的contributors加入我们!
detrex 框架代码下载
后台回复:detrex,即可上面项目代码!
目标检测和Transformer交流群成立
扫描下方二维码,或者添加微信:CVer222,即可添加CVer小助手微信,便可申请加入CVer-目标检测或者Transformer 微信交流群。另外其他垂直方向已涵盖:目标检测、图像分割、目标跟踪、人脸检测&识别、OCR、姿态估计、超分辨率、SLAM、医疗影像、Re-ID、GAN、NAS、深度估计、自动驾驶、强化学习、车道线检测、模型剪枝&压缩、去噪、去雾、去雨、风格迁移、遥感图像、行为识别、视频理解、图像融合、图像检索、论文投稿&交流、PyTorch、TensorFlow和Transformer等。
一定要备注:研究方向+地点+学校/公司+昵称(如目标检测或者Transformer+上海+上交+卡卡),根据格式备注,可更快被通过且邀请进群
▲扫码或加微信号: CVer222,进交流群
CVer学术交流群(知识星球)来了!想要了解最新最快最好的CV/DL/ML论文速递、优质开源项目、学习教程和实战训练等资料,欢迎扫描下方二维码,加入CVer学术交流群,已汇集数千人!
▲扫码进群
▲点击上方卡片,关注CVer公众号
整理不易,请点赞和在看
微信扫码关注该文公众号作者