[原创]基于AdaBoost的灰度图像目标检测关键技术简评
基于AdaBoost的灰度图像目标检测关键技术简评原文地址:http://blog.
陆振波
(沈阳聚德视频技术有限公司,沈阳 110179)
% 声明: 本人保留针对此文的一切权利,如需转载,拒绝删节,仅供学习交流之用,严禁用于商业用途,违者必究!
本文是对“基于AdaBoost的灰度图像目标检测”中涉及到的关键技术做一个简单梳理。本文适合对AdaBoost检测原理有所了解,但关键技术无法取进一步突破的中级读者。如对AdaBoost检测原理一无所知的初级读者,我建议还是先看我下面列出的参考文献,再来看本文。天下文章一大抄,下面参考文献中写得比较清楚明白地方,本文不再浪费大家宝贵时间,仅是一笔带过。对于参考文献中叙述得比较混沌的关键技术,本文将做一个简单地评述,重点是讲思路,讲方法!思路与方法都有了,对于勤奋的人,技术细节的实现不是问题。作者水平有限,欢迎同行批评斧正!
这里先列出AdaBoost几篇参考文献:
[1]Rapid Object Detection using a Boosted Cascade of Simple Features
http://wenku.baidu.com/view/786da41d59eef8c75fbfb315.html
[2]基于AdaBoost算法的人脸检测(北京大学,赵楠).pdf
http://ishare.iask.
[3]基于adaboost算法的人脸检测ppt
http://ishare.iask.
[4]浅析人脸检测之Haar分类器方法
http://
[5]AdaBoost中利用Haar特征进行人脸识别算法分析与总结1——Haar特征与积分图
http://blog.
[6]AdaBoost中利用Haar特征进行人脸识别算法分析与总结2——级联分类器与检测过程
http://blog.
[7]目标检测的图像特征提取之(三)Haar特征
http://blog.
[8]【OpenCV】计算Haar特征个数
http://blog.
其中:
第[1]篇是AdaBoost经典,强烈推荐,
第[2][3]篇是AdaBoost系统介绍,中级推荐,
第[4]~[8]篇是网上的相关辅助材料,一般推荐。
AdaBoost九大关键技术简评
1、检测窗口的预处理,及特征归一化
预处理的目的是减小光照的影响,归一化手段必须可利用积分图像快速运算为前提。参考文献[1]中对检测窗口进行0均值,方差为1的归一化,均值和方差分别利用“像素的积分图像”和“像素平方的积分图像”快速计算得到。而且归一化的实现,不直接针对检测窗口像素,而是针对检测窗口的Haar-like特征。
问题延伸:在灰度图像中检测目标可以,在图像的某中变换中的检测目标难道就不可以么?
2、积分图像与Haar-like特征以及相关扩展
在积分图像上通过查表运算可以快速实现Haar-like特征提取,其相关扩展也仅是45度的角度变换。
问题延伸:难道在积分图像上就仅能提取Haar-like特征么?
3、弱分类器训练与判决
所谓“弱分类器训练”就是针对所有加了权训练样本,依据门限准则,找出一个加权分类错误概率最小的Haar-like特征。一句话包括三层循环:(1)所有训练样本,(2)所有Haar-like特征,(3)所有门限。
这里有一个比较重要的技术细节,即是:所有训练样本,指定Haar-like特征,最小加权分类错误概率时的门限值确定,以及判决。
4、权值更新与强分类器合成
这里的权值指的是训练样本的权值,刚开始时,同类别的训练样本权值相等。对于由弱分类器构成的强分类器而言,每一个弱分类器对应一组全新的训练样本权值分布,也对应一个最优的Haar-like特征。权值更新目的是,通过不断加大错分样本的权重,从而选择一个最优Haar-like特征对其分类。
强分类器的合成,相当于多个弱分类器从不同角度(训练样本的权重),对训练样本进行投票判决。但票与票之间的话语权(弱分类器的权重)是不一样的,这个话语权大小是与弱分类器的加权分类错误概率直接相关,错误率小,话语权大。
问题延伸:不同的弱分类器的Haar-like特征可不可以是同一个特征呢?不同的强分类器的Haar-like特征可不可有重合呢?结果会怎样?
5、指定检测与虚警率下的强分类器设计
这里首先要明确一个概念,强分类器的判决也是二值门限判决,判决指标是前面弱分类器投票“话语权”的综合,它是一个标量。这里又涉及到一个比较重要的技术细节:即是,所有训练样本,标量判决指标,指定检测概率下的门限值与虚警率计算。
如实际虚警率大于设定值,则增加弱分类器个数,直到满足为止,毕竟人多力量大。
6、强分类器级联的训练样本构建策略
前一级判决为目标的训练样本全部进入下一级训练。要求非目标样本要足够多,如单级虚警为0.5的20级级联,虚警率为0.5^20=1e-6,那么非目标样本至少要1e+6。
7、强分类器级联的扩展
基本思想是将上一级的强分类器作为下一级强分类器的第一个弱分类器。
弱分类器的构成要件有三:(1)标量判决指标,(2)门限值,(3)不等号方向。前面提到,对于已知类别的训练样本,只要有构成要件(1),另外两个构成要件都是可以求的。已知上一级强分类器的标量判决指标是上一级弱分类器的综合,那么将上一级强分类器作为下一级强分类器的第一个弱分类器时,其门限值和不等号方向也是可求的。
还有一个需要解决的问题是,下一级第一个弱分类器(上一级强分类器)的话语权问题,前面也提到了,话语权与加权分类错误概率直接相关,这里不再赘述。
8、金字塔分级搜索策略与Haar-like特征保持
金字塔分级搜索策略是为了适应目标的尺度变化,有两种实现途径,一是分级缩放原图,二是分级缩放检测窗口。对于实时性要求不高的场合两者兼可。反之,这里可以做的文章有很多,我个人倾向于分级缩放检测窗口,这样原图的积分图像只需做一次。
问题延伸:分级缩放检测窗口时,如何有效保持Haar-like特征不变?是先插值,再求Haar-like特征,还是有其它方法?
9、检测窗口的合并
先检测重叠,再平均。检测重叠可能用到检测窗口的概率分布,无监督聚类等相关算法。
(全文完)
作者简介:
% 毕业院校:海军工程大学,水声工程专业,博士
% 精通方向:数字信号(图像、视频)处理,人工智能与模式识别,群体智能优化,非线性与混沌,支持向量机,Matlab与VC++混编
% 现任岗位:沈阳聚德视频技术有限公司,图像处理及模式识别研发工程师
% 工作职责:车牌识别,视频目标跟踪等算法开发,C/C++实现,DSP植入
% 兴趣爱好:金融时序的程式化交易
%
主要成果:
% [1] 实现车牌识别C/C实现,DSP植入,识别率:汉字不低于99%,数字字母不低于99.5%,整牌不低于97%
% [2] 精通数字信号(图像、视频)“特征提取”与“模式识别”的研究与开发,开展了“支持向量机”应用研究,原创文章有《四种支持向量机工具箱使用要点》,独立开发了“支持向量机Matlab工具箱Version1.0”。结题项目有:语音信号处理与识别,遥感图像的特征提取与分类,人脸识别,主被动声纳信号处理与识别等
% [3] 精通“群体智能优化”,原创工具箱有“群体智能算法”Matlab工具箱 Version2.0”,误差精度优于现有公开发表文献,工程中解决了各种高维复杂问题的优化计算
% [4] 精通“时间序列混沌建模和预测”,基于Matlab和VC 混编平台,独立开发了混沌分析和预测软件包“混沌时间序列分析与预测工具箱 Version2.9”。结题项目有:金融数据波动性分析与程式化交易,银行反洗钱异常检测系统,混沌背景弱信号检测,海洋混响背景弱目标检测等
% [5] 精通Matlab与VC 混合编程:(a)以VC 为界面,核心算法采用Matlab函数,原创文章有《如何将Matlab7.0函数转换成VC 6.0动态链接库》;(b)以Matlab为界面,耗时算法在VC 环境中采用Mexfunction编译。
%
联系方式
% 电子邮件:luzhenbo@
% 个人博客: http://blog.