Открыть сервис

Метод Оцу

Метод Оцу (также известен как пороговая бинаризация Оцу) — это алгоритм автоматического выбора порога бинаризации полутонового изображения, основанный на анализе его гистограммы яркостей. Метод был предложен японским инженером Нобуюки Оцу (Nobuyuki Otsu) в 1979 году и с тех пор стал одним из наиболее распространённых способов сегментации изображений в компьютерном зрении и обработке изображений. Основная идея метода заключается в нахождении такого порога, который разделяет пиксели изображения на два класса (например, «объект» и «фон») таким образом, чтобы внутриклассовая дисперсия была минимальна, а межклассовая — максимальна.

Принцип работы

Гистограмма яркостей

Метод Оцу применяется к полутоновым изображениям, где каждый пиксель имеет значение яркости от 0 (чёрный) до 255 (белый) в 8-битном представлении. Для такого изображения строится гистограмма — распределение количества пикселей по каждому уровню яркости. Гистограмма является одномерной и содержит 256 бинов (от 0 до 255). Метод предполагает, что изображение состоит из двух основных классов: пиксели, принадлежащие объекту (например, тёмные детали), и пиксели, принадлежащие фону (светлые области), или наоборот.

Критерий оптимальности

Алгоритм перебирает все возможные значения порога от 1 до 254. Для каждого порога t пиксели делятся на два класса:

  • Класс 1 (фон): пиксели с яркостью от 0 до t.
  • Класс 2 (объект): пиксели с яркостью от t+1 до 255.

Для каждого класса вычисляются:

  • Вероятность класса (доля пикселей): \( \omega_1(t) \) и \( \omega_2(t) \).
  • Средняя яркость класса: \( \mu_1(t) \) и \( \mu_2(t) \).
  • Внутриклассовая дисперсия: \( \sigma^2_1(t) \) и \( \sigma^2_2(t) \).

Общая внутриклассовая дисперсия определяется как взвешенная сумма: \[ \sigma^2_W(t) = \omega_1(t) \cdot \sigma^2_1(t) + \omega_2(t) \cdot \sigma^2_2(t) \]

Оптимальный порог \( t^* \) выбирается таким образом, чтобы минимизировать \( \sigma^2_W(t) \). Эквивалентно, можно максимизировать межклассовую дисперсию: \[ \sigma^2_B(t) = \omega_1(t) \cdot \omega_2(t) \cdot (\mu_1(t) - \mu_2(t))^2 \]

На практике чаще используют максимизацию межклассовой дисперсии, так как она требует меньше вычислительных операций и не включает вычисление дисперсий каждого класса.

Алгоритм

  1. Построить гистограмму яркостей изображения.
  2. Для каждого возможного порога t (от 1 до 254):
  • Вычислить \( \omega_1(t) \), \( \omega_2(t) \), \( \mu_1(t) \), \( \mu_2(t) \) на основе гистограммы.
  • Вычислить \( \sigma^2_B(t) \).
  1. Выбрать порог \( t^* \), при котором \( \sigma^2_B(t) \) максимальна.
  2. Применить пороговую бинаризацию: все пиксели с яркостью ≤ \( t^ \) становятся чёрными (0), а с яркостью > \( t^ \) — белыми (255), или наоборот, в зависимости от задачи.

Математическая основа

Метод Оцу базируется на дискриминантном анализе, предложенном Рональдом Фишером. Он рассматривает задачу разделения пикселей на два класса как задачу максимизации разделимости классов. Пусть \( n_i \) — количество пикселей с яркостью i, а N — общее количество пикселей. Тогда вероятность яркости i равна \( p_i = n_i / N \). Для порога t:

  • \( \omega_1(t) = \sum_{i=0}^{t} p_i \)
  • \( \omega_2(t) = \sum_{i=t+1}^{255} p_i \)
  • \( \mu_1(t) = \frac{1}{\omega_1(t)} \sum_{i=0}^{t} i \cdot p_i \)
  • \( \mu_2(t) = \frac{1}{\omega_2(t)} \sum_{i=t+1}^{255} i \cdot p_i \)
  • Общая средняя яркость: \( \mu_T = \sum_{i=0}^{255} i \cdot p_i \)

Межклассовая дисперсия вычисляется как: \[ \sigma^2_B(t) = \omega_1(t) \cdot (\mu_1(t) - \mu_T)^2 + \omega_2(t) \cdot (\mu_2(t) - \mu_T)^2 \]

Алгоритм гарантирует нахождение глобального оптимума, так как перебирает все возможные пороги.

Применение

Обработка изображений

Метод Оцу широко используется для автоматической бинаризации изображений в задачах:

Компьютерное зрение

В компьютерном зрении метод Оцу применяется как предварительный этап для выделения объектов интереса перед более сложными алгоритмами, такими как детекция границ (Canny) или анализ контуров. Он также используется в системах видеонаблюдения для обнаружения движения на фоне.

Научные исследования

Метод используется в микроскопии для сегментации клеток, в астрономии для выделения звёзд на фоне неба, в геоинформатике для анализа спутниковых снимков (например, выделение водных объектов или растительности).

Преимущества и недостатки

Преимущества

  • Автоматизация: не требует ручной настройки порога, что удобно при пакетной обработке большого количества изображений.
  • Простота реализации: алгоритм легко программируется и имеет низкую вычислительную сложность — O(K), где K — количество уровней яркости (обычно 256).
  • Эффективность на бимодальных гистограммах: если гистограмма имеет два чётко выраженных пика, метод даёт точный порог.

Недостатки

  • Зависимость от формы гистограммы: метод плохо работает, если гистограмма является унимодальной (один пик) или мультимодальной (более двух пиков), а также при сильном перекрытии классов.
  • Чувствительность к шуму: шум на изображении может исказить гистограмму, что приведёт к неверному выбору порога.
  • Неравномерное освещение: метод предполагает, что освещение по всему изображению равномерно, что редко выполняется на практике. Для коррекции часто предварительно применяют выравнивание гистограммы или фильтрацию.
  • Ограничение на два класса: метод не подходит для сегментации изображений с тремя и более классами, хотя существуют его обобщения (например, многопороговый метод Оцу).

Модификации и расширения

Для преодоления ограничений метода Оцу были разработаны различные модификации:

  • Многопороговый метод Оцу: расширение на случай нескольких порогов для сегментации изображений с несколькими классами. Вычислительная сложность растёт экспоненциально с числом порогов, поэтому часто применяются эвристики или методы оптимизации (например, генетические алгоритмы).
  • Метод Оцу с весами: введение весовых коэффициентов для разных классов, если известны их априорные вероятности.
  • Адаптивный метод Оцу: применяется к локальным областям изображения для борьбы с неравномерным освещением. Изображение разбивается на блоки, для каждого блока вычисляется свой порог методом Оцу, затем пороги интерполируются.
  • Комбинация с другими методами: например, предварительная фильтрация медианным или гауссовым фильтром для уменьшения шума, или использование метода Оцу как этапа в алгоритме водораздела.

Интересные факты

  • Метод Оцу был опубликован в 1979 году в журнале IEEE Transactions on Systems, Man, and Cybernetics. Статья Нобуюки Оцу «A Threshold Selection Method from Gray-Level Histograms» стала одной из наиболее цитируемых в области обработки изображений.
  • Несмотря на свою простоту, метод остаётся популярным и входит в стандартные библиотеки компьютерного зрения, такие как OpenCV (функция cv2.threshold с флагом cv2.THRESH_OTSU), scikit-image (функция threshold_otsu) и MATLAB (функция graythresh).
  • В 2010 году метод Оцу был включён в список «100 наиболее влиятельных статей в области компьютерного зрения и обработки изображений» по версии IEEE.

Источники

  • Otsu, N. (1979). «A Threshold Selection Method from Gray-Level Histograms». IEEE Transactions on Systems, Man, and Cybernetics, 9(1), 62–66.
  • Gonzalez, R. C., & Woods, R. E. (2018). «Digital Image Processing» (4th ed.). Pearson.
  • Bradski, G., & Kaehler, A. (2008). «Learning OpenCV: Computer Vision with the OpenCV Library». O'Reilly Media.
  • Документация библиотеки scikit-image: «Thresholding» (раздел Otsu).

BFOmetr — база данных и аналитика по компаниям России.

На главную BFOmetr →