当前位置: 首页 > news >正文

苏州网站制作哪家好seo基础教程视频

苏州网站制作哪家好,seo基础教程视频,网络营销推广组合,关于配色的网站推荐文章目录 EigenFaces算法一、算法原理二、算法流程三、算法特点四、代码步骤1. 图像预处理2. 创建Eigenfaces人脸识别器3. 训练模型4. 预测图像 总结 EigenFaces算法 EigenFaces算法是一种基于主成分分析(PCA)的人脸识别方法,其核心思想是通…

文章目录

  • EigenFaces算法
    • 一、算法原理
    • 二、算法流程
    • 三、算法特点
    • 四、代码步骤
      • 1. 图像预处理
      • 2. 创建Eigenfaces人脸识别器
      • 3. 训练模型
      • 4. 预测图像
  • 总结

EigenFaces算法

EigenFaces算法是一种基于主成分分析(PCA)的人脸识别方法,其核心思想是通过矩阵的压缩算法,在减少矩阵维数的同时尽可能地保留原矩阵的信息,以此来提取人脸的主要特征并进行识别。以下是对EigenFaces算法的详细介绍:

一、算法原理

  1. 主成分分析(PCA):PCA是一种常用的数据分析方法,它通过线性变换将原始数据变换为一组各维度线性无关的表示,可用于提取数据的主要特征分量,常用于高维数据的降维。在EigenFaces算法中,PCA被用于将人脸图像从高维空间投影到低维空间,同时保留人脸的主要特征。
  2. 特征脸(Eigenfaces):特征脸是基于PCA原理生成的一组特征向量的名称。这些特征向量代表了人脸图像的主要特征,可以用于人脸识别。在EigenFaces算法中,首先通过计算人脸图像的协方差矩阵,然后求解其特征值和特征向量,最后选取前几个最大的特征值对应的特征向量作为特征脸。

二、算法流程

  1. 数据预处理:收集人脸图像数据库,将每个人脸图像进行预处理,如裁剪、旋转、缩放等,以确保图像的一致性和准确性。
  2. 计算平均脸:将预处理后的人脸图像按行串成一维向量,并计算所有人脸向量的平均值,得到平均脸向量。
  3. 计算差值向量:将每个人脸向量减去平均脸向量,得到差值向量。这些差值向量反映了每个人脸与平均脸的差异。
  4. 计算协方差矩阵:根据差值向量计算协方差矩阵,该矩阵反映了人脸图像中各像素之间的相关性。
  5. 求解特征值和特征向量:计算协方差矩阵的特征值和特征向量,并选取前几个最大的特征值对应的特征向量作为特征脸。
  6. 特征提取与比对:将原始人脸图像投影到特征脸空间中,得到人脸的特征向量。然后,将待识别的人脸图像也进行同样的特征提取,并与存储在人脸数据库中的特征向量进行比对,找出最接近的特征向量,从而完成人脸识别。

三、算法特点

  1. 降维效果好:EigenFaces算法通过PCA降维方法,将高维的人脸图像数据投影到低维空间,同时保留了人脸的主要特征,大大降低了计算复杂度和存储需求。
  2. 识别准确率高:由于EigenFaces算法能够提取人脸的主要特征,因此在人脸识别中具有较高的准确率。
  3. 对光照和表情变化具有一定的鲁棒性:虽然EigenFaces算法对光照和表情变化敏感,但通过适当的预处理和特征提取方法,可以在一定程度上提高其对光照和表情变化的鲁棒性。

四、代码步骤

1. 图像预处理

准备好训练图像以及对应的标签,还有待识别图像:

注意!!!:在使用EigenFaces算法进行人脸识别时,传入图像的大小(即尺寸)需要保持一致

因为基于PCA进行降维处理提取人脸的主要特征的过程中,需要将人脸图像转换为矩阵形式,并按照一定的规则(如按行或按列)将其转换为一维向量。如果图像的大小不一致,那么转换后的一维向量的维度也会不同,这将导致算法无法正确处理这些向量。

import cv2
import numpy as np"""-----图像预处理----- """
images = []
a = cv2.imread('f1.jpg',0)
a = cv2.resize(a,(100,75))
b = cv2.imread('f2.jpg',0)
b = cv2.resize(a,(100,75))
c = cv2.imread('z1.jpg',0)
c = cv2.resize(a,(100,75))
d = cv2.imread('z2.jpg',0)
d = cv2.resize(a,(100,75))images.append(a)
images.append(b)
images.append(c)
images.append(d)labels = [0,0,1,1]
pre_image = cv2.imread('f_test.jpg',0)
pre_image = cv2.resize(pre_image,(100,75))

2. 创建Eigenfaces人脸识别器

# 创建Eigenfaces人脸识别器
recognizer = cv2.face.EigenFaceRecognizer_create()

3. 训练模型

recognizer.train(images,np.array(labels))

4. 预测图像

label,confidence = recognizer.predict(pre_image)
dic = {0:'yifei',1:"zrn"}
print('这人是',dic[label])
print('置信度',confidence)
aa = cv2.putText(cv2.imread('f_test.jpg').copy(),dic[label],(10,30),cv2.FONT_HERSHEY_SIMPLEX,0.9,(0,0,255),2)
cv2.imshow('xx',aa)
cv2.waitKey(0)
-------------------
这人是 yifei
置信度 3772.118831043097

总结

本篇介绍了,如何通过EigenFaces算法来进行人脸识别,其中需要注意的是:

  1. 在使用EigenFaces算法进行人脸识别时,传入图像的大小(即尺寸)需要保持一致。
  2. 训练以及测试图像最好使用大头照,减少身体的部分。
http://www.hengruixuexiao.com/news/13634.html

相关文章:

  • 学网站制作重庆seo排名扣费
  • 同一个域名在一个服务器做两件网站国外网站怎么推广
  • 宁德城乡建设网站凯里seo排名优化
  • 物流wap网站模板免费下载百度并安装
  • 做直播网站用什么语言百度竞价渠道代理商
  • 做网站付多少定金搜狗权重查询
  • 做传奇网站百度百科官网入口
  • 万网 网站 流程自己代理一款手游需要多少钱
  • 知名的电子商务网站域名查询网站入口
  • 简单做任务赚钱网站公司网站如何推广
  • 公司门户网站是什么朋友圈营销
  • 百度推广如何办理seo顾问咨询
  • 扬州专业做网站百度收录平台
  • 网站上线确认书今日十大热点新闻头条
  • 北京网站搭建方案奶茶推广软文200字
  • 公众平台官网登录入口seo排名优化教学
  • 寺院网站建设百度2019旧版本下载
  • 珠海网站建设工程北京seo技术
  • 九一赣州人才网找工作站优云seo优化
  • dw手机网站怎么做泉州排名推广
  • 为什么网站浏览不是做的那样seo优化分析
  • 龙采科技做网站多少钱今日重大军事新闻
  • 昆山网站开发建设公司自己如何制作一个网页
  • 什么网站做电脑系统好长沙seo培训班
  • 做qq空间网站百度分析工具
  • 做seo排名好的网站北京网络推广公司排行
  • 360网站建设游戏代理怎么找渠道
  • 网站策划网站建设企业百度网址大全官网旧版
  • 凡科平台登录平台搜索引擎优化是什么意思
  • 做视频可以赚钱的网站郑州seo地址