人脸检测算法

人脸检测算法分类

目前人脸检测方法主要分为两大类,基于知识和基于统计。

基于知识的人脸检测方法主要包括:模板匹配 template matching ,人脸特征,形状与边缘,纹理特征,颜色特征,surf/sift detector 在opencv的features2d中实现了SIFT和SURF算法,可以用于图像特征点的自动检测。https://www.baidu.com/s?ie=UTF-8&wd=surf/sift%20detector

基于统计的人脸检测方法主要包括:主成分分析PCA 与特征脸法,神经网络模型,隐马尔可夫模型,支持向量机SVM,Adaboost算法。

基于知识的方法将人脸看成不同特征的特定组合,即通过人脸的眼睛、嘴巴、鼻子、耳朵等特征及其组合关系来检测人脸,即基于人类知识常识出发。如果检测目标比较固定且对时间要求不高,可以考虑用这类方法。但有些应用是没法提供模板的,或者说模板太多(一一匹配的话检测时间无法接受),又或者说我们需要容忍更大程度或更多样的形变(如人脸,行人等)。这时候就要考虑用基于统计的方法了。

基于统计的方法将人脸看成统一的二维像素矩阵,通过大量的样本构建人脸子空间,通过相似度的大小来判断人脸是否存在,即从数学角度出发,就得有大量的样本,分类器对这些样本进行学习来获得参数。得到目标分类器后,要进行检测时就很快了。

SVM (support vector machine):SVM入门级解释及SVM如何处理线性不可分   

非线性:核函数(Kernel Function) 映射

要分的种类多:一对一 多个SVM 分类器  计算复杂度会很高;一对多 比一对一少一些 ;应用二叉树 比一对多少一个 但容错性低

SVR Support Vector Regression : 支持向量机(SVM)本身是针对二分类问题提出的,而SVR(支持向量回归)是SVM(支持向量机)中的一个重要的应用分支。SVR回归与SVM分类的区别在于,SVR的样本点最终只有一类,它所寻求的最优超平面不是SVM那样使两类或多类样本点分的“最开”,而是使所有的样本点离着超平面的总偏差最小。

        SVM是要使到超平面最近的样本点的“距离”最大;

        SVR则是要使到超平面最远的样本点的“距离”最小。https://blog.csdn.net/qq_41909317/article/details/88542892

 

posted @ 2021-10-21 16:36  不行这个名字不够霸气  阅读(355)  评论(0编辑  收藏  举报