SVM模型实现人脸识别

SVM训练过程

本文通过sklearn中的fetch_lfw_people数据集以及fetch_olivetti_faces数据集基于SVM模型分别训练人脸识别分类模型,进行简单的图像分类任务。

【fetch_lfw_people】数据集加载

from sklearn.decomposition import PCA
import numpy as np
from IPython.display import display
from sklearn.svm import SVC
import matplotlib.pyplot as plt
from sklearn.model_selection import train_test_split
from sklearn.decomposition import PCA
from sklearn import datasets
from sklearn.model_selection import GridSearchCV


data = datasets.fetch_lfw_people(resize=1, min_faces_per_person=70)#70张人脸以上的样本

查看数据属性

display(dir(data))

数据基础属性

['DESCR', 'data', 'images', 'target', 'target_names']
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
人脸识别是一个十分常见的应用,而 SVM 是一种常用的分类算法,可以用于人脸识别中的分类问题。下面是一个简单的基于 SVMPython 人脸识别步骤: 1. 收集数据集:收集人脸图像数据,可以采用公开数据集或自己采集。 2. 特征提取:提取人脸图像的特征,一般采用主成分分析(PCA)或局部二值模式(LBP)等方法。 3. 训练模型:使用 SVM 算法对提取的特征进行训练,得到分类器。 4. 测试模型:使用测试集对训练好的模型进行测试,评估分类器的性能。 下面是一个简单的代码示例: ```python from sklearn import datasets from sklearn.decomposition import PCA from sklearn.svm import SVC from sklearn.metrics import accuracy_score # 加载人脸数据集 lfw_dataset = datasets.fetch_lfw_people(min_faces_per_person=70) # 提取人脸图像的特征 pca = PCA(n_components=100, whiten=True) X = pca.fit_transform(lfw_dataset.data) y = lfw_dataset.target # 划分训练集和测试集 X_train, X_test, y_train, y_test = train_test_split(X, y) # 训练 SVM 模型 svm = SVC(kernel='linear', C=0.5) svm.fit(X_train, y_train) # 测试模型 y_pred = svm.predict(X_test) accuracy = accuracy_score(y_test, y_pred) print('Accuracy:', accuracy) ``` 需要注意的是,在实际应用中,人脸识别还需要考虑许多其他因素,比如人脸检测、姿态校正、光照变化等等。本示例仅是一个简单的 SVM 分类器,无法解决所有问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IDONTCARE8

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值