使用PCA实现人脸变换(从一个人脸渐变为另一个)(一)
来源:互联网 发布:潭州教育java 编辑:程序博客网 时间:2024/06/06 05:32
原理
PCA方式用于提取相似样本的共有特征,将样本投影到特征向量构成的特征空间可以使用较少的量表示原本复杂的量。在此的基础上,使用投影值可以重构出样本。若特征空间提取优良的话,重构出来的样本与原始样本将非常相似。因此可以通过重构的方式来实现人脸的变换。
本文原理:①将两个不同的人脸投影到特征空间,获得两个样本各自的投影坐标(n维,n为特征向量的数量);②在n维空间连接两个样本的投影坐标,均匀划分为m段(将产生m-1个中间变化人脸),得到m-1个中间坐标;③使用获得的中间坐标重构出相应的人脸,即为人脸变换中间脸。
实验一
使用一维PCA方式提取特征脸,使用前十个特征脸用于投影和重构,计算5个中间脸。
步骤
①使用“FERET_80_80人脸数据库”,提取每个人的第一张脸的特征脸,获得前5个特征脸如下:
②加载两张人脸,并尝试重构:
③计算中间脸
结果
效果奇差,重直接重构的效果可以看出,人脸特征提取不明显,或者选取的特征脸太少。
0 0
- 使用PCA实现人脸变换(从一个人脸渐变为另一个)(一)
- pca人脸识别----kl变换
- 模式识别(5)K-L变换和PCA在人脸识别中的应用
- 基于GDAL实现的PCA变换(主成分分析)
- 从PCA到Kernel PCA(Python)
- PCA的理解(KLT变换)
- 从QR分解到PCA,再到人脸识别(c++实现)
- Matlab PCA+SVM人脸识别(一)
- Matlab PCA+SVM人脸识别(一)
- pca算法实现人脸识别
- PCA人脸识别学习及实现
- PCA人脸识别的python实现
- 基于PCA实现人脸识别
- PCA 的具体实现 (Eigenfaces特征脸)
- PCA 的具体实现 (Eigenfaces特征脸)
- PCA 的具体实现 (Eigenfaces特征脸)
- PCA 的具体实现 (Eigenfaces特征脸)
- PCA 的具体实现 (Eigenfaces特征脸)
- Valid Phone Numbers(leetcode193-t5.sh)
- 简介AngularJS中使用factory和service的方法
- java log4j使用
- redis 数据备份
- 切糕(经典网络流最小割) CODEVS 2997 BZOJ 3144
- 使用PCA实现人脸变换(从一个人脸渐变为另一个)(一)
- Unable to locate appropriate constructor on class原因分析
- Rust 1.11 发布
- Session和Cookie的区别
- permgen space解决办法
- 根据父布局的宽高,动态设置控件的宽高
- Android USB Camera(1) : 调试记录
- shell脚本中的反引号,单引号,双引号与反斜杠
- Java 并发 教程 - 多线程的代价