OpenCV开发笔记(五十五):红胖子8分钟带你深入了解Haar、LBP特征以及级联分类器识别过程(图文并茂+浅显易懂+程序源码)

若该文为原创文章,未经允许不得转载
原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/106144767
各位读者,知识无穷而人力有穷,要么改需求,要么找专业人士,要么自己研究
红胖子(红模仿)的博文大全:开发技术集合(包含Qt实用技术、树莓派、三维、OpenCV、OpenGL、ffmpeg、OSG、单片机、软硬结合等等)持续更新中...(点击传送门)
OpenCV开发专栏(点击传送门)
上一篇:《OpenCV开发笔记(五十四):红胖子8分钟带你深入了解Haar级联分类器进行人脸检测(图文并茂+浅显易懂+程序源码)
下一篇:《OpenCV开发笔记(五十六):红胖子8分钟带你深入了解多种图形拟合逼近轮廓(图文并茂+浅显易懂+程序源码)

 

前言

  红胖子来也!!!
  上一篇使用了Haar级联分类器进行人脸识别,本篇章就了解Haar、LBP特征以及理解分类器的识别过程。

 

Haar(哈尔特征)

概述

  哈尔特征(Haar-like features)是用于物体识别的一种数字图像特征。它们因为与哈尔小波转换极为相似而得名,是第一种即时的人脸检测运算。
  哈尔特征使用检测窗口中指定位置的相邻矩形,计算每一个矩形的像素和并取其差值。然后用这些差值来对图像的子区域进行分类。 例如,当前有一个人脸图像集合。通过观察可以发现,眼睛的颜色要比两颊的深。因此,用于人脸检测的哈尔特征是分别放置在眼睛和脸颊的两个相邻矩形。这些矩形的位置则通过类似于人脸图像的外接矩形的检测窗口进行定义。
  哈尔特征最主要的优势是它的计算非常快速。使用一个称为积分图的结构,任意尺寸的哈尔特征可以在常数时间内进行计算。
  Haar特征分为四类:边缘特征、线性特征、中心特征和对角线特征,组合成特征模板。

原理

  Harr特征也成Haar-like特征,是一种简单且高效的图像特征,其基于矩形区域相似的强度差异性Haar小波。
  最原始的Haar-like特征在2002年的《A general framework for object detection》提出,它定义了四个基本特征结构,如下图:
   在这里插入图片描述
  在持续的发展中,又增加12种特征,扩招到16种特征:
  在这里插入图片描述
  可以将上图每一个特征理解成为一个窗口,这个窗口将在图像中做步长为1的滑动,最终遍历整个图像。
  在详细讲解级联匹配之前,先附上一张图片的转换后的阈值灰度分布图:
  在这里插入图片描述
  如下图:
  在这里插入图片描述
  可以进一步增加特征提取,增加强分类器如下图:
  在这里插入图片描述

 

级联分类器、强分类器和弱分类器

  • 级联分类器:级联分类器由n个强分类器(n >= 1,姑且把1算进去)
  • 强分类器:强分类器由n个弱分类器(n >= 1,姑且把1算进去)
  • 弱分类器:使用基本的一个特征进行分类的

 

识别过程

  见图:在这里插入图片描述

 

LBP特征

概述

  原始的LBP算子定义为在3∗3的窗口内,以窗口中心像素为阈值,将相邻的8个像素的灰度值与其进行比较,若周围像素值大于等于中心像素值,则该像素点的位置被标记为1,否则为0。这样,3∗3邻域内的8个点经比较可产生8位二进制数(通常转换为十进制数即LBP码,共256种),即得到该窗口中心像素点的LBP值,并用这个值来反映该区域的纹理信息。需要注意的是,LBP值是按照顺时针方向组成的二进制数。

LPB原理

  LPB特征匹配跟Haar相似,但又不同,如下:
  在这里插入图片描述

LBP特征的圆形化改进

  基本的 LBP算子的最大缺陷在于它只覆盖了一个固定半径范围内的小区域,这显然不能满足不同尺寸和频率纹理的需要。为了适应不同尺度的纹理特征,并达到灰度和旋转不变性的要求,Ojala等对 LBP 算子进行了改进,将 3×3邻域扩展到任意邻域,并用圆形邻域代替了正方形邻域,改进后的LBP算子允许在半径为 R 的圆形邻域内有任意多个像素点。从而得到了诸如半径为R的圆形区域内含有P个采样点的LBP算子,称为Extended LBP,也叫Circular LBP。   如下图:
  在这里插入图片描述
  可以采样多个点(不限于8个),采样的半径可以扩大,这个根据开发者设自身去调整优化,找到合适目标场景的。

 

上一篇:《OpenCV开发笔记(五十四):红胖子8分钟带你深入了解Haar级联分类器进行人脸检测(图文并茂+浅显易懂+程序源码)
下一篇:《OpenCV开发笔记(五十六):红胖子8分钟带你深入了解多种图形拟合逼近轮廓(图文并茂+浅显易懂+程序源码)


原博主博客地址:https://blog.csdn.net/qq21497936
原博主博客导航:https://blog.csdn.net/qq21497936/article/details/102478062
本文章博客地址:https://blog.csdn.net/qq21497936/article/details/106144767

posted @ 2020-05-15 21:11  红胖子(红模仿)  阅读(...)  评论(...编辑  收藏