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。