热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

RobustFacialLandmarkDetectionviaaFullyConvolutionalLocalGlobalContextNetwork

CVPR2018:RobustFacialLandmarkDetectionviaaFully-ConvolutionalLocal-GlobalContextNet

CVPR2018:Robust Facial Landmark Detection via a Fully-Convolutional Local-Global Context Network
references:


  1. https://blog.csdn.net/alfred_torres/article/details/83591985
  2. https://blog.csdn.net/u013548568/article/details/80648439


目录

    • 摘要
    • 简介
    • Local-global context network
      • Preprocessing
      • Network Architecture
        • Local-context subnet
        • Kernel convolution
        • Global-context subnet
        • Loss
        • From heatmaps to coordinates
    • 实验


摘要

全卷积神经网络在提取局部特征上很棒,但是感受野受限制,对于全局特征表现不好。现在的一些方法通过引入级联网络、池化、或者一个数据驱动的模型来解决这个问题。

本文中,我们提出了一种新的方法,直接将全局语义特征引入到全卷积神经网络中。一个关键的概念是implicit核,这个卷积核可以将局部信息模糊化,然后通过一个dilate卷积加强成一个全局信息网络。卷积核对于网络的收敛很关键,因为他可以平滑梯度,减少过拟合。

在预处理阶段,拟合了一个基于PCA的2D模型,来对输出进行滤波。实验正面了方法的有效性。


简介

作者总结了全卷积神经网络的优点和缺点:
优点:


  1. 不受限于图像分辨率。
  2. 不需要region of interest,不需要先进行face detect。
  3. 对于没有人脸或者多张人脸的情况,都可以处理。
  4. 对于剪裁、遮挡的人脸也可以处理。
  5. 参数量比有全连接层的少。

缺点:


  1. 因为感受野小,不能得到全局信息。

主要贡献


  1. 提出一个卷积神经网络使用的卷积核
  2. 利用dilated convolutions空洞卷积扩大感受野
  3. 在300-W和Menpo数据集上验证了方法的有效性
  4. 验证了本文提出的关键点定位方法不依赖于人脸检测先验信息

Local-global context network


Preprocessing

首先将训练和测试图片crop到正方形,在rescale到96*96。作者将图片都转换为了灰度图,作者发现结果和RGB差不多,甚至有时候更好,这可能是因为三通道容易过拟合。
landmark的groundtruth被设置为灰度图,通过双线性插值使得包含4个不为零的像素点,它们的和为1.


Network Architecture

在这里插入图片描述
网络包含四个部分:


  1. local-context, fully-convolutional network
  2. convolution with a (customizable) static kernel
  3. Global-context, dilated fully-convolutional network
  4. Square error-like loss versus kernel-convolved labels

Local-context subnet

该子网络作为局部特征提取器,提取一些底层的局部landmark特征,上述图片中,该子网络是一个15层的CNN,和一个1*1的linear convolution。


Kernel convolution

Local-context subnet被kernel卷积。kernal卷积是一个group=1的group convolution,等同于channel-wise的convolution。他在训练和测试的时候都会被用到。
作用:


  1. 像素之间的平方差现在关联了预测和ground truth之间的距离
  2. global-context子网络可以利用dilated,而不是dense convolution
    不仅要对网络进行kernal 卷积,同样的对于标签也要进行kernal卷积,一张gt map只有一个点是目标位置而不是高斯这种形式的gt是不合理的。
    核设计:

    将该核进行平移后与未平移的该核做差,得出下面的图 :
    在这里插入图片描述
    在11px左右normalized error为0.5,所以再11px以内进行奖励,在11px之外进行惩罚

Global-context subnet

该全局子网络的目的是整合local子网络的信息。作者使用了dilated卷积来增大感受野。
在这里插入图片描述
在这里插入图片描述
最终的输出是local和global相加的形式,但是只在local和global地方加监督而不再最后的预测的输出加监督。global部分的网络由起个0 padding的3x3dilated卷积组成,dilation=4。


Loss

对N个landmark点的每一个都设置了一个权重,根据是否标注以及是否在界内外。
在这里插入图片描述
L表示是否标记,V表示是否在边界内。
在这里插入图片描述
Onl 表示local的第n个通道,Ong 表示local的第n个通道,,K是kernel,Gn是gt map


From heatmaps to coordinates

从热度图到最终的坐标,一般来讲会直接取最大值,但是这种每张map最大值的情形仅仅适用于关键点比较少的情况(疑问脸),然后如果事先确定一个阈值,仅仅在阈值以上的情形是要求取最大,这种情形又是会引进outliers。作者设计了一个2D-PCA based的模型
we interpret the output heatmaps as likelihoods and fit an outlier-robust PCA-based 2D shape model. The model is able to recover from false detections, but also reconstruct occluded or truncated landmarks to a reasonable extent


实验

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


推荐阅读
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 向QTextEdit拖放文件的方法及实现步骤
    本文介绍了在使用QTextEdit时如何实现拖放文件的功能,包括相关的方法和实现步骤。通过重写dragEnterEvent和dropEvent函数,并结合QMimeData和QUrl等类,可以轻松实现向QTextEdit拖放文件的功能。详细的代码实现和说明可以参考本文提供的示例代码。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 预备知识可参考我整理的博客Windows编程之线程:https:www.cnblogs.comZhuSenlinp16662075.htmlWindows编程之线程同步:https ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • 本文讨论了一个关于cuowu类的问题,作者在使用cuowu类时遇到了错误提示和使用AdjustmentListener的问题。文章提供了16个解决方案,并给出了两个可能导致错误的原因。 ... [详细]
  • 本文介绍了P1651题目的描述和要求,以及计算能搭建的塔的最大高度的方法。通过动态规划和状压技术,将问题转化为求解差值的问题,并定义了相应的状态。最终得出了计算最大高度的解法。 ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • JDK源码学习之HashTable(附带面试题)的学习笔记
    本文介绍了JDK源码学习之HashTable(附带面试题)的学习笔记,包括HashTable的定义、数据类型、与HashMap的关系和区别。文章提供了干货,并附带了其他相关主题的学习笔记。 ... [详细]
  • 海马s5近光灯能否直接更换为H7?
    本文主要介绍了海马s5车型的近光灯是否可以直接更换为H7灯泡,并提供了完整的教程下载地址。此外,还详细讲解了DSP功能函数中的数据拷贝、数据填充和浮点数转换为定点数的相关内容。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
  • 【论文】ICLR 2020 九篇满分论文!!!
    点击上方,选择星标或置顶,每天给你送干货!阅读大概需要11分钟跟随小博主,每天进步一丢丢来自:深度学习技术前沿 ... [详细]
  • 程度|也就是_论文精读:Neural Architecture Search without Training
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了论文精读:NeuralArchitectureSearchwithoutTraining相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 论文阅读:《Bag of Tricks for LongTailed Visual Recognition with Deep Convolutional Neural Networks》
    基于深度卷积神经网络的长尾视觉识别技巧包摘要近年来,挑战性长尾分布上的视觉识别技术取得了很大的进展,主要基于各种复杂的范式(如元学习)。除了这些复杂 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
author-avatar
无与伦比的美丽MJ
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有