HaarAdaBoost分类器训练总结.ppt

上传人:sccc 文档编号:5360337 上传时间:2023-06-29 格式:PPT 页数:13 大小:2.15MB
返回 下载 相关 举报
HaarAdaBoost分类器训练总结.ppt_第1页
第1页 / 共13页
HaarAdaBoost分类器训练总结.ppt_第2页
第2页 / 共13页
HaarAdaBoost分类器训练总结.ppt_第3页
第3页 / 共13页
HaarAdaBoost分类器训练总结.ppt_第4页
第4页 / 共13页
HaarAdaBoost分类器训练总结.ppt_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《HaarAdaBoost分类器训练总结.ppt》由会员分享,可在线阅读,更多相关《HaarAdaBoost分类器训练总结.ppt(13页珍藏版)》请在三一办公上搜索。

1、Haar+AdaBoost分类器训练总结,Page 2,目录,Page 3,准备阶段-样本收集,正样本:工具:Image Clipper-可以很方便地从视频或图像文件夹中读取当前帧或当前图像,并截取和保存所需的样本图像负样本:所有不包含待检测目标的图像都可以作为负样本一般正负样本需要几千上万张图像,所以正样本收集过程耗时比较长,Page 4,准备阶段-样本准备,负样本可以是任意大小,只要不包括待检测目标即可。简洁的方式是从视频或图像背景中直接划分出负样本,也可以利用现有的图像库,或者可以从网上的图像素材库中下载建立保存负样本的文件夹(如:neg),并在neg目录下建立negdata.dat描述

2、文件Negdata.dat的内容如下:1.bmp2.bmp3.bmp生成描述文件的方法:在命令行窗口中,变更到当前文件夹路径(neg),输入dir/b negdata.dat就会在neg下生成描述文件,去掉其中对描述文件自身的描述negdata.dat即可如果negdata.dat保存在neg外面,在每一行前面添加相对路径或绝对路径来指出样本所在位置即可,Page 5,准备阶段-样本准备,截取后的正样本要做两个改动:1、正样本要缩放为统一size,可以使用Image resizer工具2、截取后的默认格式为.png,使用批量重命名工具修改样本名为所需的名称和格式建立保存正样本的文件夹(如:po

3、s),并在pos目录下建立posdata.dat描述文件,到这里与负样本的准备是一致的。不同之处在于正样本的描述中需要指出目标在图像中的数量和位置比如1.bmp中包含一辆汽车,它的描述应写成1.bmp 1 x1 y1 x2 y2 其中(x1,y1,x2,y2)指出这个目标所在的矩形框由于所有正样本都是统一size,只要在记事本中编辑描述文件将bmp替换成bmp 1 0 0 width height 即可,width和height是图像的宽和高,Page 6,准备阶段-样本准备,正样本还需要根据描述文件和样本图像生成.vec文件才是最后的正样本数据生成程序为OpenCV1.0/bin/Creat

4、eSamples.exe(在后期版本OpenCV中需自行编译)可以使用批处理文件或命令行调用CreateSamples.exe参数设置:-info posdata.dat 正样本描述文件-vec pos.vec 生成的.vec文件名-num 5323 正样本的数量-w 50 样本的宽度-h 50 样本的高度运行后,出现Done.Created 5323 samples表明生成5323个样本成功,Page 7,准备阶段-训练准备,训练可以使用批处理文件或命令行调用haartraining.exe参数设置:-data 生成的分类器名称和路径,包括级联文件夹和.xml文件两部分,二者是相同的;-ve

5、c 正样本的.vec文件路径-bg 负样本的描述文件路径-npos 正样本数量-nneg 负样本数量-nstages 级联分类器的层数-mem 分配的内存空间,越大训练过程越快-sym 目标是否对称-minhitrate 要达成的检测率-maxfalsealarm 要达成的虚警率-mode 选取的特征模式-w 正样本宽度-h 正样本高度当级数达到nstages或者检测率、虚警率同时满足时,训练结束,程序退出,Page 8,准备阶段-结果检测,样本数量越多,训练时间也就越长。最终将生成一个级联分类器的文件夹和一个.xml文件,通过OpenCV中提供的convert_cascade.exe(Ope

6、nCVsamplesc目录下)可以将文件夹转换成.xml文件分类器检测编写程序使用cvHaarDetectObjects()函数或者通过批处理文件/命令行调用performance.exe(与haartraining.exe同路径)来检测分类器效果如何如果使用performance.exe,还需要准备测试集,与负样本的准备相同,对size没有限制,不同之处是要再文件描述中添加类似正样本描述中的目标位置信息。如果一个测试图像中有两个目标,可以这样描述:1.bmp 2 x1 y1 x2 y2 x1 y1 x2 y2其中(x1,y1,x2,y2)(x1,y1,x2,y2)分别是两个目标的位置,当有更

7、多目标时往后罗列即可。Performance.exe中会对检测到的候选目标作如下判断:If(候选矩形框与真实目标矩形框中心的距离 width*maxPosDiff&width/maxSizeDiff候选矩形框宽度 width*maxSizeDiff)e.g:width是真实目标框宽度如果满足,计一个hit,否则为falsealarm,最后根据hit计算出Missed。,Page 9,可能遇到的问题,负样本收集 负样本的数量理论上是无穷大,因而收集负样本时应注意样本的数量和多样性如果数量太少或者多样性不好,很容易陷入训练过程中无法继续下去。解决办法:增加负样本数量,可以不必局限于背景图像作为负样

8、本。训练中止,增加负样本后,程序将从已经训练过的stage处为节点继续训练过程,并不会浪费很多时间2.正样本收集 正样本收集中应当尽量密集,尽管两个时刻的目标之间看不出什么差异,但是最后可能在有样本的地方能够检测到,而在没有样本的地方出现漏检如下图:,Page 10,可能遇到的问题,3.内存不足 该提示指出有参数超出范围在cvAlloc中,可以修改-mem参数,检查是否有足够的内存空间,建议关闭不需要的程序和进程释放内存。4.负样本描述文件有误 有可能会出现找不到负样本的情况,negdata.dat描述的路径找不到响应文件。正样本因为存储在.vec文件中很少出现这种情况,Page 11,经验总

9、结,分类器训练过程时间比较长,尤其正样本的增加对时间增加的贡献率大于负样本训练过程中可以中止训练,替换或者增加、删除样本都是可以的(Ctrl+C退出训练过程),重新开始后将读取级联文件夹中的当前分类器然后继续训练Performance.exe检验分类器效果不是很一目了然,最好在窗口中显示检测结果来检验负样本的选择很关键,最好在size、内容、来源上体现出多样,同时以实际应用中的背景为负样本主要部分。另外size的变化有助于解决前面提到的可能遇到的问题1训练机器的内存空间尽量大,举例:两次样本数量相差不多(200/6000)的训练过程中分别分配空间为10G和800M,时间相差大概三倍左右分类器训练是一个工程性的工作,在样本准备上花费多一些时间是值得的,实际上优化分类器就是优化样本空间的过程,Page 12,相关资料,推荐:http:/原理分析 http:/操作指导 http:/官方指导工具:,Page 13,结束,Thank You!谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号