基于示例的学习:OpenCV 分类器级联与支持向量机
在计算机视觉领域,利用示例进行学习是构建有效分类器的重要方法。本文将详细介绍如何使用 OpenCV 构建分类器级联,以及如何结合支持向量机(SVM)和方向梯度直方图(HOG)进行对象检测。
1. 基于 Haar 特征的分类器级联构建
1.1 基本原理
分类器级联背后有两个核心思想:一是通过组合多个弱分类器(基于简单特征)可以构建一个强分类器;二是在机器视觉中,负样本比正样本更常见,因此可以分阶段进行有效分类。早期阶段快速排除明显的负样本,后期阶段对更难的样本做出更精确的决策。
1.2 学习算法步骤
- 弱分类器构建 :使用 Haar 特征构建弱分类器。应用一个给定类型、大小和位置的 Haar 特征会得到一个值,通过找到能根据此特征值最佳分类正负样本的阈值,得到一个简单分类器。为找到最优阈值,需要使用一定数量的正负样本(由
opencv_traincascade工具的-numPos和-numNeg参数指定)。由于有大量可能的 Haar 特征,需要检查所有特征并选择对样本集分类效果最好的特征。 - 强分类器构建 :由于单个简单分类器会出错,因此需要迭代添加多个这样的分类器。每次迭代时,关注当前被错误分类的样本,通过给错误分类的样本赋予更高的权重来衡量分类性能。最终得到一组简单分类器,通过对这些弱分类器进行加权求和(性能更好的分类器权重更高)构建强分类器。
超级会员免费看
订阅专栏 解锁全文
1万+

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



