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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
随机森林是一种集成学习方法,它由多个决策树组成。OpenCV中提供了随机森林的实现,可以使用`cv2.ml.RTrees`类来构建和训练随机森林模型。 在OpenCV中,可以通过设置一些参数来调整随机森林的性能和行为。下面是一些常用的参数及其解析: 1. `n_estimators`(默认值为 100):随机森林中树的数量。 2. `max_depth`(默认值为 INT_MAX):每棵树的最大深度。 3. `min_samples_split`(默认值为 2):拆分内部节点所需的最小样本数。 4. `min_samples_leaf`(默认值为 1):叶节点上所需的最小样本数。 5. `max_features`(默认值为 auto):寻找最佳分割时要考虑的特征数。可以是整数、浮点数、字符串或 None。如果为整数,则考虑的特征数为该整数;如果为浮点数,则考虑的特征数为总特征数的百分比;如果为字符串,则根据该字符串的值选择特征数;如果为 None,则考虑的特征数为总特征数的平方根。 6. `bootstrap`(默认值为 True):是否使用自助法(bootstrap)样本来构建决策树。 7. `random_state`(默认值为 None):随机种子的值。 除了上述参数之外,还有一些其他可用的参数,可以根据具体需求进行调整。在使用随机森林模型之前,建议先对数据进行预处理和特征工程,以提高模型的性能和准确性。 希望这些解析对你有帮助!如果还有其他问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值