1 论文简介
《Minimum error thresholding》是由 Kittler 和 Illingworth 于 1986 年发布在 Pattern Recognition 上的一篇论文。该论文假设原始图像中待分割的目标和背景的分布服从高斯分布,然后根据最小误差思想构建最小误差目标函数,最后取目标函数最小时的阈值为最佳分割阈值。以下称最小误差阈值法或最小错误阈值法(Minimum Error Thresholding,MET)。
2 算法原理
假设原始图像的最大灰度级为
L
L
L,第
i
i
i 级的像素数用
n
i
n_i
ni 表示,那么原始图像的总像素数
N
N
N 计算如下:
N
=
n
1
+
n
2
+
.
.
.
+
n
i
+
.
.
.
+
n
L
(1)
{N=n_1+n_2+...+n_i+...+n_L} \tag{1}
N=n1+n2+...+ni+...+nL(1)归一化直方图
p
i
p_i
pi 表示如下:
p
i
=
n
i
/
N
,
p
i
≥
0
,
∑
i
=
1
L
p
i
=
1
(2)
{p_i=n_i/N},{\quad \quad} p_i \geq 0,{\sum_{i=1}^Lp_i=1} \tag{2}
pi=ni/N,pi≥0,i=1∑Lpi=1(2)现假设通过
t
t
t 级阈值将直方图分为目标和背景两类,则目标和背景的均值和方差分别计算如下:
P
0
(
t
)
=
∑
i
=
1
t
p
i
,
P
1
(
t
)
=
∑
i
=
t
+
1
L
p
i
(3)
P_0(t)={\sum_{i=1}^tp_i},P_1(t)={\sum_{i=t+1}^Lp_i} \tag{3}
P0(t)=i=1∑tpi,P1(t)=i=t+1∑Lpi(3)
μ
0
(
t
)
=
∑
i
=
1
t
p
i
i
P
0
(
t
)
,
μ
1
(
t
)
=
∑
i
=
t
+
1
L
p
i
i
P
1
(
t
)
(4)
\mu_0(t)=\frac{\sum_{i=1}^tp_ii}{P_0(t)},\mu_1(t)=\frac{\sum_{i=t+1}^Lp_ii}{P_1(t)} \tag{4}
μ0(t)=P0(t)∑i=1tpii,μ1(t)=P1(t)∑i=t+1Lpii(4)
σ
0
2
(
t
)
=
∑
i
=
1
t
(
i
−
μ
0
(
t
)
)
2
p
i
P
0
(
t
)
,
σ
1
2
(
t
)
=
∑
i
=
t
+
1
L
(
i
−
μ
1
(
t
)
)
2
p
i
P
1
(
t
)
(5)
\sigma_0^2(t)=\frac{\sum_{i=1}^t(i-\mu_0(t))^2p_i}{P_0(t)},\sigma_1^2(t)=\frac{\sum_{i=t+1}^L(i-\mu_1(t))^2p_i}{P_1(t)} \tag{5}
σ02(t)=P0(t)∑i=1t(i−μ0(t))2pi,σ12(t)=P1(t)∑i=t+1L(i−μ1(t))2pi(5)故根据最小误差思想构建最小误差目标函数如下:
J
(
t
)
=
1
+
2
[
P
0
(
t
)
ln
σ
0
(
t
)
+
P
1
(
t
)
ln
σ
1
(
t
)
]
−
2
[
P
0
(
t
)
ln
P
0
(
t
)
+
P
1
(
t
)
ln
P
1
(
t
)
]
(6)
J(t)=1+2[P_0(t)\ln{\sigma_0(t)}+P_1(t)\ln{\sigma_1(t)}]-2[P_0(t)\ln{P_0(t)}+P_1(t)\ln{P_1(t)}] \tag{6}
J(t)=1+2[P0(t)lnσ0(t)+P1(t)lnσ1(t)]−2[P0(t)lnP0(t)+P1(t)lnP1(t)](6)图像最佳阈值
t
∗
t^*
t∗ 计算如下:
J
(
t
∗
)
=
min
1
≤
t
<
L
J
(
t
)
(7)
J(t^*)={\min_{1{\leq}t<L}}J(t) \tag{7}
J(t∗)=1≤t<LminJ(t)(7)
3 实验结果
4 参考文献
[1] Kittler J, Illingworth J. Minimum error thresholding[J]. Pattern recognition, 1986, 19(1): 41-47.
5 代码链接
代码链接:https://mbd.pub/o/bread/ZZqVk5pw。