OpenCV2D 特征框架 (18)目标检测之级联分类器

server/2025/2/12 23:06:01/
  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

下面描述的目标检测器最初由保罗·维奥拉[280]提出,并由莱纳·连哈特[163]改进。

首先,使用几百个特定对象(例如人脸或汽车)的样本视图(称为正样本),这些样本被缩放到相同大小(比如20x20像素),以及负样本——即相同大小的任意图像,训练一个分类器(具体来说,是一个基于Haar-like特征工作的增强分类器级联)。

训练完分类器后,它可以应用于输入图像中感兴趣区域(与训练时使用的大小相同)。如果该区域可能显示对象(即人脸/汽车),则分类器输出“1”;否则输出“0”。要在整个图像中搜索对象,可以通过在图像上移动搜索窗口并使用分类器检查每个位置。设计分类器以便它可以很容易地“调整大小”,以不同尺寸找到感兴趣的物体,这比调整图像本身的大小更有效。因此,为了在图像中找到未知大小的对象,应该在不同的尺度上多次执行扫描过程。

分类器名称中的“cascade(级联)”一词意味着最终的分类器由几个简单的分类器(阶段)组成,这些分类器依次应用于感兴趣区域,直到候选对象在某个阶段被拒绝或者通过了所有阶段。“boosted(增强)”这个词意味着级联中每个阶段的分类器本身都很复杂,它们是通过四种不同的增强技术之一(加权投票)从基本分类器构建出来的。目前支持的技术有离散Adaboost、实数Adaboost、温和Adaboost和Logitboost。基本分类器是至少有两个叶子的决策树分类器,Haar-like特征作为基本分类器的输入,其计算方式如下所述。当前算法使用以下Haar-like特征:

这段直译解释了基于Haar-like特征的目标检测器的工作原理,包括如何训练这样一个分类器,以及它是如何应用于实际图像中的目标检测任务的。它还介绍了术语“cascade”和“boosted”的含义,以及所涉及的基本分类器类型和技术。请注意,原文提到的具体Haar-like特征列表未在此段落中给出,但通常指的是各种类型的边缘、线和中心对比度等特征。
在这里插入图片描述
特定分类器中使用的特征由其形状(1a、2b等)、感兴趣区域内的位置及其尺度指定(需要注意的是,这里的尺度与检测阶段使用的尺度不同,但这两个尺度会相乘)。例如,在第三行特征(2c)的情况下,响应是通过计算覆盖整个特征(包括两个白色条纹和中间的黑色条纹)的矩形下的图像像素之和与黑色条纹下的图像像素之和乘以3之间的差来确定的,这样做是为了补偿不同区域大小上的差异。通过使用积分图像可以快速计算矩形区域上的像素值总和(见下文及积分图描述)。

请参阅相应的教程以获取更多详细信息。

以下参考仅适用于检测部分。还有一个名为opencv_traincascade的独立应用程序,可以从一组样本中训练级联增强分类器。

注意:
在新的C++接口中,除了Haar-like特征外,还可以使用LBP(局部二进制模式)特征。…

[Viola01] Paul Viola 和 Michael J. Jones. Rapid Object Detection using a Boosted Cascade of Simple Features. IEEE CVPR, 2001. 该论文可在线访问于 https://github.com/SvHey/thesis/blob/master/Literature/ObjectDetection/violaJones_CVPR2001.pdf


http://www.ppmy.cn/server/167177.html

相关文章

[C#].net顶级语句省略main方法内容

.net顶级语句省略main方法 内容复制自:docs.microsoft.com/zh-cn/dotnet/csharp/whats-new/tutorials/top-level-statements 先决条件 需要将计算机设置为运行 .NET 6,其中包括 C# 10 编译器。 自 Visual Studio 2022 或 .NET 6 SDK 起,开…

MongoDB 的使用场景

一、内容管理系统 1. 博客平台 文章内容、作者信息、标签、评论等数据结构多样,MongoDB 的无模式特性可轻松应对。比如 WordPress 等博客系统,使用 MongoDB 能灵活存储不同格式和长度的文章内容,以及与文章相关的各种元数据。 2. 新闻网站…

rpx和px混用方案

(1)创建一个全局的样式配置文件: // styles/variables.scss :root {// 基础字体大小--font-size-xs: 12px;--font-size-sm: 14px;--font-size-md: 16px;--font-size-lg: 18px;// 响应式间距--spacing-xs: 5px;--spacing-sm: 10px;--spacing-…

OpenHarmony应用开发学习路线与资源指南

OpenHarmony应用开发学习路线与资源指南 本文基于官方文档为OpenHarmony开发者设计一条系统的学习路径,并梳理核心知识点框架。以下为学习路线思维导图的结构化呈现: #mermaid-svg-JWYC574nXzAHW0Ab {font-family:"trebuchet ms",verdana,arial,sans-serif;font-s…

在postman中设置环境变量和全局变量以及五大常用响应体断言

一、什么是环境变量和全局变量 环境变量(Environment Variables)和全局变量(Global Variables)是 Postman 中用于存储和管理数据的两种变量类型,它们可以提高 API 测试的灵活性和可维护性。 1、 环境变量&#xff08…

Oracle(OCP和OCM)

Oracle的OCP(Oracle Certified Professional)和OCM(Oracle Certified Master)是数据库领域广受认可的专业认证,分别针对不同技术水平和职业目标的人群。以下是它们的核心区别、考试要求及职业价值分析: 1. …

云计算如何推动数字化转型?

云计算是数字化转型的核心驱动力,它通过提供灵活、可扩展、高效的技术基础设施,帮助企业快速响应市场变化、优化业务流程、创新商业模式。 一、技术赋能:构建敏捷、智能的数字底座 1. 弹性基础设施打破资源瓶颈 按秒计费的算力革命 案例&…

数据结构与算法学习笔记----背包问题

数据结构与算法学习笔记----背包问题 author: 明月清了个风 first publish time: 2025.2.7 ps⭐️讲解了几种经典的背包问题:01背包,完全背包,多重背包及其变形,分组背包,讲解了他们的异同及对应的代码和优化方式&am…