Haar级联数据结构 参看 haarcascade_eye.xml
<?xml version="1.0"?>
<opencv_storage> <!-- opencv_storage 也是opencv中的一个对象 -->
<cascade type_id="opencv-cascade-classifier"><stageType>BOOST</stageType> <!-- type_id 是一个标识,stageType(训练的方式) 选Boost -->
<featureType>HAAR</featureType> <!-- featureType表示特征类型 -->
<height>20</height> <!-- 训练时,正样本图像的大小,如果待检测的图像尺寸小于这个就无法检测了 -->
<width>20</width>
<stageParams> <!-- 属于stage的参数 -->
<maxWeakCount>93</maxWeakCount></stageParams> <!-- stage中弱分类器数最大的那个,93,也应该是最后的那个stage -->
<featureParams> <!-- 属于feature的参数 -->
<maxCatCount>0</maxCatCount></featureParams>
<stageNum>24</stageNum> <!-- 这里表示下面的stages标签有24个Classifier阶段,也就是<stages>标签下有24个<_></_>标签。这里往后就是级联分类检测器基本原理的那张图 -->
<stages>
<_> <!-- 这里的标签表示一个stage -->
<maxWeakCount>6</maxWeakCount> <!-- 这个阶段,最大弱分类器的个数。越是后面的stage,最大弱分类器的个数应该是越大 -->
<stageThreshold>-1.4562760591506958e+00</stageThreshold> <!-- stage阈值 -->
<weakClassifiers> <!-- 弱分类器,该标签下的每一个<_></_>即表示一个弱分类器 -->
<_>
<internalNodes> <!-- 表示弱分类器的特征的数据 -->
0 -1 0 1.2963959574699402e-01</internalNodes>
<leafValues> <!-- 弱分类器左右两个节点,判断该标签下的两个值,是左边这个还是右边那个 -->
-7.7304208278656006e-01 6.8350148200988770e-01</leafValues></_>
<_>
...
...
</weakClassifiers>
</_>
...
...
</stages>
<features> <!-- 上面的所有的stage过了后,特征数据就出来了 -->
<_>
<rects> <!-- 对于每个矩形都有一个特征数据 -->
<_> <!-- 标签中的值权重,具体的是什么,要去看代码是怎么实现的了 -->
0 8 20 12 -1.</_>
<_>
0 14 20 6 2.</_></rects></_>
<_>
...
...
</features>
</cascade>
</opencv_storage>
数据精简与使用 这样级联数据文件的大小就可以变小,加载也就更快了
1. 删除不必要的空白行与tab键。
2. 删除不必要的双精度小数位,只保留小数点后4位即可。
3. 压缩成zip文件(可选择)。
OpenCV之级联分类器训练与使用(四) HAAR级联数据文件结构与精简
猜你喜欢
转载自blog.csdn.net/huanghuangjin/article/details/81414365
今日推荐
周排行