本文由兔崩溃公布http://blog.csdn.net/smartempire/article/details/31373817。

转载请注明出处。howdeshui#163.com

近期在做三维人脸识别相关的东西,在已获取三维数据的情况下进行人脸的识别分割是第一步。本文将介绍预处理内的几个操作,终于给出分割后的三维人脸数据以及经过变换的灰度图像。

作者之前申请了国内的三维人脸数据库都没申请到,FRGC v2库也没有回复,仅仅申请到了一个很小众的库。此库重点是研究有遮挡情况下的三维人脸识别,所以不太符合后面要做表情变化研究。

1、填洞插值操作

扫描得到的数据可能会有一些洞。例如以下图的眼睛眉毛等部分,所以须要採用cubic等方式进行插值,并且脸部会有称为spike的凸起。这个在后面切割出人脸后会进行消除。

须要注意的是,原始数据的x,y轴上的坐标并非等间距的。所以在插值后须要进行重採样,使得x,y轴上为等间距。

原始三维数据

2、图像插值重採样

之所以会有这一步,是由于三维数据经过插值重採样之后与二维图像的像素点已经不是一一相应的关系了,所以为了接下来的人脸区域检測等操作须要类似的重採样。原始图像与插值重採样后的图分别例如以下:

原始RGB图像重採样图像

你可能会问原始图像是彩色的,重採样后为毛变成灰度的了,没办法,RGB图像有三个分量,插值与採样我实在不知道该怎么在三个分量上进行。假设在每一个分量上进行得到的图像简直才不忍赌。

3、鼻尖点检測

这是关键的一步,由于以鼻尖点为中心做80mm的圆球就能将人脸分割出来,所以这一步的准确性非常关键。

在一些论文里是这么做的,将三维数据做横向的切片称为slice,在鼻尖点处的slice基本例如以下图。假设以每一点为圆心做圆。假设圆的半径合适(比方30mm),那么圆心与交点会形成一个三角形并且这个三角形的高(altitude)是最大的。通过这种方式基本能够确定鼻尖点。可是假设仅仅是这么做会发现有些衣服如衣领等会形成误操作。所以能够先在灰度图像上检測人脸区域,在这个区域取slice能够基本消除误測。

鼻尖点检測示意图鼻尖点(图中黑点)

3、提取人脸部分

在第2步得到nose tip 后,以该点做圆球。以80mm(视情况而定)做半径,落在圆球内的三维点即为人脸点。

4、降噪、去spike操作

Spike主要是一些毛刺。能够定义该点到8-neighbor的距离作为推断根据,假设距离超过某个阈值则能够把该点抹成0然后又一次採样,或者直接抹成8-neighbor的均值或者中值。降噪主要针对脸部凹凸不平的情况,作者測试了中值和均值滤波器,可是效果并不明显,也许是由于前期已经重採样的原因。下图是得到的人脸,貌似和第三部的结果没有差别。

5、姿态矫正

有些人脸可能会有旋转平移的情况。这一步将对姿态进行矫粗方便兴许的ICP等方法的对齐,矫正用到的方法是Hotelling transform。在之前的博文里介绍过了,不再赘述。结果例如以下图,因为博主本来选择的数据就是姿态不明显的,所以矫正的结果并不明显。

以上就是预处理的几步。没有涉及到复杂的算法实现,仅仅是实现起来比較琐碎,像nose tip的检測要推断圆与slice的交点,要由粗到细的取slice的间隔以节省CPU时间。所以实现起来比較费时。之前上传的人脸识别的demo即使是免费的也还是有人发牢骚。所以本文的MATLAB代码就不再免费发布了。假设有须要能够联系我howdeshui#163.com。

版权声明:本文博客原创文章,博客,未经同意,不得转载。

转载于:https://www.cnblogs.com/mengfanrong/p/4744942.html

3D人脸识别预处理,3D face recognition preprocess相关推荐

  1. 三维人脸识别预处理,3D face recognition preprocess

    本文由兔死机发布在http://blog.csdn.NET/smartempire/article/details/31373817 最近在做三维人脸识别相关的东西,在已获取三维数据的情况下进行人脸的 ...

  2. 火出圈的3D人脸识别如何让“刷脸”更安全?

    看一眼智能手机,就能自动唤醒屏幕进行刷脸解锁,很多人都习惯了不再手动输入密码.逛完超市,双手提着购物袋,看一眼收银台的终端设备,就能刷脸支付,节省了大家排队等待的时间.如此便利的体验,都缘于人脸识别这 ...

  3. 一文为你详解2D与3D人脸识别有什么区别?

    最近业界内刮起了一股"人脸识别安全"的大讨论,小到个人大到超市以及银行,都在使用这个刷脸认证或支付,说它好吧,确实解决了无接触,快速高效等问题,你说它不好吧,也是有原因的,比如最明 ...

  4. 轻量级3d模型查看器_耐能取得两项软件著作权,自研轻量级3D人脸识别算法领先业界...

    近日,耐能收到国家版权局颁发的两份<计算机软件著作权登记证书>,两款软件分别是人脸活体检测和人脸识别开发包软件V1.1.0.卷积神经网络简化和加速开发工具软件V2.2.17.这次取得两项软 ...

  5. 全面涵盖传统方法和深度学习方法:3D人脸识别的十年发展及未来趋势

    ©作者 | 机器之心编辑部 来源 | 机器之心 人脸识别是机器学习社区研究最多的课题之一,以 3D 人脸识别为代表的相关 ML 技术十年来都有哪些进展?这篇文章给出了答案. 近年来,人脸识别的研究已经 ...

  6. 一文读懂3D人脸识别十年发展及未来趋势

    来源丨机器之心 人脸识别是机器学习社区研究最多的课题之一,以 3D 人脸识别为代表的相关 ML 技术十年来都有哪些进展?这篇文章给出了答案. 近年来,人脸识别的研究已经转向使用 3D 人脸表面,因为 ...

  7. 2D与3D人脸识别有什么本质上的区别?

    https://www.zhihu.com/question/324123433/answer/681365180 https://www.zhihu.com/question/324123433/a ...

  8. 2D与3D人脸识别详解

    人脸是人体最重要的生物特征之一,而人脸研究主要集中在人脸识别方面,人脸的表达模型分为2D人脸和3D人脸.2D人脸识别研究的时间相对较长,方法流程也相对成熟,在多个领域都有使用,但由于2D信息存在深度数 ...

  9. 3D人脸识别准确率提升,成未来发展趋势

    https://www.toutiao.com/a6678896218048823811/ 随着技术升级,生物识别技术已经被应用到越来越多的行业当中,渗透人们生活的方方面面,你的面部.眼睛.步态乃至表 ...

最新文章

  1. 行情分析:下杀或不可持续,市场大概率继续震荡
  2. OpenStack平台功能性测试工具Tempest安装
  3. 使用CSS3实现超炫的Loading(加载)动画效果
  4. python安装包-安装 Python 模块
  5. tensorflow源码安装
  6. 4米乘以12米CAD图_CAD做钣金件展开的原理你知道吗?
  7. Matlab多组条形图Bar多组误差棒绘制Errorbar位置设置
  8. VS2010 自动关闭的问题解决方法
  9. 「leetcode」1. 两数之和:map等候多时了
  10. 关于define与defined的区别
  11. python ipad协议_python – 实现AirDrop协议
  12. 32强鹏城逐战!“共筑梦想、创赢未来” 2021年绿色产业创新创业大赛深圳赛区比赛精彩上演
  13. Facebook成为美国四大电视台争夺观众阵地
  14. Android OpenGL ES 学习(十一) –渲染YUV视频以及视频抖音特效
  15. 关于冯诺依曼结构、哈佛结构、增强型的哈佛结构
  16. 【VScode】VCode配置C++编译器
  17. Session | 基于Session改造oa项目的登录功能
  18. EM算法-硬币实验的理解
  19. java期末考试复习题_java期末考试复习题库 试题题库.doc
  20. 编译原理 —— 短语、直接短语、素短语和句柄

热门文章

  1. 《盗墓笔记》使用的这套技术,让美术可以在场景中任意使用灯光
  2. 那些年,我在游戏开发中改过的bug:靠不住的OS和SDK
  3. 从零开始做一个SLG游戏(三):用unity绘制图形
  4. 【AWR】调整AWR数据采样时间间隔及历史快照保留时间
  5. dbms_xplan.display_cursor 获取执行过的sql的执行计划
  6. ubuntu修改pip的官方源为豆瓣源
  7. 2018.1.21 数论笔记
  8. 关于Android C++的NDK环境搭建(Win7系统)
  9. (转)Linux后台开发应该具备技能
  10. python笔试知识点_python知识点及面试面试大集合