OpenCV 人脸检测与识别全解析
计算机视觉让许多听起来很有未来感的任务成为现实,其中人脸检测(在图像中定位人脸)和人脸识别(将人脸识别为特定的人)是两个重要的任务。OpenCV 实现了多种用于人脸检测和识别的算法,这些算法在从安全到娱乐等各种现实场景中都有应用。
1. 技术要求
在进行人脸检测和识别的操作时,我们需要用到 Python、OpenCV 和 NumPy。同时,会使用到 OpenCV 可选的 opencv_contrib 模块,该模块包含了人脸识别的功能。部分操作还会用到 OpenCV 对 OpenNI 2 的可选支持,用于从深度相机捕获图像。
2. Haar 级联概念解析
在处理图像分类和定位问题时,图像的细节信息往往因光照、视角、距离、相机抖动和数字噪声等因素而不稳定,而且并非所有物理细节差异都对分类有意义。因此,提取图像特征是实现稳定分类和跟踪结果的有效方法。
Haar 类特征是常用于实时人脸检测的一种特征。每个 Haar 类特征描述了相邻图像区域之间的对比度模式,例如边缘、顶点和细线等都会产生特定的特征。一些特征具有独特性,通常只出现在特定类别的对象(如人脸)中,而不出现在其他对象中。这些独特的特征可以组织成一个层次结构,即级联,其中最高层包含最具独特性的特征,使分类器能够快速排除不具备这些特征的对象。
为了使 Haar 级联分类器具有尺度不变性,会保持窗口大小不变,对图像进行多次缩放,形成图像金字塔。OpenCV 提供了一个尺度不变的分类器,可以从特定格式的 XML 文件中加载 Haar 级联,该分类器会将输入图像转换为图像金字塔。不过,OpenCV 实现的 Ha
OpenCV人脸检测与识别详解
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



