目标检测程序开发(二)——Boosting算法简介

本文介绍了Boosting算法在目标检测中的应用,这是一种监督式机器学习算法,用于解决二元分类问题。通过结合多个弱分类器形成强分类器,如Discrete AdaBoost等。在OpenCV中,Gentle AdaBoost常被视为优选。文章讨论了算法的基本流程,并强调在实际应用中可直接利用OpenCV的实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文主要参考了OpenCV的官方文档

http://docs.opencv.org/modules/ml/doc/boosting.html

 

boosting算法是一个监督式机器学习算法,它解决的是一个二元分类问题。本文包括对算法思想的理解,不包含算法的数学推导。

 

目标检测就是用这个分类算法,把只含有目标的图片作为一类,不含有目标的作为另一类,然后训练分类器,进行检测的时候,输入一张图片,用一个窗口扫描这个图片,对每个窗口应用分类器,返回是目标的类别时,就检测到了目标。

 

监督式机器学习目标是找到一个函数y=h(x),对于一个输入x,给出一个输出y,y如果是取几个离散的值,称为分类问题,y如果取连续的值,成为回归问题。函数h(x)需要对样本数据((Xi,Yi),i=1,2,…N,Xi是一个k维向量,是对特征的一个编码)训练得到h(x)的表达式,然后对于一个新的x,使用y=h(x)进行计算就可预测出y。一般会会为h(x)选择一个模型,只不过是包含参数的,训练就是指根据采集的样本数据把这个参数确定下来,使得这个参数确定后的模型能够很好的刻画输入x和输出y之间的函数关系。

 

Boosting(提升)这一概念为监督式分类学习问题提供了一种有力的解决方法。它通过结合许多弱分类器的性能来获得可靠的分类结果。弱分类器是指识别错误率仅仅比随机猜测好一点的分类器;强分类器指的是识别准确率很高并且能在多项式时间内完成的分类器。

Boosting有许多变式,有DiscreteAdaboost, Real AdaBoost, LogitBoost, and Gentle AdaBoost,这篇论文包含这些算法的详细介绍http://web.stanford.edu/~hastie/Papers/AdditiveLogisticRegression/alr.pdf

 

这四个是类似的,下面以DiscreteAdaBo

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值