人脸图像的几何归一化和灰度归一化
转载处:http://blog.csdn.net/liulianfanjianshi/article/details/9279565
在对人脸表情进行识别时,人脸的归一化处理是至关重要的一环,它涉及到下一步处理的好坏。
人脸的归一化包括几何归一化和灰度归一化,几何归一化分两步:人脸校正和人脸裁剪。而灰度归
一化主要是增加图像的对比度,进行光照补偿。
1.几何归一化
几何归一化的目的主要是将表情子图像变换为统一的尺寸,有利于表情特征的提取。具体步骤如下:
(1)标定特征点,这里用[x,y] = ginput(3)函数来标定两眼和鼻子三个特征点。主要是用鼠标动手标
定,获取三个特征点的坐标值。
(2)根据左右两眼的坐标值旋转图像,以保证人脸方向的一致性。设两眼之间的距离为d,其中点为O。
(3)根据面部特征点和几何模型确定矩形特征区域,以O为基准,左右各剪切d,垂直方向各取0.5d和
1.5d的矩形区域进行裁剪。
(4)对表情子区域图像进行尺度变换为统一的尺寸,更有利于表情特征的提取。把截取的图像统一规格
为90*100的图像,实现图像的几何归一化。
面部几何模型如下图:
2.灰度归一化
灰度归一化 主要是增加图像的亮度,使图像的细节更加清楚,以减弱光线和光照强度的影响。
这里用的是image=255*imadjust(C/255,[0.3;1],[0;1]); 用此函数进行光照补偿。
具体代码如下:
C= imread('Image001.jpg');
figure(1),imshow(C);
C=double(C);
image=255*imadjust(C/255,[0.3;1],[0;1]);
figure(2),imshow(image/255);
title('Lighting compensation');%光照补偿
[x,y] = ginput(3); %%1 left eye, 2 right eye, 3 top of nose
cos = (x(2)-x(1))/sqrt((x(2)-x(1))^2+(y(2)-y(1))^2);
sin = (y(2)-y(1))/sqrt((x(2)-x(1))^2+(y(2)-y(1))^2);
mid_x = round((x(1)+x(2))/2);
mid_y = round((y(2)+y(1))/2);
d = round(sqrt((x(2)-x(1))^2+(y(2)-y(1))^2));
rotation = atan(sin./cos)*180/pi;
img = imrotate(image,rotation,'bilinear','crop');
figure(3), imshow(img);%人脸校正
[h,w] = size(img);
leftpad = mid_x-d;
if leftpad<1
leftpad = 1;
end
toppad =mid_y - round(0.5*d);
if toppad<1
toppad = 1;
end
rightpad = mid_x + d;
if rightpad>w
rightpad = w;
end
bottompad = mid_y + round(1.5*d);
if bottompad>h
bottompad = h;
end
I1 =[];
I2 =[];
I1(:,:) = img(toppad:bottompad,leftpad:rightpad);
I2(:,:) = imresize(I1,[90 100]);
figure(4),imshow(I2,[]);%人脸裁剪
人脸图像的几何归一化和灰度归一化相关推荐
- Matlab 的多种灰度归一化方法代码演示(可以直接运行)
有时候我们需要对一张灰度范围小的 图像进行灰度归一化至[0,1]或[0,255]. 关于代码中 min(min(img))和max(max(img))的解释: 关于代码中 归一化的数学原理见博客: = ...
- matlab灰度归一化,[转载]matlab图像处理为什么要归一化和如何归一化?
matlab图像处理为什么要归一化和如何归一化?一.为什么归一化 1. 基本上归一化思想是利用图像的不变矩寻找一组参数使其能够消除其他变换函数对图像变换的影响.也就是转换成唯一的标准形式以抵抗仿射变换 ...
- Python人脸图像特征提取方法
Python人脸图像特征提取方法 一.HOG人脸图像特征提取 1.HOG特征: 1) 主要思想: 2) 实现方法: 3) 性能提高: 4) 优点 2.HOG特征提取算法的实现过程: 二.Dlib人脸图 ...
- Python人脸图像特征提取(HOG、Dlib、CNN方法)
Python人脸图像特征提取(HOG.Dlib.CNN方法) 一.HOG人脸图像特征提取 1.HOG特征: 1) 主要思想: 2) 实现方法: 3) 性能提高: 4) 优点 2.HOG特征提取算法的实 ...
- 人脸图像local feature提取方法小结
本文是在熟悉人脸识别相关项目时所作的相关调研,在Harr分类器部分,Harr只是来做特征提取,而分类器部分设计是由Adboost来完成.本过程只是对人脸识别领域传统的特征提取相关方法做了小结,自己对于 ...
- 深度|人脸图像的技术原理及在电商业务中的应用
1.概述 时至今日,计算机视觉和深度学习的迅速发展,给很多技术领域带来了颠覆性的变化. 人脸图像处理(Face Image Processing)就是其中的典型例子:在互联网时代,该技术通过各种各样的 ...
- 使用Python+OpenCV实现神经网络预处理人脸图像的快速指南
目前我正在研究一个涉及人脸分类的计算机视觉问题.这通常意味着需要应用深度学习,因此在将图像注入到我们的神经网络之前需要一个特殊的预处理阶段. 为了提高我们的模型精度,这是一项非常重要的任务,通过以下几 ...
- 手把手教你在Tensorflow实现BEGAN 达到惊人的人脸图像生成效果
全球人工智能 文章来源:GitHub 作者:Heumi 翻译:马卓奇 文章投稿:news@top25.cn 相关文章: 导读:本文是基于谷歌大脑(Google Brain)发表在 arXiv 的最新论 ...
- 「杂谈」计算机视觉人脸图像的十几个大的应用方向,你懂了几分?
2020-02-16 13:45:50 文/编辑 | 言有三 人脸图像属于最早被研究的一类图像,也是计算机视觉领域中应用最广泛的一类图像,可以说掌握好人脸算法,基本就玩转了计算机视觉领域.在经历了几十 ...
最新文章
- 什么是滚动灯箱的全数字滚动系统?
- Oracle数据库无法启动解决方法
- 启明云端分享| ESP32-S2直驱USB摄像头
- solidworks模板_工程师实用高级操作,Solidworks自定义属性链接到工程图模板
- dubbo学习总结——思维导图
- sql server中同时执行select和update语句死锁问题
- 编写程序,对用户输入的n个整数,统计其最大数、最小数和平均值
- Linux99问,适合新手!
- go语言爬虫 - TapTap用户都喜欢些什么游戏
- 实战函数式编程:使用Ramda.js
- 腾讯校园招聘--一面(技术1对1)面经
- strlen函数原理
- linux cp指令:略过目录 问题解决
- Linux下用脚本命令打开文档、表格、PPT
- TestLink在线Excel用例转换xml
- 零基础新手学习算法Leetcode刷题指南
- [转]移动端常见问题
- IDEA下Git标签使用
- ORACLE数据库 自动备份 定时计划任务 windows
- 北京注册公司还是注册个体户有区别