一.libsvm获得决策函数模型
下载libsvm,进到libsvm官网,下载包:
打开svm-toy
绘制相似的图像,点击change转换不同颜色的点
点集文件text1.txt:
用jupyter写代码:
先导入包:
from libsvm.svmutil import *
from libsvm.svm import *
import scipy.spatial
这里读取数据,svm_read_problem函数的作用是读取刚刚生成的文件并返回合适的格式便于训练
#根据文件路径直接返回要使用的数据格式
label,data= svm_read_problem('text1.txt')#训练数据
p_label,p_data=svm_read_problem('predict.txt')#预测数据
设置训练参数
para ='-t 1 -c 4 -b 1'
'''
-t
0为线性核
1为多项式核
2为高斯核(默认)
'''
训练并将模型保存在文件里,同时测试准确度
#多项式核
model=svm_train(label,data,para)
svm_save_model('muti1.txt',model)
acc=svm_predict(p_label,p_data,model)
文件里的内容
高斯核也是一样,不过将para的里面-t 对应的值改为2
para ='-t 2 -c 4 -b 1'
'''
-t
0为线性核
1为多项式核
2为高斯核(默认)
'''
训练并保存模型进文件中
model=svm_train(label,data,para)
svm_save_model('gaosi.txt',model)
acc=svm_predict(p_label,p_data,model)
文件内容:
二.人脸识别数据集的建立
2.1 人脸照片采集
使用摄像头采集(视频流截图)
import cv2
import dlib
import os
import sys
import random
# 存储位置
output_dir = 'D:/Face/xjc/631907060325'
size = 64
if not os.path.exists(output_dir):
os.makedirs(output_dir)
# 改变图片的亮度与对比度
def relight(img, light