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


    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

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

    • 人脸检测

    • 眼睛检测

    • 车辆检测

    • 鼻子/嘴巴检测

    • 身体检测

    • 车牌检测

  • 相关阅读:
    jenkins分步式构建环境(agent)
    免疫沉淀常见问题解答 | MedChemExpress
    了解三层架构:表示层、业务逻辑层、数据访问层
    事件相关电位ERP的皮层溯源分析
    使用Cisco进行模拟配置OSPF路由协议
    课堂笔记| 第九章:容器和迭代器
    Bean 的生命周期总结
    基于ssm框架的大学生社团管理系统
    数据结构之折半插入排序
    springboot actuator 常用接口
  • 原文地址:https://blog.csdn.net/woshicver/article/details/128196064