opencv_createsamples和opencv_traincascade命令
opencv_traincascade -data dstBuild -vec new_vec.vec -bg sample_neg.dat-numStages 20 -minHitRate 0.999 -maxFalseAlarmRate 0.5 -numPos 100-numNeg 700 -w 20 -h 20 -mode ALL -precalcValBufSize 1024-precalcIdxBufSize 1024 -featureType LBP
通用参数: -data
目录名,如不存在训练程序会创建它,用于存放训练好的分类器。
-vec
包含正样本的vec文件名(由 opencv_createsamples 程序生成)。
-bg
背景描述文件,也就是包含负样本文件名的那个描述文件。
-numPos
每级分类器训练时所用的正样本数目。其指设置为正样本数量的85%(这是一个保守值)。具体的也要根据级联器的层数来决定的。因为每个stages都是会增加图片数量来进行分类。
-numNeg
每级分类器训练时所用的负样本数目,可以大于 -bg 指定的图片数目。
-numStages
训练的分类器的级数。
-precalcValBufSize
缓存大小,用于存储预先计算的特征值(feature values),单位为MB。
-precalcIdxBufSize
缓存大小,用于存储预先计算的特征索引(feature indices),单位为MB。内存越大,训练时间越短。
-baseFormatSave
这个参数仅在使用Haar特征时有效。如果指定这个参数,那么级联分类器将以老的格式存储。
级联参数:
-stageType
级别(stage)参数。目前只支持将BOOST分类器作为级别的类型。
-featureType<{HAAR(default), LBP}>
特征的类型: HAAR - 类Haar特征; LBP - 局部纹理模式特征。
-w
-h
训练样本的尺寸(单位为像素)。必须跟训练样本创建(使用 opencv_createsamples 程序创建)时的尺寸保持一致。
Boosted分类器参数:
-bt <{DAB, RAB, LB, GAB(default)}>
Boosted分类器的类型: DAB - Discrete AdaBoost, RAB - Real AdaBoost, LB - LogitBoost, GAB - Gentle AdaBoost。
-minHitRate
分类器的每一级希望得到的最小检测率。总的检测率大约为 min_hit_rate^number_of_stages。总检测率即为整个级联器的检测召回率,
-maxFalseAlarmRate
分类器的每一级希望得到的最大误检率。总的误检率大约为 max_false_alarm_rate^number_of_stages. 为整个级联器的误检率
-weightTrimRate
Specifies whether trimming should be used and its weight. 一个还不错的数值是0.95。
-maxDepth
弱分类器树最大的深度。一个还不错的数值是1,是二叉树(stumps)。
-maxWeakCount
每一级中的弱分类器的最大数目。The boosted classifier (stage) will have so many weak trees (<=maxWeakCount), as needed to achieve the given -maxFalseAlarmRate.
类Haar特征参数:
-mode
选择训练过程中使用的Haar特征的类型。 BASIC 只使用右上特征, ALL 使用所有右上特征和45度旋转特征。
opencv_createsamples.exe -info cascade/pos/sample_pos.dat -vec new_vec.vec -bg cascade/neg/sample_neg.dat -num 100 -w 20 -h 20
参数说明 【open|opencv_createsamples和opencv_traincascade命令】-vec:包含训练样本的输出文件的名称。
-img:源对象图像(如公司标识)。
-bg:背景描述文件; 包含用作对象的随机变形版本的背景的图像列表。
-num:生成的阳性样本数。
-bgcolor:背景颜色(目前为灰度图像)背景颜色表示透明颜色。由于可能会出现压缩伪影,所以可以通过-bgthresh指定颜色容差的数量。具有bgcolor-bgthresh和bgcolor + bgthresh范围的所有像素被解释为透明的。
-bgthresh
-inv :如果指定,颜色将被反转。
-randinv :如果指定,颜色将随机反转。
-maxidev:前景样本中像素的最大强度偏差。
-maxxangle:朝向x轴的最大旋转角度必须以弧度表示。
-maxyangle:向y轴的最大旋转角度必须以弧度表示。
-maxzangle:朝向z轴的最大旋转角度必须以弧度表示。
-show:有用的调试选项。如果指定,将显示每个样品。按Esc将继续样品创建过程,而不显示每个样品。
-w:输出样本的宽度(以像素为单位)。
-h:输出样本的高度(以像素为单位)。
推荐阅读
- AI|神经网络的反向传播算法推导
- 深度学习|神经网络之BP(反向传播算法)的原理介绍
- 机器学习|机器学习(神经网络的代价函数及反向传播算法)
- 人工智能|我的天,强化学习还能用在自动驾驶领域()
- python|python学习计划大全(从入门到实战)
- 深度学习|二、机器学习基础13(熵、信息增益、剪枝处理、SVM)
- 深度学习|二、机器学习基础14(核函数)
- 深度学习|二、机器学习基础15(SVM优缺点、聚类与降维)
- 大数据|一文看懂数据清洗(缺失值、异常值和重复值的处理)