ContourFormer
论文信息
- 标题:ContourFormer: Real-Time Contour-Based End-to-End Instance Segmentation Transformer
- 作者:Weiwei Yao, Chen Li, Minjun Xiong, Wenbo Dong, Hao Chen, Xiong Xiao
- 单位:Zhuzhou CRRC Times Electric Co., Ltd., China(中车时代电气,株洲)
- 发表:arXiv:2501.17688, 2025
- 开源:https://github.com/talebolano/Contourformer
实例分割按"用什么表示一个实例"分成两大范式。主流的 mask-based 用像素级掩码——从 Mask R-CNN 的"先框后 mask"两阶段,到 YOLACT/SOLO/BlendMask 的无框直接预测,再到 MaskFormer/Mask2Former/Mask DINO 把它搬进 DETR 范式——精度高,但每个目标都要逐像素预测,算力与显存开销大、缺显式几何结构建模、实时吃力。#Yao et al., 2025 另一条相对小众但持续活跃的是 contour-based:用稀疏边界点/多边形刻画实例,计算开销更小、自带显式几何结构。它又分极坐标(PolarMask #Xie et al., 2020)与笛卡尔坐标两支,长期以来在大规模 benchmark 上精度追不上 mask-based。
contour 这条线的演进,可以看成一次次的"初始化与形变"升级:DeepSnake #Peng et al., 2020 用 bbox 初始化轮廓再做圆形卷积多步形变(SBD 54.4 AP_vol),DANCE #Liu et al., 2021 改进匹配并引入 attention 形变,E2EC #Zhang et al., 2022 提出可学习轮廓初始化把精度推到 SBD 59.2,PolySnake #Feng et al., 2024 给出更轻量的可变形 contour 模块加 shape loss(SBD 60.0、COCO 34.9、KINS 35.2),TSnake 加了时间嵌入的循环。#Yao et al., 2025 这些方法的共同短板是:要么依赖两阶段(先检测 box 再形变)、要么非端到端、要么依赖 NMS/anchor,速度受限;而且它们都把轮廓点当成确定性坐标来回归,在模糊边界处易把微小预测偏差放大成定位误差——这一点 Generalized Focal Loss #Li et al., 2023 在检测框上、D-FINE #Peng et al., 2024 在 bbox 回归上都已论证过。
ContourFormer 想同时解决两件事:一是把 contour-based 完整搬进 DETR 范式,拿到端到端、无 NMS、无 anchor 的好处;二是把"确定坐标回归"换成"概率分布回归",让模型显式表达位置不确定性。它的自我定位是"完全基于 DETR 范式"(论文原话 fully based on the DETR paradigm)#Yao et al., 2025;在 contour-based 路线里它也是第一个完整采用 DETR 范式的代表——此为本文判断,因 BoundaryFormer/PolyFormer/DeepSnake 等确非纯 DETR 范式(论文未自夸 "first")。作者并期望它成为该领域的强 baseline 而非颠覆 mask 主流。作者来自中车时代电气(株洲,CRRC 工业界轨交团队),contour 表示的紧凑性、实时性、显式几何对车载/轨旁嵌入式感知有直接工程价值——尤其 KINS 这个自动驾驶车辆 amodal 分割基准与他们的智能交通方向契合。#Yao et al., 2025
给定一张 RGB 图像 $I\in\mathbb{R}^{H\times W\times 3}$,模型要为图中每个感兴趣实例输出两样东西:一个语义类别 $c$,和一条闭合多边形轮廓 $V=\{v_i\}_{i=0}^{N_v-1}$,其中每个边界点 $v_i=(x_i,y_i)$,共 $N_v=64$ 个点。#Yao et al., 2025 也就是说,模型最终要为每个实例回归 $2N_v=128$ 个标量坐标——这比 mask 的 $H\times W$ 个值紧凑得多,也正是 contour-based 省算力的根源。
这个问题被严格定义成端到端集合预测:输入一张图,输出一个无序实例集合 $\{(c_k, V_k)\}_{k=1}^{K}$,集合大小由查询数 $N_q$ 上界(实现中 $N_q=300$)封顶,遵循 DETR 范式 #Carion et al., 2020,不依赖 NMS、不依赖 anchor、不依赖 RoI pooling。训练用 Hungarian 一对一匹配;encoder 端只用 cls+bbox cost,decoder 端用类别预测、contour 点集相似度、外加 contour 外接框与 GT 框的相似度共同决定匹配。#Yao et al., 2025
三个硬约束同时压在方法上:端到端无后处理、实时(A30 上 512×512 达 24.6 FPS)、在 SBD/COCO/KINS 上显著超越既有 contour-based SOTA(SBD 上比 TSnake 高 8.7 AP_vol)。#Yao et al., 2025 要在一个 DETR decoder 里同时满足"准"和"快",就得在 contour 怎么表示、怎么采样特征、怎么回归位置这三件事上动刀——这正是 Part 3 的两个核心创新要解决的。
三库速览
SBD:PASCAL VOC2010 图像重标注,5623 训练/5732 测试,20 类,512×512 单尺度。COCO:11.5 万自然场景训练图,80 类,512×512 单尺度。KINS:KITTI 图像实例级标注的 amodal 分割,7 类(车、货车、行人等),7474 训练/7517 测试,768×2496 单尺度——注意 KINS 是车辆等前景的 amodal 分割(含被遮挡部分的完整形状),不是可行驶区域/freespace 分割。#Yao et al., 2025
3.1 整体架构:把 bbox 回归扩成 contour 回归
ContourFormer 明确声明"This framework is built upon the D-FINE object detection model and extends the regression of bounding boxes to the regression of contours"——直接基座是 D-FINE #Peng et al., 2024,一个把 bbox 回归重定义成细粒度分布精修的实时 DETR 检测器。D-FINE 自己又是 DETR #Carion et al., 2020 + Deformable DETR #Zhu et al., 2021 + RT-DETR/HGNetv2 #Zhao et al., 2023 系的产物。ContourFormer 借了 D-FINE 的 HGNetv2 主干、deformable attention 参数、denoising 训练、fine-grained distribution refinement 思想,再把"4 个 bbox 坐标的分布"扩成"$2N_v=128$ 个 contour 顶点的分布"。#Yao et al., 2025
架构分三段(见图 1):Backbone(HGNetv2-B2 或 B3)抽多尺度特征 → Encoder(D-FINE 风格)出实例级 query $\{q_i^{\mathrm{ins}}\}$ 和初始 bbox,并用初始 bbox 的内切椭圆采样得到初始多边形 $V^0=\{v_i\}_{i=0}^{N_v-1}$(采样方法参考 Curve-GCN #Ling et al., 2019)→ 把 $V^0$ 切成 $N_c=8$ 段 sub-contour,送进 $L$ 层 Transformer decoder(B2 用 $L=4$,B3 用 $L=6$)逐层精修,最后拼接成完整 contour 输出。整条路是单阶段前向,无 NMS、无后处理。#Yao et al., 2025
这里有两个设计选择值得记下:第一,选 64 个边界点是离散化精度与回归维度($2N_v=128$)的折中,沿用 E2EC/PolySnake 惯例;第二,椭圆初始化相比 E2EC 的可学习初始化是"参数免费"的强先验,给后续残差精修一个尺度正确、拓扑闭合的起点。#Yao et al., 2025
3.2 sub-contour 解耦:把 64 维结构化回归降成 8 个 8 维子回归
动机:直接让一个 query 回归一整条 64 点轮廓,是 $2N_v=128$ 维的高度耦合结构化回归——样本效率低、优化难。E2EC #Zhang et al., 2022 的可学习初始化思路曾在点维度上做解耦(此为 E2EC 自身方法,非本文转述),ContourFormer 则在 query 维度上解耦。#Yao et al., 2025
直觉:把一条 64 点轮廓切成 8 段 sub-contour(每段 8 点,$N_c\times N_s=N_v\Rightarrow 8\times 8=64$),每段只需学局部几何(线段曲率、转角),学习样本相对充裕;跨段的拓扑连续性交给 self-attention 在 sub-contour 级 query 之间交换信息来维护。这本质是把一个 128 维回归降成一组 16 维($2N_s$)子回归。
机制:第 $i$ 个实例第 $j$ 段子轮廓的复合 query 是加法组合
其中 $\{q_i^{\mathrm{ins}}\}_{i=0}^{N_q-1}$ 是实例级 query($N_q=300$),$\{q_j^{\mathrm{c}}\}_{j=0}^{N_c-1}$ 是子轮廓级 query($N_c=8$,全实例共享)。加法(不是拼接)意味着 sub-contour 的身份被解耦成"哪个实例"+"哪段子轮廓"两个正交轴,embedding 相加即可索引任一 (实例, 子轮廓) 二元组。这一步是后续 decoupled self-attention 能降复杂度的前提。
若对全部 $N_q\times N_c=2400$ 个 $q_{ij}$ 做朴素全自注意力,复杂度会是 $O((N_qN_c)^2)$;解耦方案分两轮——先对 $N_c=8$ 个 $\{q_j^c\}$ 做自注意力、再对 $N_q=300$ 个 $\{q_i^{\mathrm{ins}}\}$ 做自注意力——把复杂度降到 $O((N_q+N_c)^2)$,在 query 维度上显著降低。#Yao et al., 2025 这正是 $N_c=8$ 时仍能保持 38.8 FPS(不开 CFDR)的关键。消融里 $N_c$ 越大精度越高但越慢($N_c=16$ 仍用解耦 SA,能到 66.5 AP_vol 但 FPS 跌到 28.3、显存涨到 3734 MB)——速度下降来自 cross-attention 的 query 数随 $N_c$ 线性增长($N_qN_c$ 从 2400 增到 4800),而非 SA 模式切换;$N_c=8$ 是速度-精度-显存的最优点。
graph TD
EI["实例级 query {q_i^ins} (N_q=300)"]
EC["子轮廓级 query {q_j^c} (N_c=8, 全实例共享)"]
QIJ["复合 query q_ij = q_i^ins + q_j^c (N_q·N_c=2400)"]
EI --> QIJ
EC --> QIJ
QIJ --> S1["第1轮 self-attn: over {q_j^c}"]
S1 --> S2["第2轮 self-attn: over {q_i^ins}"]
S2 --> CA["cross-attn (deformable)
采样范围 = 上层 sub-contour 外接框"]
CA --> F["CFDR head: Δlogits → Pr^l → v^l"]
F --> OUT["拼接 8 段 sub-contour → 完整 contour"]
3.3 sub-contour deformable cross-attention:让采样跟着轮廓形状走
cross-attention 用 deformable attention(参数沿用 D-FINE decoder 设置,D-FINE 又继承自 Deformable DETR #Zhu et al., 2021),但采样范围不是由 query 自身位置决定,而是由上一层预测的 sub-contour $\{v_i\}_{i=0}^{N_s-1}$ 的外接框 $\{x,y,w,h\}$ 决定。#Yao et al., 2025 先对该段 8 个预测点求 axis-aligned 外接框,以此框作为 deformable attention 的采样范围。
3.4 CFDR:把轮廓点位置建模成概率分布
动机:确定性回归无法表达位置不确定性,在模糊边界处易放大误差。受 D-FINE #Peng et al., 2024 把 bbox 回归重定义为 fine-grained 离散分布的启发(再往前是 Generalized Focal Loss #Li et al., 2023 把连续回归量离散成分布),CFDR 把同样的概率建模扩展到 contour 点。
机制:第 1 层输出两部分——常规回归头给主轮廓估计 $v^0$,CFDR head 给每个边界点的初步偏移分布 $\{Pr_x^1(n),Pr_y^1(n)\}$。后续层残差精修:
其中 $Pr^l(n)=\{Pr_x^l(n),Pr_y^l(n)\}$ 是 x/y 两个方向上离散偏移 bin 的双变量概率分布;$\{W_c,H_c\}$ 是当前实例外接框宽高,作实例特定尺度的偏移幅度缩放(大实例 bin 步长大、小实例步长小);$W(n)$ 是可微查找表,把 bin 索引 $n$ 映射为实际偏移量(类比 GFL 的离散化——此为本文类比,原文仅称 differentiable look-up table)。残差精修的核心是
每层不直接预测新分布,而是在上一层分布的 logits 上加一个残差 $\Delta\mathrm{logits}$,经 Softmax 后分布被"逐步锐化"——早期分布平缓(位置不确定,bin 概率分散),后期分布尖锐(位置收敛到某一 bin)。全过程可微,梯度经 Softmax 回流到每层的 $\Delta\mathrm{logits}$。(原文式 (3) 第二项写作 $\mathrm{logits}(\cdot)$,疑为 $\mathrm{Softmax}$ 笔误,本文据上下文修正。)#Yao et al., 2025
3.5 多阶段渐进:迭代内化为 decoder 堆叠
"多阶段"在本文有两层含义:一是 $L$ 层 decoder 的层间级联,stage 间信息传三条通道——query 通道(上层 query 状态作下层输入)、几何通道(上层 sub-contour 外接框→下层 cross-attention 采样范围)、分布通道(上层 $\mathrm{logits}^{l-1}$→下层 Softmax 输入);二是 sub-contour 级联——8 段子轮廓在每层并行精修再拼接,相当于把一条 64 点轮廓的精修拆成 8 个并行子任务。#Yao et al., 2025 关键在于:ContourFormer 把传统 contour 方法(DeepSnake/PolySnake)的"多阶段 snake forward"——每个变形步骤是独立 CNN forward——内化为 decoder 层堆叠,一次前向完成。这是它比那些多阶段方法快的根本原因。
训练遵循 DETR 的端到端集合预测:一对一 Hungarian 二分匹配,无 NMS/anchor。encoder 只生成初始检测框,匹配只用类别预测+bbox cost,监督用 classification loss + detection box loss;decoder 端的匹配考虑类别预测、contour 点集相似度、contour 外接框与 GT 框相似度。所有 $L$ 层 decoder 都独立计算损失(深监督,沿用 DETR 系惯例)。#Yao et al., 2025
每层 decoder 的总损失:
权重 $\lambda_c=1.0,\ \lambda_p=1.0,\ \lambda_s=0.25$。#Yao et al., 2025 三项分别是:分类损失 $\mathcal{L}_{\mathrm{cls}}$ 用 Variational Focal Loss (VFL) #Zhang et al., 2021,实现 IoU-aware 的分类与定位一致约束;点对点损失 $\mathcal{L}_p$ 用 L1 loss 监督每个预测点位置;形状损失 $\mathcal{L}_{\mathrm{shape}}$ 在边级几何上监督——先算 contour 相邻点(含末点→首点的闭合边)的偏移向量 $\nabla V=\{\Delta v^{1\to 0},\dots,\Delta v^{N_{v-1}\to 0}\}$,再对预测与 GT 的偏移向量求余弦相似度之和:
这个 shape loss 思路沿用 PolySnake #Feng et al., 2024。需要留意一个原文未明示的细节:cos_sim 是相似度(越大越好),作为 loss 应取 $(1-\cos)$ 或负值——原文未写清方向,按 PolySnake 惯例处理。CFDR 的概率分布本身没有独立显式损失项,而是经式 (2)(3) 产生 $v^l$ 后,由 $\mathcal{L}_p$(L1)与 $\mathcal{L}_{\mathrm{shape}}$ 间接反传训练。#Yao et al., 2025
| 超参 | 值 | 出处/说明 |
|---|---|---|
| Backbone | HGNetv2-B2(ContourFormer)/ B3(ContourFormer+) | 来自 RT-DETR #Zhao et al., 2023,非 ResNet/Swin |
| 轮廓点数 $N_v$ | 64 | 回归 $2N_v=128$ 标量 #Yao et al., 2025 |
| 实例 query $N_q$ | 300 | 集合预测上界 #Yao et al., 2025 |
| sub-contour 数 $N_c$ | 8 | $N_c\times N_s=N_v\Rightarrow N_s=8$ #Yao et al., 2025 |
| decoder 层数 $L$ | 4(B2)/ 6(B3) | #Yao et al., 2025 |
| 优化器 | Adam | β/ε/weight decay 原文未给 #Yao et al., 2025 |
| denoising modules | 100 | DN-DETR #Li et al., 2022 思路加速收敛 #Yao et al., 2025 |
| 损失权重 | $\lambda_c{=}1.0,\lambda_p{=}1.0,\lambda_s{=}0.25$ | cls/p/shape #Yao et al., 2025 |
| deformable attn 参数 | 沿用 D-FINE decoder | 原文未列采样点数等数值 #Yao et al., 2025 |
| SBD 训练 | 200 epochs,512×512 单尺度 | #Hariharan et al., 2011 |
| COCO 训练 | 72 epochs,512×512 单尺度 | #Lin et al., 2014 |
| KINS 训练 | 100 epochs,768×2496 单尺度 | follow PolySnake #Qi et al., 2019 |
训练配置披露(10 项逐项标注)
| 训练配置项 | 披露状态 |
|---|---|
| 训练数据 | 已披露:SBD 200ep / COCO 72ep / KINS 100ep,分辨率与划分明确 #Yao et al., 2025 |
| 优化器 | 已披露:Adam(β/ε/weight decay 未给)#Yao et al., 2025 |
| 训练步数 | 部分披露:epoch 给出,step 数未给 #Yao et al., 2025 |
| 训练硬件 | 未披露:A30 仅用于推理测速,训练 GPU 型号/数量未给 #Yao et al., 2025 |
| 学习率 / schedule / warmup | 未披露 #Yao et al., 2025 |
| Batch size | 未披露 #Yao et al., 2025 |
| 训练时长 | 未披露 #Yao et al., 2025 |
| 模型参数量 | 未披露(仅给 FPS/显存,无 FLOPs/params)#Yao et al., 2025 |
| 精度格式(FP16/BF16) | 未披露 #Yao et al., 2025 |
| 数据增强 / 正则化 / Checkpoint | 未披露 #Yao et al., 2025 |
原文只给了优化器类型、epoch、分辨率、损失权重、denoising 数;学习率 schedule、warmup、batch size、训练硬件(A30 仅用于测速)、训练时长、数据增强、正则化、精度格式均未明确给出——复现需向上游 D-FINE 反推或读代码确认。#Yao et al., 2025
推理与训练结构一致,是单阶段前向:图像→Backbone 多尺度特征→Encoder 出实例 query + 初始 bbox + 椭圆初始 contour→切 8 段 sub-contour 构造复合 query→$L$ 层 decoder 逐层精修(decoupled SA→sub-contour 外接框引导的 deformable CA→CFDR 残差精修分布)→拼接 sub-contour 成完整 contour,输出 (cls, V)→无 NMS、无 anchor、无后处理。#Yao et al., 2025
ContourFormer 不是视频方法,没有 streaming pipeline(chunk/cache/causal mask 那一套与本篇无关)。它的"实时"是图像级单帧延迟意义上的实时,来自三个叠加因素:
- HGNetv2 实时主干 #Zhao et al., 2023:RT-DETR 系高效 backbone,是实时基座的第一块。
- decoupled self-attention:$O((N_q+N_c)^2)$ 替代朴素 $O((N_qN_c)^2)$,是 $N_c=8$ 时仍保持 38.8 FPS(不开 CFDR)/ 24.6 FPS(开 CFDR)的关键。#Yao et al., 2025
- 单阶段前向 + 迭代内化:不像 DeepSnake/DANCE/PolySnake 的多阶段 snake 迭代(每步一次独立 CNN forward),ContourFormer 把"迭代收敛"内化为 decoder 层堆叠,每层是高效 deformable attention(只采 $K$ 个点,远小于 full attention 的 $HW$),一次前向即出结果。#Yao et al., 2025
速度数据(NVIDIA A30 GPU)#Yao et al., 2025:
- SBD/COCO 512×512:ContourFormer(B2)24.6 FPS,ContourFormer+(B3)18.2 FPS
- KINS 768×2496:B2 14.4 FPS,B3 11.5 FPS(推测同 A30 硬件)
把 FPS 换算成单帧延迟能更直观地理解"实时"的边界:24.6 FPS 约等于 40.7 ms/帧,处于"接近实时"的区间(通用实时阈值常取 30 FPS / 33 ms);ContourFormer+ 的 18.2 FPS(~55 ms)和 KINS 配置的 14.4 FPS(~69 ms)则已不算严格实时。#Yao et al., 2025 论文没有公布逐段延迟拆解(backbone/encoder/decoder 各占多少),但从机制可推断速度的来源与瓶颈:decoder 层是 deformable attention——只在多尺度特征图上采少量点(沿用 D-FINE/Deformable DETR 的 $K$ 点设置 #Zhu et al., 2021),复杂度与空间分辨率线性而非平方,远低于 full attention 的 $O(HW)$;backbone 只跑一次。
和 DeepSnake/PolySnake 这类多阶段 snake 方法比,延迟量级差异的根源就在这里:那些方法的每个形变步骤是一次独立的 CNN forward(过 backbone+head),$N$ 步 snake 约等于 $N$ 次单遍前向;ContourFormer 把"迭代"内化成 decoder 层堆叠,4–6 层 decoder 共享同一份已抽好的多尺度特征、每层只做轻量 deformable attention + 解耦 SA,不再重跑 backbone。这正是"单阶段前向"能在 A30 上压到 24.6 FPS 的结构性原因。KINS 的高分辨率(768×2496)把速度从 24.6 压到 14.4,主要因为更大的特征图让 deformable 采样覆盖更多空间位置、且要在更大画面上精修 64 个边界点——高分辨率对 contour-based 的代价在 KINS 上显形。
显存方面(SBD 消融):$N_c=0$ 时 1632 MB,$N_c=8$ 时 2640 MB,$N_c=16$ 时 3734 MB;完整配置($N_c=8$+bbox 采样+CFDR)2716 MB。#Yao et al., 2025 原文未给 FLOPs/参数量,只有 FPS 与显存。
| 实验配置项 | 状态 |
|---|---|
| 评测数据集 | 已披露:SBD val、COCO val+test-dev、KINS test #Yao et al., 2025 |
| 评测指标 | 已披露:AP_vol/AP50/AP70(SBD)、AP_val/AP_test-dev(COCO)、AP(KINS)#Yao et al., 2025 |
| Baseline 方法 | 已披露:DeepSnake/DANCE/E2EC/PolySnake/TSnake(仅 contour-based,未含 mask-based SOTA)#Yao et al., 2025 |
| 推理硬件 | 已披露:NVIDIA A30 #Yao et al., 2025 |
| 推理分辨率 | 已披露:512×512(SBD/COCO)、768×2496(KINS)#Yao et al., 2025 |
| 推理环境(框架/精度) | 未披露:框架(D-FINE 有 PyTorch/PaddlePaddle 两版)、精度格式均未明示 #Yao et al., 2025 |
主实验:三库对比
| 方法 | SBD AP_vol | COCO test-dev AP | KINS AP |
|---|---|---|---|
| DeepSnake #Peng et al., 2020 | 54.4 | 30.3 | 31.3 |
| DANCE #Liu et al., 2021 | 56.2 | — | — |
| E2EC #Zhang et al., 2022 | 59.2 | 33.8 | 34.0 |
| PolySnake #Feng et al., 2024 | 60.0 | 34.9 | 35.2 |
| TSnake #Hsu et al., 2024 | 60.5 | — | — |
| ContourFormer(B2) | 67.6 | 36.5 | 35.3 |
| ContourFormer+(B3) | 69.2 | 37.6 | 36.2 |
原文 SBD 表另含 EigenContours(AP50=56.5)、COCO 表另含 PolarMask++(test-dev=33.8),因指标列不全未列入本主表,详见原文 SBD/COCO 表。#Yao et al., 2025
也要把精度放进大盘看:COCO test-dev 37.6 AP 距 Mask2Former/Mask DINO 一系 mask-based SOTA 的 50+ AP 仍有 12+ 个点的鸿沟——这是 contour-based 整条路线的未竟之志,论文也只在 contour 派内对比。KINS 上仅 +1.0 AP 的最小提升,大概率与 amodal 任务对 contour 初始化的挑战有关:被遮挡部分的完整形状对椭圆初始化 + 残差精修要求更高,contour 表示在重度遮挡下的恢复能力受限。
消融一:sub-contour 数 $N_c$
| $N_c$ | AP_vol | FPS | 显存 (MB) |
|---|---|---|---|
| 0 | 64.0 | 49.6 | 1632 |
| 4 | 65.1 | 39.8 | 2072 |
| 8 | 65.8 | 38.8 | 2640 |
| 16 | 66.5 | 28.3 | 3734 |
$N_c$ 从 0→16 精度单调升(64.0→66.5),但 $N_c=16$ 时 FPS 从 49.6 跌到 28.3、显存翻倍到 3734 MB。$N_c=8$ 是折中选定点——相对 $N_c=4$ 只 $-1.0$ FPS 换 $+0.7$ AP_vol,而 $N_c=16$ 要再付 $-10.5$ FPS、$+1094$ MB 才换 $+0.7$ AP_vol,性价比陡降。#Yao et al., 2025
消融二:sub-contour bbox 采样 + CFDR
| sub-contour bbox 采样 | CFDR | AP_vol | FPS | 显存 (MB) |
|---|---|---|---|---|
| — | — | 65.8 | 38.8 | 2640 |
| ✓ | — | 67.1 | 38.8 | 2640 |
| ✓ | ✓ | 67.6 | 24.6 | 2716 |
把各组件贡献量累起来(SBD,AP_vol):$N_c=0$ 基线 64.0 → +sub-contour 解耦($N_c$ 0→8)+1.8 → +bbox 采样 +1.3 → +CFDR +0.5 = 67.6(ContourFormer B2)→ 换 B3 backbone +1.6 = 69.2(ContourFormer+)。#Yao et al., 2025 可以看到 sub-contour 解耦是最大单项贡献,CFDR 精度收益小但速度代价大。
定性结果
读完这篇,几个值得拎出来的判断:
第一,定位很克制。作者明确把 ContourFormer 定位为 contour 派的"强 baseline"而非颠覆 mask 主流的新范式——Conclusion 自述"we anticipate that Contourformer will serve as a pivotal baseline in this field"。#Yao et al., 2025 它只在 contour-based 方法间对比(DeepSnake/DANCE/E2EC/PolySnake/TSnake),刻意回避与 Mask2Former/Mask DINO 等 mask-based SOTA 正面比数值。这不是回避批评,而是诚实承认:COCO 37.6 AP 距 mask-based 的 50+ AP 仍有鸿沟,contour-based 与 mask-based 的精度 gap 未真正弥合。
第二,CFDR 是个"贵但必要"的精修。它只带来 +0.5 AP_vol 却吃掉 14.2 FPS——精度收益小、速度代价大。这意味着在严格实时的边缘部署场景,关掉 CFDR、只保留 sub-contour 解耦 + geometry-aware 采样(38.8 FPS、67.1 AP_vol)可能才是工程上更划算的配置。这种"精度小赚但速度大亏"的组件,在落地时往往是被砍掉的第一选择。
第三,几个未解的短板。原文没有独立 Limitations 章节,以下从消融与全文推断:椭圆初始化沿用 Curve-GCN #Ling et al., 2019 的 bbox 内切椭圆采样,对极端非凸/细长形状初始化可能偏差大,依赖后续迭代纠正——但论文未分析失败模式;64 个边界点固定,对多凸起、孔洞等复杂拓扑表达力有限(contour-based 通病);KINS 高分辨率下速度掉到 14.4 FPS,实时性优势在大图/密集小目标场景被削弱。#Yao et al., 2025
第四,可复现性有真实缺口。CFDR 的 bin 数 $N$、$W(n)$ 查找表的具体形式、分布监督损失(是否用 DFL #Li et al., 2023)、shape loss 的方向、sub-contour 切分方式(按顶点顺序 8 等分还是按弧长)、复合 query 加法的维度对齐——这些关键点原文都没写清。复现者需主要靠论文 + D-FINE 上游代码反推,建议优先核实 GitHub 仓库实际内容(论文脚注给的是 github.com/talebolano/Contourformer,仓库名拼作 Contourformer 而非 ContourFormer,疑似占位/别名账号,权重与活跃度未联网核实)。#Yao et al., 2025
回到本系列的脉络:ContourFormer 回答的是"单张图里怎么用 contour 又快又准地切实例",没有时序机制。它和本系列前三篇(SAM 2 / RVM / Track Anything 的视频轮廓提取)共享的是 contour 表示这一底座,也是 MPEG-4 形状编码、两链接链形状表示那条 contour 表示谱系在 DETR 时代的延续。把它放进"视频轮廓提取"系列,是为了让 contour 表示的图像侧基础与视频侧方法在同一坐标里对望——前者给"轮廓怎么表示与回归",后者给"轮廓怎么在帧间保持一致"。
参考来源
- Yao, W. et al. (2025). ContourFormer: Real-Time Contour-Based End-to-End Instance Segmentation Transformer. arXiv:2501.17688. arXiv:2501.17688 · github.com/talebolano/Contourformer
- Peng, Y. et al. (2024). D-FINE: Redefine Regression Task in DETRs as Fine-grained Distribution Refinement. arXiv:2410.13842. arXiv:2410.13842
- Zhu, X. et al. (2021). Deformable DETR: Deformable Transformers for End-to-End Object Detection. ICLR 2021. arXiv:2010.04159
- Carion, N. et al. (2020). End-to-End Object Detection with Transformers (DETR). ECCV 2020. arXiv:2005.12872
- Peng, S. et al. (2020). Deep Snake for Real-Time Instance Segmentation. CVPR 2020. arXiv:2007.04338
- Zhang, T. et al. (2022). E2EC: An End-to-End Contour-Based Method for High-Quality High-Speed Instance Segmentation. CVPR 2022.
- Feng, H. et al. (2024). PolySnake: Recurrent Generic Contour-Based Instance Segmentation with Progressive Learning. TCSVT 2024.
- Liu, J. et al. (2021). DANCE: Deep Attentive Normalized Correlation Estimator. WACV 2021.
- Hsu, K. et al. (2024). TSnake: Time-Embedded Snake for Instance Segmentation. APSIPA 2024.
- Xie, Y. et al. (2020). PolarMask: Single Shot Instance Segmentation. CVPR 2020.
- Li, X. et al. (2023). Generalized Focal Loss. IEEE TPAMI 45(3).
- Li, F. et al. (2022). DN-DETR: Accelerate DETR Training by Denoising. CVPR 2022.
- Liu, S. et al. (2022). DAB-DETR: Anchor Box DETR. ICLR 2022.
- Zhang, H. et al. (2021). VarifocalNet: An IoU-aware Dense Object Detector (VFL). CVPR 2021. · 精读 →
- Ling, H. et al. (2019). Fast Object Segmentation in Unconstrained 3D Vision Data (Curve-GCN). ICCV 2019.
- Zhao, Y. et al. (2023). RT-DETR: DETRs Beat YOLOs on Real-time Object Detection (HGNetv2). CVPR 2024.
- Hariharan, B. et al. (2011). SBD: Semantic Boundaries Dataset. ICCV 2011.
- Lin, T. et al. (2014). Microsoft COCO: Common Objects in Context. ECCV 2014.
- Qi, L. et al. (2019). Amodal Instance Segmentation (KINS). ICCV 2019.