论文阅读:DynamicDet: A Unified Dynamic Architecture for Object Detection

论文地址:[2304.05552] DynamicDet: A Unified Dynamic Architecture for Object Detection

代码地址:GitHub - VDIGPKU/DynamicDet: [CVPR 2023] DynamicDet: A Unified Dynamic Architecture for Object Detection


概要

本文提出了一种名为 DynamicDet 的统一动态架构,用于物体检测任务。DynamicDet 通过自适应推理、动态推理策略和变速推理策略来优化物体检测器,旨在实现精度与速度的最佳平衡。通过设计一个动态的检测器架构和自适应路由器,DynamicDet 可在单一检测器中实现精度与速度的广泛权衡,提升了推理速度和准确度。大量的实验结果表明,DynamicDet 在 COCO 数据集上取得了新的精度与速度平衡,相比于 YOLOv7 系列模型,推理速度显著提高。

创新点

  • 目标检测器动态推理架构:

    • 本文的核心创新之一是提出了自适应路由器(Adaptive Router),该路由器可以根据待检测图像的复杂度,自动选择最适合的早退(early exiting)策略。简单的图像可以通过快速路径进行推理,而复杂的图像则通过更深的网络路径进行处理,从而减少不必要的计算,提高推理效率。
  • 无超参数训练策略:

    • 文章提出的动态架构没有依赖传统的超参数调整。这意味着架构可以通过自动化策略优化,不需要手动调整训练过程中的多个超参数。这一点使得训练过程更加简化,同时也能提高模型在不同任务上的适应性和通用性。
  • 可变时延推理策略:

    • 动态目标检测器不仅在推理过程中能够根据图像复杂度自适应调整计算路径,还采用了可变时延推理策略(Variable-speed Inference Strategy)。这一策略允许推理的速度根据不同情况灵活调整,从而在速度和精度之间实现更好的权衡。

Motivation

目标检测是计算机视觉中的核心任务,但现有的检测方法需要在精度和速度之间做出妥协。现有方法往往需要设计多个模型来适应不同的任务需求,导致训练资源的浪费和推理效率的低下。为了解决这一问题,本文提出了一种动态推理框架,DynamicDet,可以通过一个动态检测器在不同任务间灵活调节,从而实现精度和速度的最佳平衡。

人类可以快速识别出左侧“简单”图像上的所有目标,但需要更多的时间识别出右侧“困难”图像上的目标。人类的大脑在处理不同图像时,识别速度会因图像的复杂程度而有所不同。对于简单的图像,我们可以很快地识别出其中的所有目标,而对于复杂的图像,识别目标的过程则需要更多的时间。这种差异通常与图像的“难易程度”相关,例如图像中的细节、物体数量、背景复杂性等因素。

背后的原理:

  • 视觉处理的复杂性:人类视觉系统会根据图像的复杂性来调整处理方式。简单的图像(例如单一物体、清晰的边界等)通常容易被大脑快速识别,而复杂的图像(例如物体重叠、模糊或具有较高噪声的图像)则需要更多的时间和处理步骤。
  • 分辨率与细节:复杂图像中的细节更多,可能需要分多个阶段来处理,如先识别大致结构,再逐步细化目标位置和边界。
  • 认知负担:当图像复杂时,大脑需要在更多的视觉信息中提取重要的特征,增加了认知负担,进而导致处理速度变慢。

系统框架

DynamicDet 由三个主要组件组成:

  1. 两个级联的检测器:分别处理简单和困难的图像。每个检测器根据图像的难度执行不同的推理任务。
  2. 自适应路由器:通过分析多尺度特征,评估图像的难度分数,并决定使用哪个检测器。路由器根据图像的复杂度,自动选择适当的检测器进行推理。
  3. 变速推理策略:动态调整推理过程的速度,通过设置阈值决定是否使用高效的检测器或更精确但计算量大的检测器。

DynamicDet 的架构示意图如上:首先,第一个主干网络(backbone)从输入图像中提取多尺度特征。然后,这些多尺度特征将输入到路由器(router)中,路由器的作用是预测图像的难度并决定推理路径。值得注意的是,“简单” 图像将仅由一个主干网络处理,而 “困难” 图像则将由两个主干网络处理。

理解:

  1. 多尺度特征提取:首先,图像通过一个主干网络提取多个尺度(不同分辨率或细节层次)的特征。这有助于捕捉图像中不同大小的物体和细节信息。

  2. 路由器的作用:提取出的多尺度特征被传递到一个路由器(router)。路由器的任务是评估当前图像的“难度”,并根据该评估来决定接下来的推理路径:

    • 简单图像:如果图像被认为是简单的,路由器决定只使用一个主干网络来处理图像。这意味着,计算量较小,处理速度较快。
    • 困难图像:如果图像被认为是困难的,路由器会将图像的处理分配给两个主干网络。这意味着,计算量增大,推理过程变得更加精细,以确保更高的准确性。
  • 动态推理路径选择:该架构通过判断图像的难度,智能地选择不同的计算路径,从而在保证精度的同时提高计算效率。
  • 灵活的推理策略:对于简单图像,使用较少的计算资源,而对于复杂图像,使用更多的计算资源进行更精细的处理。这种策略能够有效减少不必要的计算开销,并加速推理过程。

技术细节

  • 多尺度特征:DynamicDet 在推理过程中利用图像的多尺度特征,浅层特征适合检测小物体,深层特征适合检测大物体。通过这些信息,自适应路由器能够更准确地评估图像的复杂性。
  • 自适应路由器:路由器首先对多尺度特征进行池化,将其压缩为一个维度较小的向量,经过两层全连接层,生成一个难度分数。该分数用于指导路由器决定图像的处理策略。
  • 优化策略:为了有效训练动态架构,DynamicDet 引入了一种无超参数优化策略,避免了手动调整参数的繁琐。通过优化检测器之间的损失差异,确保“简单”图像通过快速检测器,“困难”图像通过精确检测器处理。

  • 变速推理:通过设置阈值,路由器能够根据难度分数调整推理速度,以优化检测器的精度和速度之间的权衡。

小结

DynamicDet通过提出一个通用的动态架构,并结合自适应路由器、基于损失的优化策略以及变速推理策略,成功地解决了目标检测任务中精度与速度之间的矛盾。实验结果证明了该方法在多个基准数据集上的优越性能,特别是在推理速度和精度的平衡上达到了新的最先进水平。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/465583.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关于在GitLab的CI/CD中用docker buildx本地化多架构打包dotnet应用的问题

关于在GitLab的CI/CD中用docker buildx本地化多架构打包dotnet应用的问题 这是一个DevOps综合性问题docker buildx多架构打包.NET应用的问题用QEMU模拟多架构环境打包 这是一个DevOps综合性问题 网络上的方案都是细分的领域,未见一个集成了GitLabdockerdotnet的多架…

翻译工具开发技术笔记:《老挝语翻译通》app支持语音识别翻译功能,怎么提高语音识别的准确度呢?

《老挝语翻译通》app是一款专为老挝语翻译设计的免费工具,支持文本翻译、老挝文OCR文字识别提取、文字转语音。这款工具以其技术优势和用户友好的界面,为用户提供了便捷的老挝语翻译体验。 技术特点 文本翻译:支持双语输入,提供精…

qt QListView详解

1、概述 QListView 是 Qt 框架中的一个视图类,用于展示模型中的数据。它基于 QAbstractItemView,支持多种视图模式,如列表视图(List View)、图标视图(Icon View)等。QListView 是模型/视图框架…

初识C++(上) -- C++的关键字、命名空间、缺省参数以及函数的重载

目录 一、C的关键字(C98) 二、命名空间 1、命名冲突 2、命名空间 2.1 命名空间的定义 (1). 命名空间定义的例子以及命名空间的嵌套: (2). 同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中: 2…

MySQL_客户端工具建库.

前言: 通过前面的学习我们已经了解到什么是数据库,以及数据库是如何安装的,相信大家都已将数据库安装好了,让我们接下来开始新的学习吧!!! 1.MySQL客户端工具 1. MySQL Workbench MySQL :: D…

突破1200°C高温性能极限!北京科技大学用机器学习合成24种耐火高熵合金,室温延展性极佳

在工程应用中,如燃气轮机、核反应堆和航空推进系统,对具备优异高温机械性能的金属合金需求十分旺盛。由于材料熔点的固有限制,传统镍基 (Ni) 高温合金的耐温能力已接近极限。为满足开发高温结构材料的需求,耐火高熵合金 (RHEAs) 于…

leetcode21:合并两个有序列表

将两个升序链表合并为一个新的 升序 链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。 示例 1: 输入:l1 [1,2,4], l2 [1,3,4] 输出:[1,1,2,3,4,4]示例 2: 输入:l1 [], l2 [] 输出:[]示…

开源模型应用落地-glm模型小试-glm-4-9b-chat-vLLM集成(四)

一、前言 GLM-4是智谱AI团队于2024年1月16日发布的基座大模型,旨在自动理解和规划用户的复杂指令,并能调用网页浏览器。其功能包括数据分析、图表创建、PPT生成等,支持128K的上下文窗口,使其在长文本处理和精度召回方面表现优异&a…

K8S篇(基本介绍)

目录 一、什么是Kubernetes? 二、Kubernetes管理员认证(CKA) 1. 简介 2. 考试难易程度 3. 考试时长 4. 多少分及格 5. 考试费用 三、Kubernetes整体架构 Master Nodes 四、Kubernetes架构及和核心组件 五、Kubernetes各个组件及功…

关于路由笔记

路由 定义: 在计算机网络中,路由是将数据包从源节点传输到目标节点的过程。这个过程涉及到网络中的多个设备,如路由器、交换机等,其中路由器起着关键的决策作用。 工作原理示例: 假设你在一个公司的局域网内&#…

人工智能之人脸识别(人脸采集人脸识别)

文章目录 前言PySimpleGUI 库1-布局和窗口 前言 例如:随着人工智能的不断发展,本文主要介绍关于人工智能中GUI和PyMysql相应用。 本文采用代码+逻辑思路分析的方式有助于理解代码。 PySimpleGUI 库 PySimpleGUI 是一个用于简化 GUI 编程的…

如何找到养生生活视频素材?推荐几个优秀网站

今天,我们来聊一个实用的话题,那就是如何找到优质的养生视频素材。作为自媒体创作者,高质量的视频素材对内容制作至关重要。不论你是刚入行的新手,还是已经积累了一定粉丝的大V,找到合适的养生视频素材都能帮助你更好地…

旋转对称性,旋转矩阵的特征矢量也是T3矩阵的特征矢量

旋转对称性要求T3矩阵,在旋转后,特征矢量没发生改变,特征值大小也没变,即T3矩阵没有改变

美畅物联丨物联网通信新纪元:Cat.1与5G RedCap的差异化应用

​ 在物联网(IoT)迅猛发展的时代,通信标准对物联网设备的连接性、性能和适用性有着极为关键的作用。小编在《美畅物联丨Cat.1与NB-IoT:物联网设备的通信标准对比》中提到Cat.1与NB-IoT的对比区别,后来就有小伙伴问&…

OpenCV视觉分析之目标跟踪(12)找到局部的最大值函数meanShift()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 在反向投影图像上找到一个对象。 meanShift 是一种用于图像处理和计算机视觉领域的算法,特别适用于目标跟踪、图像分割等任务。该算…

应急救援无人车:用科技守护安全!

一、核心功能 快速进入危险区域: 救援无人车能够迅速进入地震、火灾、洪水等自然灾害或重大事故的现场,这些区域往往对人类救援人员构成极大威胁。 通过自主导航和环境感知技术,无人车能够避开危险区域,确保自身安全的同时&…

安装acondana3, Conda command not found

Linux 服务器安装acondana3后 输入conda找不到 写入路径也没找到 vim ~/.bashrc 加入 PATH"root/anaconda3/bin:$PATH" 更新文件: source ~/.bashrc 还是找不到conda 命令 解决办法 source ~/anaconda3/etc/profile.d/conda.sh conda activate Your_e…

第07章 运算符的使用

一、算数运算符 算术运算符主要用于数学运算,其可以连接运算符前后的两个数值或表达式,对数值或表达式进行加 ()、减(-)、乘(*)、除(/)和取模(%&a…

6堆(超级重点)

堆(Heap)的核心概述 堆针对一个 JVM 进程来说是唯一的,也就是一个进程只有一个 JVM,但是进程包含多个线程,他们是共享同一堆空间的。 6.1.1. 堆内存细分 Java 7 及之前堆内存逻辑上分为三部分:新生区养老…

Google Guava 发布订阅模式/生产消费者模式 使用详情

目录 Guava 介绍 应用场景举例 1. 引入 Maven 依赖 2. 自定义 Event 事件类 3. 定义 EventListener 事件订阅者 4. 定义 EventBus 事件总线 5. 定义 Controller 进行测试 Guava 介绍 Guava 是一组来自 Google 的核心 Java 库,里面包括新的集合 类型&#xff08…