当前位置: 首页 > news >正文

视觉目标检测大模型套件detrex-调研

A.写在前面

与NLP大模型相比,CV大模型目前还没有一套较为系统的整合方式。个人认为这主要是:

1.CV大模型的各个下游任务之间的差异性较大导致的。

2.可能也与目前CV领域大模型的数量较少有关。

3.对于CV任务,其落地场景一般对内存和计算速度的要求较高,可能目前仍偏向于使用普通量级模型。

偶然发现这个套件detrex,该套件只针对视觉中的目标检测任务组织,细节非常丰富,值得借鉴。

B.detrex介绍

1.概述

项目地址:GitHub - IDEA-Research/detrex: IDEA Open Source Toolbox for Transformer Based Object Detection Algorithms

detrex是一个开源工具箱,提供了SOTA的基于transformer的检测算法。

建立在Detectron2之上,其模块设计部分借鉴了MMDetection和DETR。

2. 主要特点

(1). 模块化设计。detrex将基于Transformer的目标检测框架分解为各种组件,帮助用户轻松构建自己的定制模型。后面我们看一下它的目录,detrex将基于Transformer的DETR类的目标检测模型拆分并同类方法重新组合,构建了清晰框架。

(2). SOTA模型。detrex提供了一系列基于Transformer的检测算法,包括DINO,它以63.3mAP达到DETR类模型的SOTA!

(3). 易于使用。底特律的设计重量轻,使用方便:

a. LazyConfig System可实现更灵活的语法和更清晰的配置文件。

b. 根据detectron2 lazyconfig_train_net.py修改的轻量级训练引擎。

3.目录结构

- Tutorials
  - Installation
  - Getting Started with detrex
  - Config System
  - Convert Pretrained Models
  - Download Pretrained Backbone Weights
  - Using Pretrained Backbones
  - Practical Tools and Scripts
  - Model Zoo
  - Frequently Asked Questions
- API Documentation
  - detrex.config
    - get_config()
    - try_get_key()
  - detrex.data
    - DatasetMapper 
  - detrex.layers
    - BaseTransformerLayer
    - ConditionalCrossAttention
    - ConditionalSelfAttention
    - ConvNormAct
    - FFN
    - GenerateDNQueries
    - LayerNorm
    - MLP
    - MultiheadAttention
    - PositionEmbeddingLearned
    - PositionEmbeddingSine
    - TransformerLayerSequence
    - apply_box_noise()
    - apply_label_noise()
    - box_cxcywh_to_xyxy()
    - box_iou()
    - box_xyxy_to_cxcywh()
    - generalized_box_iou()
    - get_sine_pos_embed()
    - masks_to_boxes()
  - detrex.modeling
    - backbone
    - neck
    - matcher
    - losses
  - detrex.utils
    - get_world_size()
    - interpolate()
    - inverse_sigmoid() 
    - is_dist_avail_and_initialized()
- Change Log 
  - v0.1.0

我将其中的 API Documentation 重点展开,看下detrex的组织形式大概就能了解该套件的特性和使用形式。简单说其实就是将以DETR这类模型为基础的目标检测模型中的相似部分抽离出来,并评估规划为配置文件(detrex.config)、数据相关(detrex.data)、检测模型常用层(detrex.layers)、常规模型构建部分(detrex.modeling)和额外工具(detrex.utils)几个部分,放置于相应模块中。

C.顺便白嫖一波论文集

整理地址:https://github.com/IDEA-Research/awesome-detection-transformer

相关文章:

  • Docker搭建私有镜像仓库与WordPress
  • 嵌入式软件工程师面试题(七)
  • 力扣(412.516)补8.21
  • 数据集 | 基于计算机视觉的医学影像处理数据集
  • Apache RocketMQ 在阿里云大规模商业化实践之路
  • 《uni-app》一个非canvas的飞机对战小游戏实现-敌机模型实现
  • HTML生日快乐代码 html生日快乐网站制作 html烟花表白网站制作
  • 环境卫生学重点笔记
  • 改进搜索机制的单纯形法引导麻雀搜索算法-附代码
  • 带你吃透Servlet核心编程下篇(完整图文教程)
  • 化工原理 --- 流体流动3
  • 07. 使用子表达式
  • Kubernetes_14_静态Pod网关apiserver底层都是restful接口
  • 信息学奥赛一本通:1091:求阶乘的和
  • less和sass的区别[简洁易懂]
  • 【跃迁之路】【444天】程序员高效学习方法论探索系列(实验阶段201-2018.04.25)...
  • 【知识碎片】第三方登录弹窗效果
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • angular2开源库收集
  • conda常用的命令
  • Flex布局到底解决了什么问题
  • GDB 调试 Mysql 实战(三)优先队列排序算法中的行记录长度统计是怎么来的(上)...
  • JavaScript中的对象个人分享
  • JS笔记四:作用域、变量(函数)提升
  • Nodejs和JavaWeb协助开发
  • Promise初体验
  • React+TypeScript入门
  • Shell编程
  • Vue组件定义
  • WordPress 获取当前文章下的所有附件/获取指定ID文章的附件(图片、文件、视频)...
  • 半理解系列--Promise的进化史
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 从零开始在ubuntu上搭建node开发环境
  • 基于Vue2全家桶的移动端AppDEMO实现
  • 推荐一款sublime text 3 支持JSX和es201x 代码格式化的插件
  • 消息队列系列二(IOT中消息队列的应用)
  • 小程序开发之路(一)
  • 一个项目push到多个远程Git仓库
  • 运行时添加log4j2的appender
  • 你对linux中grep命令知道多少?
  • # .NET Framework中使用命名管道进行进程间通信
  • # 计算机视觉入门
  • #Linux(权限管理)
  • #我与Java虚拟机的故事#连载02:“小蓝”陪伴的日日夜夜
  • (echarts)echarts使用时重新加载数据之前的数据存留在图上的问题
  • (Redis使用系列) Springboot 使用redis实现接口幂等性拦截 十一
  • (二)Eureka服务搭建,服务注册,服务发现
  • (学习日记)2024.02.29:UCOSIII第二节
  • (译) 函数式 JS #1:简介
  • (原創) 博客園正式支援VHDL語法著色功能 (SOC) (VHDL)
  • (转)C#调用WebService 基础
  • (转)IIS6 ASP 0251超过响应缓冲区限制错误的解决方法
  • ***微信公众号支付+微信H5支付+微信扫码支付+小程序支付+APP微信支付解决方案总结...
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .NET core 自定义过滤器 Filter 实现webapi RestFul 统一接口数据返回格式