​CVPR 2023 | STAR Loss:减少人脸关键点标注歧义,实现人脸关键点SOTA精度

2023-09-20 13:03:38

0c539ee1815c12c1edada883cf77df3a.gif


61d4e5c80773ef919e551b8d2d3aeab3.png

论文链接:

https://arxiv.org/pdf/2306.02763.pdf

代码链接:

https: //github.com/ZhenglinZhou/STAR

要解决的问题:人脸关键点检测标注中存在语义歧义问题。语义歧义是指不同的标注者对同一个面部特征点的位置有不同的理解,导致标注结果不一致,影响模型的收敛和准确性。

0d775616e577986ad3b573aee63fe414.png

解决方案:提出一种自适应各向异性方向损失(STAR loss,Self-adapTive Ambiguity Reduction  loss),利用预测分布的各向异性程度来表示语义歧义。STAR loss 能够自适应地减小语义歧义的影响,提高面部特征点检测的性能。

效果:在三个人脸关键点数据集上超越了现有方法,实现 SOTA。

相似工作:存在几项工作解决面部关键点检测中的语义歧义问题。SBR 使用相邻帧之间光流的一致性作为监督,但对照明和遮挡敏感。LAB 使用面部边界线作为结构约束,这在实践中可行但计算开销大。此外,SA 提出潜在变量优化策略来找到语义一致的注释,并在训练阶段减轻随机噪声的影响。

然而,复杂的训练策略限制了其应用。与本文工作最相关的是 ADNet,它提出了两个关键模块,即各向异性方向损失(ADL)和各向异性注意力模块(AAM),以处理模棱两可的注释问题。其中,ADL 在面部边界上的关键点的法向施加更多约束,但方向和约束权重是手工设计的,这种粗糙的设计降低了其性能。

前言

简要介绍当前广泛使用的回归方法的流程。

bfea59df703ec239513d35873941ba31.png

如图 2 顶部所示,回归方法的基本模型由四个 Hourglass Networks(HGs)堆叠而成。每个 HG 为 N 个关键点生成 N 个热力图,其中 N 是预定义关键点的数量。归一化后的热力图可以看作是预测关键点位置的概率分布。预测的坐标从热力图中通过 soft-Argmax 解码。形式上,给定一个离散概率分布 ,将值 定义为关键点定位在 的概率。期望坐标 μ 通过 soft-Argmax 解码:

6796cbfe64463e54d54b867393c5cc14.png

基于这些预测坐标,可以使用回归损失来学习模型的参数。回归损失可以看作是预测坐标 μ 和手动注释 之间的距离 。l1 距离、l2 距离、smooth-l1 距离和 Wing 距离等都是常用的距离度量。所以,回归损失可以公式化为:

bbba38491722e1f11767f21a0852b741.png

手动注释遭受语义歧义问题。如图 2 灰色框所示,问题的关键在于回归损失。

40cc9bb18aca321767a1a10dd0267583.png

方法

语义歧义问题极大地降低了检测性能。为处理这个问题,设计了一种新的自适应歧义减少方法 STAR 损失,它受预测分布的影响。具体来说,当预测分布各向异性时,STAR 损失倾向于变小。

为表示预测分布的形状,首先引入了一种自定义的 PCA,应用于离散概率分布。然后,可视化在预测分布上计算的 PCA 结果,并讨论其第一主成分与语义歧义的相关性。基于此,详细介绍 STAR 损失,它适应性地抑制第一主成分方向上的预测误差,以在训练阶段减轻歧义注释的影响。

1.1 语义歧义分析

离散概率分布的 PCA。首先设计了一种自定义的 PCA,应用于离散概率分布,它由两步组成:

(1)近似均值和协方差矩阵;

(2)计算协方差矩阵的特征值分解。

步骤 1:类似于式(1)中的加权均值,加权协方差矩阵给出如下:

a52100cd3dd13b719b04b0e8ec58b7ad.png

其中 。为了更精确地逼近,确定一个校正因子以获得无偏估计器。校正因子为 ,其中 。

因此,考虑贝塞尔校正的加权协方差矩阵无偏估计如式(4)。通常使用 。

4cc317aef046d3fd3baa89e7882dd192.png

步骤2:计算协方差矩阵的特征值分解,表示为:

b9e8604e1e9366d6f0655516f99ee688.png

其中 , 是特征向量矩阵,, 是对应的特征值矩阵。称 , 和 , 为第一和第二主成分。

894d150fa761f213a78f3f8f82bfdadf.png

相关性讨论。在图 3 中,可视化了预测离散概率分布的 PCA 结果。一方面,轮廓关键点的一个显著特征是它们的第一主成分方向与面部轮廓一致。同时,如上所述,轮廓关键点的歧义方向也与面部轮廓一致。也就是说,对于具有各向异性预测分布的面部关键点,第一主成分方向与它们的歧义方向高度一致。

另一方面,通过蓝色阴影可视化椭圆离心率()。与近乎白色的眼角相比,轮廓点的颜色为蓝色。这表明当歧义更严重时,离心率更高。进一步推断,相应的能量可以表示歧义强度。因为在各向异性预测分布中,高方差主要是由语义歧义导致的不一致注释造成的。基于这两个观察结果,引入 STAR 损失。

1.2 STAR损失

提出的 STAR 损失属于一种自适应的歧义减少回归损失。通过歧义引导分解来实现它。同时,提出了两种特征值约束方法,以避免 STAR 损失异常减少。

歧义引导分解。根据上述动机,STAR 损失将预测误差分解成两个主成分方向,并除以相应的能量值,以自适应减少歧义的影响。因此,STAR 损失可以表示为:

a9a3e3d3486f2cf269d25b1d58cef1cc.png

其中 和 根据歧义方向投影预测误差 , 和 自适应施加约束,d 表示距离函数。因为分解操作不会影响误差指标,STAR 损失可以与任意距离函数一起使用,并从 distance 函数的改进中获益,例如 smooth-l1、Wing 等。

拿一个具有各向异性预测分布的面部关键点为例,其中 远大于 。这样, 导致第一主成分方向 上的预测误差很小。它使模型关注第一主成分方向 上的预测误差变小,这主要是由不一致的手动注释引起的。因此,在 的帮助下,检测模型可以减轻语义歧义的影响,从而取得更好的收敛性。

特征值约束。根据实验,发现特征值 λ 异常增加会导致模型过早收敛。为解决这个问题,认为主要原因是特征值 λ 是 中的分母。为最小化 ,模型倾向于增加特征值 λ。因此,提出了两种对特征值的约束,以避免 异常减少。第一种是损失约束项,即值约束,形式化如下:

e489c05c738006ae3d492a12559c3481.png

它直接约束特征值的异常增加。另一方面,提出解耦特征值和特征向量的梯度,即解耦约束。切断了从特征值和特征向量到 STAR 损失的反向传播,使它们在 STAR 损失中充当常量值。因此,STAR 损失可以使用它们但不直接影响预测分布的形状。消融实验表明,两种约束都有助于缓解异常增加问题。后续使用值约束作为默认设置(除非另有说明)。

19e681d67c921b4087166edb377837be.png

实验

首先介绍实验设置,包括训练详细信息、模型设置、数据集和评估指标。其次,通过广泛的实验来研究 STAR 损失的优势。

2.1 实验设置

数据增强。对所有实验使用相同的数据增强策略。输入图像的生成分两步进行:(1)裁剪面部区域并调整大小为 256×256。(2)执行增强,包括随机旋转(18°)、随机缩放(±10%)、随机裁剪(±5%)、随机灰度(20%)、随机模糊(30%)、随机遮挡(40%)和随机水平翻转(50%)。

模型设置。使用四堆叠 hourglass 模型作为骨干网络。HG 中的递归步数设置为 3。每个 hourglass 模块输出一个 64×64 的特征图。训练策略:采用 Adam 优化器和初始学习率 1×10−3。训练模型 500 个 epoch,并在第 200、350 和 450 个 epoch 时学习率下降 10 倍。模型在四个 GPU(32GB NVIDIA Tesla V100)上训练,每个 GPU 的 batch size 为 16。还研究了一些常用的技巧,如分布正则化(DR)和各向异性注意力模块(AAM),这些技巧可以进一步提高性能。

数据集。在三个常用公开数据集上评估,包括 COFW、300W 和 WFLW。同时,使用基于视频的数据集 300VW 进行跨数据集验证。COFW 包含 1345 张训练图像和 507 张测试图像,包含 29 个关键点。

300W 包含 3148 张训练图像和 689 张测试图像。所有图像标注了 68 个关键点。在 300-W 上使用常见的设置,其中测试集分为常见集(554 张图像)和挑战集(135 张图像)。WFLW 目前是面部标志检测中使用最广泛的数据集,其中包含 7500 张训练图像和 2500 张测试图像,具有 98 个标志点。

300VW:使用测试集来验证在 300W 上训练的模型。它提供了三个测试集:Category-A(光照良好,31个视频,共62135帧)、Category-B(轻度非约束,19 个视频,共 32805 帧)和 Category-C(有挑战性,14 个视频,共 26338 帧)。

评估指标。使用三个常用的评估指标:归一化平均误差(NME)、失败率(FR)和曲线下面积(AUC),来评估关键点检测性能。具体来说,(1)NME:在 300W、WFLW 数据集上使用眼睛间距离进行归一化;在 COFW 数据集上使用瞳孔间距离进行归一化;(2)FR:在 WFLW 上将阈值设置为 10%;(3)AUC:在 WFLW 上将阈值设置为 10%。

比较方法。将 STAR 损失与 14 种最新技术进行了比较。为了公平比较,这些方法的结果来自相应的论文。

2.2 准确性评估

将 STAR 损失与 14 种最新技术进行了比较(如表 1 所示)。在 300W 上设计了两个有趣的实验,包括数据集内验证和跨数据集验证。首先,数据集内验证的结果如表 1 所示。本文方法在所有测试集上都能达到最先进的性能。主要是,与最先进的方法相比,本文在挑战子集上有 0.2 的改进。其次,对于跨数据集验证,模型在 300W 上训练,在 300VW 上评估。同时,跨数据集验证的结果如表 2 所示。评估了不同距离函数与 STAR 损失的组合。

结果表明,与基准相比,在 Category-C上获得了 0.2 的平均改进。值得注意的是,Category-C 子集是最具挑战性的,其中视频帧模糊且遮挡严重。观察到在数据集内和跨数据集验证的挑战测试中都取得了显著提高,这验证了方法的有效性。同时,本文方法在 COFW 数据集上也达到了最先进的性能。

541d130c17ebf38564f6326722124ac7.png

WFLW 是一个非常有挑战性的基准,因为它包含了许多恶劣条件下的图像,如姿势、化妆、照明、模糊和表情。在表 1 中报告了结果,其中 STAR 损失仍然取得了最佳结果。

具体来说,与最先进的方法相比,STAR 损失在整个测试集的 NME 和 FR10% 指标上分别改进了 0.06 和 0.28。与 COFW 和 300-W 数据集的提高相比,STAR 损失在 WFLW 数据集中取得的改进是充分的。可以得出结论,STAR 损失在大数据集上表现更好,即所提出的STAR损失将减轻注释错误的影响,并从大量噪声数据中获益。

d9eb68d6fc560852acb04f3550872b72.png

2.3 消融实验

评估不同距离函数。为研究距离函数的影响,在 COFW、300W 和 WFLW 数据集上分别测试 STAR 损失与常用距离函数(如 l1 距离、l2 距离、smooth-l1 距离和 Wing 距离)的组合。注意这里使用的 smooth-l1 距离形式化为:

28ea58e5b4e16e16a7f5c53321164f32.png

其中 s 是阈值,通常设置为 s = 0.01。称式(2)中定义的回归损失为基准。结果如表 3 所示。与基准相比,STAR 损失在不同距离函数之间在 COFW、300W 和 WFLW 数据集上分别获得了平均 0.34、0.19 和 0.25 的改进,计算量可忽略。同时,发现 STAR 损失与 l2 距离函数的组合效果显著。

bd70b52127e635f8f66e617d093e7ef7.png

此外,可视化了不同距离函数与/或无 STAR 损失在 WFLW 数据集上的失败案例。如图 5 所示,STAR 结果展示了更好的结构约束。推断 STAR 充当标签正则化,帮助模型避免过度拟合歧义注释,并更注意关键点之间的关系。

a996f9e1f068cd0cbf7c32b75d332c40.png

e1a32e7aec2f93735ccf4f5191e46f49.png

评估不同分布归一化。用不同的分布归一化评估提出的 STAR 损失,如分布正则化(DR)和各向异性注意力模块(AAM)。DR 是一种更严格的正则化,迫使热图类似高斯分布。AAM 是一个注意力模块,学习点边热图作为注意力掩码,迫使热图类似于高斯分布和相邻边界分布的混合。在 DR 中,使用 Jensen-Shannon 散度作为散度度量,并将高斯 σ 设置为 1.0。

在表 3 中,两者都有积极的效果:1)在 WFLW 数据集上,STAR 损失在 DR 和 AAM 上的平均改进分别为 0.07 和 0.16;2)在 COFW 数据集上,改进分别为 0.14 和 0.35;3)在 300W 数据集上,改进分别为 0.11 和 0.09;观察到 AAM 与 STAR 损失更匹配,因为 AAM 中的边界信息进一步有助于减轻歧义。

在三个数据集中,smooth-l1 距离、AAM 和 STAR 损失的组合取得了最佳结果,这也是准确性评估中默认的模型设置。注意,用于图 1 和图 3 可视化的模型是用 L2 和 DR 的组合训练。

评估不同输入图像分辨率。调查不同输入图像分辨率(64px、128px 和 256px)的影响。结果如图 4 所示,STAR 损失对所有输入图像分辨率都具有积极影响。具体来说,STAR 损失在 64px、128px 和 256px 的不同距离函数上获得了平均 0.20、0.30 和 0.25 的改进。值得注意的是,128px 的基准与 STAR 损失相当于或优于 256px 的基准。这意味着 STAR 损失对输入图像大小不太敏感,这促使在小模型中使用 STAR 损失。

1781f34136c0992e032e7276a2976050.png

评估不同约束。首先,研究值约束及其权重 w 在 STAR 损失中的效果。如表 4 所示,STAR 损失对 w 并不敏感,将 w = 1 作为默认设置。然后,分析解耦约束。如表 5 所示,约束对获得改进至关重要,解耦约束的效果与值约束相当。这种观察表明,改进主要来自于 STAR 损失本身,而不是值约束项。

1814371eb3c1d25c89de02b08b1ad427.png

评估稳定性。评估 STAR 损失对稳定性的影响。为定量分析稳定性,设计了一个玩具实验:1)在相同的实验设置下,分别与/无 STAR 损失训练 N=5 个模型;2)在 WFLW 测试集上计算 N 个模型预测的方差。如图 6 所示,带 STAR 损失训练的模型预测分布更集中在一个小的方差范围内。同时,预测方差的平均值从 0.79 下降到 0.69。这表明 STAR 损失确实减轻了模糊注释的影响,使预测更稳定。

607106a2577345dc45c481908873b7e1.png

e525fbd8d8237ef213c0ae8f04e6065c.png

结论

本文研究了面部关键点检测中的语义歧义问题,并提出了一种自适应的歧义减少方法 STAR 损失。文章方法在三个基准测试中都取得了 SOTA。在工程实践中有较大帮助。

更多阅读

d6d433a5e45bdecf0f3059dc825ec4f4.png

5ac32c97cf7f3c6c0423b03692348d4f.png

5ba5cc39c1cc38b4e99717758212ee76.png

0b3f6b76b73aa4131c59622ad6f95296.gif

#投 稿 通 道#

 让你的文字被更多人看到 

如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。

总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 

PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。

📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算

📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿

ef15b9dd0abd331a26e960ebc565aec2.png

△长按添加PaperWeekly小编

🔍

现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧

·

·

ae4d2b2f73e115a68353143548b8829c.jpeg

更多推荐

【图像处理】怎么让图片背景变透明?怎么改变图片中线条的颜色?在线PS软件

文章目录前言一、打开图二、背景透明处理三、改变线条颜色总结前言我们处理图片将会使用到PS软件,如果安装了PS那直接打开使用。如果没有安装PS,可使用在线PS软件:https://www.uupoop.com/#/一、打开图第一步,从这个入口打开图片。第二步:打开图片,我们打开一个MySQL数据库的图标。二、背景透明处理

【AIGC】提示词 Prompt 分享

提示词工程是什么?Promptengineering(提示词工程)是指在使用语言模型进行生成性任务时,设计和调整输入提示(prompts)以改善模型生成结果的过程。它是一种优化技术,旨在引导模型产生更加准确、相关和符合预期的输出。在生成性任务中,输入提示是指提供给语言模型的初始文本或问题,用以引导其生成后续的文本或回答

无CDN场景下的传统架构接入阿里云WAF防火墙的配置实践

文章目录1.配置网站接入WAF防火墙1.1.配置网站接入方式1.2.填写网站的信息1.3.WAF防火墙生成CNAME地址2.配置WAF防火墙HTTPS证书3.修改域名DNS解析记录到WAF防火墙4.验证网站是否接入WAF防火墙传统架构接入WAF防火墙非常简单,配置完WAF网站接入后,将得到CNAME地址配置在域名DNS

Linux(Centos7)中安装Docker和DockerCompose

一、安装DockerDocker分为CE和EE两大版本。CE即社区版(免费,支持周期7个月),EE即企业版,强调安全,付费使用,支持周期24个月。DockerCE分为`stable``test`和`nightly`三个更新频道。官方网站上有各种环境下的https://docs.docker.com/install/,这

【Rust 基础篇】Rust Newtype模式:类型安全的包装器

导言Rust是一种以安全性和高效性著称的系统级编程语言,其设计哲学是在不损失性能的前提下,保障代码的内存安全和线程安全。在Rust中,Newtype模式是一种常见的编程模式,用于创建类型安全的包装器。Newtype模式通过定义新的结构体包装器来包装现有的类型,从而在不引入运行时开销的情况下提供额外的类型安全性。本篇博客

xshell---git上传文件到gitee远程仓库配置

1.git下载如果没有xshell下没有下载过git,可以参考这篇的教程:Linux配置安装git详细教程下载后可以通过git--version查看git的版本号,验证是否安装成功2.新建仓库首先需要在gitee上注册一个账号然后再主页面点击右上边框的+号,选择新建仓库,建立一个仓库:然后填写新建仓库的名称,系统会根据

GIT使用需知,哪些操作会导致本地代码变动

系列文章目录手把手教你安装Git,萌新迈向专业的必备一步GIT命令只会抄却不理解?看完原理才能事半功倍!常用GIT命令详解,手把手让你登堂入室GIT实战篇,教你如何使用GIT可视化工具GIT使用需知,哪些操作会导致本地代码变动系列文章目录一、本地代码变动的本质1.远程跟踪分支2.贮藏区(stash)二、分支切换三、分支

(vue的入门

vue的入门一.Vue是什么二.Vue的特点及优势三.使用Vue的详细步骤四.Vue的基本语法五.Vue的生命周期一.Vue是什么Vue(发音为/“vjuː”/,类似于"view")是一套用于构建用户界面的渐进式JavaScript框架。它是一个开源的、轻量级的MVVM(模型-视图-视图模型)框架,专注于实现数据驱动的

vue +element 删除按钮操作 (删除单个数据 +删除页码处理 )

1.配置接口deleteItemById:"/api/goods/deleteItemById",//删除商品操作2.get请求接口//删除接口后台给我们返iddeleteItemById(params){returnaxios.get(base.deleteItemById,{params})}3.异步请求接口asy

如何在Gazebo中实现多机器人编队仿真

文章目录前言一、仿真前的配置二、实现步骤1.检查PC和台式机是否通讯成功2.编队中对单个机器人进行独立的控制3、对机器人进行编队控制前言实现在gazebo仿真环境中添加多个机器人后,接下来进行编队控制,对具体的实现过程进行记录。一、仿真前的配置本文的多机器人编队,在turtlebot3单个机器人的建图、导航等功能的基础

Linux设备驱动模型之SPI

Linux设备驱动模型之SPISPI:SerialPeripheralInterface,串行外设接口,主要用于控制器与外部传感器进行数据通信的接口,它是一种同步、全双工、主从式接口。SPI接口介绍接口定义SPI接口有4根信号线,分别是片选信号、时钟信号、串行输出数据线、串行输入数据线。SS:从设备使能信号,由SPI主

热文推荐