跳转至

Towards Unified Dynamic Face Landmark Detection

会议: NeurIPS2026
arXiv: 2608.10346
领域: 人体理解
关键词: 人脸关键点检测、统一标注模板、部位锚定位置、动态查询、跨模板泛化

一句话总结

本文用“人脸部位 + 归一化序列位置”描述关键点,再通过图像条件化查询与迭代解码,让同一模型联合学习不同标注格式并按需预测关键点;统一 ViT-B 在 WFLW、300W、AFLW-19 上的完整集 NME 分别为 4.05、2.80、1.02,优势是接口与训练统一,而非所有指标全面领先。

研究背景与动机

人脸关键点检测通常把输出格式固化在模型里:AFLW-19 输出 19 点,300W 输出 68 点,WFLW 输出 98 点。SLPT、DTLD 等方法能够提高坐标精度,却通常仍需分别训练模型或数据集专用回归头。部署端如果只需要眼睛和嘴角,模型仍要计算预设的全部输出;如果需要更密的轮廓点,既有头又不能直接增加输出位置。这里的 dynamic 指运行时改变查询点的数量与布局,不指视频时序建模。

这种格式隔离并不完全符合标注的语义。不同数据集的大部分关键点都落在眼睛、眉毛、嘴唇和脸部轮廓等相同结构上,只是采样密度、起止点和局部定义有所差异。LAB 已经利用部位边界共享视觉表示,CLD 可以用规范三维脸上的位置查询二维关键点;本文希望不依赖三维规范映射,直接利用已有稀疏二维标注建立可查询接口。难点不仅是允许输出长度变化,还在于让来自不同模板的点具有可共享、可监督的含义。

核心 idea:先将异构关键点注册为部位曲线上的语义位置,再把每个位置编码成查询,让模型根据图像直接定位所需点,而不是维护多个固定输出头或只对已有预测做几何插值。

方法详解

整体框架

输入是一张裁剪后的人脸图像,以及一组需要预测的“部位名称、FPALP 位置”对;输出是这些查询对应的二维坐标。训练前先建立统一模板及各数据集关键点到该模板的映射,运行时则依次执行部位位置编码、图像条件化初始化和跨模态迭代细化。图像编码器提取共享特征,因此换查询布局不需要重新训练输出头。

这套机制把两个问题分开:统一模板回答“不同数据集的监督如何表示”,动态查询回答“这次推理具体输出哪些点”。训练样本只监督其所属数据集已有的点,并不会因为合并数据集就获得每张图上全部模板的真实坐标。图中实线是推理数据流,虚线是训练监督;FPALP 注册是预先建立的语义映射,不是每张图实时测量的曲线长度。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    T["数据集模板或目标布局"] --> A["部位锚定位置"]
    A --> B["部位位置编码"]
    I["人脸图像"] --> F["图像编码器"]
    B --> C["图像条件化初始化"]
    F --> C
    C --> D["跨模态迭代细化"]
    F --> D
    B --> D
    D --> O["所查询点的二维坐标"]
    G["训练样本的真实坐标"] -.->|高斯热图与 PossLoss| C
    G -.->|各阶段 Wing Loss| D

关键设计

1. 部位锚定位置:把固定点编号变成共享的曲线语义地址

一个数据集的“第 17 点”对另一个数据集通常没有直接意义,而“脸部轮廓中间位置”可以跨模板解释。作者先对不同数据集的人脸模板进行对齐并聚类,形成统一模板,再把点分配到使用者定义的部位曲线。附录 A.15 说明,初始化采用中等密度模板的聚类中心,限制中心大幅移动;不能合理并入已有簇的新增点会被标记为新簇或新部位,而非强行合并。所考虑模板的部位平均簇内距离为 2.22 像素,说明这里依赖近似对齐,并非所有数据集天生具有完全一致的语义坐标。

对某部位中的关键点,Face Part-Anchored Landmark Position(FPALP,部位锚定关键点位置)由其在有序模板序列中的位置归一化得到:

\[ \mathit{FPALP}_{l,p}=\frac{\mathit{pos}_{l,p}}{N_p-1}. \]

其中,\(N_p\) 是该部位序列的长度,位置采用从零开始的顺序。附录 A.9 进一步讨论数据集起点相对统一模板起点的偏移,因此跨模板注册不应简单理解为“各数据集独立编号后除以自身点数”。这个量是模板序列上的语义进度,不是当前图像中真实人脸曲线的累计弧长比例;透视、表情和非均匀采样都可能使两者不同。

眼睛、嘴唇等闭合曲线会在序列末尾重复起点,使 0 和 1 对应同一个物理端点,从而显式表示闭环。部位名称与起止点由使用者共同定义,同一个物理点可以属于多个重叠部位,并在不同部位拥有不同 FPALP。瞳孔等不适合插值的点也在映射表中作为独立部位列出,因此接口不应被误读为只接受所有点共用的一条连续脸部轮廓。

这一表示的收益是让训练标签与输出头尺寸解耦,但收益有前提:必须能够给目标点建立可靠的部位与顺序映射。新的 FPALP 可以被编码,不代表模型一定能精确定位任意新位置;注册误差和训练模板的覆盖程度仍会影响结果。

2. 部位位置编码:同时说明在哪个部位以及部位内的哪个位置

仅输入一个 0 到 1 的数无法区分左眼中点和嘴唇中点。模型将 FPALP 经带 ReLU 的 MLP 编码,并用预训练 SentenceBERT 编码部位名称,再将两种同维度向量相加,得到与当前图像无关的关键点编码。位置提供局部地址,部位文字提供身份;共同表示才足以区分不同结构上的查询。

作者选择文本编码而非一组自由学习的部位向量,并假设预训练文本表示可能包含部位布局、表情相关性等知识。消融确实显示 SentenceBERT 比可学习嵌入更好,但这只证明该表示选择在当前实验中有效,不能证明语言模型已经准确编码了这些特定几何关系。当前框架也不是开放词汇部位发现系统:附录 A.10 明确假定查询部位在训练数据中已定义,新部位自动发现仍是未来工作。

查询接口可以加载不同数量的部位位置对,也可以只查询局部结构。然而,文本描述仍需对应既有部位定义与注册方式,不能把一个未经对齐的自然语言短语直接当作已有精度保证的标注协议。

3. 图像条件化初始化:用同一空间注意力同时产生查询特征与粗坐标

图像无关编码表达“想找什么”,却不知道该点在当前脸上出现在哪里。作者用它与图像特征做点积,并在空间维度执行 softmax,形成每个查询自己的注意力图。随后对图像特征取注意力加权平均,得到初始关键点查询;对特征网格对应的图像坐标取同样的加权平均,得到初始二维坐标。这样,后续解码器从与图像相关的特征和粗位置出发,而不是从固定坐标或随机向量开始。

这一初始化把语义定位和视觉定位连接起来:同一个“左眼、某进度位置”查询在不同姿态的图像上能够获得不同粗坐标。训练时,真实关键点被转成二维高斯热图,再通过 PossLoss 监督注意力图,使空间权重不只是为了最终回归而间接学习。该热图监督只在训练时出现,推理无需真实坐标。

粗坐标来自加权平均,本身可能因遮挡或多个高响应区域而偏移。因此初始化不是最终检测结果,它为后续结构约束与局部图像采样提供可更新的起点。

4. 跨模态迭代细化:交替利用关键点关系、局部视觉证据与查询语义

每个解码层先让关键点查询之间执行自注意力,以利用眼睛、鼻子、嘴唇等结构间的关系;再围绕上一阶段预测坐标,使用可变形注意力从图像特征中采样局部证据。随后,查询与图像无关的部位位置编码执行交叉注意力,重新对齐目标定义,最后经前馈网络产生新查询,并用 MLP 回归相对上一阶段坐标的偏移。默认重复三层,每一层都沿用前一层的查询和坐标。

这个顺序解释了模型为何不只是“学到一条插值曲线”:新点定位可以读取当前图像的证据,又能够借助其他点的结构信息;重新接触部位位置编码则减少迭代过程中语义漂移。可变形注意力的每个头从各层图像特征为每个查询采样 4 个特征,避免对全部图像位置反复做密集检索。

动态查询也有计算边界。关键点自注意力随查询数量增加而增加,标准密集实现中的成对关系成本具有二次增长;图像采样及坐标回归同样需要为新增查询计算。论文的“任意数量”应理解为没有固定输出头数量限制,而非无限点数、恒定计算成本或无限精度。增减其他查询还会改变自注意力上下文,不能未经验证便假定某点预测完全独立于查询集合。

一个完整示例

附录映射中,300W 的脸部轮廓使用 \(0/32,2/32,\ldots,32/32\),WFLW 则使用 \(0/32,1/32,\ldots,32/32\)。因此,300W 的第 9 个轮廓点与 WFLW 的第 17 个轮廓点都映射到 \(16/32\),模型可以共享“轮廓中部”这个查询含义;这展示的是模板地址对齐,不是宣称两个数据集每张脸的标注几何完全相同。

假设推理只需五个轮廓点,就加载位置 0、0.25、0.5、0.75、1 的五个“face contour”查询。模型编码这五个地址,分别在图像上产生注意力图和粗坐标,再让五个查询互相交互并细化,最后只输出五组二维坐标。该示例说明接口用法,不对应论文另行测得的五点精度结果。

如果改为查询闭合眼部曲线,需要注意端点重复:0 与 1 是同一端点的两种表示,不能把它们计作两个不同物理关键点。对训练中没有直接监督的中间位置,可以发出查询,但其误差必须通过留出点实验或真实新标注评估,而不能由接口可运行推导出来。

损失函数 / 训练策略

坐标监督施加于初始化及每个解码层输出,原文给出的坐标损失为:

\[ \mathcal{L}=\sum_{\mathit{\mathrm{dec}_{i}}=0}^{n_{\mathrm{dec}}}\text{WingLoss}(C_{\mathrm{dec}_{i}},C_{\mathrm{GT}}). \]

注意力初始化还采用 PossLoss,权重与温度参数分别为 2 和 0.1。上述公式是原文的多阶段坐标损失,不把它擅自扩写成具有未知权重的完整联合目标,也不重建缓存排版损坏的 Wing Loss 或 PossLoss 精确形式。

统一训练采用数据集级过采样,使每个 epoch 对各模板有近似相同的样本曝光;每个 batch 来自同一数据集,保证查询数量和张量形状一致。默认特征维度 256、3 个解码层、每层 8 个注意力头;ViT-B 使用 FaRL 预训练,输入为 224×224,ResNet 输入为 256×256。人脸框扩大 10%,训练增强包含旋转、缩放、翻转和位移。

模型在 A100 40GB 上训练 32 个 epoch,batch size 为 16,Adam 学习率 \(10^{-4}\)、weight decay 为 \(10^{-5}\);从第 25 个 epoch 起降到 \(10^{-5}\),图像与文本编码器使用当前学习率的十分之一。

Dataset Adapters 是额外的专用适配对照,不是统一模型所有实验的默认组成。作者先训练统一模型并冻结,再对每个数据集分别训练 rank 4 的 LoRA,仅加在最后一个解码层的交叉注意力及 FFN 上,训练 5 个 epoch、学习率 \(10^{-5}\)。它们只用于 §4.1 的主实验对比,其余实验不使用这些适配器。

实验关键数据

主实验

NME 是预测点与真实点的平均欧氏距离除以归一化尺度后乘 100;WFLW、300W 使用眼间距,AFLW-19 使用人脸框对角线。FR10 是 WFLW 上 NME 超过 10% 的样本比例。下表全部数值越低越好,不同归一化指标不能跨数据集直接比较大小。

方法 WFLW NMEio WFLW FR10 300W Common 300W Challenge 300W Full AFLW-19 NMEdiag
STAR Loss 4.02 2.32 2.52 4.32 2.87 未报告
PossLoss 4.07 2.12 2.51 4.21 2.84 未报告
MCUDN 4.15 未报告 2.42 4.33 2.79 1.47
本文 ViT-B 统一模型 4.05 2.38 2.47 4.25 2.80 1.02
本文 + Dataset Adapters 4.02 2.19 2.43 4.19 2.76 1.01

来源:原文表 2。既有方法采用作者报告结果,backbone、预训练与训练条件不统一,不能把该表解释为完全受控的架构对照。Faceptor 还使用其他任务的数据,其 AFLW-19 NME 为 0.95,原文将此类 generalist 方法只列作参考。

统一模型并未在全部指标上胜出:WFLW NME 4.05 高于 STAR Loss 的 4.02,FR10 2.38 高于 PossLoss 的 2.12;300W Full 2.80 也略高于 MCUDN 的 2.79。加适配器后,WFLW FR10 2.19 仍未优于 2.12。因此,原文“持续超越既有方法”的概括比表格支持的结论更强,合理结论是保持有竞争力的精度,同时解锁统一训练与动态输出。

消融实验

训练数据 AFLW-19 NMEdiag 300W NMEio WFLW NMEio COFW NMEio WFLW68 NMEio COFW68 NMEio
300W 2.18* 3.01 6.32* 3.81* 6.08 4.40
WFLW 2.21* 4.03 4.09 3.71 3.89 4.61
300W + WFLW 2.20* 2.89 4.11 3.64 4.41 4.36
300W + WFLW + AFLW-19 1.02 2.80 4.05 3.52 4.38 4.27

来源:原文图 6 的数值表;不使用 Dataset Adapters。星号表示排除了模板中未定义的关键点,因此星号与非星号结果覆盖的评估点集合不同,不能把差值直接视作同一完整任务的提升。

融合全部数据对多数列有利,但 WFLW68 从仅 WFLW 训练的 3.89 变为 4.38,误差上升而非下降。作者认为其他数据可能稀释困难样本,并指出分布与标注质量决定融合是否获益;这是一种解释,不是已经拆分验证的因果机制。附录 A.13 对该退化使用了“decrease in NME”的措辞,与表中的误差方向不一致,此处保留表格数值并明确方向。

附录 A.6 的控制实验在训练时留出原生标注点,再只在留出点上计算 NME;三次样条用同一个减少监督模型预测的保留点拟合,闭合曲线采用周期三次样条。

数据集与留出划分 完整监督 减少监督后直接查询 三次样条插值
300W:保留 37,留出 31 3.56 4.08 5.04
WFLW:保留 73,留出 23 4.51 4.92 5.88
WFLW:保留 50,留出 46 5.32 5.76 6.83

来源:原文表 4。WFLW 划分基于排除两个眼中心点后的 96 个轮廓点;完整监督模型已在训练中见过被评估的点,只是评估使用同一留出子集。减少监督直接查询比三次样条分别降低误差 19.0%、16.3%、15.7%,但这些数值不是完整测试模板的 NME,也不是任意更高密度新点的误差保证。

关键发现

  • 仅在 300W 训练时,ViT-B 在 WFLW68 上为 6.08,优于 DTLD 的 7.23;COFW68 为 4.40,却仍差于 DAG 的 4.22,跨数据集泛化不是全面领先。
  • 表 3(b) 单独评估 300W 中不存在的 28 个 WFLW 点,ViT-B 的 WFLW_E NME 为 6.52;ResNet18 为 7.63、ResNet101 为 7.39。这比只展示密集预测图更直接地支持未见位置的泛化。
  • SentenceBERT 相对可学习嵌入使 300W NME 从 2.99 到 2.80、WFLW 从 4.19 到 4.05;表示选择有实证收益,具体语义知识来源仍是作者假设。
  • 解码层从 1 到 3 时,WFLW NME 从 4.41 到 4.05、300W 从 3.12 到 2.80;继续增加到 5 层分别为 4.06、2.82,更多迭代不自动带来更好结果。

亮点与洞察

  • 输出接口是贡献的中心。将标注协议转换为共享的查询地址,使“联合训练”和“改变预测布局”由同一种表示连接起来,而不是给共享 backbone 不断添加专用头。
  • 动态定位不同于几何加密。查询直接访问图像证据,留出点对照也在相同减少监督条件下优于三次样条,说明收益不只是输出更多坐标。
  • 模板异构性与图像多样性不能混为一谈。新增模板可增加位置覆盖,但新增图像也会改变样本难度分布,WFLW68 的退化说明两者需要分别控制。

局限与展望

  • 统一模板依赖近似语义对齐。不同数据集的轮廓起止点、姿态下的可见边界和标注噪声可能不一致;2.22 像素的平均簇内距离只描述当前模板,不是普适误差界。
  • 密集新点缺少任意位置真值。作者没有采用插值生成的 Enriched 300W 来验证高密度精度,留出原生点实验虽更可靠,仍不能覆盖所有连续查询位置。
  • 鼻边界等训练 FPALP 多样性较低的部位,动态加密的质量弱于轮廓或眼部。可加入分布约束或更多真实标注,但本文未验证这些改进。
  • 查询部位须在训练中明确,文本编码实验局限于英文语境;新部位发现、多语言一致性和二维部位表面参数化都属于未来方向。
  • 未提供随查询数量变化的完整时延、内存与移动端评估。单模型减少多模板存储,不等于大量查询下仍保持固定推理开销。
  • 原文讨论使用“14、68、98 点模板”,而数据集定义、主实验及 AFLW 映射均使用 AFLW-19;该数量表述存在冲突,不据此改写实验对象。COFW 因标注质量问题未加入训练,也提醒统一学习对标签质量敏感。

相关工作与启发

  • vs LAB / LDDMM-Face:这些方法已利用部位边界或语义流来表达跨标注关系;本文进一步把部位内位置变成动态查询地址,直接定位目标点,但仍需要预先注册模板。
  • vs CLD:CLD 用规范三维脸上的查询位置输出二维点,本文用二维标注产生的部位文字与 FPALP,降低对三维规范映射的依赖。代价是当前表示主要描述部位曲线,不能等价替代完整三维脸表面查询。
  • vs FreeEnricher:FreeEnricher 从基础检测与插值结果再做偏移细化,本文让每个目标查询直接读取图像。控制留出实验支持直接查询优于三次样条,但没有提供对 FreeEnricher 的完全统一设置比较。
  • 研究启发:可把模板注册噪声与图像定位不确定性分开建模,并设计固定图像分布、只改变模板覆盖度的实验,检验泛化收益究竟来自新位置监督还是新增样本。

评分

  • 新颖性: 4/5。将部位语义位置与动态查询结合,贡献在统一检测接口,而非首次提出边界表达或连续关键点。
  • 实验充分度: 4/5。包含跨模板、融合数据、表示选择与控制留出实验,但密集连续位置真值和查询规模效率仍不足。
  • 写作质量: 3/5。主要机制清楚,个别数量、指标方向与全面领先的措辞需要更严谨区分。
  • 价值: 4/5。适合需要多种关键点格式的系统,实际效益取决于模板注册质量及部署查询预算。