haar adaboost 训练training训练出现问题,参数应该怎么设置

haartraining训练出现问题,参数应该怎么设置_百度知道
haartraining训练出现问题,参数应该怎么设置
csdn.csdn刚刚试了下,这样设置参数可行.net/liulina603/article/details/8197889" target="_blank">http,就是不知道花费时间和效果怎么样了<a href="http://blog://blog
知道智能回答机器人
我是知道站内的人工智能,可高效智能地为您解答问题。很高兴为您服务。
其他类似问题
为您推荐:
下载知道APP
随时随地咨询
出门在外也不愁opencv&haartraining&分析二:每级stage正负样本的获取
&&&&&&&&&&&&&&&
poscount = icvGetHaarTrainingDataFromVec( training_data, 0,
&&&&&&&&&&&&&&&&&&&
(CvIntHaarClassifier*) tcc, vecfilename, &consumed
)负责从正样本集*.vec 文件中载入
count(npos)个正样本。在程序第一次运行到此(即训练第一个分类器之前)时,只要正样本集中有 count 个样本,就一定能取出
count 个正样本。在以后运行到此时,有可能取不到 count 个样本,因为
必须是用前面的级联强分类器((CvIntHaarClassifier*)
tcc)分类为正样本(即分类正确的样本)的样本才会被取出作为下一个强分类器训练样本,具体可参考
icvGetHaarTrainingData和icvEvalTreeCascadeClassifierFilter函数。
训练负样本,具体可参考icvGetHaarTrainingDataFromBG和icvEvalTreeCascadeClassifierFilter函数。
int icvGetHaarTrainingDataFromBG(
CvHaarTrainingData* data, int first, int count,
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
CvIntHaarClassifier* cascade, double* acceptance_ratio, const char
* filename = NULL )
& 传递返回值的 acceptance_ratio
参数记录的是实际取出的负样本数与查询过的负样本数(如果通过前面级联stage强分类器的负样本数很少时,那么程序会循环重复读取负样本,并用thread_consumed_count计数)之比(acceptance_ratio
= ((double) count) /
consumed_count),也就是虚警率,用于判断已训练的级联分类器是否达到指标,若达到指标,则停止训练过程。&
& 注意函数 icvGetHaarTrainingData中一个主要的 For 循环:
for( i = i & first + i++ ) //共读取 count
个负样本,当读取不到
{&&&&&&&&&&&&&&&&&&&&&&&&&&&
//这么多负样本时将出现死循环!
对上面代码中的注释有必要进一步说明一下:只有当之前的强分类器对负样本集内的样本全部分类正确时才会出现死循环。因为只要有一个样本会被错分为正样本,那么通过
count次扫描整个负样本集就能得到 count 个负样本,当然这 count 个负样本实际上就是一个负样本的 count
个拷贝。为避免这些情况的发生,负样本集中的样本数需要足够多。
在负样本图像大小与正样本大小完全一致时,假设最终的分类器虚警率要求是falsealarm,参加训练的负样本要求是 count
个,则需要的负样本总数可计算如下:&TotalCount = count /
falsealarm
& 以 Rainer Lienhart
的文章中的一些参数为例,falsealarm=0.5^20=9.6e-07, count=3000,
则 TotalCount=^20)= 3,145,728,000=31 亿。
函数 icvGetHaarTrainingDataFromBG ()负责从负样本集中载入 count
个负样本。在程序第一次运行到此(即训练第一个分类器之前)时,只要负样本集中有 count 个样本,就一定能取出 count
个负样本。在以后运行到此时,有可能取不到 count
个样本,因为必须是用前面的级联强分类器分类为正样本的样本(即分类错误的样本)才会被取出作为下一个强分类器的负样本输入。
对于int icvGetHaarTrainingData( CvHaarTrainingData* data, int
first, int count,
&&&&&&&&&&&&&&&&&&&&&&&&&&&
CvIntHaarClassifier* cascade,
&&&&&&&&&&&&&&&&&&&&&&&&&&&
CvGetHaarTrainingDataCallback callback, void* userdata,
&&&&&&&&&&&&&&&&&&&&&&&&&&&
int* consumed, double* acceptance_ratio )
&这个函数的解释:
这是个对于读取正负样本通用的函数,区别在于callback的调用。在这个函数中有个变量thread_getcount,表示将样本分为正样本的数目(不论这个样本是负样本还是正样本)。
& 传递返回值的 Consumed 参数表示为取 count
个正样本,查询过的正样本总数。对于负样本为空(null),没有返回值。&
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。OpenCV之_HaarTraining算法剖析-公开版_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
OpenCV之_HaarTraining算法剖析-公开版
上传于||文档简介
&&O&#8203;p&#8203;e&#8203;n&#8203;C&#8203;V&#8203;之&#8203;_&#8203;H&#8203;a&#8203;a&#8203;r&#8203;T&#8203;r&#8203;a&#8203;i&#8203;n&#8203;i&#8203;n&#8203;g&#8203;算&#8203;法&#8203;剖&#8203;析&#8203;-&#8203;公&#8203;开&#8203;版
阅读已结束,如果下载本文需要使用1下载券
想免费下载本文?
下载文档到电脑,查找使用更方便
还剩9页未读,继续阅读
你可能喜欢haartraining训练出现问题,参数应该怎么设置_百度知道
haartraining训练出现问题,参数应该怎么设置
这样设置参数可行刚刚试了下.csdn.csdn.net/liulina603/article/details/8197889" target="_blank">http://blog,就是不知道花费时间和效果怎么样了<a href="http://blog
知道智能回答机器人
我是知道站内的人工智能,可高效智能地为您解答问题。很高兴为您服务。
其他类似问题
为您推荐:
下载知道APP
随时随地咨询
出门在外也不愁opencv 的adaboost haar特征训练
[问题点数:50分,结帖人wangyaninglm]
opencv 的adaboost haar特征训练
[问题点数:50分,结帖人wangyaninglm]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 haar分类器训练 的文章

 

随机推荐