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

Разность гауссианов

Разность гауссианов (англ. Difference of Gaussians, DoG) — это оператор в области обработки изображений и компьютерного зрения, который применяется для выделения границ, обнаружения бликов, а также в качестве метода повышения резкости. Результат операции получается путём вычитания одного размытого по Гауссу изображения из другого, размытого с меньшим радиусом. DoG аппроксимирует действие лапласиана гауссиана (LoG) и является более эффективным в вычислительном плане, что обусловило его широкое применение в алгоритмах, таких как SIFT (масштабно-инвариантное преобразование признаков).

Определение и математическая основа

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

Математически разность гауссианов для одномерного случая выражается как:

\[ G(x, \sigma_1) - G(x, \sigma_2) = \frac{1}{\sqrt{2\pi}\sigma_1} e^{-\frac{x^2}{2\sigma_1^2}} - \frac{1}{\sqrt{2\pi}\sigma_2} e^{-\frac{x^2}{2\sigma_2^2}} \]

где \(\sigma_1\) и \(\sigma_2\) — стандартные отклонения (параметры масштаба) двух гауссианов, причём \(\sigma_1 < \sigma_2\). На практике чаще используется соотношение \(\sigma_2 = k \cdot \sigma_1\), где \(k\) — коэффициент, обычно принимающий значение около 1,6.

В двумерном случае (для изображений) формула принимает вид:

\[ DoG(x, y, \sigma_1, \sigma_2) = \frac{1}{2\pi\sigma_1^2} e^{-\frac{x^2+y^2}{2\sigma_1^2}} - \frac{1}{2\pi\sigma_2^2} e^{-\frac{x^2+y^2}{2\sigma_2^2}} \]

Связь с лапласианом гауссиана

DoG тесно связан с лапласианом гауссиана (LoG), который является оператором второго порядка, используемым для обнаружения границ. LoG вычисляется как оператор Лапласа, применённый к гауссову размытию изображения. Однако прямое вычисление LoG требует больших вычислительных затрат, особенно при работе с изображениями большого размера.

DoG аппроксимирует LoG с помощью разности двух гауссианов с разными масштабами. Эта аппроксимация основана на том, что производная гауссиана по параметру масштаба \(\sigma\) может быть выражена через разность гауссианов с близкими значениями \(\sigma\). В пределе, когда \(k \to 1\), DoG стремится к LoG, умноженному на \((k-1)\sigma^2\). На практике коэффициент \(k = 1,6\) даёт хорошее приближение, достаточное для большинства задач компьютерного зрения.

Применение

Обнаружение границ и бликов

DoG является эффективным детектором границ, так как он реагирует на перепады яркости. При этом он менее чувствителен к шуму, чем простые градиентные операторы (например, оператор Собеля), благодаря предварительному размытию. Кроме того, DoG может использоваться для обнаружения бликов и пятен (blob detection) — областей, которые отличаются по яркости от окружающего фона. Реакция DoG на такие области имеет характерный вид «мексиканской шляпы» (положительный центр, отрицательное окружение), что позволяет локализовать их.

Повышение резкости

В фотографии и графических редакторах DoG применяется для повышения резкости изображений. Алгоритм, известный как «нерезкое маскирование» (unsharp masking), основан на вычитании из исходного изображения его размытой версии. Фактически, это частный случай DoG, где \(\sigma_1 = 0\) (исходное изображение), а \(\sigma_2\) — некоторое положительное значение. Более сложные реализации DoG позволяют подчёркивать детали определённого масштаба, управляя параметрами \(\sigma_1\) и \(\sigma_2\).

Масштабно-инвариантное преобразование признаков (SIFT)

Одним из наиболее известных применений DoG является алгоритм SIFT (Scale-Invariant Feature Transform), разработанный Дэвидом Лоу в 1999 году. В SIFT DoG используется для построения масштабного пространства и обнаружения ключевых точек (особых точек), инвариантных к масштабу и повороту. Алгоритм строит пирамиду изображений, последовательно размывая их с разными значениями \(\sigma\), а затем вычисляет разность соседних уровней. Локальные экстремумы (минимумы и максимумы) в этом масштабном пространстве считаются потенциальными ключевыми точками. SIFT широко применяется в задачах сопоставления изображений, панорамной съёмки, распознавания объектов и 3D-реконструкции.

Фильтрация в нейронауке

DoG используется для моделирования рецептивных полей нейронов зрительной системы, в частности, ганглиозных клеток сетчатки и нейронов латерального коленчатого тела. Рецептивные поля этих клеток имеют структуру «центр-окружение», которая хорошо аппроксимируется разностью двух гауссианов. Это позволяет моделировать процессы обработки визуальной информации на ранних этапах зрительного восприятия.

Реализация и параметры

На практике DoG реализуется путём последовательного применения двух гауссовых фильтров к изображению с последующим вычитанием результатов. Основными параметрами являются:

  • \(\sigma_1\)стандартное отклонение первого (меньшего) гауссиана. Определяет масштаб мелких деталей, которые будут подчёркнуты.
  • \(\sigma_2\) — стандартное отклонение второго (большего) гауссиана. Определяет масштаб подавляемых низкочастотных компонентов.
  • Коэффициент \(k\) — отношение \(\sigma_2 / \sigma_1\). Влияет на ширину полосы пропускания фильтра. Чем ближе \(k\) к 1, тем уже полоса пропускания и тем более избирательно фильтр реагирует на детали определённого размера.

Выбор параметров зависит от конкретной задачи. Для обнаружения границ обычно используют небольшие значения \(\sigma\) (например, \(\sigma_1 = 0,5\), \(\sigma_2 = 1,0\)). Для выделения крупных объектов или текстур — большие значения (например, \(\sigma_1 = 2,0\), \(\sigma_2 = 4,0\)).

Достоинства и недостатки

Достоинства:

  • Вычислительная эффективность по сравнению с LoG, особенно при использовании пирамиды изображений.
  • Простота реализации.
  • Хорошая аппроксимация LoG, обеспечивающая аналогичные результаты.
  • Возможность настройки на определённый масштаб деталей.

Недостатки:

  • Чувствительность к шуму при малых значениях \(\sigma\).
  • Не является идеальным детектором границ — может давать ложные срабатывания на текстурах и создавать двойные контуры.
  • Требует подбора параметров для каждой конкретной задачи.

Источники

  1. Lowe, D. G. (2004). Distinctive image features from scale-invariant keypoints. International Journal of Computer Vision, 60(2), 91-110.
  2. Marr, D., & Hildreth, E. (1980). Theory of edge detection. Proceedings of the Royal Society of London. Series B. Biological Sciences, 207(1167), 187-217.
  3. Gonzalez, R. C., & Woods, R. E. (2018). Digital Image Processing (4th ed.). Pearson.
  4. Szeliski, R. (2010). Computer Vision: Algorithms and Applications. Springer.

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

На главную BFOmetr →