MTCNN自己的学习理解
MTCNN 流程
经过三个网络 P-Net,R-Net,O-Net
对于P-Net:
P-Net是一个全卷积层,不涉及到全连接层,所以我们的输入图像的尺寸可以是不固定的。
对于P-Net来说,我们的输入图像是图像金字塔,也就是说对于一张图片,根据不同的factor进行图像的缩小。这里的尺寸不固定的意思是说,我们可以使用图像金字塔中的不同图像作为输入。
在P-Net网络中,我们首席那会设置最小的人脸检测尺寸,minsize=20(这里)[https://www.cnblogs.com/shine-lee/p/10066049.html]。人脸尺寸小于这个的,我们是不考虑的。
P-Net网络是1212大小的框来检测是否具有人脸。这个时候如果我们假设输入图像尺寸为100120,这样我们能够接受的最小的人脸图像尺寸就是2020,最大就是100100.
如果想要把最小的20*20缩小到可以被P-Net来识别,我们就需要设定第一个缩小因子为12/20=0.6。同时我们设定图像金字塔相邻层缩放比例一致为0.7,这样大概就是
[0.6,0.42419999999999997,0.29990939999999994,0.2120359458,0.14990941368059996,0.10598595547218417,0.0749320705188342,0.05297697385681578,0.03745472051676876]。
在这个过程中,我们需要保证图像最小边长度的大于12.
P-Net返回两个结果,一个是分类结果,是否含有人脸。一个是回归结果,返回四个偏移量。在推断阶段,两个结果同时生成,我们首先对分类结果进行处理,对于大于threshold的值(
这个是我们认为规定的,认为大于这个值的才认为含有人脸),然后我们使用NMS进行候选框的排除(在每个缩放比例的条件下生成的候选框我们都会进行NMS),随后我们把所有缩放比例之下生成的额候选框进行一个NMS,随后我们结合offsets对筛选之后的筛选框进行调整。
R-Net
我们把从P-Net中获得的候选框进行resize到24*24. 然后我们进行卷积核全连接,对每一个候选框进行分类和回归。首先对候选框进行NMS,然后结合回归结果进行回归调整。
O-net
将R-Net的候选框进行resize到48*48,返回三个结果:关键点位置,回归结果,分类结果
人脸检测--MTCNN从头到尾的详解 - 丘学文的文章 - 知乎 这篇文章对于推理过程讲解的很好
https://zhuanlan.zhihu.com/p/58825924
MTCNN自己的学习理解的更多相关文章
- MTCNN算法与代码理解—人脸检测和人脸对齐联合学习
目录 写在前面 算法Pipeline详解 如何训练 损失函数 训练数据准备 多任务学习与在线困难样本挖掘 预测过程 参考 博客:blog.shinelee.me | 博客园 | CSDN 写在前面 主 ...
- 全面学习理解TLB(Translation Look-aside Buffer)地址变换高速缓存
全面学习理解TLB(Translation Look-aside Buffer)地址变换高速缓存 前言: 本文学习思路是:存在缘由 --> 存在好处 --> 定义性质 --> 具 ...
- MLT的学习理解
MLT的学习理解 MLT是一个开源的多媒体库,我们的音视频编辑工具,是使用它作为底层支持,某司的'快剪辑'pc版和安卓版,也是用的它. MLT简介 它的GitHub地址,这个库比较老了,现在只有一个作 ...
- 菜鸟之路——机器学习之SVM分类器学习理解以及Python实现
SVM分类器里面的东西好多呀,碾压前两个.怪不得称之为深度学习出现之前表现最好的算法. 今天学到的也应该只是冰山一角,懂了SVM的一些原理.还得继续深入学习理解呢. 一些关键词: 超平面(hyper ...
- batch normalization学习理解笔记
batch normalization学习理解笔记 最近在Andrew Ng课程中学到了Batch Normalization相关内容,通过查阅资料和原始paper,基本上弄懂了一些算法的细节部分,现 ...
- Source Xref 与 JavaDocs 学习理解
最近学习Mybatis的官方文档,看到了[项目文档]一节有很多内容没有见过,做个笔记,理解一下. 没找到java相关代码的解释,其实用下面这个php版本解释,也非常不错. What is SOURCE ...
- TLD网络资源汇总--学习理解之(四)
原文:http://blog.csdn.net/mysniper11/article/details/8726649 引文地址:http://www.cnblogs.com/lxy2017/p/392 ...
- TLD算法概述--学习理解之(一)
liuyihai@126.com http://www.cnblogs.com/liuyihai/ TLD(Tracking-Learning-Detection)是英国萨里大学的一个捷克籍博士生Zd ...
- face recognition[翻译][深度学习理解人脸]
本文译自<Deep learning for understanding faces: Machines may be just as good, or better, than humans& ...
随机推荐
- ElasticSearch 全文检索— ElasticSearch 基本操作
REST 简介-定义 REST (REpresentation State Transfer)描述了一个架构样式的网络系统,比如 web 应用程序.它首次出现在 2000 年 Roy Fielding ...
- vs2017通过模块文件添加自定义注释
有时我们在VS里建立类和接口时,需要添加比较规范的注释信息,而每次都要复制粘贴比较麻烦,所以需要我们的IDE做一些支持,比较修改VS里自定义的注释模式,以添加自己公司需要的信息格式. 注释比较规范,是 ...
- Windows安全认证是如何进行的?[NTLM篇]
<上篇>中我们介绍Kerberos认证的整个流程.在允许的环境下,Kerberos是首选的认证方式.在这之前,Windows主要采用另一种认证协议——NTLM(NT Lan Manager ...
- jQuery 获取和设置表单元素
jQuery提供了val()方法,使用它我们可以快速地获取和设置表单的文本框.单选按钮.以及单选按钮的值. 使用val()不带参数,表示获取元素的值 使用val()给定参数,则表示把值赋给元素 如下: ...
- vscode 常用插件安装
设置中文语言使用快捷键[Ctrl+Shift+P],弹出的搜索框中输入[configure language],然后选择搜索出来的[Configure Display Language],locale ...
- mockJs语法糖用例
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...
- aar、jar、so的引入和aar打包包含so、aar、jar文件
so依赖 1,先建本地仓库,指向so放置的目录
- SQL Server DBA SQL
. 监控事例的等待 ,,)) "Prev", ,,)) "Curr",count(*) "Tot" from v$session_Wait ...
- jQuery-动画animate() 方法操作 CSS 属性
语法: $(selector).animate({params},speed,callback); 多个params 之间用逗号(,)隔开. 必须使用 Camel 标记法书写所有的属性名,比如,必须使 ...
- COGS 1191. [Tyvj Feb11] 猫咪的进化
★ 输入文件:neko.in 输出文件:neko.out 简单对比时间限制:1 s 内存限制:128 MB [背景] 对于一只猫咪来说,它是有九条命的.但是并不是所有的猫咪都是这样,只 ...