序、阈值化综述

阈值的选择可以认为是在灰度 PDF 中寻找将两个峰值(能够分别代表前景和背景)区分开来的位置。

也可以理解成一个一维数据的二分类问题。

Untitled

阈值化技术的缺陷与难点:

即使如此,根据统一性测量的原则进行图像阈值化是有其应用意义的,尤其是在工业计数或监测等场景下,对环境和光照有完全的把握。

阈值化的技巧:

一、基于方差的阈值求解(大津算法)

0. 阈值求解涉及的定义

1. 大津算法的优化目标

Otsu, N. A threshold selection method from gray-level histogram. IEEE Transactions on Systems, Man and Cybernetics, 9, 62-66. 1979 https://u-aizu.ac.jp/course/bmclass/documents/otsu1979.pdf

2. 大津算法的实现

根据以上定义,一种最简单的算法伪代码如下:

统计图像中各灰度值出现的频次 n[0], n[1], ... n[L-1]
统计样本整体的均值 mu(公式1)
枚举每个阈值 k,从 1 到 L-1:
  统计前类别的均值 mu0(前类别的灰度集合是 i 从 0 到 k-1)(公式2)
  统计后类别的均值 mu1(后类别的灰度集合是 i 从 k 到 L-1)(公式2)
  计算 sigma2_b(公式3)
  维持类间方差的当前最大值 sigma2_b_max 和对应的阈值 k_maxi
求得让类间方差最大化的阈值 k_maxi

涉及的公式:

  1. 通过频次数据 $n_i$ 统计均值 $\mu$:

    $$ \mu = \frac{\sum_{i=0}^{L-1} n_i \cdot i}{N} $$

  2. 通过频次数据 $n_i$ 统计前后类别的均值 $\mu_0, \mu_1$:

    $$ \mu_0 = \frac{\sum_{i=0}^{k-1} n_i \cdot i}{N_0} = \frac{\sum_{i=0}^{k-1} n_i \cdot i}{\omega_0N} \ \ \ \ \ \left( \omega_0=\frac{\sum_{i=0}^{k-1} n_i }{N} \right) $$

    $$ \mu_1 = \frac{\sum_{i=k}^{L-1} n_i \cdot i}{N_1} = \frac{\sum_{i=k}^{L-1} n_i \cdot i}{\omega_1N} \ \ \ \ \ \left( \omega_1=\frac{\sum_{i=k}^{L-1} n_i }{N} \right) $$

  3. 二类别的类间方差公式:

    $$ \sigma_b^2=\omega_0(\mu - \mu_0)^2 + \omega_1(\mu - \mu_1)^2 $$