Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks

论文链接: https://arxiv.org/abs/1711.06753

一、 Problem Statement

对于人脸关键点检测,作者对比了L1, L2,Smooth-L1 Loss, 发现它们在大误差下表现的很好,但是在小误差下,或者中等区域的误差下,表现较差。

首先我们来看一下CED曲线是怎么去理解的。CED曲线横轴代表归一化误差,纵轴代表小于归一化误差eee 的landmarks占所有总landmarks的比例。这样下来,在大误差下,也就是0.04−0.050.04-0.050.04−0.05范围,样本比例占比较大,但在小误差下,或者中误差下,样本比例占比较小。所以作者认为需要关注这些小误差和中误差的问题,其实我理解应该为精度的问题。

二、 Direction

作者基于上面的实验,提出新的loss function: wing loss。

三、 Method

稍微理解一下facial landmark localisation的问题定义:

给定一张图片I∈RH×W×3I \in \R^{H \times W \times 3}I∈RH×W×3, 输出一个向量s∈R2Ls \in \R^{2L}s∈R2L, 形式为:s=[x1,x2,...,xL,y1,y2,...,yL]Ts = [x_1, x_2, ..., x_L, y_1, y_2, ..., y_L]^Ts=[x1​,x2​,...,xL​,y1​,y2​,...,yL​]T,其中LLL是预定义的2D facial landmarks的数量,(x,y)(x,y)(x,y)代表图像的像素坐标。

接下来,作者先看了L1 loss:
L1(x)=∣x∣L1(x) = |x| L1(x)=∣x∣

L2 loss:
L2(x)=12x2L2(x) = \frac{1}{2}x^2 L2(x)=21​x2

和 Smooth-L1 loss:

smoothL1(x)={12x2,if∣x∣<1∣x∣−12,otherwise\text{smooth}_{L1}(x) = \bigg \{ \begin{matrix} \frac{1}{2} x^2, & \text{if} |x| < 1 \\ |x| - \frac{1}{2},& \text{otherwise} \end{matrix} smoothL1​(x)={21​x2,∣x∣−21​,​if∣x∣<1otherwise​

具体图像如下图所示:

作者认为,L1 和 L2 损失函数的梯度分别为1和∣x∣|x|∣x∣,最优步长为∣x∣|x|∣x∣和1。(引用[1]的理解)而在一些情况下,L1, L2 会被那些大的误差所主导。比如,L1, 对所有的点的梯度都是1,但步长是不成比例地受到较大误差的影响。而对于L2,步长都是相同的,但是梯度是较大误差所主导的。因此,在这两种情况下,很难校正相对较小的位移

  • 优化步长:优化步长指得是要达到最优化,需要迭代的次数(步数);L1的梯度是固定的,所以误差越大,采用L1优化就需要更多的迭代次数,也就是他说的“优化步长随着误差增大而增大”;反之,L2的梯度跟误差是成正比的。例如:你与目标距离有100公里,假设没次前进0.01(学习率);第一次L2梯度是100,你前进100*0.01=1公里,第二次,还有99公里,梯度就是99,则一步前进99*0.01=0.99公里,以此类推;而L1的梯度固定是1,则每次前进1*0.01=0.01公里

小误差的影响可以通过loss function来增强,比如ln⁡x\ln xlnx,它的倒数为1x\frac{1}{x}x1​, 随着误差接近0而增大,且其最优的步长是x2x^2x2。当组合多个点的贡献时,梯度将由较小的误差控制,但步长由较大的误差控制。 然而,为了防止在可能错误的方向上进行大的更新步骤,重要的是不要过度补偿小的定位误差的影响。 通过对log function 添加一个positive offset。

上述的设计适合于处理相对较小的定位误差。但是,作者认为,对于facial landmarks detection来说,初始位置误差可能非常大。因此在这种情况下,损失函数应促进这些大错误中快速恢复。 因此,所设计新的损失函数,应该像L1 或者L2 那样。但是由于L2对于对离群点比较敏感,因此作者选择了L1。

wing(x)={wln(1+∣x∣/ϵ),if∣x∣<w∣x∣−C,otherwise\text{wing}(x) = \bigg \{ \begin{matrix} w ln(1+ |x| / \epsilon), & \text{if} |x| < w \\ |x| - C,& \text{otherwise} \end{matrix} wing(x)={wln(1+∣x∣/ϵ),∣x∣−C,​if∣x∣<wotherwise​

其中, 非负数www 是非线性部分(−w,w)(-w, w)(−w,w), ϵ\epsilonϵ限制了非线性区域的曲率,C=w−wln(1+w/ϵ)C=w - wln(1+w/ \epsilon)C=w−wln(1+w/ϵ) 是个常数,用于平滑连接分段定义的线性和非线性部分。在论文中w=10w = 10w=10, ϵ=2\epsilon = 2ϵ=2。ϵ的取值不能取很小的数值,因为它会使网络训练变得不稳定,并且会因为很小的误差导致梯度爆炸问题。

后面的Pose-based data balancing和 Two-stage landmark localization在本文就不记录了,以后有需要再去看原文。

四、 Conclusion

wing loss 的关键思想是增加中,小型误差样本对回归网络训练的贡献。

五、 Reference

  1. https://blog.csdn.net/john_bh/article/details/106302026

Wing Loss 论文阅读笔记相关推荐

  1. Focal Loss论文阅读笔记

    版权声明:本文为博主原创文章,未经博主允许不得转载.    https://blog.csdn.net/qq_34564947/article/details/77200104 Focal Loss ...

  2. DnCNN论文阅读笔记【MATLAB】

    DnCNN论文阅读笔记 论文信息: 论文代码:https://github.com/cszn/DnCNN Abstract 提出网络:DnCNNs 关键技术: Residual learning an ...

  3. Learning Multiview 3D point Cloud Registration论文阅读笔记

    Learning multiview 3D point cloud registration Abstract 提出了一种全新的,端到端的,可学习的多视角三维点云配准算法. 多视角配准往往需要两个阶段 ...

  4. FCGF论文阅读笔记

    FCGF论文阅读笔记 0. Abstract 从三维点云或者扫描帧中提取出几何特征是许多任务例如配准,场景重建等的第一步.现有的领先的方法都是将low-level的特征作为输入,或者在有限的感受野上提 ...

  5. DCP(Deep Closest Point)论文阅读笔记以及详析

    DCP论文阅读笔记 前言 本文中图片仓库位于github,所以如果阅读的时候发现图片加载困难.建议挂个梯子. 作者博客:https://codefmeister.github.io/ 转载前请联系作者 ...

  6. 2019 sample-free(样本不平衡)目标检测论文阅读笔记

    点击我爱计算机视觉标星,更快获取CVML新技术 本文转载自知乎,已获作者同意转载,请勿二次转载 (原文地址:https://zhuanlan.zhihu.com/p/100052168) 背景 < ...

  7. DSSD : Deconvolutional Single Shot Detector论文阅读笔记

    文章目录 DSSD : Deconvolutional Single Shot Detector论文阅读笔记2017 Abstract 1. Introduction 2. Related Work ...

  8. 对抗训练-smart 论文阅读笔记

    对抗训练-smart 论文阅读笔记 SMART: Robust and Efficient Fine-Tuning for Pre-trained NaturalLanguage Models thr ...

  9. (论文阅读笔记)OLE:正交低秩嵌入,即插即用的几何损失

    论文阅读笔记:OLE: Orthogonal Low-rank Embedding, A Plug and Play Geometric Loss for Deep Learning 摘要 简介 2 ...

  10. 论文阅读笔记:看完也许能进一步了解Batch Normalization

    提示:阅读论文时进行相关思想.结构.优缺点,内容进行提炼和记录,论文和相关引用会标明出处. 文章目录 前言 介绍 BN之前的一些减少Covariate Shift的方法 BN算法描述 Batch No ...

最新文章

  1. Python编程基础:第三十四节 文件移动Move a File
  2. 受JAAS保护的JAX-RS端点
  3. 《需求工程》阅读笔记之三
  4. 大数据之-Hadoop_1.x和2.x区别---大数据之hadoop工作笔记0012
  5. AAAI 2020上的NLP有哪些研究风向?
  6. 网页三剑客的一些序列号
  7. 计算机桌面美化软件,桌面美化软件哪个好_桌面美化软件排行榜【最新】-太平洋电脑网...
  8. 逻辑回归算法原理及python实现
  9. 【SharePoint】你无权在SharePoint designer中打开此网站
  10. 计算机和电脑键盘进水怎么办,笔记本键盘进水了怎么办?处理笔记本电脑键盘进水的小妙招...
  11. 短距离无线通信设备的天线设计
  12. sip php 来电,php - 如何在Twilio上传递原来的来电显示? (Sip域语音URL配置) - SO中文参考 - www.soinside.com...
  13. 项目二--03.基于Nginx、keepalived的高可用集群之keepalived高可用实现
  14. ROS 之 使用yocs_velocity_smoother对机器人速度进行限制
  15. 打雪仗java_【UER #8】打雪仗 - 题目 - Universal Online Judge
  16. 各种大片任意看!真的超级好用!
  17. 第四章 玩转捕获数据包
  18. 手机闪存速度排行_手机很卡可能是只是因为闪存颗粒太差 EMMC UFS大对比
  19. mysql 嵌套查询性能_mysql SQL优化之嵌套查询-遁地龙卷风
  20. Python自动发短信给自己手机

热门文章

  1. 云服务平台重构点 @Arthur @Gyb
  2. codeforces 1077E Thematic Contests
  3. 数据库mysql实训报告_数据库实训报告.doc
  4. FATAL:gpu_data_manager_impl_private.cc The display compositor is frequently crashing. Goodbye.
  5. java-setBounds方法
  6. php抢票程序,HTML实现抢票功能(设定时间打开抢票的页面)
  7. 在EXCEL中插入超级链接
  8. 计算机处理器份额,处理器市场份额排名 英特尔X86架构继续领先
  9. Windows XP控制台图解
  10. 今天拿到小米正式Offer啦