在 python 中使用 Haar-Cascade 进行人脸检测

本文介绍了在Python的OpenCV库中利用预训练的Haar-Cascade进行人脸检测的方法,包括级联分类器的工作原理、加载XML文件、在图像和实时视频流中检测人脸,并探讨了其局限性和误报问题。
摘要由CSDN通过智能技术生成

bca17258d26b726b152d1c977b486992.png

介绍

在本文中,我们将讨论在 OpenCV python 中使用 Haar Cascade(级联)实现人脸检测器。

识别图像中的给定对象称为对象检测。可以使用多种技术来完成此任务,但在本文中,我们将使用带有预训练 XML 文件的 haar 级联。这是执行对象检测的最简单方法。

Haar 级联已用于低边缘设备上的对象检测,它是 OpenCV 中最流行的对象检测算法之一。

Haar 级联计算量不大;因此它适用于计算能力较小的小型设备。

Haar 级联

什么是 Haar 级联,它是如何工作的?

Haar 级联 是一种基于特征的对象检测算法,用于从图像中检测对象。Cascade 函数在大量正负图像上进行训练以进行检测。

该算法不需要大量计算并且可以实时运行。我们可以为动物、汽车、自行车等自定义对象训练自己的级联函数。

Haar 级联 不能用于人脸识别,因为它只能识别匹配的形状和大小。

Haar 级联使用 Cascade 函数和 Cascade 窗口。它尝试计算每个窗口的特征并进行正负分类。如果窗口可以是对象的一部分,则为正,否则为负。

4be5bc53079267cd5554ced42077aa5e.png

Haar 级联可以理解为二进制分类器。它为那些可以成为我们对象一部分的级联窗口指定正值,为那些不能成为我们对象的一部分的窗口指定负值。

  • Haar 级联可以实时工作。

  • 与现代对象检测算法相比,Haar 级联并不准确。

  • 它检测到许多误报。这可以在一定程度上进行调整,但不能完全删除。

  • 实现起来非常简单。

  • Haar 级联最大的缺点是它的误报检测。

预训练的 Haar 级联

有许多预训练的 haar 级联文件使实施变得超级容易。我们也可以训练自己的 haar 级联,但这需要大数据进行训练。

OpenCV 库在 GitHub 上管理所有流行的 haar 级联预训练文件的存储库

链接地址:https://github.com/opencv/opencv/tree/master/data/haarcascades

这些文件可用于各种对象检测任务,例如:

  • 人脸检测

  • 眼睛检测

  • 车辆检测

  • 鼻子/嘴巴检测

  • 身体检测

  • 车牌检测

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值