目录

1 致谢

2 前言

3 MTCNN——基于级联模型的人脸关键点检测网络

3.1 P-Net

3.1.1 训练数据是12x12,那么检测时也是要把所有的图像都放缩到12x12吗?

3.1.2 图像金字塔的建立


1 致谢

感谢网友任尔hz的帮助,

原文链接如下:

https://blog.csdn.net/qq_36782182/article/details/83624357

2 前言

今天在学习MTCNN,这个网络是张老师在人脸识别于检测课程上跟我讲的,但是我感觉讲的还是不是很清楚,还需要继续学习一下~

论文地址:

https://ieeexplore.ieee.org/document/7553523

3 MTCNN——基于级联模型的人脸关键点检测网络

MTCNN从整体结构上来看是一种级联模型,其组件网络P-Net、R-Net和O-Net在网络结构上其实是十分类似的,

其级联的特点表现在:对于P-Net、R-Net和O-Net这三个网络来说,当前网络的输入都是下一个网络的输入;

输入图像:

输入图像的尺寸可以是任意的,(这个我自己测试了的);

输出数据:

人脸的限位框以及关键点信息。

3.1 P-Net

P-Net是MTCNN中的第一个CNN网络,其构成如图所示:

输入:

训练数据——12x12的图像

推理数据——图像金字塔中的每个图像(已经向张老师确认过了)

输入:类别向量、限位框回归向量和脸部关键点的位置向量。

3.1.1 训练数据的生成

这里我们直接引用论文中的原话:

可以看到P-Net的数据是直接从 WIDER FACE数据集中截取出来的,(我感觉这里还有改进的空间)

3.1.1 训练数据是12x12,那么检测时也是要把所有的图像都放缩到12x12吗?

看到训练的输入数据是12x12的时候,我有点奇怪,输入的图像是固定的尺寸12x12,难道是所有的图像都要缩放到12x12吗?

为了解决这个问题,我们先要去回顾以下检测的流程,

检测的流程其实是一个迭代的流程,MTCNN在P-Net阶段,会首先建立一个图像金字塔,

然后把图像金字塔中的每一层图像(也就是不同尺度的图像),分别送入P-Net中用来产生P-RP(也就是P-Net产生的第一阶段检测出的人脸区域,我们用P-RP即P-Net-Region-Proposal来代表这部分生成的数据);

但是这里输入为12x12的问题还没有解决,其实这里P-Net的含义是,我们将P-Net训练为一个对12x12图像十分敏感的网络,它能准确的提取12x12图像的特征,从整体上看,他似乎就是一个感受野为12x12的模板函数,只是在这里,我们用了一个CNN网络来拟合这个12x12的模板函数,并用他来为我们提取测试图像上12x12区域的“人脸模板特征”;

由于全卷积网络的特点,这样,我们就会对大中小各尺度图像中所有的12x12区域提取P-RP的特征数据,注意这里不仅仅是特征,因为这里的特征数据实际上包含了三个部分的数据:人脸分类信息,限位框信息和人脸关键点信息。

3.1.2 图像金字塔的建立

这里我们参见了Orso在文章《拒绝调包!且看MTCNN人脸检测推断过程详解!》中的表述:

minsize是指你认为图片中需要识别的人脸的最小尺寸(单位:px)。factor是指每次对边缩放的倍数。

我们已经知道,第一阶段会多次缩放原图得到图片金字塔,目的是为了让缩放后图片中的人脸与P-NET训练时候的图片尺度(12px * 12px)接近。怎么实现呢?先把原图等比缩放`12/minsize`,再按缩放因子`factor`(例如0.5)用上一次的缩放结果不断缩放,直至最短边小于或等于12。根据上述算法,minsize越大,生成的“金字塔”层数越少,resize和pnet的计算量越小。

所以我们可以知道,建立图像金字塔的过程就是从原图开始,以缩放因子factor为比例,不断进行resize,直至当前层的图像的最短边最短边小于或等于12。

MTCNN——基于级联模型的人脸关键点检测网络相关推荐

  1. 【项目实战课】基于Pytorch的PFLD人脸关键点检测实战

    欢迎大家来到我们的项目实战课,本期内容是<基于Pytorch的PFLD人脸关键点检测实战>.所谓项目课,就是以简单的原理回顾+详细的项目实战的模式,针对具体的某一个主题,进行代码级的实战讲 ...

  2. 级联MobileNet-V2实现CelebA人脸关键点检测(附训练源码)

    文章目录 一 .引言 1.1为什么是级联? 1.2为什么是MobileNet-V2? 二. 级联MobileNet-V2之人脸关键点检测 2.0 修改caffe 2.1 整体框架及思路 2.2 原始数 ...

  3. PyTorch深度学习实战 | 基于ResNet的人脸关键点检测

    人脸关键点检测指的是用于标定人脸五官和轮廓位置的一系列特征点的检测,是对于人脸形状的稀疏表示.关键点的精确定位可以为后续应用提供十分丰富的信息.因此,人脸关键点检测是人脸分析领域的基础技术之一.许多应 ...

  4. 【技术综述】人脸关键点检测的数据集与核心算法

    人脸关键点检测是诸如人脸识别.表情分析.三维人脸重建等其它人脸相关任务的基础.近些年来,深度学习方法已被成功应用到了人脸的关键点检测,本章将介绍深度学习方法在人脸关键点检测方向的研究.包括人脸关键点任 ...

  5. 「每周CV论文推荐」 初学深度学习人脸关键点检测必读文章

    人脸关键点检测是人脸图像中重要的基石,今天给大家介绍入门深度学习人脸关键点检测必读的文章. 作者&编辑 | 言有三 1 DCNN Cascade 听这个名字就知道是一个很早期的,使用Casca ...

  6. 【每周CV论文推荐】 初学深度学习人脸关键点检测必读文章

    欢迎来到<每周CV论文推荐>.在这个专栏里,还是本着有三AI一贯的原则,专注于让大家能够系统性完成学习,所以我们推荐的文章也必定是同一主题的. 人脸关键点检测是人脸图像中重要的基石,今天给 ...

  7. (转)如何应用MTCNN和FaceNet模型实现人脸检测及识别

    https://zhuanlan.zhihu.com/p/37705980 人脸检测与人脸识别 人脸检测是对人脸进行识别和处理的第一步,主要用于检测并定位图片中的人脸,返回高精度的人脸框坐标及人脸特征 ...

  8. 基于人脸关键点检测的驾驶员睡意检测系统

    摘要 驾驶员注意力不集中或者分心是道路交通事故的主要原因. 为了减少道路交通事故,设计开发驾驶员疲劳检测系统至关重要. 本研究利用人脸关键点检测方法提出了驾驶员睡意检测系统,目的是使驾驶更安全. 一. ...

  9. 基于Python,dlib实现人脸关键点检测

    @代码实现及安装过程 基于Python,dlib实现人脸关键点检测 dilb 在做人脸检测人脸识别方面用到比较多的.face_recognition就是基于dlib实现的. 这篇文章将使用Python ...

最新文章

  1. 力扣(LeetCode)刷题,简单题(第13期)
  2. redis中文乱码问题
  3. 连自己都不放过?六成应用开发不需要程序员!
  4. python加颜色_Python 给屏幕打印信息加上颜色的实现方法
  5. 填充table_Excel Power Query | 向下填充的逆过程
  6. 2021年中国医药营销数字化研究报告
  7. 【clickhouse】Clickhouse的MySQL引擎同步数据不准确 Decimal
  8. NYOJ113 - 字符串替换
  9. css分类及其它技巧
  10. C# string补位
  11. CFile, read, write,typeBinary
  12. 致经典初选的60首备选篇目_致经典复选诵读题库:英诗选篇学前及小学段60首...
  13. 高德地图:No implementation found for void com.autonavi.ae.gmap.GLMapEngine.nativeInitParam
  14. 如何查询linux服务器的网卡,linux怎么查看网卡硬件信息
  15. 基于SpringBoot实现在线抽奖系统
  16. 计算机网络硬件开关win7,大师为你win7系统笔记本无线网络红叉电脑网络连接不可用的修复办法_...
  17. Invisible Backdoor Attack with Sample-Specific Triggers
  18. VR系列——Oculus Audio sdk文档:一、虚拟现实音频技术简介(5)——环境建模
  19. java wait until_java调用ktr文件trans.waitUntilFinished()超时
  20. 全新整理:微软、谷歌、百度等公司经典面试100题[第101-160题]

热门文章

  1. FME SERVER介绍
  2. [hgoi#2019/2/16t1]math
  3. 独立完成一个城市选择组件(阿里前端题目,内附知识点、思路)
  4. C++primer 9.5.5节练习
  5. 如何使用alt键+数字键盘上的数字键打出特殊符号
  6. 震惊,CSDN居然可以打出爱心?
  7. dao-service-servlet-jsp构建简易web通讯录(三层开发)软件安装
  8. docker容器内安装ifconfig netstat ping vim 等测试工具的方法
  9. map函数的用法python,详解Python map函数及Python map()函数的用法
  10. 不写代码不用Excel,如何制作高大上的财务分析?