造球粒径检测算法论文阅读笔记
1.图像感兴趣区域的划分
依据光照的不同,将图像区域分为两类,一是ABEF,CDGH,二是BFGC,且论文中说,这两区域的参数取相同值
2.生球区图像高斯滤波
图像的灰度的分布呈山峰状,每个“山峰”表示单个生球表面的灰度分布,这种分类类似于高斯分布,为了保持表面灰度分布的高斯分布特征,所以采用高斯滤波的方法
高斯滤波在滤波过程中,用大小为
l
∗
h
l*h
l∗h的模板扫描图像,依次以图像的每个像素作为模板中心,用模板邻域内的像素灰度的加权平均值来代替模板中心像素的灰度值,模板中各像素的加权权重由二维高斯函数计算,计算公式为:
其中
σ
\sigma
σ为二维高斯函数的标准差。
σ
\sigma
σ越大时,高斯模板中各像素的权重差别越小,类
似于均值滤波器的模板;
σ
\sigma
σ越小时,高斯模板中心像素的权重将大于其它像素的权重。由于单个生球表面灰度的类高斯分布比较陡峭(上上图 ),因此
σ
\sigma
σ值应在(0,1)的范围取较小值,以降低模板周围像素的灰度值对中心元素的影响。由离散二维高斯模板性质
可知,像素在距离模板3
σ
\sigma
σ外的权重近似为 0,对滤波的意义不大。因此,在确定
σ
\sigma
σ
取值后,高斯滤波器的标准模板大小为6
σ
\sigma
σ * 6
σ
\sigma
σ。考虑到模板的中心元素,模板的边长在实际取值时应取接近于6
σ
\sigma
σ的奇数,因此,本文将
σ
\sigma
σ值设置为 0.4,对应的模板大小为3*3 ,对应的模板系数如下图
3.生球区域与阴影区域的分割
使用大津法,大津法是一种阈值分割方法,大津法基于统计决策在获得最大的类间方差时,将图像分为两类区域,且不受图像的对比度影响,具体原理暂未细看,使用opencv接口为
double threshold(InputArray src, OutputArray dst, double thresh, double maxval, int type)
对于大津法参数 thresh的选取,选择大津法确定的阈值
k
∗
k^*
k∗作为阈值的下限,灰度直方图峰值对应的灰度值
θ
\theta
θ可以认为是大多数生球的边缘灰度值,可以将
θ
\theta
θ作为thres上限。最终在上下限范围内调节得到thres值。针对灰度直方图可能出现的异常峰值,导致
θ
\theta
θ取值异常的情况,本文采用三次样条插值方法来平滑直方图曲线。
确定上下限
k
∗
k^*
k∗和
θ
\theta
θ后,使用线性加权公式取得最终的thres
大津法博客参考
大津法
4.对生球区域的分类标记(区分上下层球)
图像中的每个生球都大致对应一个“山峰”,“山峰”的峰顶区域类似于文献[44]中的灰度局部极大值定义,即图像f上的一块灰度值均为t的连通区域M , M邻域上的像素灰度值均小于t
文采用灰度形态学的开重建方法处理图像,在去除了噪声引起的小面积 “山峰”峰顶区域的同时,保留了图像中面积较大的局部极大值区域来标记生球。灰度形态学开重建,由腐蚀和灰度重建两个步骤构成。其基本思想为:以半径为R的结构元素对灰度图像f进行腐蚀,图像f经腐蚀后得到
f
E
f_E
fE,图像中半径小于R的“峰值”区域将被去除掉,而对于图像上其它像素,它们的灰度值将受到影响,需要恢复为原值以检测出局部极大值。该过程可以采用灰度重建的方法来实现。将原图像f视为模板图像,腐蚀后的图像
f
E
f_E
fE视为标记图像,对
f
E
f_E
fE使用单位半径的结构元素
B
1
B_1
B1进行测地膨胀,直至第n -1,n次的测地膨胀的结果不发生变化为止,测地腐蚀与测地膨胀在二值图像中的操作是将腐蚀与膨胀结果与ground做“与”和“或”操作,测地膨胀被定义为:
在开重建步骤处理结束后,对图像
f
O
R
f_OR
fOR进行局部极大值检测,执行灰度开重建所用的结构元素
B
R
B_R
BR的半径为3,下图中以像素值为255的白色半点标记
将检测到的标记的灰度均值作为特征量以
t
1
,
t
2
,
.
.
.
t
i
{t_1,t_2,...t_i}
t1,t2,...ti表示,运用 K-means 这种经典的无监督聚类算法,将
t
1
,
t
2
,
.
.
.
t
i
{t_1,t_2,...t_i}
t1,t2,...ti分类为表层生球M1和下层生球M2两类,在聚类平方和E取得最小值时,取得分类结果,如图