2011-08-11 5 views
6

He estado usando la implementación anterior de la práctica de haartraining de OpenCV durante bastante tiempo. Ahora, después de pasar finalmente a OpenCV 2.3, me pregunto cómo establecer parámetros como lo hice con la implementación anterior. Hasta donde yo sé, todavía no hay documentación para opencv_traincascade.Parámetros de opencv_traincascade

Me falta el modificador "-nonsym" y "-nsplits". Ahora, solo hay un parámetro "maxDepth" que tiene como descripción "max_depth_of_weak_tree". ¿Es un tres débil un tocón? ¿Se supone ahora que todas las características de Haar son nonsym?

¡Muchas gracias!

Respuesta

4

No sé si esto ayudará a que no he probado y parece ser muy similar a la anterior haarcascade.exe

opencv_traincascade.exe 

Uso:

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— 
+0

¿Conoce donde una lista completa de parámetros para opencv_traincascade.exe podría ser? – Alex

+0

¡Hola! De hecho esa es la nueva implementación. No estoy seguro si nsplits = maxDepth y si realmente falta el modificador nonsym/sys ... – Durin

1

En el nuevo traincascade implementado aplicación, no usa la propiedad simétrica para acelerar. Entonces no hay opción para especificar nonsym/sys. Para la opción maxDepth, puede entenderla como la profundidad del árbol de decisión binario. La profundidad predeterminada es 1, por lo que tiene 2 divisiones. Para una profundidad general de k, tiene $ 2^k $ splits.

5

@Alex: Aquí hay una buena descripción acerca de todos los parámetros proporcionados por la documentación de opencv 2.3.2, estoy trabajando en una secuencia de comandos python que trabaje con opencv para la detección y el seguimiento de mentiras humanas. Si va a utilizar las funciones de Python que comienzan con el nuevo cv2 envoltorio.() No se olvide de establecer el camino correcto o su dolor en el culo ...

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

+0

se olvidó de establecer la RUTA correcta y me costó! Gracias por consejo – mrjrdnthms