问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何利用opencv进行样本训练

发布网友 发布时间:2022-04-24 21:25

我来回答

2个回答

热心网友 时间:2023-10-11 18:09

OpenCV训练分类器
一、简介

目标检测方法最初由Paul Viola [Viola01]提出,并由Rainer Lienhart [Lienhart02]对这一方法进行了改善。
该方法的基本步骤为:
首先,利用样本(大约几百幅样本图片)的 harr 特征进行分类器训练,得到一个级联的boosted分类器。

分类器中的"级联"是指最终的分类器是由几个简单分类器级联组成。在图像检测中,被检窗口依次通过每一级分类器, 这样在前面几层的检测中大部分的候选区域就被排除了,全部通过每一级分类器检测的区域即为目标区域。

分类器训练完以后,就可以应用于输入图像中的感兴趣区域(与训练样本相同的尺寸)的检测。检测到目标区域(汽车或人脸)分类器输出为1,否则输出为0。为了检测整副图像,可以在图像中移动搜索窗口,检测每一个位置来确定可能的目标。为了搜索不同大小的目标物体,分类器被设计为可以进行尺寸改变,这样比改变待检图像的尺寸大小更为有效。所以,为了在图像中检测未知大小的目标物体,扫描程序通常需要用不同比例大小的搜索窗口对图片进行几次扫描。

目前支持这种分类器的boosting技术有四种:
Discrete Adaboost, Real Adaboost, Gentle Adaboost and Logitboost。
"boosted" 即指级联分类器的每一层都可以从中选取一个boosting算法(权重投票),并利用基础分类器的自我训练得到。

根据上面的分析,目标检测分为三个步骤:
1、 样本的创建
2、 训练分类器

3、 利用训练好的分类器进行目标检测。

二、样本创建
训练样本分为正例样本和反例样本,其中正例样本是指待检目标样本(例如人脸或汽车等),反例样本指其它任意图片,所有的样本图片都被归一化为同样的尺寸大小(例如,20x20)。
负样本
负样本可以来自于任意的图片,但这些图片不能包含目标特征。负样本由背景描述文件来描述。背景描述文件是一个文本文件,每一行包含了一个负样本图片的文件名(基于描述文件的相对路径)。该文件必须手工创建。
e.g: 负样本描述文件的一个例子:
假定目录结构如下:
/img
img1.jpg
img2.jpg
bg.txt
则背景描述文件bg.txt的内容为:
img/img1.jpg
img/img2.jpg
正样本
正样本由程序craatesample程序来创建。该程序的源代码由OpenCV给出,并且在bin目录下包含了这个可执行的程序。
正样本可以由单个的目标图片或者一系列的事先标记好的图片来创建。
Createsamples程序的命令行参数:
命令行参数:
-vec <vec_file_name>
训练好的正样本的输出文件名。
-img<image_file_name>
源目标图片(例如:一个公司图标)
-bg<background_file_name>
背景描述文件。
-num<number_of_samples>
要产生的正样本的数量,和正样本图片数目相同。
-bgcolor<background_color>
背景色(假定当前图片为灰度图)。背景色制定了透明色。对于压缩图片,颜色方差量由bgthresh参数来指定。则在bgcolor-bgthresh和bgcolor+bgthresh中间的像素被认为是透明的。
-bgthresh<background_color_threshold>
-inv
如果指定,颜色会反色
-randinv
如果指定,颜色会任意反色
-maxidev<max_intensity_deviation>
背景色最大的偏离度。
-maxangel<max_x_rotation_angle>
-maxangle<max_y_rotation_angle>,
-maxzangle<max_x_rotation_angle>
最大旋转角度,以弧度为单位。
-show
如果指定,每个样本会被显示出来,按下"esc"会关闭这一开关,即不显示样本图片,而创建过程继续。这是个有用的debug选项。
-w<sample_width>
输出样本的宽度(以像素为单位)
-h《sample_height》
输出样本的高度,以像素为单位。
注:正样本也可以从一个预先标记好的图像集合中获取。这个集合由一个文本文件来描述,类似于背景描述文件。每一个文本行对应一个图片。每行的第一个元素是图片文件名,第二个元素是对象实体的个数。后面紧跟着的是与之匹配的矩形框(x, y, 宽度,高度)。

热心网友 时间:2023-10-11 18:09

支持向量机或分类器都可以。你网上搜一搜。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
现在思科的CCNA,CCNE,CCIP的考证费分别是多少啊,通过率怎样 长春小飞没有车没有房 碳钢的多久生锈 碳钢多久会生锈 碳钢多长时间会开始生锈 碳钢和铝哪个容易生锈 梦见天宫图是什么意思 光遇2023好友树解锁图鉴 光遇二级节点多少个 ...火柴小女孩》《词语手册》里有很多词语的意思的,求告知 暖融融解释 手机的CPU调节器和I/O调度器分别是什么意思? MOONSHELL下载了以后要怎么弄啊? opencv svm怎么把特征转成svm中train函数需要的Mat类型 啥是重机音音响? 低配置机器用什么杀毒软件最好 类似Boosted免费的软件? 给女孩发消息,即使她在线也不回你,但她说她爱你,这是不是装出来的? 不停的给刚认识的女生发消息,会不会被对方反感? 什么原因会使骑共享单车得不到芝麻粒 约会之后需要主动给女孩子发消息吗? 美国参议院 众议院有什么区别 上议院 下议院呢?各自的权利是什么? 每天给女生发消息,即使她在线,她都不回你,我是不是该放弃了? 美国的众议院和参议院有什么不同?各自是怎么划分的? 一天充电宝可以弄几个芝麻粒? 芝麻粒有100颗可用芝麻粒为什么只能用10颗? 美国众议院和参议院的区别在哪,哪个的权力更大? 共享单车一天能攒几粒芝麻 给喜欢的女生发消息,她每次都是秒回,是不是对我有好感? 骑共享单车芝麻粒上限 参议院和众议院的区别 我在一个通讯设备厂工作,虽然是做机械部分但是很想了解通讯那部分的东西入门有什么好书么? 利用OpenCV开发行人检测程序,怎样提高检测速率 帮忙翻译这篇文章 不要用翻译软件 DS Moonshell的问题 帮忙翻译一下这个 论文摘要 汉译英 寻求老的动漫 求免费人工翻译 求英语翻译 不要机器翻译的 谢谢 很急 跪请帮我翻译为英语 跪求 跪请帮我翻译为英语 请英语好的朋友帮我翻译一下!谢绝软件翻译 情况说明怎么写公司股东变更,去工商局办理时说原股东签字和现在签法不一样,要求写个 情况说明表(同一人 上海法人变更后,法人涉及到股权变更,税务专管员要求写一份股权转让的情况说明,具体怎么写啊? 公司股权变更登报声明模板是什么? 转让方与购买方是父女关系,股东变更说明怎么写 税务官网上的股东变更情况说明怎么填啊 法人变更情况说明怎么写? 请教关于公司股东变更并且出资比例也变更,需要提交什么材料,有没有模板? 股东股权变更需要哪些资料