人脸识别的原理——Haar 特征
OpenCV 中提供了关于人脸识别的算法,它主要使用 Haar 级联的概念。
1.Haar 特征
人脸识别使用 Haar 级联分类器,通过对比分析相邻图像区域来判断给定图像或子图像与 已知对象是否匹配。Haar 特征分为 4 种类型:边缘特征、线性特征、中心特征和对角线特征。将这些特征组合成特征模板,特征模板内有白色和黑色两种矩形,并定义该模板的特征值为白 色矩形像素之和减去黑色矩形像素之和。Lienhart R.等人对 Haar-like 矩形特征库做了进一步 扩展,扩展后的特征大致分为 4 种类型——边缘特征、线性特征、圆心环绕特征和特定方向 特征,如图 1所示。
图 1 扩展后的 Haar 特征
Haar 特征的提取简单来说就是通过不断改变模板的大小、位置和类型,将白色矩形区域 像素之和减去黑色矩形区域像素之和,从而得到每种类型模板的大量子特征。
2.积分图
计算 Haar 的特征值需要计算图像中封闭矩形区域的像素值 之和,在不断改变模板大小和位置来获取子特征的情况下,计算 大量的多重尺度区域可能会需要遍历每个矩形的每个像素点的 像素值,且同一个像素点如果被包含在不同的矩形中会被重复遍 历多次。这就导致了大量的计算和高复杂度,并且包含了大量不 必要的操作,因此可以用积分图来减少计算量。
积分图的原理是从第二次遍历图像开始,通过第一次遍历图 像时保留下来的矩形区域 4 个角的值来提供需要的像素的总和。我们通过图 2 所示的积分原图可以更好地理解这个概念,因 此如果需要计算图像中任意矩形区域的面积,就不需要遍历区域 内的所有像素点。
图 2 积分原图
例如,计算图 12.5 中矩形 ABCD 的面积。将矩形 ABCD 的面积记为 S1,图中左顶点记为 O 点,以 O 点与 A 点连线为对角线的矩形面积记为 S2,以 O 点与 B 点连线为对角线的矩形面 积记为 S3,以 O 点与 C 点连线为对角线的矩形面积记为 S4,以 O 点与 D 点连线为对角线的矩 形面积记为 S5,如图 3所示。
图 3 O 点对应的不同矩形区域
有了 4 个区域的面积后,就可以通过 S2、S3、S4 和 S5 来计算出 S1 的面积了,如式所示。
提取目标图像的 Haar 特征需要计算多个尺度矩形的和。这些计算是重复的,因为遍历图 像时反复遍历了同一个像素点,而这会导致系统运行速度缓慢且效率低下,并且这对构建一个 实时的人脸识别系统来说是不可行的,因为卡顿会造成用户体验不好的情况。
其实不需要多次遍历相同的像素点。运用积分图的思想,如果要计算任意一个矩形区域, 上述公式等号右边的所有值在积分图像中都是易于获取的,之后只需要用正确的值替代它们就 可以比较轻松地提取相关特征了,从而大幅度减少了计算量。
3.Haar 级联
Haar 级联是一个基于 Haar 特征的级联分类器,级联分类器能够把弱分类器串联成强分 类器。弱分类器可以理解为性能受限的分类器,它们没有办法正确地区分所有事物。当问题 很简单时,弱分类器产生的结果是可以接受的,但是问题一旦复杂起来,结果就会出现很大的偏差。强分类器可以正确地对数据进行分类,建立一个实时系统来保证分类器运行良好并 且足够简单。
在强相连与弱相连之间,唯一需要考虑的就是分类器够不够精确的问题。如果试图获得更 精确的结果,那么最终系统就会变成计算密集型,但运行速度慢的系统。精确度和速度的取舍 在机器学习中十分常见。将一些弱分类器串联成一个统一的强分类器可以解决这个问题。弱分 类器本身面对的问题的需求不需要太精确,将它们串联起来形成的强分类器具有高精确度、低 速度的特点。
相关文章
- 从本体论开始说起——运营商关系图谱的构建及应用
- 如何成为一名数据科学家?
- 从未见过的堂兄杀了人,你的DNA是关键证据
- 20个安全可靠的免费数据源,各领域数据任你挑
- 20个安全可靠的免费数据源,各领域数据任你挑
- 阿里云李飞飞:All in Cloud时代,云原生数据库优势明显
- 基于Hadoop生态系统的一高性能数据存储格式CarbonData(性能篇)
- 大数据告诉你:10年漫威,到底有多少角色
- TigerGraph:实时图数据库助力金融风控升级
- Splunk利用Splunk Connected Experiences和Splunk Business Flow 扩大数据访问
- 大数据开发常见的9种数据分析手段
- 以免在景区看人,我爬了5W条全国景点门票数据...
- 【实战解析】基于HBase的大数据存储在京东的应用场景
- 数据科学家告诉你哪些计算机科学书籍是你应该看的
- Kafka作为大数据的核心技术,你了解多少?
- Spring Boot 整合 Redis 实现缓存操作
- 大数据学习必须掌握的五大核心技术有哪些?
- 基于Antlr在Apache Flink中实现监控规则DSL化的探索实践
- 甲骨文再次被Gartner评为分析型数据管理解决方案魔力象限领导者
- 爬取吴亦凡微博102118条转发数据,扒一扒流量的真假