2011-08-11 14 views
6

Tôi đã sử dụng cài đặt cũ của OpenCV haartraining trong một thời gian khá dài. Bây giờ, sau khi cuối cùng chuyển sang OpenCV 2.3, tôi tự hỏi làm thế nào để thiết lập các thông số như tôi đã làm với việc thực hiện cũ. Theo như tôi biết, chưa có tài liệu cho opencv_traincascade.Tham số của opencv_traincascade

Tôi thiếu công tắc "-nonsym" và "-nsplits". Bây giờ, chỉ có tham số "maxDepth" có mô tả "max_depth_of_weak_tree". Là một ba yếu gốc? Tất cả các tính năng haar bây giờ được giả định là không có nghĩa là gì?

Cảm ơn rất nhiều!

Trả lời

4

Tôi không biết nếu điều này sẽ giúp như tôi đã không cố gắng và nó có vẻ là rất giống với cũ haarcascade.exe

opencv_traincascade.exe 

Cách sử dụng:

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

Bạn có biết nơi một danh sách đầy đủ số tham số cho opencv_traincascade.exe có thể là gì? – Alex

+0

Xin chào! Thực ra đó là triển khai mới. Im không chắc chắn nó nsplits = maxDepth và nếu chuyển đổi nonsym/sys là thực sự mất tích ... – Durin

1

Trong traincascade thực hiện mới ứng dụng, nó không sử dụng thuộc tính đối xứng để tăng tốc. Vì vậy, không có tùy chọn cho việc xác định nonsym/sys. Đối với tùy chọn maxDepth, bạn có thể hiểu nó là độ sâu của cây quyết định nhị phân. Độ sâu mặc định là 1, vì vậy bạn có 2 phần tách. Đối với độ sâu chung của k, bạn có $ 2^k $ chia tách.

5

@Alex: Đây là mô tả tốt về tất cả các tham số được cung cấp bởi tài liệu 2.3.2 opencv, tôi đang làm việc trên một tập lệnh python làm việc với opencv để phát hiện và theo dõi con người. Nếu bạn có kế hoạch để sử dụng các chức năng python bắt đầu với CV2 wrapper mới.() Đừng quên để thiết lập PATH đúng hay đau của nó trong ass ...

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

+0

quên đặt PATH đúng và nó chi phí cho tôi! Cảm ơn cho tip – mrjrdnthms