0


Haar级联分类器概述

Haar级联分类器概述

—— 才疏学浅, 难免有错误和遗漏, 欢迎补充和勘误.

  • Haar级联分类器是基于Haar-like特征,运用积分图加速计算,并用Adaboost训练的强分类器级联的方法来进行人脸检测。

  • 目前常用Haar-like特征的分类有:在这里插入图片描述

    图1. Haar-like特征分类

  • 首先定义每个Haar-like特征的特征值 f i f_i fi​为: featurevalue i = {i}= i​= weight white ∑ p ∈ wite p \sum{p \in \text { wite }} p ∑p∈ wite ​p - weightblack ∑ p Eblack p \sum_{p \text { Eblack }} p ∑p Eblack ​p 即 f i f_i fi​=白色区域像素-黑色区域像素,weight为权重值,其是为了白、黑两种矩形区域的像素数目一致,保证在灰度绝对均匀的地方其特征值是0。

  • Haar-like特征的值经过运算可以反映该区域的灰度变化情况,将一副输入图像的每一个区域也做类似的运算后与训练集中图像的Haar-like特征值对比,如图2所示,根据生活实际我们有以下常识:在人脸上鼻梁两边部位的颜色比鼻梁处更深,两个眼睛部位的颜色比旁边脸颊处更深等,所以可以据此判断输入图像是否具有人脸特征。在这里插入图片描述

    图2. Haar-like特征在人脸图中的应用

  • 特征模板经过平移、伸缩变换得到一系列新的矩形特征。矩形特征根据其类型、位置和大小的不同,可以在一副图像中可以生成非常多的矩形特征从而增大了计算压力,所以需要运用积分图的方法来提高特征值的计算效率。

  • 积分图的构造方式是:位于图像 ( i , j ) (i,j) (i,j)处的积分图 i i ( i , j ) ii(i,j) ii(i,j)是该处左上角方向所有像素 f ( k , l ) f(k,l) f(k,l)的和:integral_image ( i , j ) = i i ( i , j ) = ∑ k ≤ i , l ≤ j f ( k , l ) (i, j)=i i(i, j)=\sum_{k \leq i, l \leq j} f(k, l) (i,j)=ii(i,j)=∑k≤i,l≤j​f(k,l)

  • 积分图在图像各个点的处上储存了其左上角所有像素的和,下面是对图像中某一区域运用积分图计算Haar-like特征来得到其特征值:在这里插入图片描述

    图3. 矩形特在坐标中的表示

区域A的像素值为:

  1. i
  2. i
  3. (
  4. 5
  5. )
  6. +
  7. i
  8. i
  9. (
  10. 1
  11. )
  12. i
  13. i
  14. (
  15. 2
  16. )
  17. i
  18. i
  19. (
  20. 4
  21. )
  22. ii(5) + ii(1) - ii(2) - ii(4)
  23. ii(5)+ii(1)−ii(2)−ii(4),

区域B的像素值为:

  1. i
  2. i
  3. (
  4. 6
  5. )
  6. +
  7. i
  8. i
  9. (
  10. 2
  11. )
  12. i
  13. i
  14. (
  15. 5
  16. )
  17. i
  18. i
  19. (
  20. 3
  21. )
  22. ii(6) + ii(2) - ii(5) - ii(3)
  23. ii(6)+ii(2)−ii(5)−ii(3)。

该矩形特征的特征值为:

  1. i
  2. i
  3. (
  4. 5
  5. )
  6. +
  7. i
  8. i
  9. (
  10. 1
  11. )
  12. i
  13. i
  14. (
  15. 2
  16. )
  17. i
  18. i
  19. (
  20. 4
  21. )
  22. [
  23. i
  24. i
  25. (
  26. 6
  27. )
  28. +
  29. i
  30. i
  31. (
  32. 2
  33. )
  34. i
  35. i
  36. (
  37. 5
  38. )
  39. i
  40. i
  41. (
  42. 3
  43. )
  44. ]
  45. =
  46. [
  47. i
  48. i
  49. (
  50. 5
  51. )
  52. i
  53. i
  54. (
  55. 4
  56. )
  57. ]
  58. +
  59. [
  60. i
  61. i
  62. (
  63. 3
  64. )
  65. i
  66. i
  67. (
  68. 2
  69. )
  70. ]
  71. [
  72. i
  73. i
  74. (
  75. 2
  76. )
  77. i
  78. i
  79. (
  80. 1
  81. )
  82. ]
  83. [
  84. i
  85. i
  86. (
  87. 6
  88. )
  89. i
  90. i
  91. (
  92. 5
  93. )
  94. ]
  95. \begin{array}{l} ii(5) + ii(1) - ii(2) - ii(4) - \left[ {ii(6) + ii(2) - ii(5) - ii(3)} \right]\\ = \left[ {ii(5) - ii(4)} \right] + \left[ {ii(3) - ii(2)} \right] - \left[ {ii(2) - ii(1)} \right] - \left[ {ii(6) - ii(5)} \right] \end{array}
  96. ii(5)+ii(1)−ii(2)−ii(4)−[ii(6)+ii(2)−ii(5)−ii(3)]=[ii(5)−ii(4)]+[ii(3)−ii(2)]−[ii(2)−ii(1)]−[ii(6)−ii(5)]​
  • 对于 m m m个正、负样本图像中的某个固定特征fi计算出每张图像该特征的特征值,将计算出的 m m m个特征值进行排序和打标识,然后根据上节(基于AdaBoost级联分类器的人脸/眼睛位置检测算法概述)1.中的原理取到最优阈值并获得该特征下的最优弱分类器,根据上节2.和3.原理来训练出该特征的强分类器,最终通过级联的方式获得Haar级联分类器。下图为运用Haar级联分类器来检测人脸的过程:在这里插入图片描述

    图4. Haar级联分类器检测人脸过程


本文转载自: https://blog.csdn.net/weixin_43667730/article/details/123280461
版权归原作者 地瓜你个大番薯 所有, 如有侵权,请联系我们删除。

“Haar级联分类器概述”的评论:

还没有评论