首页 > 其他分享 >【SVM+Gabor人脸识别】基于SVM+Gabor特征提取的人脸识别matlab仿真

【SVM+Gabor人脸识别】基于SVM+Gabor特征提取的人脸识别matlab仿真

时间:2022-11-13 12:44:45浏览次数:72  
标签:SVM end FaceRange Gabor FaceCell j3 人脸识别 net

1.软件版本

MATLAB2013b

2.本算法理论知识

人脸识别是人脸识别与匹配领域的一项重要技术。为了获得理想的识别效果,必须在具有良好的类内聚力和类间差异的特征。现有的方法包括一种基于不同颜色模型和颜色空间中人脸肤色模型的人脸识别方法。一种基于颜色直方图模型的人脸识别方法,该方法是由皮肤区域校准图像的大量颜色建立的。提出了一种基于人脸光照补偿和非线性颜色变换的人脸识别方法。

Gabor特征提取

Gabor核函数具有与人脑皮层细胞相同的二维反射区域特征,Gabor核函数能够捕捉到相应的空间频率、空间尺度和方向选择性,在计算机视觉和图像分析领域有着广泛的应用[04,05]。Gabor滤波器常用于描述和表示纹理,尤其是在人脸图像识别中,它能很好地反映人脸信息。这主要是由于Gabor滤波器的频率和方向接近人类视觉系统。图1显示了脊椎动物视觉皮层中感受野反应和Gabor滤波器的比较,第一排图是脊椎动物感受野的视觉皮层,第二排图是Gabor滤波器,第三排图是残差。在图1中,我们可以看到Gabor滤波器更适合人类视觉,它适合应用于图像处理领域。

 

 

 

 

 

 SVM

SVM支持向量机是Vapnik等人提出的一种新的机器学习方法。SVM的基本思想是在线性情况下,从两种样本中找到最佳分类原始空间平面。在线性不可分情况下,加入松弛变量分析,将数据从低维空间映射到高维空间,使非线性情况变成线性情况,找到最优分类原始空间平面。支持向量机利用结构风险最小化原理在属性空间中构造最优分类超平面,使支持向量机分类器得到全局最优结果。SVM是从线性可分情况的最优分类曲面发展而来的,其基本思想如图所示:

 

 

 

 

 3.部分核心代码

function FaceCell = func_FaceCell_Update(images,net,FaceCell,FaceRange,levels);
while(1==1)
[i,j] = find(FaceCell.state==1,1);
if isempty(i)
break;
end
%人脸区域
face_areas = images(i-FaceRange:i+FaceRange,j-FaceRange:j+FaceRange);
FaceCell.state(i,j) =-1;
%预测
FaceCell.net(i,j) = sim(net,func_image_feature(face_areas));
if FaceCell.net(i,j) < -0.95
for i2=i-3:i+3
for j2=j-3:j+3
try
FaceCell.state(i2,j2)=-1;
end
end
end
continue;
elseif FaceCell.net(i,j) < -1*levels continue;
elseif FaceCell.net(i,j) > 0.95
for i2=i-FaceRange:i+FaceRange
for j2=j-FaceRange:j+FaceRange
try
FaceCell.state(i2,j2)=-1;
end
end
end
elseif FaceCell.net(i,j) > levels
elseif FaceCell.net(i,j) < levels
end
for i4=-1:1
for j4=-1:1
i3 = i+i4;
j3 = j+j4;
if (FaceCell.state(i3,j3) == -1 || FaceCell.net(i3,j3)~=-1)
continue;
end
face_areas = images(i3-FaceRange:i3+FaceRange,j3-FaceRange:j3+FaceRange);
FaceCell.net(i3,j3) = sim(net,func_image_feature(face_areas));
if FaceCell.net(i3,j3) > 0.95
for i2=i3-FaceRange:i3+FaceRange
for j2=j3-FaceRange:j3+FaceRange
try
FaceCell.state(i2,j2)=-1;
end
end
end
continue;
end
if FaceCell.net(i3,j3) > levels
FaceCell.state(i3,j3) = 1;
else
FaceCell.state(i3,j3) =-1;
end
end
end
end


 

function FacePic = func_face_results(images,FaceCell,FaceRange,levels,rr,cc);
[Face_reigon,fnum] = bwlabeln(imdilate(imregionalmax(FaceCell.net > levels),strel('disk',2,4)),4);
Face_Matrix = regionprops(Face_reigon,'centroid');
Face_Area = zeros(rr,cc);
for i = 1:fnum
xpos = fix(Face_Matrix(i).Centroid(2));
ypos = fix(Face_Matrix(i).Centroid(1));
Face_Area(xpos,ypos) = 1;
end
Face_Area = func_recs(Face_Area,[19 19],FaceRange);
FacePic(:,:,1) = images;
FacePic(:,:,2) = images;
FacePic(:,:,3) = images;
for i = 1:rr
for j=1:cc
if Face_Area(i,j) == 1
FacePic(i,j,1) = 255;
FacePic(i,j,2) = 255;
FacePic(i,j,3) = 0;
end
end
end

4.操作步骤与仿真结论

 

 

5.参考文献

[01]Terrillon J C, Shirazi M N, Fukamachi H, et al. Comparative performance of different skin chrominance models and chrominance spaces for the automatic detection of human faces in color images[C]//Proceedings. Fourth IEEE International Conference on Automatic Face and Gesture Recognition, 2000: 54-61.

[02]Jones M J, Rehg J M. Statistical color models with application to skin detection[J]. International Journal of Computer Vision, 2002, 46(1): 81-96.A10-40

标签:SVM,end,FaceRange,Gabor,FaceCell,j3,人脸识别,net
From: https://www.cnblogs.com/matlabfpga/p/16885773.html

相关文章

  • 拓端tecdat|R语言逻辑回归、随机森林、SVM支持向量机预测Framingham心脏病风险和模型
    简介世界卫生组织估计全世界每年有1200万人死于心脏病。在美国和其他发达国家,一半的死亡是由于心血管疾病。心血管疾病的早期预后可以帮助决定改变高危患者的生活方式,从......
  • SVM多分类--PYTHON
    importmatplotlib.pyplotaspltfromsklearnimportsvmfromsklearn.model_selectionimporttrain_test_splitimportnumpyasnpimportpandasaspdfromsklearn.svm......
  • 机器学习:人脸识别
    如果用CNN按分类做验证的话,会有以下问题需要每个人都给多个样本照片,比如每个人要提供100张自己的人脸照片供模型学习,这本来就不容易,加上人的数量也多,就更是个问题哪......
  • 随机森林+SVM+参数调优
    注意事项最好使用回归而不是分类,回归可以打分,可以认为划定阈值,从而调整灵敏和特异参数调优-以SVM为例fromsklearnimportsvmfromsklearn.model_selectionimport......
  • Linux下基于GTK人脸识别界面设计
    Linux下基于GTK人脸识别界面设计1.人脸识别简介    人脸识别,是基于人的脸部特征信息进行身份识别的一种生物识别技术。用摄像机或摄像头采集含有人脸的图像或视频流,......
  • 第11章 支撑向量机 SVM
     11-1什么是支持向量机           11-2支持向量机的效用函数推导               ......
  • cv学习总结(SVM,softmax)10.24-10.30
          本周完成了SVM课程笔记的阅读,包括SVM的基本原理以及SVM的优化过程,以及实现了SVM的两种损失函数(svm以及softmax)的线性分类器,以及学习了反向传播以及神经网......
  • 8. 百度人脸识别
    百度人脸识别人脸识别(FaceRecognition)基于图像或视频中的人脸检测、分析和比对技术,提供对您已获授权前提下的私有数据的人脸检测与属性分析、人脸对比、人脸搜索、活体检......
  • SVM(支持向量机)原理与应用
    1.支持向量机支持向量机(SupportVectorMachine,SVM)是一类按监督学习(supervisedlearning)方式对数据进行二元分类的广义线性分类器(generalizedlinearclassifier),其......
  • 「人脸识别」人工智能应用最广泛的技术,你了解多少?
    人脸是日常生活中最常见和最熟悉的生物特征。作为人工智能应用最广泛的技术,人脸识别常用于安防、支付、考勤、金融等领域,提升了人们生活的安全性和便捷性。什么是人脸识别......