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)在保证鼻尖点和鼻根点位于鼻区中间的同时保证两点位于一条直线上,及面部对称平面和面部的交线。

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

目录
相关文章
|
传感器 数据库
一种多源信息融合方法及其应用(Matlab代码实现)
一种多源信息融合方法及其应用(Matlab代码实现)
614 0
|
3月前
|
传感器 数据采集 监控
[开源免费]基于STM32的心率监控仪 —— 从原理到实现的完整技术解析
本文详解基于STM32的心率监控仪设计,涵盖硬件搭建、ADC采样、峰值检测算法及OLED波形显示。采用STM32F103C8T6与PulseSensor实现心率实时监测,支持报警提示与按键交互,适合嵌入式入门与课程实践。
|
3月前
|
人工智能 安全 Go
Daytona:90ms 启动的 AI 代码沙箱基础设施
Daytona 是专为 AI 时代打造的代码执行基础设施,90 毫秒内创建多语言隔离沙箱,支持 Python、Node、Go 等,结合容器预热池与状态持久化,实现安全、高速、可复用的代码运行环境,助力 AI Agent、在线教育、CI/CD 等场景高效落地。
|
8月前
|
JSON API 数据安全/隐私保护
批量上传发布视频的软件,小红书抖音快手哔哩哔哩,自动发布上传作品工具【python】
这个项目包含完整的视频批量上传功能,支持多个平台,包含视频处理、配置管理和错误处理等功能
|
9月前
|
传感器 安全 数据处理
Pandas时间数据处理:从基础到进阶的实战指南
本文深入讲解Pandas时间数据处理技巧,从时间对象转换到高性能计算全面覆盖。通过真实案例拆解,掌握Timestamp与Period的核心概念、时间序列生成、重采样方法及窗口函数应用。同时剖析时区处理、性能优化策略及常见陷阱解决方案,并展望Pandas 2.0的时间处理新特性。内容强调“时间索引优先”原则,助你高效分析股票K线、用户行为等时间序列数据。
297 0
|
运维
[故障处理]nfs导致系统负载异常
[故障处理]nfs导致系统负载异常
250 0
|
Java Apache C++
别再手写RPC了,Apache Thrift帮你自动生成RPC客户端及服务端代码
Thrift 是一个轻量级、跨语言的远程服务调用框架,由 Facebook 开发并贡献给 Apache。它通过 IDL 生成多种语言的 RPC 服务端和客户端代码,支持 C++、Java、Python 等。Thrift 的主要特点包括开发速度快、接口维护简单、学习成本低和多语言支持。广泛应用于 Cassandra、Hadoop 等开源项目及 Facebook、百度等公司。
别再手写RPC了,Apache Thrift帮你自动生成RPC客户端及服务端代码
|
机器学习/深度学习 数据采集
SVM在回归任务中如何应用
SVM在回归任务中如何应用
554 17
|
JavaScript
Vue2使用v-model封装ElementUI_Input组件
本文介绍了在Vue2中如何使用v-model封装ElementUI的Input组件。封装后的组件可以根据传入的title属性决定是否显示标题,支持正则表达式校验,并提供了在Vue页面中的使用示例。
595 5
|
安全 搜索推荐 SEO
如何完整搭建一个独立站?
如何完整搭建一个独立站?没有建站基础和经验、能不能自己建站?
1555 15

热门文章

最新文章