Метод Оцу
Метод Оцу (также известен как пороговая бинаризация Оцу) — это алгоритм автоматического выбора порога бинаризации полутонового изображения, основанный на анализе его гистограммы яркостей. Метод был предложен японским инженером Нобуюки Оцу (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 \]
На практике чаще используют максимизацию межклассовой дисперсии, так как она требует меньше вычислительных операций и не включает вычисление дисперсий каждого класса.
Алгоритм
- Построить гистограмму яркостей изображения.
- Для каждого возможного порога t (от 1 до 254):
- Вычислить \( \omega_1(t) \), \( \omega_2(t) \), \( \mu_1(t) \), \( \mu_2(t) \) на основе гистограммы.
- Вычислить \( \sigma^2_B(t) \).
- Выбрать порог \( t^* \), при котором \( \sigma^2_B(t) \) максимальна.
- Применить пороговую бинаризацию: все пиксели с яркостью ≤ \( 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 \]
Алгоритм гарантирует нахождение глобального оптимума, так как перебирает все возможные пороги.
Применение
Обработка изображений
Метод Оцу широко используется для автоматической бинаризации изображений в задачах:
- Сегментация текста: выделение символов на сканированных документах, распознавание номерных знаков, оптическое распознавание символов (OCR).
- Медицинская визуализация: выделение границ тканей на рентгеновских снимках, МРТ или КТ, например, для сегментации опухолей или кровеносных сосудов.
- Промышленный контроль: обнаружение дефектов на поверхностях, контроль качества продукции.
- Биометрия: выделение радужной оболочки глаза или отпечатков пальцев.
Компьютерное зрение
В компьютерном зрении метод Оцу применяется как предварительный этап для выделения объектов интереса перед более сложными алгоритмами, такими как детекция границ (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 →