图像分割:直方图区域划分及信息统计介绍
摘要:图像分割大部分时候会涉及到直方图统计信息计算,对直方图区域进行划分后,可以得到相应的直方图统计信息(目标/背景的先验概率、均值等),由此可以进一步求解不同的阈值选取准则函数。此处仅给出最常用的一维直方图和传统二维直方图的统计信息计算公式,其他类型直方图的统计信息不作详细介绍,具体可参考相应的文献[1]。
1.直方图及其区域划分
图像阈值分割中的阈值通常是指灰度级阈值,而图像的灰度级直方图很好地反映了一幅图像中的灰度分布信息,是阈值选取的重要参考依据。现有的阈值选取方法大多利用了灰度级直方图信息。因此,在介绍阈值选取准则之前,先对直方图的种类和直方图区域的划分作一些分析和总结。
图 1(b)和图1©分别给出了图1(a)所示 Lena 图像的一维灰度级直方图和二维直方图。一维阈值的选取即为在一维区间[0,L-1]上,根据某种准则找出划分该区间的最佳阈值,该阈值两侧的区间分别代表目标和背景。对于二维直方图区域(二维直方图的俯视图)的划分有两种常见的方式:直分法和斜分法。如图2(a)所示,图中横轴 f 代表灰度级,纵轴g 代表邻域平均灰度级(通常选3×3邻域),“ O ”和“ B ”分别表示目标和背景。二维直方图区域直分方法中,t 和 s 分别表示灰度级阈值和邻域平均灰度级阈值,f = t 和 g = s 两条分别平行于纵轴和横轴的直线将整个二维直方图区域划分为 4 个部分。左下角区域所代表像素的灰度级和邻域平均灰度级都较小,可以认为是目标的内部像素点(假定目标较暗),右上角区域所代表像素的灰度级和邻域平均灰度级都较大,被认为是背景的内部像素点。而远离对角线的左上角和右下角两个区域所代表的像素灰度级与邻域平均灰度级相差较大,可能处于目标和背景的边缘位置,也可能是噪声点。由于图像中边缘点和噪声点的数量远远小于目标和背景内部点的数量,在传统二维直方图区域直分法中常常假定左上角和右下角两个区域中像素点个数等于0 ,以简化阈值选取过程。二维直方图区域直分阈值选取方法就是根据某种准则,确定两个阈值 t 和 s ,使得划分后的左下角和右上角区域成为目标和背景的最优表示。
另一种二维直方图划分方式为斜分法,如图 2(b)所示。该方法认为目标像素和背景像素应该分布在直方图区域的对角线附近(图2(b))中的虚线(1)和虚线(3)之间的部分),而直分法显然没有遵循这一原则,存在将目标点和背景点当作边缘点和噪声点以及相反的情况。该划分方式以垂直于对角线(图2(b)中的虚线(2))的直线进行区域划分,对目标和背景像素的划分更为准确,但忽略了图像中边缘点和噪声点的影响。在图2(b)中,斜分法表示为二维直方图区域被一条斜率为-1的直线划分为两部分,左下方和右上方分别代表目标和背景。可见,斜分法只需确定一个阈值,即分割直线的截距 T ,因而与直分法相比阈值求取的工作量较小。但由于斜分法所划分的区域不规则,在实际计算过程中仍稍显麻烦。考虑到斜分法只需在垂直对角线方向上选取一个阈值,可将二维直方图区域向对角线方向做投影,由此得到直线截距直方图 。在忽略了一定二维信息的条件下,将二维直方图转化为一维直方图,简化了斜分方法的阈值计算过程。θ - 划分法是对直方图区域直分和斜分的推广,分割直线的斜率不再采用固定值-1,而是可以在(-∞ , 0 ]上进行调整。当斜率趋向于-∞ 时,该方法退化为基于一维灰度级直方图的阈值选取;而当斜率等于 0 时,则退化为基于一维邻域平均灰度级直方图的阈值选取。
2.直方图信息统计
2.1 一维直方图信息统计
记灰度级直方图中灰度级
i
i
i 的频数为
h
i
h_i
hi,图像尺寸维MxN,则相应的频率为:
p
i
=
h
i
/
(
M
∗
N
)
,
p
i
≥
0
,
∑
i
=
0
L
−
1
p
i
=
1
(1)
p_i = h_i/(M*N),p_i\geq 0,\sum_{i=0}^{L-1}p_i=1\tag{1}
pi=hi/(M∗N),pi≥0,i=0∑L−1pi=1(1)
假设阈值
t
t
t将灰度级空间
[
0
,
L
−
1
]
[0,L-1]
[0,L−1]划分为目标类
[
0
,
t
]
[0,t]
[0,t]和背景类
[
t
+
1
,
L
−
1
]
[t+1,L-1]
[t+1,L−1],则目标类和背景类像素出现的概率分别为:
w
0
(
t
)
=
∑
i
=
0
t
p
i
(2)
w_0(t)=\sum_{i=0}^t p_i \tag{2}
w0(t)=i=0∑tpi(2)
w b ( t ) = ∑ i = t + 1 L − 1 p i = 1 − w 0 (3) w_b(t)=\sum_{i=t+1}^{L-1}p_i=1-w_0\tag{3} wb(t)=i=t+1∑L−1pi=1−w0(3)
整幅图像的灰度级均值为:
u
T
=
∑
i
=
0
L
−
1
i
p
i
(4)
u_T=\sum_{i=0}^{L-1}ip_i\tag{4}
uT=i=0∑L−1ipi(4)
两类的像素灰度级均值分别为:
u
0
(
t
)
=
∑
i
=
0
t
i
p
i
∑
i
=
0
t
p
i
=
∑
i
=
0
t
i
p
i
w
0
(
t
)
(5)
u_0(t)=\frac{\sum_{i=0}^{t}ip_i}{\sum_{i=0}^{t}p_i} = \frac{\sum_{i=0}^{t}ip_i}{w_0(t)} \tag{5}
u0(t)=∑i=0tpi∑i=0tipi=w0(t)∑i=0tipi(5)
u b ( t ) = ∑ i = t + 1 L − 1 i p i ∑ i = t + 1 L − 1 p i = ∑ i = 0 L − 1 i p i w b ( t ) = u T − u 0 ( t ) w 0 ( t ) w b ( t ) (6) u_b(t)=\frac{\sum_{i=t+1}^{L-1}ip_i}{\sum_{i=t+1}^{L-1}p_i} = \frac{\sum_{i=0}^{L-1}ip_i}{w_b(t)} = \frac{u_T-u_0(t)w_0(t)}{w_b(t)}\tag{6} ub(t)=∑i=t+1L−1pi∑i=t+1L−1ipi=wb(t)∑i=0L−1ipi=wb(t)uT−u0(t)w0(t)(6)
2.2 二维直方图信息统计
在传统二维直方图的情况下,记灰度级为
i
i
i 、邻域平均灰度级为
j
j
j的像素数目为
h
i
j
h_{ij}
hij,则相应的像素出现概率为:
p
i
j
=
h
i
j
/
(
M
∗
N
)
,
p
i
j
≥
0
,
∑
i
=
0
L
−
1
∑
j
=
0
L
−
1
p
i
j
=
1
(7)
p_{ij}=h_{ij}/(M*N),p_{ij}\geq0,\sum_{i=0}^{L-1}\sum_{j=0}^{L-1}p_{ij} = 1 \tag{7}
pij=hij/(M∗N),pij≥0,i=0∑L−1j=0∑L−1pij=1(7)
目标类和背景类像素出现的概率分别为:
w
0
(
t
,
s
)
=
∑
i
=
0
t
∑
j
=
0
s
p
i
j
(8)
w_0(t,s)=\sum_{i=0}^t\sum_{j=0}^sp_{ij}\tag{8}
w0(t,s)=i=0∑tj=0∑spij(8)
w b ( t , s ) = ∑ i = t + 1 L − 1 ∑ i = t + 1 L − 1 p i j (9) w_b(t,s)=\sum_{i = t+1}^{L-1}\sum_{i = t+1}^{L-1}p_{ij}\tag{9} wb(t,s)=i=t+1∑L−1i=t+1∑L−1pij(9)
目标类和背景类像素的灰度级均值分别为:
u
0
(
s
,
t
)
=
(
u
0
i
(
s
,
t
)
,
u
0
j
(
s
,
t
)
)
T
=
(
∑
i
=
0
t
∑
j
=
0
s
i
p
i
j
/
w
0
(
s
,
t
)
,
∑
i
=
0
t
∑
j
=
0
s
j
p
i
j
/
w
0
(
s
,
t
)
)
T
(10)
u_0(s,t)=(u_{0i}(s,t),u_{0j}(s,t))^T = (\sum_{i=0}^t\sum_{j=0}^sip_{ij}/w_0(s,t),\sum_{i=0}^t\sum_{j=0}^sjp_{ij}/w_0(s,t))^T \tag{10}
u0(s,t)=(u0i(s,t),u0j(s,t))T=(i=0∑tj=0∑sipij/w0(s,t),i=0∑tj=0∑sjpij/w0(s,t))T(10)
u b ( s , t ) = ( u b i ( s , t ) , u b j ( s , t ) ) T = ( ∑ i = s + 1 L − 1 ∑ j = t + 1 L − 1 i p i j / w b ( s , t ) , ∑ i = s + 1 L − 1 ∑ j = t + 1 L − 1 j p i j / w b ( s , t ) ) T (11) u_b(s,t)=(u_{bi}(s,t),u_{bj}(s,t))^T = (\sum_{i=s+1}^{L-1}\sum_{j=t+1}^{L-1}ip_{ij}/w_b(s,t),\sum_{i=s+1}^{L-1}\sum_{j=t+1}^{L-1}jp_{ij}/w_b(s,t))^T \tag{11} ub(s,t)=(ubi(s,t),ubj(s,t))T=(i=s+1∑L−1j=t+1∑L−1ipij/wb(s,t),i=s+1∑L−1j=t+1∑L−1jpij/wb(s,t))T(11)
整幅图像的灰度级均值为:
u
T
=
(
u
T
i
,
u
T
j
)
T
=
(
∑
i
=
0
L
−
1
∑
i
=
0
L
−
1
i
p
i
j
,
∑
i
=
0
L
−
1
∑
i
=
0
L
−
1
j
p
i
j
)
T
(12)
u_T = (u_{Ti},u_{Tj})^T=(\sum_{i=0}^{L-1}\sum_{i=0}^{L-1}ip_{ij},\sum_{i=0}^{L-1}\sum_{i=0}^{L-1}jp_{ij})^T\tag{12}
uT=(uTi,uTj)T=(i=0∑L−1i=0∑L−1ipij,i=0∑L−1i=0∑L−1jpij)T(12)
3.参考文献:
[1]吴一全,孟天亮,吴诗婳.图像阈值分割方法研究进展20年(1994—2014)[J].数据采集与处理,2015,30(01):1-23.