2017cvpr论文解读——Nasal Patches and Curves for Expression-Robust 3D Face Recognition

简介: 2017cvpr论文解读——Nasal Patches and Curves for Expression-Robust 3D Face Recognition

论文地址:https://ieeexplore.ieee.org/document/7467565

Code地址:https://github.com/mehryaragha/NoseBiometrics  

三维人脸识别,是人脸识别的研究前沿。这篇论文主要用比较经典的手动特征加分类器方案,针对鼻子这类对表情不变的部位展开分析,得到了很好的表情鲁棒识别结果。在介绍这篇文章之前,我们先简单了解一下人脸识别系统的组成部分:人脸图像采集及检测、人脸图像预处理、人脸图像特征提取以及匹配与识别。

 

1.简介

以往很多关于表情不变性三维人脸识别的研究都集中在对敏感面部表情的建模和检测上,但评估鼻腔区域解决这一问题潜力的研究相对较少,其实鼻子有许多突出特征,使它适于表情鲁棒的识别。本文进一步研究了用于身份验证和确认的三维鼻区区域,提出了一种新的算法,该算法具有很高的识别强度。

算法流程:

  1. 找到鼻尖的大致位置,然后进行细调,同时确定鼻根的准确位置,检测面部的对称平面(为了确定鼻尖和鼻根的位置更加准确)。
  2. 找到三组landmark(特征点)的位置:鼻下,眼角和鼻翼沟,用于通过应用Gabor小波的深度图其表面法线而创建的特征图。
  3. 使用两种类型的特征描述符:spherical patches and nasal curves。
  4. 使用启发式遗传算法(GA)进行特征选择。
  5. 将表情——鲁棒的特征描述符应用于3D Face Recognition Grand Challenge (FRGC) , Bosphorus  and Binghamton University 3D Facial Expression (BU-3DFE) 数据集进行测试

3.预处理和鼻区标记

鼻尖初始位置为L40,鼻根初始位置为L10,过鼻尖点与xy平面垂直的多个平面与鼻区曲面形成多条曲线,蓝色为生成的曲线:

曲线是递减的,没有极小值,经过一定角度的旋转, 可以找到一阶微分为0的点,作为最小值点,并映射到原始曲线对应的位置。取多条曲线最小值中的极大值作为鼻根点。

很忧伤,不会打公式,还是贴图吧。。。。。。。

三个式子,(3)说明了鼻尖点和鼻根点不位于一条直线上时会产生夹角,(4)用对称点的深度差值来说明鼻尖点和鼻根点尽可能位于鼻区中间,【个人想法:其实人脸并不会真正完全对称,这个应该是理论上的值,跟实际应该有差距】,(5)在保证鼻尖点和鼻根点位于鼻区中间的同时保证两点位于一条直线上,及面部对称平面和面部的交线。

嗯,,,,,这篇的文章的关键点就在这里啦,其他的就很容易了,就不细细说来了。

目录
相关文章
|
11月前
|
运维
[故障处理]nfs导致系统负载异常
[故障处理]nfs导致系统负载异常
145 0
|
8月前
|
Java Apache C++
别再手写RPC了,Apache Thrift帮你自动生成RPC客户端及服务端代码
Thrift 是一个轻量级、跨语言的远程服务调用框架,由 Facebook 开发并贡献给 Apache。它通过 IDL 生成多种语言的 RPC 服务端和客户端代码,支持 C++、Java、Python 等。Thrift 的主要特点包括开发速度快、接口维护简单、学习成本低和多语言支持。广泛应用于 Cassandra、Hadoop 等开源项目及 Facebook、百度等公司。
别再手写RPC了,Apache Thrift帮你自动生成RPC客户端及服务端代码
|
10月前
|
JavaScript
Vue2使用v-model封装ElementUI_Input组件
本文介绍了在Vue2中如何使用v-model封装ElementUI的Input组件。封装后的组件可以根据传入的title属性决定是否显示标题,支持正则表达式校验,并提供了在Vue页面中的使用示例。
361 5
|
9月前
|
算法 程序员 开发工具
C语言编程规范
C 语言编程规范有助于提升代码的可读性、可维护性和可移植性。主要包括:命名规范(如 `my_variable`、`MAX_SIZE`)、代码缩进与空格、注释(解释逻辑但不过度)、函数设计(短小精悍、参数不超过三个)、错误处理、避免魔法数字、选择合适数据结构、使用标准库、保持代码格式一致及版本控制。遵循这些规范能显著提高团队开发效率和代码质量。
|
10月前
|
XML Java 数据库连接
如何搭建SSM框架、图书商城系统
这是一份详尽的《Spring + SpringMVC + Mybatis 整合指南》,作者耗时良久整理出约五万字的内容,现已经全部笔记公开。此文档详细地介绍了如何搭建与整合SSM框架,具体步骤包括创建Maven项目、添加web骨架、配置pom文件以及整合Spring、SpringMVC和Mybatis等。无论是对初学者还是有一定基础的开发者来说,都是很好的学习资源。此外,作者还提供了项目源码的GitHub链接,方便读者实践。虽然当前主流推荐学习SpringBoot,但了解SSM框架仍然是不可或缺的基础。
133 0
|
机器学习/深度学习 Python
【初窥CBAM】实操版即插即用的注意力机制模块
【初窥CBAM】实操版即插即用的注意力机制模块
441 0
【初窥CBAM】实操版即插即用的注意力机制模块
|
9月前
|
人工智能 人机交互 智能硬件
从大模型的原理到提示词优化
本文介绍了大语言模型(LLM)的基本概念及其工作原理,重点探讨了AI提示词(Prompt)的重要性和几种有效技巧,包括角色设定、One-shot/Few-shot、任务拆解和思维链。通过实例解析,展示了如何利用这些技巧提升LLM的输出质量和准确性,强调了提供高质量上下文信息对优化LLM表现的关键作用。
631 0
|
10月前
|
Linux Shell
10-12|linux把时间修改到前一天
10-12|linux把时间修改到前一天
|
编译器 C语言
gcc编译警告:warning: suggest parentheses around assignment used as truth value
gcc编译警告:warning: suggest parentheses around assignment used as truth value
631 0
|
11月前
|
数据采集 数据可视化 算法
GitHub星标68K!Python数据分析入门手册带你从数据获取到可视化
Python作为一门优秀的编程语言,近年来受到很多编程爱好者的青睐。一是因为Python本身具有简捷优美、易学易用的特点;二是由于互联网的飞速发展,我们正迎来大数据的时代,而Python 无论是在数据的采集与处理方面,还是在数据分析与可视化方面都有独特的优势。我们可以利用 Python 便捷地开展与数据相关的项目,以很低的学习成本快速完成项目的研究。 今天给小伙伴们分享的这份Python数据分析入门手册本着实用性的目的,着眼于整个数据分析的流程,介绍了从数据采集到可视化的大致流程。