【ZJU-Machine Learning】使用AdaBoost进行目标检测

目标检测与分割的三类问题

语义分割(Semantic Segmentation)

在这里插入图片描述

目标定位与识别(Classification and Localization)

在这里插入图片描述

目标检测(Object Detection)

在这里插入图片描述

基本思想

(1)白色区域的像素值,减去黑色区域的像素值。
(2)每一个FEATURE所有区域长度和宽度一致。
(3)FEATURE可以在整幅图上平移,只需要满足(1)和(2)即可。
(4)可以取下图这四种形式。

对于一个24*24的图像,所有的Haar-like feature 个数为20万左右。
在这里插入图片描述
为了解决计算量过大的问题,Viola and Jone, Robust Real-Time Face Detection, International Journal of Computer Vision 57(2), 137–154, 2004提出了一种转换方法,这种方法将面积转换成了对积分的加加减减,
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
Image(D) =Integral(4)+Integral(1)-Integral(3)-Integral(2)

分类器构造

取一些人脸(6000张左右)和一些非人脸(7万张)作为训练样本。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

通过这一步,给出了图像、特征、阈值和p进行训练,能够得到所有的f(20万个特征),对于每一个特征f,我们要求的是最佳的阈值和p,使得h在训练集上识别率最高。由此,对于每一个特征,我们都制造了一个弱分类器,下面使用Adaboost进行特征选择。

使用AdaBoost算法进行特征选择

1、首先在数据集D中选取正确率最高的特征,用F1表示。
2、将数据集D分为两类,{F1分对的数据}和{F1分错的数据}。
3、以较大概率取F1分错的数据,以较小概率去F1分对的数据,形成新的集合D2。
4、在D2中选取正确率最高的特征,用F2表示。
5、将D分为: {F1、F2都分对的数据},{F1分对而F2分错的数据,以及F1分错而F2分对的数据},{F1,F2都分错的数据}。
6、以最大概率取{F1,F2都分错的数据},以次大概率取{F1分对而F2分错的数据,以及F1分错而F2分对的数据}, 以最小概率取{F1、F2都分对的数据},得到数据集D3.
7、在D3中选取正确率最高的特征,用F3表示。循环,以此类推。
8、用各个特征的线性组合构建分类器。

最终得到能表征人脸的Haar 特征:
在这里插入图片描述

AdaBoost人脸检测流程:

1、在图像中,对每一个 24 * 24 的格子遍历使用分类器,如果是人脸,则输出。
2、将图像缩小,长宽同时除以1.2,在用分类器遍历每一个24 * 24的格子。如果是人脸,将该处位置坐标乘以1.2, 等比例放大到原图。
3、重复2,直到图像长或宽小于24个像素为止。

Tips:对于使用AdaBoost训练得到的模型,在检测时只能使用训练所用的角度进行识别。若要多角度识别,可以将构建多个姿态人脸AdaBoost分类器,树状级联后可以获得多姿态人脸检测器
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值