博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
基于haar特征的Adaboost人脸检测技术
阅读量:7100 次
发布时间:2019-06-28

本文共 1202 字,大约阅读时间需要 4 分钟。

基于haar特征的Adaboost人脸检测技术

本文主要是对使用haar+Adabbost进行人脸检测的一些原理进行说明,主要是快找工作了,督促自己复习下~~

一、AdaBoost算法原理

  AdaBoost算法是一种迭代的算法,对于一组训练集,通过改变其中每个样本的分布概率,而得到不同的训练集Si,对于每一个Si进行训练从而得到一个弱分类器Hi,再将这些若分类器根据不同的权值组合起来,就得到了强分类器。

  第一次的时候,每个样本都是均匀分布,通过训练得到分类器H0,在该训练集中,分类正确的,就降低其分布概率;分类错误的,就提高其分布概率,这样得到的新的训练集S1就主要是针对不太好分类的样本了。再使用S1进行训练,得到分类器H1,依次迭代下去……,设迭代此外为T,则得到T个分类器。

  对于每个分类器的权值,其分类准确性越高,权值越高。

二、Haar特征

  2.1 特征样子

  就是一些矩形特征的模板,在viola&Jones的论文中,有下面这五种

在opencv中的方法中,有下面这14种,

 

 

  2.2 特种的个数

  对于一个给定的24X24的窗口,根据不同的位置,以及不同的缩放,可以产生超过160,000个特征。

  

  2.3 特征计算方法——积分图

  有点类似于动态规划的思想,一次计算,多次使用

  对应于两矩形特征2,矩阵A的值可以用i(5)+ii(1)-ii(4)-ii(2)表示,矩阵B的值用ii(6)+ii(2)-ii(3)-ii(5)表示

  根据定义,haar特征的值为白色矩形减去黑色矩形的值。

 

三、选取弱分类器

  一个弱分类器,实际上就是在这160,000+的特征中选取一个特征,用这个特征能够区分出人脸or非人脸,且错误率最低。

  现在有人脸样本2000张,非人脸样本4000张,这些样本都经过了归一化,大小都是24X24的图像。那么,对于160,000+中的任一特征fi,我们计算该特征在这2000人脸样本、4000非人脸样本上的值,这样就得到6000个特征值。将这些特征值排序,然后选取一个最佳的特征值,在该特征值下,对于特征fi来说,样本的加权错误率最低。选择160,000+个特征中,错误率最低的特征,用来判断人脸,这就是一个弱分类器,同时用此分类器对样本进行分类,并更新样本的权重。

  具体过程如下:

  1. 归一化权重:  

                        

  2、对于每一个特征f,训练一个弱分类器h;计算所以特征的加权错误率εf,        

                        

  3、选取具有最小错误率εf的弱分类器hi

  4、调整权重

 

四、级联成强分类器

  

五、检测

  检测过程中,通过不断的调整检测窗口的位置、比例,来找到人脸。

  

转载于:https://www.cnblogs.com/dylantsou/archive/2012/08/11/2633483.html

你可能感兴趣的文章
使用QEMU调试Linux内核代码
查看>>
WebRTC之带宽控制部分学习(1) ------基本demo的介绍
查看>>
java.lang.ClassNotFoundException: org.springframework.web.util.IntrospectorCleanupListener
查看>>
如何一秒钟从头构建一个 ASP.NET Core 中间件
查看>>
Maven修改默认本地资源库文件夹
查看>>
IntelliJ IDEA 使用心得与常用快捷键
查看>>
vivado设计四:自定义IP核测试
查看>>
洛谷P1887 乘积最大3
查看>>
C#设计模式之十八状态模式(State Pattern)【行为型】
查看>>
SpringCloud(一)浅谈SpringCloud
查看>>
spring getbean 方法分析(很实用!)
查看>>
Jquery autocomplete插件
查看>>
《老梁四大名著情商课》笔记- 刚上班,别做林黛玉,也别做孙悟空
查看>>
你真的了解分层架构吗?——写给被PetShop"毒害"的朋友们
查看>>
Asp.net 动态为TreeView创建结点
查看>>
dedecms 系统的 data/rssmap.html不存在!更新了也没有。。。
查看>>
博文共赏:Node.js静态文件服务器实战
查看>>
CS安装卸载测试总结(转)
查看>>
深入理解JavaScript系列(18):面向对象编程之ECMAScript实现(推荐)
查看>>
iphone开发之轻松搞定原生socket 编程,阻塞与非阻塞,收发自如
查看>>