基于MTCNN多任务级联卷积神经网络进行的人脸识别 世纪晟人脸检测
神经网络和深度学习目前为处理图像识别的许多问题提供了最佳解决方案,而基于MTCNN(多任务级联卷积神经网络)的人脸检测算法也解决了传统算法对环境要求高、人脸要求高、检测耗时高的弊端。
基于MTCNN多任务级联卷积神经网络进行的人脸识别——
MTCNN主要包括三个部分,PNet,RNet,ONet
测试阶段大概过程
首先图像经过金字塔,生成多个尺度的图像,然后输入PNet。
PNet由于尺寸很小,所以可以很快的选出候选区域,但是准确率不高,然后采用NMS算法,合并候选框,然后根据候选框提取图像。
作为RNet的输入,RNet可以精确的选取边框,一般最后只剩几个边框,最后输入ONet。
ONet虽然速度较慢,但是由于经过前两个网络,已经得到了高概率的边框,所以输入ONet的图像较少,然后ONet输出精确的边框和关键点信息。
训练主要包括三个任务——
人脸分类任务:利用正样本和负样本进行训练
人脸边框回归任务:利用正样本和部分样本进行训练
关键点检测任务:利用关键点样本进行训练
实例——
了解了MTCNN多任务级联卷积神经网络,世纪晟科技主要利用MTCNN多任务级联卷积神经网络进行人脸识别任务,从世纪晟人脸识别技术可以直观的体验全连接神经网络的威力,而且可以看到其过程与结果的可视化。
世纪晟人脸识别技术使用的这种级联的结构进行人脸检测和特征点检测,速度快效果好,可以考虑在移动设备上使用。这种方法也是一种由粗到细的方法,和Viola-Jones的级联AdaBoost思路相似。
在深度学习的动态3D人脸识别技术中,世纪晟人脸检测在10亿人脸数据库中进行3D人脸特征比对,其中包含了边框标注数据及5个点以上的关键点信息。
总结——
本文参考世纪晟人脸识别技术使用的MTCNN级联结构进行人脸检测和特征点检测学习。
MTCNN多任务级联卷积神经网络使得人脸识别速度快效果好,在人脸检测和特征点定位的任务上,MTCNN具有实时处理的性能,利用了检测和对准之间固有的关系来增强他们的性能。特别在预测人脸及脸部标记点的时候,通过三阶的级联卷积神经网络对任务进行从粗到精的处理。世纪晟人脸识别检测就是这种由粗到细的方法,和Viola-Jones的级联AdaBoost思路相似。
简单而言,世纪晟人脸识别检测技术就是基于MTCNN多任务级联卷积神经网络,第一步让机器思考如何选择待检测区域:图像金字塔+P-Net;第二步思考如何提取目标特征:CNN;最后将在检测和特征提取的基础上判断是不是指定目标:级联判断。
---------------------
作者:Centrizen
来源:CSDN
原文:https://blog.csdn.net/Centrizen/article/details/82983197?utm_source=copy
版权声明:本文为博主原创文章,转载请附上博文链接!
基于MTCNN多任务级联卷积神经网络进行的人脸识别 世纪晟人脸检测的更多相关文章
- 基于MNIST数据的卷积神经网络CNN
基于tensorflow使用CNN识别MNIST 参数数量:第一个卷积层5x5x1x32=800个参数,第二个卷积层5x5x32x64=51200个参数,第三个全连接层7x7x64x1024=3211 ...
- [DeeplearningAI笔记]卷积神经网络3.1-3.5目标定位/特征点检测/目标检测/滑动窗口的卷积神经网络实现/YOLO算法
4.3目标检测 觉得有用的话,欢迎一起讨论相互学习~Follow Me 3.1目标定位 对象定位localization和目标检测detection 判断图像中的对象是不是汽车--Image clas ...
- 字符型图片验证码,使用tensorflow实现卷积神经网络,进行验证码识别CNN
本项目使用卷积神经网络识别字符型图片验证码,其基于 TensorFlow 框架.它封装了非常通用的校验.训练.验证.识别和调用 API,极大地减低了识别字符型验证码花费的时间和精力. 项目地址: ht ...
- deeplearning4j——卷积神经网络对验证码进行识别
一.前言 计算机视觉长久以来没有大的突破,卷积神经网络的出现,给这一领域带来了突破,本篇博客,将通过具体的实例来看看卷积神经网络在图像识别上的应用. 导读 1.问题描述 2.解决问题的思路 3.用DL ...
- tensorflow卷积神经网络与手写字识别
1.知识点 """ 基础知识: 1.神经网络(neural networks)的基本组成包括输入层.隐藏层.输出层.而卷积神经网络的特点在于隐藏层分为卷积层和池化层(po ...
- TensorFlow 卷积神经网络手写数字识别数据集介绍
欢迎大家关注我们的网站和系列教程:http://www.tensorflownews.com/,学习更多的机器学习.深度学习的知识! 手写数字识别 接下来将会以 MNIST 数据集为例,使用卷积层和池 ...
- 优化基于FPGA的深度卷积神经网络的加速器设计
英文论文链接:http://cadlab.cs.ucla.edu/~cong/slides/fpga2015_chen.pdf 翻译:卜居 转载请注明出处:http://blog.csdn.net/k ...
- 深度学习(五)基于tensorflow实现简单卷积神经网络Lenet5
原文作者:aircraft 原文地址:https://www.cnblogs.com/DOMLX/p/8954892.html 参考博客:https://blog.csdn.net/u01287127 ...
- 基于theano的深度卷积神经网络
使用了两个卷积层.一个全连接层和一个softmax分类器. 在测试数据集上正确率可以达到99.22%. 代码参考了neural-networks-and-deep-learning #coding:u ...
随机推荐
- 时间比较方法DateTime.Compare
格式:DateTime.Compare(datetime1, datetime2) 参数为时间格式,为第一个参数比较第二个参数,返回小于0的值,等于0或大于0的值. 实例: string st1 = ...
- Vue.js与 ASP.NET Core 服务端渲染功能整合
http://mgyongyosi.com/2016/Vuejs-server-side-rendering-with-aspnet-core/ 原作者:Mihály Gyöngyösi 译者:oop ...
- ubuntu18.04安装搜狗输入法
首先,安装Fcitx输入框架 sudo apt install fcitx 其次,上搜狗输入法官网下载Linux版本搜狗输入法(32位和64位根据自己情况,在虚拟机上用浏览器下载即可 然后进入相应的下 ...
- .Net core 使用Jenkins + Docker + Azure Devops 傻瓜式部署
这几天一直在搞 Jenkins + Docker + Azure Devops 部署,因为这种方式部署真的非常的省心,而且速度快,方便快捷,等等无数优点,感谢我的单身领导的支持,当然也感谢 晓晨大神, ...
- 常用模块 - shutil模块
一.简介 shutil – Utility functions for copying and archiving files and directory trees.(用于复制和存档文件和目录树的实 ...
- JavaScript脚本加载相关知识
<script>标签的位置 HTML4规范允许<script>可以放在<head>或<body>中. 但是,放在<head>中会导致性能问题 ...
- day 17 成员
1.成员 在类中你能写的所有内容都是类的成员 2.变量 1. 实例变量:昨天写的就是实力变量,由对象去访问的变量 2. 类变量: 这个变量属于类.但是对象也可以访问 ...
- 报错: Name node is in safe mode
将本地文件拷贝到hdfs上去,结果上错误:Name node is in safe mode 这是因为在分布式文件系统启动的时候,开始的时候会有安全模式,当分布式文件系统处于安全模式的情况下,文件系统 ...
- python和java,php,c,c#,c++的对比
1.C语言,它既有高级语言的特点,又具有汇编语言的特点,它是结构式语言.C语言应用指针:可以直接进行靠近硬件的操作,但是C的指针操作不做保护,也给它带来了很多不安全的因素.C++在这方面做了改进,在保 ...
- Django学习之mysql结果显示
背景:向数据库添加相同名字的用户 上节可知,在查询某个用户信息时,只能查看到行数但不能查看结构性信息. fetchone()函数可以但仅可逐个查看结构性信息.查不到信息将以None替补. fetchA ...