工具:opencv_traincascade.exe,opencv_createsamples.exe位于opencv\build\x86\vc10\bin文件夹下,可用以训练HAAR、LBP和HOG特征训练分类器
训练的过程:
1、训练样本准备
以行人训练为例,首先正样本是各种各样的行人的照片,负样本就是非人照片。样本个数最好在上千个,太少训练出来的分类器不能准确检测行人,对正负样本的个数比例不尽相同,有的说3:1有的说7:3,我用的正样本有3000个负样本1500个。把正负样本分别放在不同的文件夹下,可以命名为pos、neg。同时也要把opencv自带的训练函数和正负样本一起放到一个文件夹下,用opencv的traincascade.exe训练行人的HAAR、LBP和HOG特征的xml
另外正负样本都要转化成灰度图,而且对于正样本用haar特征训练是规格化成24*24或其他大小,不要太大,过多的haar特征会影响分类器的训练时间;对于LBP特征正样本要规格化为24*24大小,而对于HOG要规格化成64*64. 负样本对尺寸没有统一要求,在训练对应的分类器时,选择的负样本尺寸一定要大于等于正样本规定的尺寸。 a,正样本就是人的图片就行了,尽量包含少的背景。 b,负样本有两点要求:一,不能包含正样本且尽可能多的提供场景的背景图;二,负样本尽可能的多,而且要多样化。
2、对样本进行处理
以下的处理过程都是在命令行下进行的,在计算机【开始】里面输入“cmd”进入命令行了,进入你刚才新建的包含以上样本的文件夹下 首先进入E盘 直接输入E:就可以了,其次输入“c
训练的过程:
1、训练样本准备
以行人训练为例,首先正样本是各种各样的行人的照片,负样本就是非人照片。样本个数最好在上千个,太少训练出来的分类器不能准确检测行人,对正负样本的个数比例不尽相同,有的说3:1有的说7:3,我用的正样本有3000个负样本1500个。把正负样本分别放在不同的文件夹下,可以命名为pos、neg。同时也要把opencv自带的训练函数和正负样本一起放到一个文件夹下,用opencv的traincascade.exe训练行人的HAAR、LBP和HOG特征的xml
另外正负样本都要转化成灰度图,而且对于正样本用haar特征训练是规格化成24*24或其他大小,不要太大,过多的haar特征会影响分类器的训练时间;对于LBP特征正样本要规格化为24*24大小,而对于HOG要规格化成64*64. 负样本对尺寸没有统一要求,在训练对应的分类器时,选择的负样本尺寸一定要大于等于正样本规定的尺寸。 a,正样本就是人的图片就行了,尽量包含少的背景。 b,负样本有两点要求:一,不能包含正样本且尽可能多的提供场景的背景图;二,负样本尽可能的多,而且要多样化。
2、对样本进行处理
以下的处理过程都是在命令行下进行的,在计算机【开始】里面输入“cmd”进入命令行了,进入你刚才新建的包含以上样本的文件夹下 首先进入E盘 直接输入E:就可以了,其次输入“c