前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >基于adaboost的人脸快速检测

基于adaboost的人脸快速检测

作者头像
JNJYan
发布2019-01-18 09:57:18
5040
发布2019-01-18 09:57:18
举报
文章被收录于专栏:算法工程师的养成之路

人脸检测方法

  • 基于规则/知识方法 归纳描述人脸特征的规则,如灰度分布、比例关系、纹理信息等.
  • 基于模板的方法 固定模板法、可变形模板法
  • 基于不变特征的方法 如彩色信息,基于肤色
  • 基于表观分类器学习的方法 将人脸检测视为区分非人脸样本和人脸样本的PR问题.

基于肤色特征的检测

RGB、normalized RGB、HSV、YIQ、YES、CIE XYZ、CIE LUV等.

高斯肤色模型

  • 一元正态分布肤色模型,以F颜色特征为例 F N(μ,σ)μ=1N∑i=1NFi,σ2=1N−1∑i=1N(Fi−μ)2 F~N(\mu,\sigma)\\ \mu = \frac{1}{N}\sum_{i=1}^NF_i,\sigma^2 = \frac{1}{N-1}\sum_{i=1}^N(F_i-\mu)^2 F N(μ,σ)μ=N1​i=1∑N​Fi​,σ2=N−11​i=1∑N​(Fi​−μ)2
一元正态分布肤色.jpg
一元正态分布肤色.jpg
  • 二元正态分布肤色模型 N(μ,∑),where μ=(rˉ,gˉ)rˉ=1N∑i=1Nri,gˉ=1N∑i=1Ngi∑=[σrrσrgσgrσgg] N(\mu,\sum),where\ \ \mu=(\bar{r},\bar{g})\\ \bar{r} = \frac{1}{N}\sum_{i=1}^Nr_i,\bar{g} = \frac{1}{N}\sum_{i=1}^Ng_i\\ \sum = \bigg[\begin{matrix} \sigma_{rr}&\sigma_{rg}\\ \sigma_{gr}&\sigma_{gg} \end{matrix}\bigg] N(μ,∑),where μ=(rˉ,gˉ​)rˉ=N1​i=1∑N​ri​,gˉ​=N1​i=1∑N​gi​∑=[σrr​σgr​​σrg​σgg​​]
二元正态分布肤色.jpg
二元正态分布肤色.jpg
  • 多人脸训练肤色模型 训练肤色模型
    • 手工标注部分人脸图象
    • 统计方法得到μ,∑\mu,\sumμ,∑
    • 设置合适的阈值截断

    测试阶段

    • 逐像素判断其是否在设定的肤色特征范围内

肤色模型的缺点

  • 肤色模型难以适应各种环境光照变化
    • 背景和前景的光照变化,肤色通常不稳定.
    • 单纯的肤色信息对于人脸检测通常是不充分的.
  • 如何适应在不同光照下的人脸跟踪
    • 如果环境光照有变化,原有的肤色模型可能不再适用,如何建立一个自适应的肤色模型.

基于AdaBoost的快速人脸检测

  1. 采用简单的Haar-like矩形特征作为弱特征,可快速计算.
  2. 基于AdaBoost的分类器设计.
  3. 采用了Cascade(分级分类器)技术提高检测速度.

Haar-like矩形特征

所有白色矩形中像素的亮度值的和,减去所有灰色矩形中点的亮度值的和,得到的差即为Haar-like特征.

Haar-like特征.jpg
Haar-like特征.jpg

Haar-like特征的表示

可以用一个五元组来表示

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

Haar-like.png
Haar-like.png

快速计算任意矩阵内所有像素的亮度之和

利用动态规划的思想求任意一点左上角的所有像素亮度积分值ii(x,y)ii(x,y)ii(x,y).

矩形D内像素亮度积分值:

=ii(4)−(ii(2)+ii(3))+ii(1)ii(4)-(ii(2)+ii(3))+ii(1)ii(4)−(ii(2)+ii(3))+ii(1)

Haar-like计算.jpg
Haar-like计算.jpg

AdaBoost

采用AdaBoost算法对Haar-like矩形特征进行分类,为了求得在图像中所有尺寸及角度的人脸,我们需要采取所有可能的矩阵大小甚至旋转对整个图像遍历多次.

基于AdaBoost的快速人脸检测

基于分级分类器的加速策略

  • 大量候选窗口可以利用非常少的特征就可以排除是人脸的可能性。
  • 只有极少数需要大量特征.

分级分类器的构建

  • 采用由粗至细的思想(coarse to fine)
    • 将少量区分性好的特征构成简单分类器置于前面若干层. 放过检测绝大数人脸的同时,排除大量非脸.
    • 后面曾包含更多次重要的特征对非脸进行进一步排除.
  • 训练方法关键思路 每层训练的非脸样本使用前面层分类器误判为人脸的那些样本.
coarsetofine.png
coarsetofine.png
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019年01月01日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 人脸检测方法
    • 基于肤色特征的检测
      • 高斯肤色模型
      • 肤色模型的缺点
  • 基于AdaBoost的快速人脸检测
    • Haar-like矩形特征
      • Haar-like特征的表示
        • 快速计算任意矩阵内所有像素的亮度之和
          • AdaBoost
            • 基于AdaBoost的快速人脸检测
              • 基于分级分类器的加速策略
              • 分级分类器的构建
          相关产品与服务
          人脸识别
          腾讯云神图·人脸识别(Face Recognition)基于腾讯优图强大的面部分析技术,提供包括人脸检测与分析、比对、搜索、验证、五官定位、活体检测等多种功能,为开发者和企业提供高性能高可用的人脸识别服务。 可应用于在线娱乐、在线身份认证等多种应用场景,充分满足各行业客户的人脸属性识别及用户身份确认等需求。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档