暑假的时候做了一个智能机械臂,用到了opencv里的级联分类器,这里写一下我的理解
级联分类器上手简单,同时Haar特征支持一些特殊图形的检测,例如人脸,我训练的是一个纯色模型,效果并不好,不建议用该种方法识别一些颜色梯度变化不明显的物体
(1)haar特征
图片展示了最基本的几类haar特征,每种其实都有相应的变式,图中黑:白等于1:1,
这种也是一种haar特征。
每个haar特征都对应一个特征值,相当于对图像以某点展开一个矩形对图像进行卷积操作(haar特征中的黑只是表达与白相反体现的是一种色差变化)
对于一个haar特征 j 求其特征值的操作为
f(j)= 白色像素和 *白色像素权重 - 黑色像素和 * 黑色像素权重
因为一个haar 特征里黑色像素与白色像素数量不一定相等所以要成一个权重
,再次说明一下黑色像素在原图中不一定为黑,而在这个点上的特征值让他表现为黑色一方而已
求特征值的操作类似与一个卷积操作。
特征值产生的数据非常巨大,opencv里介绍了一种一种归一化操作
这里是我引用资料上的不多叙述,是为了让数据小一些
(2)积分图
如图对于一个图片其haar特征数量是巨大的,仅左上角一个点都可以产生大量haar特征计算矩阵(可放缩)
满足(s, t)条件的矩形称为条件矩形:
(1) x 方向边长必须能被自然数 s 整除(能均等分成 s 段&#