DynamicDet: A Unified Dynamic Architecture for Object Detection
背景与动机
- 动态神经网络是深度学习中的一个新兴研究领域,通过自适应推理,动态模型可以在准确性和计算效率之间取得显著的平衡。
- 传统的目标检测方法需要设计和训练多个模型来实现准确性和速度之间的权衡,这在应用场景中缺乏灵活性。
- 受人脑处理图像速度差异的启发,该研究提出了一个动态推理框架,旨在使用单个动态检测器实现广泛的准确性-速度权衡。

人脑启发了深度学习和计算机视觉的众多领域,动态神经网络就是一个典型的例子。如上图所示,人类可以快速识别出左侧**“简单”图像** 上的所有目标,但需要更多的时间识别出右侧**“困难”图像** 上的目标。换句话说,人类大脑对不同图像的处理速度是不同的,而这一速度往往取决于理解图像的难易程度。
研究方法

通用动态架构
目标检测器通常由主干网络Backbone、脖颈网络Neck、检测器头Head三部分组成,主干网络 (如ResNet50、Vision Transformer等等) 用于提取基础视觉特征,脖颈网络 (如FPN、BiFPN等等) 用于融合多尺度特征信息,检测器头则通过特定设计来预测目标的种类和位置。如上图,本文所提的目标检测器的通用动态架构也是基于此架构,但区别之处在于其拥有两个级联主干网络及对应的脖颈网络和检测器头,并且在两个主干网络之间插入了动态路由器 (Router) 。
以推理为例,首先,待检测图像将经过第一个主干网络提取第一级多尺度特征,并将该多尺度特征送入动态路由器评判该图像难易程度:
(1) 若判别为“简单”图像,则第一级多尺度特征将送入第一组脖颈网络和检测器头,输出检测结果;
(2) 若判别为“困难”图像,则待检测图像及其第一级多尺度特征将被送入第二个主干网络,提取获得第二级多尺度特征,并将第二级多尺度特征送入第二组的脖颈网络和检测器头,输出检测结果。值得注意的是,本文第二个主干网络处理图像及前一级多尺度特征的方案直接借鉴了组合主干网络 (CBNetV2) 的方案。
通过上述过程,“简单”图像仅由一个主干网络提取基础特征 (快速但粗糙) ,而“困难”图像则由两个级联的主干网络提取基础特征 (缓慢但精细) 。显然,该结构可以有效取得精度与推理速度的权衡。同时,得益于该架构的一般性,任意现有的目标检测器都可以快速延展并直接利用该方案。
自适应路由器
路由器首先对第一级检测器的多尺度特征
进行全局平均池化(GAP),生成单一向量:

其中为全局池化操作、为通道维度拼接操作。
网络结构:
压缩后的特征
通过两层全连接网络(Fully Connected Layer, FC)进行处理。
第一层 FC 用于降维,激活函数为 ReLU。
第二层 FC 用于输出难度得分,激活函数为 Sigmoid。
数学表达式为:

决策过程:
- 若 ϕ≤τ,图像被分类为简单,直接由第一个检测器输出结果。
- 若 ϕ>τ,图像被分类为复杂,进入第二阶段处理。
优化策略

动态架构的训练需要同时优化两个部分:
- 两级检测器的性能:保证其对简单和复杂图像的检测能力。
- 路由器的决策能力:能准确区分简单和复杂图像。
基于损失差异的难度判定
使用第一级和第二级检测器的检测损失差异 Δ 衡量图像难度:

如果 Δ 较小,表示图像为简单图像;
如果 Δ 较大,表示图像为复杂图像。
为实现更好的训练平衡,引入自适应偏移量 Δ/2,优化目标为:

通过这种方式,路由器可以更准确地区分简单和复杂图像。
可变时延推理策略
在推理时,自适应路由器将输出待检测图像的难易评分,作者发现可以通过为同一个动态检测器设置不同的难易阈值直接获取一系列的精度与推理速度的权衡,从而满足不同的时延需求。同时,为直接获取特定推理时延的难易阈值,作者提出了一个简单但有效的方案。
(1) 统计所有验证集数据的难易评分,为;
(2) 基于特定时延需求 (假设为) ,利用下式获得难易比例:
其中、分别为第一组和第二组检测器的推理时延;
(3) 获取在验证集上的难易阈值:
其中,用以求得给定集合的第分位数。值得注意的是,考虑到验证集和测试集的数据是符合独立同分布的,则可以直接应用到测试集。
