opencv 训练参数详解

运行 opencv_traincascade.exe 命令可以查看参数帮助,如下:

> opencv_traincascade.exe
Usage: opencv_traincascade.exe
  -data <cascade_dir_name>
  -vec <vec_file_name>
  -bg <background_file_name>
  [-numPos <number_of_positive_samples = 2000>]
  [-numNeg <number_of_negative_samples = 1000>]
  [-numStages <number_of_stages = 20>]
  [-precalcValBufSize <precalculated_vals_buffer_size_in_Mb = 1024>]
  [-precalcIdxBufSize <precalculated_idxs_buffer_size_in_Mb = 1024>]
  [-baseFormatSave]
  [-numThreads <max_number_of_threads = 20>]
  [-acceptanceRatioBreakValue <value> = -1>]
--cascadeParams--
  [-stageType <BOOST(default)>]
  [-featureType <{HAAR(default), LBP, HOG}>]
  [-w <sampleWidth = 24>]
  [-h <sampleHeight = 24>]
--boostParams--
  [-bt <{DAB, RAB, LB, GAB(default)}>]
  [-minHitRate <min_hit_rate> = 0.995>]
  [-maxFalseAlarmRate <max_false_alarm_rate = 0.5>]
  [-weightTrimRate <weight_trim_rate = 0.95>]
  [-maxDepth <max_depth_of_weak_tree = 1>]
  [-maxWeakCount <max_weak_tree_count = 100>]
--haarFeatureParams--
  [-mode <BASIC(default) | CORE | ALL
--lbpFeatureParams--
--HOGFeatureParams--

参数详解

-data: 应存储经过训练的分类器的位置。此文件夹应事先手动创建
-vec: 带有正样本的 vec 文件(由 opencv_createsamples 实用程序创建)
-bg: 背景描述文件。这是包含负样本图像的文件
-numPos: 每个分类器阶段训练中使用的正样本数
-numNeg: 每个分类器阶段训练中使用的负样本数
-numStages: 要训练的级联阶段数
-precalcValBufSize: 预先计算的特征值的缓冲区大小(以 Mb 为单位)。您分配的内存越多,训练过程就越快,但请记住,两者的-precalcValBufSize总和-precalcIdxBufSize不应超过您可用的系统内存
-precalcIdxBufSize: 预先计算的特征索引的缓冲区大小(以 Mb 为单位)。您分配的内存越多,训练过程就越快,但请记住,两者的-precalcValBufSize总和-precalcIdxBufSize不应超过您可用的系统内存
-baseFormatSave: 这个论点在 Haar-like 特征的情况下是真实的。如果指定,级联将以旧格式保存。这只适用于向后兼容的原因,并允许用户坚持使用旧的已弃用界面,至少可以使用较新的界面训练模型
-numThreads: 训练期间使用的最大线程数。请注意,实际使用的线程数可能会更少,具体取决于您的机器和编译选项。默认情况下,如果您使用 TBB 支持构建 OpenCV,则会选择最大可用线程,这是优化所必需的
-acceptanceRatioBreakValue: 此参数用于确定您的模型应该保持学习的精确程度以及何时停止。一个好的指导原则是训练不超过 10e-5,以确保模型不会过度训练您的训练数据。默认情况下,此值设置为 -1 以禁用此功能
--cascadeParams--
-stageType: 阶段类型。目前仅支持增强分类器作为阶段类型
-featureType: 特征类型:HAAR-类HAAR特征,LBP-局部二进制模式,默认是HAAR类型,因为HAAR需要浮点运算,精度比LBP高,但是LBP的效果也基本能达到HAAR的效果
-w: 训练样本的宽度(以像素为单位)。必须与创建训练样本时使用的值完全相同
-h: 训练样本的高度(以像素为单位)。必须与创建训练样本时使用的值完全相同
--boostParams--
-bt: 增强分类器的类型:DAB - Discrete AdaBoost, RAB - Real AdaBoost, LB - LogitBoost, GAB - Gentle AdaBoost
-minHitRate: 分类器的每个阶段的最小期望命中率
-maxFalseAlarmRate: 分类器的每个阶段的最大期望虚警率
-weightTrimRate: 指定是否应使用修剪及其权重。一个不错的选择是0.95
-maxDepth: 弱树的最大深度。一个不错的选择是1,文档是这样翻译的,不知道啥意思
-maxWeakCount: 每个级联阶段弱树的最大计数
--haarFeatureParams--
-mode: 选择训练中使用的哈尔特征集的类型。BASIC仅使用直立功能,而ALL使用全套直立和45度旋转功能集 BASIC(default) | CORE | ALL

详见官网:https://docs.opencv.org/3.4.1/dc/d88/tutorial_traincascade.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值