В обработке изображений гауссово размытие (также известное как гауссово сглаживание ) является результатом размытия изображения с помощью гауссовой функции (названной в честь математика и ученого Карла Фридриха Гаусса ).
Это широко используемый эффект в графическом программном обеспечении, как правило, для снижения шума изображения и уменьшения детализации. Визуальный эффект этого метода размытия — плавное размытие, напоминающее просмотр изображения через полупрозрачный экран, что существенно отличается от эффекта боке , создаваемого не сфокусированным объективом или тенью объекта при обычном освещении.
Сглаживание Гаусса также используется в качестве этапа предварительной обработки в алгоритмах компьютерного зрения для улучшения структур изображений в разных масштабах — см. представление масштабного пространства и реализация масштабного пространства .
Математически применение гауссовского размытия к изображению равносильно свертке изображения с гауссовой функцией . Это также известно как двумерное преобразование Вейерштрасса . Напротив, свертка по окружности (т. е. круговое размытие ) более точно воспроизведет эффект боке .
Поскольку преобразование Фурье гауссовой функции представляет собой еще одну гауссову функцию, применение гауссовой размытости приводит к уменьшению высокочастотных компонентов изображения; таким образом, гауссова размытие является фильтром нижних частот .
Гауссово размытие — это тип фильтра размытия изображения, который использует гауссову функцию (которая также выражает нормальное распределение в статистике) для вычисления преобразования , применяемого к каждому пикселю изображения. Формула гауссовой функции в одном измерении:
В двух измерениях это произведение двух таких гауссовых функций, по одной в каждом измерении: [1] [2] [3] где x — расстояние от начала координат по горизонтальной оси, y — расстояние от начала координат по вертикальной оси, а σ — стандартное отклонение гауссовского распределения. Важно отметить, что начало координат по этим осям находится в центре (0, 0). При применении в двух измерениях эта формула создает поверхность, контуры которой представляют собой концентрические окружности с гауссовым распределением от центральной точки.
Значения из этого распределения используются для построения матрицы свертки , которая применяется к исходному изображению. Этот процесс свертки наглядно проиллюстрирован на рисунке справа. Новое значение каждого пикселя устанавливается как средневзвешенное значение соседства этого пикселя. Значение исходного пикселя получает самый большой вес (имея самое высокое гауссовское значение), а соседние пиксели получают меньшие веса по мере увеличения их расстояния до исходного пикселя. Это приводит к размытию, которое сохраняет границы и края лучше, чем другие, более однородные фильтры размытия; см. также реализацию масштабного пространства .
Теоретически функция Гаусса в каждой точке изображения будет ненулевой, что означает, что все изображение должно быть включено в вычисления для каждого пикселя. На практике при вычислении дискретной аппроксимации функции Гаусса пиксели на расстоянии более 3 σ оказывают достаточно малое влияние , чтобы считаться фактически нулевым. Таким образом, вклад пикселей за пределами этого диапазона можно игнорировать. Обычно программе обработки изображений требуется только вычислить матрицу с размерами × (где — функция потолка ), чтобы гарантировать результат, достаточно близкий к результату, полученному с помощью всего распределения Гаусса.
Помимо того, что размытие Гаусса является круговой симметрией, его можно применять к двумерному изображению как два независимых одномерных вычисления, и поэтому его называют разделяемым фильтром . То есть эффект применения двумерной матрицы может быть также достигнут путем применения ряда одномерных гауссовых матриц в горизонтальном направлении, а затем повторения процесса в вертикальном направлении. С точки зрения вычислений это полезное свойство, поскольку вычисление может быть выполнено во времени (где h — высота, а w — ширина; см. нотацию Big O ), в отличие от неразделяемого ядра.
Применение последовательных гауссовых размытий к изображению имеет тот же эффект, что и применение одного большего гауссова размытия, радиус которого равен квадратному корню из суммы квадратов радиусов размытия, которые были фактически применены. Например, применение последовательных гауссовских размытий с радиусами 6 и 8 дает те же результаты, что и применение одного гауссова размытия радиусом 10, так как . Из-за этой связи время обработки не может быть сэкономлено путем имитации гауссова размытия с последовательными меньшими размытиями — требуемое время будет по крайней мере таким же большим, как и при выполнении одного большого размытия.
Гауссово размытие обычно используется при уменьшении размера изображения. При понижении разрешения изображения обычно применяют фильтр нижних частот к изображению перед повторной выборкой. Это делается для того, чтобы гарантировать, что в уменьшенном изображении не появится ложная высокочастотная информация ( алиасинг ). Гауссово размытие имеет хорошие свойства, такие как отсутствие резких краев, и, таким образом, не вносит звон в отфильтрованное изображение.
Гауссово размытие — это фильтр нижних частот , ослабляющий высокочастотные сигналы. [3]
Его амплитудный график Боде ( логарифмическая шкала в частотной области ) представляет собой параболу .
Насколько фильтр Гаусса со стандартным отклонением сглаживает изображение? Другими словами, насколько он уменьшает стандартное отклонение значений пикселей на изображении? Предположим, что значения пикселей в оттенках серого имеют стандартное отклонение , тогда после применения фильтра уменьшенное стандартное отклонение можно аппроксимировать как [ необходима цитата ]
Эта матрица выборки получена путем выборки ядра фильтра Гаусса (с σ = 0,84089642) в средних точках каждого пикселя и последующей нормализации. Центральный элемент (в [0, 0]) имеет наибольшее значение, симметрично уменьшаясь по мере увеличения расстояния от центра. Поскольку начало ядра фильтра находится в центре, матрица начинается и заканчивается в точке, где R равен радиусу ядра.
Элемент 0,22508352 (центральный) в 1177 раз больше, чем 0,00019117, который находится сразу за пределами 3σ.
Эффект гауссовского размытия обычно создается путем свертки изображения с ядром FIR гауссовых значений, подробное рассмотрение см. в [4] .
На практике лучше всего воспользоваться разделяемым свойством гауссовского размытия, разделив процесс на два прохода. В первом проходе одномерное ядро используется для размытия изображения только в горизонтальном или вертикальном направлении. Во втором проходе то же одномерное ядро используется для размытия в оставшемся направлении. Результирующий эффект такой же, как при свертке с двумерным ядром за один проход, но требует меньше вычислений.
Дискретизация обычно достигается путем выборки ядра гауссовского фильтра в дискретных точках, обычно в позициях, соответствующих средним точкам каждого пикселя. Это снижает вычислительные затраты, но для очень маленьких ядер фильтра точечная выборка гауссовой функции с очень малым количеством выборок приводит к большой ошибке. В этих случаях точность поддерживается (при небольших вычислительных затратах) путем интегрирования гауссовой функции по площади каждого пикселя. [5]
При преобразовании непрерывных значений гауссовой функции в дискретные значения, необходимые для ядра, сумма значений будет отличаться от 1. Это приведет к затемнению или осветлению изображения. Чтобы исправить это, значения можно нормализовать, разделив каждый член в ядре на сумму всех членов в ядре.
Гораздо лучшим и теоретически более обоснованным подходом является выполнение сглаживания с помощью дискретного аналога гауссова ядра [ 6], который обладает аналогичными свойствами в дискретной области, что делает непрерывное гауссово ядро специальным в непрерывной области, например, ядро, соответствующее решению уравнения диффузии, описывающее пространственный процесс сглаживания, подчиняющееся свойству полугруппы по сложениям дисперсии ядра или описывающее эффект броуновского движения в пространственной области, и с суммой его значений, в точности равной 1. Более подробное описание дискретного аналога гауссова ядра см. в статье о реализации в масштабном пространстве и [6] .
Эффективность FIR падает для высоких сигм. Существуют альтернативы FIR-фильтру. К ним относятся очень быстрые множественные размытия коробок , быстрый и точный детектор краев IIR Deriche , «размытие стека», основанное на размытии коробок, и многое другое. [7]
Для обработки предварительно записанных временных сигналов или видео гауссовское ядро также может использоваться для сглаживания во временной области, поскольку данные предварительно записаны и доступны во всех направлениях. Однако при обработке временных сигналов или видео в ситуациях реального времени гауссово ядро не может использоваться для временного сглаживания, поскольку оно будет получать доступ к данным из будущего, которые, очевидно, не могут быть доступны. Для временного сглаживания в ситуациях реального времени можно вместо этого использовать временное ядро, называемое ядром предела причинно-следственной связи [8], которое обладает аналогичными свойствами в ситуации причинно-следственной связи (несоздание новых структур в направлении увеличения масштаба и ковариации временного масштаба), как гауссово ядро подчиняется в некаузальном случае. Ядро предела причинно-следственной связи соответствует свертке с бесконечным числом усеченных экспоненциальных ядер, связанных каскадом, со специально выбранными постоянными времени. Для дискретных данных это ядро часто можно численно хорошо аппроксимировать небольшим набором рекурсивных фильтров первого порядка, соединенных каскадом; более подробную информацию см. в [8] .
Сглаживание Гаусса обычно используется с обнаружением краев . Большинство алгоритмов обнаружения краев чувствительны к шуму; двумерный фильтр Лапласа, построенный на основе дискретизации оператора Лапласа , очень чувствителен к шумным средам.
Использование фильтра Gaussian Blur перед обнаружением краев направлено на снижение уровня шума в изображении, что улучшает результат следующего алгоритма обнаружения краев. Этот подход обычно называют фильтрацией Лапласа Гаусса или LoG-фильтрацией. [9]
В недорогих цифровых камерах , включая камеры многих мобильных телефонов , обычно используется гауссово размытие [ требуется ссылка ] для скрытия шума на изображении , вызванного более высокой светочувствительностью ISO .
Гауссово размытие автоматически применяется как часть постобработки изображения программным обеспечением камеры, что приводит к необратимой потере деталей. [10] [ нужен лучший источник ]
{{cite web}}
: CS1 maint: multiple names: authors list (link)На фотографиях, в ночь на ночь, доминирует Pixelmatsch.