OpenCv-C++-HAAR级联数据文件结构与精简

OpenCv中有一些自带的已经训练好的数据,那么接下来大致的对部分数据信息进行讲解。
OpenCv-C++-HAAR级联数据文件结构与精简_第1张图片
上图是基于Harr的训练数据,我在VS2017中打开一个文件,比如第一个文件:haarcascade_eye.xml。
先来看看第45-49行:
在这里插入图片描述
PS:第一眼看到这种结构我觉得跟Html有点像。
46:BOOST表示分类器是基于AdaBoost的结构进行训练的。
47:HAAR则是基于HAAR的方式进行训练的。
48-49:表示正样本的大小是Size(20,20)
OpenCv-C++-HAAR级联数据文件结构与精简_第2张图片
51:一个参数,属于stage的参数,总共用了弱分类器的个数为93个(级联分类器由多个强分类器组成,一个强分类器由多个弱分类器组成)。
52:一个参数,属于feature的参数

OpenCv-C++-HAAR级联数据文件结构与精简_第3张图片
59-:每个圈出来的矩形框代表一个弱分类器。
后面很多都是:
OpenCv-C++-HAAR级联数据文件结构与精简_第4张图片
越往后 X中的X值应该是越大的。
一直往下滑,弱分类器滑到了5000多行才结束:
OpenCv-C++-HAAR级联数据文件结构与精简_第5张图片
上面的特征通过SVM(支持向量机)来进行分类,我们就得到了下面的矩形数据:

OpenCv-C++-HAAR级联数据文件结构与精简_第6张图片
5486:这里面的数据应该是权重,具体还要看代码中的要求。
一直拉到底都是矩形数据:
OpenCv-C++-HAAR级联数据文件结构与精简_第7张图片
以上就是数据部分的讲解,由此我们可以大致上来判断自己训练的数据是不是正确且合法的。

其实有些文件中的数据可以去掉,这样我们的数据文件会小很多,做应用时效率会更高,像这些数据就可以去掉:
OpenCv-C++-HAAR级联数据文件结构与精简_第8张图片

去掉之后(比如只保留4位小数),相信运行效率一定会大幅度上升。

你可能感兴趣的:(HAAR数据文件结构,数据精简,OpenCv数据集,OpenCv-C++学习记录)