机器学习篇---四阶特征矩
在图像识别和纹理分析领域,矩是一种强大的工具,它可以把图像的形状或纹理这种直观的视觉信息,浓缩成一组定量的数字特征。就像用几个关键数字(身高、体重、年龄)来概括一个人,矩就是用数字来概括一个图像区域的统计形态。
我们之前聊CNN(卷积神经网络)的卷积核能自动学习特征,而矩特别是四阶矩,是一种经典的、基于统计学的手工设计特征。在工业检测、医学图像分析等场景,当标记数据不足支撑训练一个CNN时,矩特征结合传统机器学习模型依然是很可靠的选择。
要理解四阶矩,需要先明白阶数(Order)是什么意思。
0阶矩:质量。就是图像像素值的总和,代表“总亮度”。
1阶矩:重心/质心。代表图像亮度的“中心点”在哪里。
2阶矩:方差,即分布的“胖瘦”或“朝向”。代表像素值相对于质心的散布程度和方向。
3阶矩:偏度,即分布的“歪不歪”。代表分布相对于中心的不对称性。如果分布右边尾巴长、左边尾巴短,偏度就为正。
4阶矩:峰度,即分布的“峰有多尖,尾有多肥”。这是我们今天的焦点。
一、四阶矩:峰度的直观理解
峰度,一言以蔽之,衡量的是数据分布的陡峭或平缓程度,尤其关注分布的尾部厚度。
可以把它想象成在对比两座山:
高峰度(尖峰厚尾):一座很尖的山,但它的山脚却异常宽阔。对应图像的像素值分布,就是大多数像素集中在平均值附近(山峰尖),但同时又有一些极亮或极暗的像素散落在很远处(山脚厚,即厚尾)。这意味着图像对比度强,有显著的亮点或暗点。
低峰度(平峰瘦尾):一座平缓的山丘,山脚也很窄。对应图像,就是像素值分布很均匀,没有特别集中,也没有特别极端的值,整体纹理看起来柔和、均匀。
数学本质(简约版):四阶中心矩的计算是每个像素值与均值的差值的4次方求平均,再除以标准差的4次方然后用这个结果减去3(这叫超值峰度,减3是为了让正态分布的超值峰度为0,作为基准)。
超值峰度 > 0(高峰度):比正态分布更尖,尾巴更厚。
超值峰度 = 0:类似正态分布的尖峭程度。
超值峰度 < 0(低峰度):比正态分布更平,尾巴更薄。
二、图像识别中的物理意义
在图像处理里,我们通常计算的是图像灰度直方图的四阶矩。它的物理意义非常直观:
1. 纹理的“锐利度”或“颗粒感”
高峰度图像:纹理要么非常平滑(大部分像素集中在均值),要么突然冒出几个尖锐的噪点或强反光点。这像是撒了零星闪光粉的黑布。
低峰度图像:纹理非常均匀、柔和,没有明显的极端亮暗点。像是一块用了很久、磨损均匀的帆布。
2. 缺陷检测的利器
这是四阶矩在工业界最有价值的应用。想象一块光滑的金属表面:
无缺陷:表面平滑,像素灰度都很接近均值,但因为没有极端的亮点或暗点,它的峰度可能表现为较低或接近正态,特征非常稳定。
出现划痕或脏点:突然出现了非常暗(划痕)或非常亮(脏点反光)的像素。这使得分布的尾部瞬间变厚,峰度值会急剧飙升。
因此,通过监控图像四阶矩的变化,就可以极其灵敏地捕捉到哪怕面积很小、但对比度高的局部缺陷,而不用关心缺陷的具体形状。
三、与其他矩的协同作战
单靠一个四阶矩无法描述所有特征。一个经典的纹理特征描述范式是联合使用二阶、三阶、四阶矩。
想象你在描述一个图像亮度直方图的形状(一维波形),你至少需要说清:
宽度(2阶方差):整体对比度跨度大不大。
歪斜(3阶偏度):整体是偏亮(波峰在左边)还是偏暗(波峰在右边)。
尖峭度与尾部(4阶峰度):质地是均匀还是带有极端的斑点。
这三个统计量一组合,就构成了对图像纹理非常强健的描述,它们共同组成了一种简单但有效的手工特征向量。
四、全局vs局部:高阶矩的两种用法
全局四阶矩:对整个图像区域算一个峰度值。简单粗暴,适合判断整张图“是否有异常”,速度快。
局部四阶矩:用一个滑动小窗口(比如16x16像素)扫过图像,每个窗口计算一个峰度值,最终生成一张“峰度特征图”。这能精确定位纹理不均或缺陷的位置,还可以直接送入后续的机器学习分类器。
