6

很长一段时间以来,我一直在使用 OpenCV 的 haartraining 的旧实现。现在,在最终迁移到 OpenCV 2.3 之后,我想知道如何设置参数,就像我对旧实现所做的那样。据我所知,还没有关于 opencv_traincascade 的文档。

我缺少“-nonsym”开关和“-nsplits”。现在,只有一个“maxDepth”参数,其描述为“max_depth_of_weak_tree”。弱三是树桩吗?现在是否假定所有 haar 特征都是非对称的?

非常感谢!

4

3 回答 3

5

@Alex:这是关于 opencv 2.3.2 文档给出的所有参数的一个很好的描述,我正在研究一个 python 脚本,它与 opencv 一起用于检测和跟踪撒谎的人。如果您打算使用以新包装器 cv2.() 开头的 python 函数,请不要忘记设置正确的 PATH 或它的痛苦...

http://opencv.itseez.com/trunk/doc/user_guide/ug_traincascade.html

于 2012-01-22T23:29:22.047 回答
4

我不知道这是否会有所帮助,因为我没有尝试过,它似乎与旧的 haarcascade.exe 非常相似

opencv_traincascade.exe

用法:

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 = 256>]
[-precalcIdxBufSize <precalculated_idxs_buffer_size_in_Mb = 256>]
[-baseFormatSave]
—cascadeParams—
[-stageType <BOOST(default)>]
[-featureType <{HAAR(default), LBP}>]
[-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—
于 2011-08-11T08:54:27.140 回答
1

在新实现的 traincascade 应用程序中,它不使用对称属性来加速。所以没有指定 nonsym/sys 的选项。对于 maxDepth 选项,可以理解为二叉决策树的深度。默认深度为 1,因此您有 2 个拆分。对于 k 的一般深度,您有 $2^k$ 拆分。

于 2011-11-24T10:34:49.483 回答