opencv 训练器的制作笔记

来源:互联网 发布:vod电影点播软件 编辑:程序博客网 时间:2024/05/16 21:19

开发环境:Ubuntu

摸索了很久.发现网上大部分的都是windows的笔记.很多命令参数都不一样.

Ubuntu下编译并安装好了opencv后直接就能找到 opencv_createsamples  opencv_traincascade等相关命令

1.制作样本

用如下的命令

opencv_createsamples -vec sample.vec -info sample.txt -w 42 -h 42

sample.txt就是样本目录,坐标等..w 宽度 h 高度

2.负样本..

这个其实不需要任何命令生成制作,直接用文件图片的目录记录一下就行了


3.训练

opencv_traincascade这个命令的参数在Ubuntu下和win下不一样

-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 = 8>]
  [-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


主要就是上面红色标记的三个参数  .其它都一样

opencv_traincascade -data ./ -vec sample.vec -bg noface.txt -numPos 1 -numNeg 10 -mem 100 -w 42 -h 42 -numStages 9

4.背景样本要大一些.否则会报错. 

正样本可以是一个.背景样本我测试用的是10个. 如果卡住可以通过 numStages 控制等级.





0 0