热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

Transformer检测神器!detrex:面向DETR系列的目标检测开源框架

点击下方卡片,关注“CVer”公众号AICV重磅干货,第一时间送达点击进入—目标检测技术交流群前言在我们IDEA研究院CVR团队分别开源了DAB-DE

点击下方卡片,关注“CVer”公众号

AI/CV重磅干货,第一时间送达

点击进入—> 目标检测技术交流群

前言

在我们IDEA研究院CVR团队分别开源了DAB-DETR, DN-DETR, DINO后,CVR团队一直计划做一个统一的DETR系列代码框架,支持DETR系列的算法工作,并且希望这套codebase可以拓展到更多相关的任务上,终于在9.21号,CVR团队正式开源detrex,整合重构复现了之前的开源工作并且吸纳了一系列DETR系列算法。

94d1c86415722227f79f5a779a9c6f54.png

项目地址: 

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下复现的算法整体结果上相比于之前的项目更好或者持平,以下是一些算法复现结果的对比:

MethodAP (original repo)AP (detrex)
Conditional-DETR-R5040.941.6
DAB-DETR-R5042.243.3
DAB-DETR-R10143.243.8
DAB-Deformable-DETR-R5048.748.9
DN-DETR-R5044.444.7
DINO-R50-12epoch49.049.0
DINO-Swin-L-12epoch56.856.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公众号

整理不易,请点赞和在看


推荐阅读
  • 原文网址:https:www.cnblogs.comysoceanp7476379.html目录1、AOP什么?2、需求3、解决办法1:使用静态代理4 ... [详细]
  • MySQL 5.7 学习指南:SQLyog 中的主键、列属性和数据类型
    本文介绍了 MySQL 5.7 中主键(Primary Key)和自增(Auto-Increment)的概念,以及如何在 SQLyog 中设置这些属性。同时,还探讨了数据类型的分类和选择,以及列属性的设置方法。 ... [详细]
  • MATLAB实现Sobel边缘检测算法
    图像边缘是指图像中灰度值发生显著变化的区域。Sobel算子是一种常用的边缘检测方法,通过计算图像灰度值的梯度来检测边缘。本文介绍了Sobel算子的基本原理,并提供了基于MATLAB的实现代码。 ... [详细]
  • 解决Only fullscreen opaque activities can request orientation错误的方法
    本文介绍了在使用PictureSelectorLight第三方框架时遇到的Only fullscreen opaque activities can request orientation错误,并提供了一种有效的解决方案。 ... [详细]
  • Linux CentOS 7 安装PostgreSQL 9.5.17 (源码编译)
    近日需要将PostgreSQL数据库从Windows中迁移到Linux中,LinuxCentOS7安装PostgreSQL9.5.17安装过程特此记录。安装环境&#x ... [详细]
  • 结城浩(1963年7月出生),日本资深程序员和技术作家,居住在东京武藏野市。他开发了著名的YukiWiki软件,并在杂志上发表了大量程序入门文章和技术翻译作品。结城浩著有30多本关于编程和数学的书籍,其中许多被翻译成英文和韩文。 ... [详细]
  • 在多线程并发环境中,普通变量的操作往往是线程不安全的。本文通过一个简单的例子,展示了如何使用 AtomicInteger 类及其核心的 CAS 无锁算法来保证线程安全。 ... [详细]
  • 微信公众号推送模板40036问题
    返回码错误码描述说明40001invalidcredential不合法的调用凭证40002invalidgrant_type不合法的grant_type40003invalidop ... [详细]
  • javascript分页类支持页码格式
    前端时间因为项目需要,要对一个产品下所有的附属图片进行分页显示,没考虑ajax一张张请求,所以干脆一次性全部把图片out,然 ... [详细]
  • 秒建一个后台管理系统?用这5个开源免费的Java项目就够了
    秒建一个后台管理系统?用这5个开源免费的Java项目就够了 ... [详细]
  • 您的数据库配置是否安全?DBSAT工具助您一臂之力!
    本文探讨了Oracle提供的免费工具DBSAT,该工具能够有效协助用户检测和优化数据库配置的安全性。通过全面的分析和报告,DBSAT帮助用户识别潜在的安全漏洞,并提供针对性的改进建议,确保数据库系统的稳定性和安全性。 ... [详细]
  • H凹变换优化技术——lhMorphConcave详解与应用摘要:本文详细介绍了lhMorphConcave技术,该技术通过优化H凹变换来提高图像处理的精度。具体而言,该函数在5×5的正方形区域内对输入图像进行二值化处理,以实现更精确的形态学分析。参数设置方面,sr参数用于控制变换的具体细节,从而确保在不同应用场景中都能获得理想的效果。此外,文章还探讨了该技术在实际项目中的应用案例,展示了其在图像分割、特征提取等领域的强大潜力。 ... [详细]
  • 浏览器作为我们日常不可或缺的软件工具,其背后的运作机制却鲜为人知。本文将深入探讨浏览器内核及其版本的演变历程,帮助读者更好地理解这一关键技术组件,揭示其内部运作的奥秘。 ... [详细]
  • 【实例简介】本文详细介绍了如何在PHP中实现微信支付的退款功能,并提供了订单创建类的完整代码及调用示例。在配置过程中,需确保正确设置相关参数,特别是证书路径应根据项目实际情况进行调整。为了保证系统的安全性,存放证书的目录需要设置为可读权限。值得注意的是,普通支付操作无需证书,但在执行退款操作时必须提供证书。此外,本文还对常见的错误处理和调试技巧进行了说明,帮助开发者快速定位和解决问题。 ... [详细]
  • 题目 E. DeadLee:思维导图与拓扑结构的深度解析问题描述:给定 n 种食物,每种食物的数量由 wi 表示。同时,有 m 位朋友,每位朋友喜欢两种特定的食物 x 和 y。目标是通过合理分配食物,使尽可能多的朋友感到满意。本文将通过思维导图和拓扑排序的方法,对这一问题进行深入分析和求解。 ... [详细]
author-avatar
czx_91_673
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有