Skip to content

EdgeCrafter: Compact ViTs for Edge Dense Prediction via Task-Specialized Distillation


公众号推文解读

摘要

EdgeCrafter 是一个让轻量级 ViT 在边缘端密集预测任务上超越 YOLO 系的统一框架。核心思路:通过任务专门化蒸馏(Task-Specialized Distillation),把 DINOv3 ViT 的目标检测表征知识注入紧凑型学生骨干 ECViT。

关键结果

  • ECDet-S(10M 参数)COCO 51.7 AP → 超 YOLO11-S(46.6)、YOLOv12-S(47.6)
  • ECPose-X 74.8 AP → 超 YOLO26-Pose-X(71.6,用了 Objects365 预训练)
  • ECInsSeg-S(10.3M)43.0 AP → 逼近 3 倍参数的 RF-DETR(43.1)

三阶段流程

  1. 教师训练:DINOv3 ViT → 适配检测,成为"检测专家"
  2. 特征蒸馏:ImageNet+COCO 混合集上特征对齐蒸馏到 ECViT
  3. 多任务构建:蒸馏后的骨干 → ECDet/ECInsSeg/ECPose

架构特点

  • ConvStem(4 层 3×3 卷积,stride=2)替代 Patch Embedding
  • 极简多尺度:不加 FPN,融合最后 2 个 Block 输出,线性投影出 stride 8/16/32
  • RT-DETR 风格 Encoder-Decoder(AIFI + CCFF)
  • 消融:LARS > AdamW(+0.3 AP);寄存器 Token 减少伪影;DINOv3-B 教师优于 L

论文解读

1. Introduction

背景 & 动机:

  • 边缘端密集预测(检测/分割/姿态)仍是 CNN(YOLO)主导
  • ViT 在云端大模型风头正劲,但缩小到边缘端尺寸后性能骤降
  • 即使 ImageNet-21K 监督预训练对紧凑型 ViT 提升也有限,有时甚至不如从零训练(Figure 1b)
  • 核心问题:紧凑型 ViT 缺乏有效的任务特定表征学习,而非架构本身不适合

本文贡献:

  1. EdgeCrafter 框架: 统一紧凑型 ViT 框架,覆盖检测/分割/姿态估计
  2. 任务专门化蒸馏: 将 DINOv3 检测教师的知识蒸馏到小型学生骨干 ECViT
  3. 边缘友好架构: ConvStem + 极简多尺度特征 + RT-DETR 风格 Encoder-Decoder
  4. SOTA 结果: ECDet-S 10M 参数 COCO 51.7 AP,无需 Objects365 预训练

知识蒸馏:

  • 传统 KD 从大模型蒸馏到小模型,但多数针对分类任务
  • 本文不同:教师先适配到密集预测任务(检测专家),再蒸馏给学生

高效目标检测:

  • 实践中 CNN 架构(YOLO 系列)仍占主导
  • DETR 类方法(RT-DETR, D-FINE, RF-DETR)在实时检测上追赶
  • 紧凑型 ViT 在此场景中应用较少

紧凑型 ViT:

  • 现有紧凑 ViT(DeiT, TinyViT, EfficientViT 等)主要针对分类,未针对密集预测专门优化
  • EdgeCrafter 目标是把大 ViT 转为任务专门化的教师,再蒸馏给紧凑学生

3. Method

3.1 三阶段 Pipeline

Stage 1: 教师准备

  • DINOv3 ViT backbone → 适配到 COCO 目标检测 → 成为"检测专家"教师
  • 教师分为 ECTeacher-S(small)和 ECTeacher-B(base)

Stage 2: 知识蒸馏到 ECViT

  • 在 ImageNet + COCO 混合数据集上蒸馏
  • 学生骨干仅受 L_distill 优化(匹配教师特征)
  • 使用 LARS 优化器(比 AdamW +0.3 AP)
  • 蒸馏后骨干固定权重,进入下游任务训练

Stage 3: 任务特定训练

  • ECViT 骨干 + 轻量级任务头 → ECDet(检测)/ ECPose(姿态)/ ECInsSeg(分割)
  • 骨干冻结,只训练任务头(阶段 3 骨干 ❄️ 冻结)

3.2 ECDet 架构

ConvStem: 4 层 3×3 卷积(stride=2),替代 ViT 的 16 步长 Patch Embedding

  • 保留更多局部细节,逐步扩大感受野

ECViT 骨干: ConvStem + 12 个 Transformer Block(带 RoPE)

极简多尺度特征金字塔:

  • 无 FPN,直接融合最后 2 个 Block 的输出
  • 通过线性投影 + 插值生成 stride 8/16/32 特征图

Hybrid Encoder & Decoder:

  • RT-DETR 风格的尺度内交互(AIFI)+ 跨尺度融合(CCFF)
  • 4 层解码器,300 个 object queries

模型配置(Table 1):

ModelResolutionECViTEmbed DimAttn HeadsTeacherEncoder HiddenEncoder FFNDecoder FFN
S640T1923ECTeacher-S192768768
M640T+2564ECTeacher-B25610241024
L640S3846ECTeacher-B38415361536
X640S+5128ECTeacher-B51220482048

3.3 ECPose

  • 基于 ECDet,检测查询 → 1 个实例 Token + N 个关键点 Token
  • 同时回归边界框 + 人体关键点坐标
  • 损失:L1 + OKS loss

3.4 ECInsSeg

  • 基于 ECDet,复用检测查询做 mask 预测
  • 轻量级 query-base mask head(MaskDINO / RF-DETR 风格)

4. Experiments

4.1 目标检测(COCO val2017)

ModelParamsGFLOPsLatencyAPvalAP50AP75
YOLO11-S9.4M21.32.9ms46.663.050.4
YOLOv12-S9.5M19.53.4ms47.663.751.4
RT-DETRv4-S10.3M51.45.2ms50.368.054.7
ECDet-S9.8M45.65.4ms51.769.456.3
YOLO26-M*22.3M62.64.8ms53.370.458.5
ECDet-M17.5M85.68.9ms55.673.060.0
YOLO26-L*46.9M130.98.1ms56.573.662.1
ECDet-L34.1M181.712.9ms57.975.563.2
YOLO26-X*74.1M250.311.9ms57.974.863.9
ECDet-X49.3M280.714.2ms58.575.863.7

*标注带 Objects365 预训练。ECDet 仅用 COCO 标注。

关键发现:

  • ECDet-S(9.8M)51.7 AP → 超 YOLOv12-S(47.6)+4.1 AP
  • 所有尺度均超过 YOLO26(即使后者用了 Objects365 预训练)
  • 仅在大模型(X)上 AP75 略低于 YOLO26-X

4.2 人体姿态估计(COCO val2017)

ModelParamsAPAP50
RTMO-S5.9M67.487.5
ECPose-S10.0M71.290.2
YOLO26-Pose-M*13.6M68.187.8
ECPose-M17.7M72.991.4
YOLO26-Pose-X*36.1M71.689.9
ECPose-X24.4M74.891.9

*ECPose 无 Objects365 预训练,YOLO26-Pose 有

4.3 实例分割(COCO val2017)

ModelParamsAPAP50AP75
ECInsSeg-S10.3M43.064.346.2
YOLO26-Seg-M*23.2M40.961.943.6
ECInsSeg-M17.7M44.766.047.3
RF-DETR-Seg-S*31.6M43.164.746.0
ECInsSeg-L34.3M45.967.349.3

4.4 消融实验

损失函数对比(ECDet-S):

MethodAPval
无蒸馏(train from scratch)46.9
SL(相似性损失,MSE)49.7
CL(对比损失)49.6
SL + CL(本文方法)50.8
Teacher 最后 2 层(本文最终)51.7

优化器:

OptimizerAP
AdamW53.8
LARS54.1 (+0.3)

教师模型选择:

TeacherAP
DINOv3-S53.6
DINOv3-B54.3
DINOv3-L53.8

→ 并非教师越大越好,DINOv3-L 的表征过于复杂,紧凑学生难以吸收(认知鸿沟)

寄存器 Token:

Register TokensAP
053.8
154.3 (+0.5)
253.8

→ 1 个寄存器 Token 即可显著减少特征伪影


5. Conclusion

  • 紧凑型 ViT 性能不佳的根源是任务特定表征不足,而非架构不兼容
  • 任务专门化蒸馏 + 边缘友好设计 = 紧凑 ViT 在边缘端与 CNN 竞争甚至超越
  • ECDet-S 10M 参数 51.7 AP,无需大规模预训练
  • 蒸馏表征可跨任务迁移(检测→分割→姿态),仅需更换轻量级任务头

局限性: 未提及


个人评价

核心价值: 验证了一个重要假设——紧凑 ViT 不行不是架构问题,而是训练方式不对。任务专门化蒸馏的思路简单有效,工程价值高。

可借鉴点:

  • 任务专门化蒸馏的套路:教师先做任务适配 → 再蒸馏特征 → 学生冻结骨干只训头
  • DINOv3-B > DINOv3-L 的"认知鸿沟"现象,选择教师要考虑学生的吸收能力
  • ConvStem + 极简多尺度(不用 FPN)的轻量设计

量化结论: 在 COCO 检测上,EdgeCrafter 的蒸馏方案比从零训练高 +4.8 AP(46.9 → 51.7),比无蒸馏的 SL+CL 消融高 +0.9 AP(50.8 → 51.7)


疑问解答 (Q&A)

Q1: Stage 3 为什么要冻结骨干?

: 因为蒸馏阶段已经让学生骨干学到了检测相关的表征。冻结骨干可以防止在特定任务数据(如姿态估计的人体关键点)上 finetune 时"污染"蒸馏来的通用检测特征,保证跨任务迁移能力。

Q2: 为什么 FPN 省掉了?只靠 2 个 Block 融合够用?

: 文章直接在最后 2 个 Transformer Block 输出上做线性投影 + 插值,生成 stride 8/16/32 的三层特征。对于紧凑型 ViT 来说,层数少、语义层级有限,FPN 的额外参数和延迟不划算。实验结果证明这种简化设计足够。

Q3: ECDet-X 在 AP75 上略微低于 YOLO26-X,说明了什么?

: 大模型下定位精度的瓶颈可能在解码器设计,而非骨干表征。ECDet 使用 4 层解码器 + 300 queries,与 YOLO26 的密集预测方式不同,高 IoU 阈值下定位精度可能受限于查询数量和解码器深度。