我一直在使用旧的OpenCV haartraining实现已有一段时间了。现在,在最终转向OpenCV 2.3之后,我想知道如何设置参数,就像我使用旧实现一样。据我所知,还没有opencv_traincascade的文档。
我错过了“-nonsym”开关和“-nsplits”。现在,只有“maxDepth”参数具有描述“max_depth_of_weak_tree”。是一个弱三个树桩?现在所有的哈尔特征都被认为是非现实的吗?
非常感谢!
答案 0 :(得分:5)
@Alex:这是关于opencv 2.3.2文档给出的所有参数的一个很好的描述,我正在使用一个使用opencv进行人工检测和跟踪的python脚本。如果你打算使用以新的包装器cv2开头的python函数。()不要忘记在屁股中设置正确的PATH或它的痛苦......
http://opencv.itseez.com/trunk/doc/user_guide/ug_traincascade.html
答案 1 :(得分: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—
答案 2 :(得分:1)
在新实施的traincascade应用程序中,它不使用对称属性来加速。所以没有选择指定nonsym / sys。对于maxDepth选项,您可以将其理解为二元决策树的深度。默认深度为1,因此您有2个拆分。对于k的一般深度,你有$ 2 ^ k $分裂。