基于AdaBoost算法——世纪晟结合Haar-like特征训练人脸检测识别

 

AdaBoost?算法是一种快速人脸检测算法,它将根据弱学习的反馈,适应性地调整假设的错误率,使在效率不降低的情况下,检测正确率得到了很大的提高。

 

系统在技术上的三个贡献:

1.用简单的Haar-like矩形特征作特征,可快速计算

2.基于AdaBoost的分类器设计

3.采用了Cascade(分级分类器)技术提高检测速度

人脸的特征表示方法——Haar-like矩形特征

 

矩形特征的值是所有白色矩形中点的亮度值的和减去所有灰色矩形中点的亮度值的和,所得到的差

具体特征可以用一个五元组表示 r(x,y,w,h,style)

比如:r(2,2,4,2,A)表示下面的特征

特征值即为白色四个像素与黑色四个像素的差值

Haar-Like特征的快速计算

矩形特征的计算

- 像素点1的积分值是矩形A中所有点的亮度值的和

- 像素点2的积分值是A+B

- 像素点3的积分值是A+C,

- 像素点4的积分值是A+B+C+D.

- 矩形D内像素积分值:

计算流程

AdaBoost用于人脸模式分类

输入——

1.训练用人脸和非脸样本

2.指定要挑选出来的弱分类器的数目T——这也是程序循环的次数

3.利用先验知识初始化权值向量——一般可以平均设置

Adaboost学习算法流程

原文地址:https://www.cnblogs.com/sjskj/p/9700825.html

时间: 2024-10-14 23:16:18

基于AdaBoost算法——世纪晟结合Haar-like特征训练人脸检测识别的相关文章

Adaboost算法详解(haar人脸检测)

Adaboost是一种迭代算法,其核心思想是针对同一个训练集训练不同的分类器(弱分类器),然后把这些弱分类器集合起来,构成一个更强的最终分类器(强分类器).Adaboost算法本身是通过改变数据分布来实现的,它根据每次训练集之中每个样本的分类是否正确,以及上次的总体分类的准确率,来确定每个样本的权值.将修改过权值的新数据集送给下层分类器进行训练,最后将每次得到的分类器最后融合起来,作为最后的决策分类器. 算法概述 1.先通过对N个训练样本的学习得到第一个弱分类器: 2.将分错的样本和其他的新数据

OpenFace库(Tadas Baltrusaitis)中基于Haar Cascade Classifiers进行人脸检测的测试代码

Tadas Baltrusaitis的OpenFace是一个开源的面部行为分析工具,它的源码可以从 https://github.com/TadasBaltrusaitis/OpenFace 下载.OpenFace主要包括面部关键点检测(facial landmard detection).头部姿势估计(head pose estimation).面部动作单元识别(facial action unit recognition).人眼视线方向估计(eye gaze estimation). 编译T

基于QT和OpenCV的人脸检测识别系统(1)

人脸识别分为两大步骤 1.人脸检测 这个是首要实现的,你得实现人脸显示的时候把人脸框出来,当然算法很多,还有一些人眼检测鼻子检测什么的 主要用的是这个 const char *faceCascadeFilename = "haarcascade_frontalface_alt.xml"; detect_and_draw(IplImageBuffer,storage,cascade); 这个函数就是检测人脸的并画框效果如下 主要代码如下 void Chenaini::detect_and

【人脸检测——基于机器学习3】AdaBoost算法

简介 主要工作 AdaBoost算法的人脸检测算法包含的主要工作:(1)通过积分图快速求得Haar特征:(2)利用AdaBoost算法从大量的特征中选择出判别能力较强的少数特征用于人脸检测分类:(3)提出一个级联结构模型,将若干个弱分类器集成一个强分类器,其能够快速排除非人脸区域,提高算法的检测速度. 2. AdaBoost算法具体描述 AdaBoost算法的原理是通过逐级增强的方法将弱分类器组合成为分类效果较好的强分类器,具体来说: (1) 给定一个弱学习算法和一个训练集,其中是输入的训练样本

浅析人脸检测之Haar分类器方法:Haar特征、积分图、 AdaBoost 、级联

浅析人脸检测之Haar分类器方法 一.Haar分类器的前世今生 人脸检测属于计算机视觉的范畴,早期人们的主要研究方向是人脸识别,即根据人脸来识别人物的身份,后来在复杂背景下的人脸检测需求越来越大,人脸检测也逐渐作为一个单独的研究方向发展起来. 目前的人脸检测方法主要有两大类:基于知识和基于统计. Ø  基于知识的方法:主要利用先验知识将人脸看作器官特征的组合,根据眼睛.眉毛.嘴巴.鼻子等器官的特征以及相互之间的几何位置关系来检测人脸. Ø  基于统计的方法:将人脸看作一个整体的模式——二维像素矩

人脸检测之Haar-like,Adaboost,级联(cascade)

0:写在前面的话 写在前面的牢骚话,作为一个非主流工程师,我专业与目前工作都与这些知识相隔十万八千里,所以,我所学习和实现的完全是因为兴趣,目前还研究学习的很浅,谈不上高深,所以还是要继续努力学习.希望和大家多交流,也欢迎伪大牛,假专家板砖伺候,也希望真大牛多指点(真大牛不会啰嗦一堆来显得他知道的多,哈哈),总之,本人还在菜鸟阶段,欢迎指教.0.0本文如有错误请及时留言指出,博主会在第一时间修改,确保不会对其他读者产生副作用. 1:人脸检测与识别 人脸识别系统主要包括四个组成部分,分别为:人脸图

人脸识别系列之人脸检测--训练基于肤色特征的检测

前言: 基于特征的方法是利用人脸的先验知识导出的规则进行人脸检测. 一般来说,常用的特征包括人脸和人脸器官典型的边缘和形状特征(如人脸轮廓.虹膜轮廓.嘴唇轮廓等).纹理特征(纹理是在图上表现为灰度或颜色分布的某种规律性,这种规律性在不同类别的纹理中有其不同特点,人脸有其特定的纹理特征).颜色特征(人脸肤色特征,目前主要有RGB,HSV,YCbCr,YIQ,HIS等彩色空间模型被用来表示人脸的肤色,从而进行基于颜色信息的人脸检测方法的研究). 人脸检测的方法: 基于规则/知识方法 – 人脸模式的变

基于Haar特征的Adaboost级联人脸检测分类器

基于Haar特征的Adaboost级联人脸检测分类器,简称haar分类器.通过这个算法的名字,我们可以看到这个算法其实包含了几个关键点:Haar特征.Adaboost.级联.理解了这三个词对该算法基本就掌握了. 1        算法要点 Haar分类器 = Haar-like特征 + 积分图方法 + AdaBoost +级联: Haar分类器算法的要点如下: a)        使用Haar-like特征做检测. b)       使用积分图(IntegralImage)对Haar-like特

基于Haar特征Adaboost人脸检测级联分类

基于Haar特征Adaboost人脸检测级联分类,称haar分类器. 通过这个算法的名字,我们能够看到这个算法事实上包括了几个关键点:Haar特征.Adaboost.级联.理解了这三个词对该算法基本就掌握了. 1        算法要点 Haar分类器 = Haar-like特征 + 积分图方法 + AdaBoost +级联: Haar分类器算法的要点例如以下: a)        使用Haar-like特征做检測. b)       使用积分图(IntegralImage)对Haar-like