Данный метод можно применять также во временной области, усредняя каждый пиксель по соседним кадрам видеопотока (каждый пиксель будет усредняться по пикселям, расположенным в той же позиции в соседних кадрах).
Этот алгоритм очень прост, но он не дает хорошего результата, вместе с тем приводя к сильному размытию деталей изображения.
Фильтр Гаусса
Имеет принцип действия сходный с предыдущим методом и так
же относится
к числу сглаживающих фильтров. Однако шумоподавление при помощи линейного усредняющего фильтра
имеет существенный недостаток: все соседи обрабатываемого пикселя оказывают на
результат одинаковый эффект, независимо от их расстояния до него. Фильтр Гаусса
так же усредняет центральный пиксель и его соседей в некоторой области, только
происходит это по определенному закону, который задает функция Гаусса.
(5.1)
Где параметр σ задает степень размытия, а параметр A обеспечивает нормировку [12]. В итоге центральный пиксель рассматриваемой области будет имеет наибольшее значение, соответствующее пику распределения Гаусса. Значения остальных элементов будут оказывать все меньшее влияние по мере удаления от центра.
Матричный фильтр, посчитанный по указанной формуле,
называется гауссианом; чем больше его размер, тем сильнее размытие (при
фиксированном σ). Поскольку данный фильтр сепарабелен, то
его можно представить в виде:
(5.2)
Отсюда следует, что свертку можно производить последовательно по строкам и по столбцам, что приводит к значительному ускорению работы метода при больших размерах фильтра.
Алгоритм 2Dcleaner
Заменяет каждый пиксель изображения средним значением соседних пикселей, взятых в области ограниченной некоторым радиусом. При этом рассматриваются не все точки, попавшие в радиус, а только те, значение которых отличается от центрального пикселя не более чем на некоторую заранее заданную величину (порог) [14]. Благодаря этому равномерно окрашенные области размываются сильнее, чем резкие границы объектов. Это позволяет снизить низкоуровневый шум на изображении, вместе с тем сохранив нетронутыми мелкие детали.
Медианная фильтрация
Линейные алгоритмы оказываются очень эффективными при подавлении помех гауссовского характера, когда соседние пиксели хоть и имеют некоторый случайный разброс значений, но все же остаются в пределах некоторого среднего значения, характерного для области, к которой они принадлежат. Однако порой приходится иметь дело с изображениями, искаженными другими видами помех. Примером такой помехи является импульсный шум, проявляющийся в наличии на изображении хаотично разбросанных точек случайной яркости. Усреднение в этом случае “размазывает” каждую такую точку на соседние пиксели, приводя к ухудшению качества изображения.
Стандартным способом подавления импульсного шума является медианная фильтрация. Этот нелинейный метод обработки изображений позволяет устранить резкие выбросы, но, в отличие от усредняющих линейных алгоритмов, оставляет монотонные последовательности пикселей без изменения. Благодаря этому, медианные фильтры способны сохранять без искажений контуры объектов и перепады между областями различной яркости, при этом эффективно подавляя некоррелированные помехи и малоразмерные детали.
Принцип фильтрации: Задается некое окно нечетного размера, последовательно накладывающееся на каждый пиксель изображения. Среди всех пикселей, попавших в рассматриваемую область, включая центральный, ищется медианное значение, которое в итоге присваивается центральному пикселю области. Под медианой в данном случае понимается срединный элемент массива отсортированных значений пикселей, принадлежащих области. Нечетный размер окна выбирается именно для того чтобы обеспечить существование срединного пикселя.
Возможно применение медианного фильтра и для подавления белого гауссовского шума на изображении. Однако исследование подавления шума при помощи медианной фильтрации показывает, что ее эффективность при решении этой задачи ниже, чем у линейной фильтрации [15].
Медианная фильтрация не лишена недостатка, свойственного большинству шумоподавляющих фильтров - при увеличении размера маски для улучшения степени подавления шума происходит снижение четкости изображения и размытие его контуров. Однако существует возможность свести негативные эффекты к минимуму, применяя медианную фильтрацию с динамическим размером маски (аддитивная медианная фильтрация) [16] Ее принцип остается тем же, только размер скользящего окна фильтрации может изменяться в зависимости от яркости соседних пикселей.
Практически все алгоритмы подавления шума на изображении приводят его размытию, в результате теряются мелкие детали, затрудняется восприятие изображения. Частично компенсировать этот негативный эффект и восстановить утраченный контурный контраст и цветовые переходы способен фильтр повышения резкости изображения. Резкость может зависеть и от многих других факторов - от качества объектива, от используемой диафрагмы, от толщины анти-муарового фильтра, находящегося на матрице большинства цифровых камер, в различной степени размывающего изображение. Также резкость изображений зачастую необходимо увеличивать после уменьшения их размеров, потому что при этом неизбежно теряется часть информации а с ней и чёткость контуров.
Нерезкое маскирование - это прием, позволяющий за счет
усиления контраста переходов между тонами изображения улучшить его визуальное
восприятие из-за иллюзии повышения резкости. На самом деле резкость остается на
том же уровне, ведь в принципе невозможно восстановить утерянные детали
изображения, но улучшение контраста между участками разной яркости приводит к
тому что изображение воспринимается как более четкое.
Рисунок 5.1 - Иллюстрация понятия «резкость контура»
Резкость изображения зависит от величины перепада яркости между областями (W), образующими его контуры, и от резкости изменения этого перепада (H).
Прием нерезкого маскирования был впервые применен еще для обработки пленочных фотографий [17]. Приспособленный к цифровой обработке изображений метод мало отличается от оригинального: из изображения вычитается так называемая “нерезкая маска” - его размытая и инвертированная копия. Итогом становится новое изображение, содержащее только светлые контуры оригинала. Темные контуры можно получить простым инвертированием результата.
Если в дальнейшем вычесть из исходного изображения темные контуры и прибавить светлые, получится значительное усиление контрастности на каждом перепаде яркости.
Для размытия оригинала с целью получения “нерезкой маски”
можно использовать любой из шумоподавляющих фильтров, например, фильтр Гаусса.
Рисунок 5.2 - Результат применение нерезкого маскирования
Операция свертки довольно часто применяется при обработке изображений. Кроме повышения резкости она используется для размытия, увеличения яркости, осветления и т.д.
Свёрткой изображения называют операцию вычисления нового значения заданного пикселя, при которой учитываются значения окружающих его соседних пикселей. В общем значении, этот термин означает некоторое действие, которое выполняется над каждой частью изображения [8].
Главным элементом свертки является маска свертки - это матрица (произвольного размера и отношения сторон). Часто такую маску называют фильтром, ядром, шаблоном или окном. Значения элементов матрицы принято называть коэффициентами.
Чаще всего в качестве ядра свертки используется квадратная матрица.
Обработка изображения операцией свертки происходит следующим образом: На каждый пикселю изображения последовательно накладывается центральный элемент матрицы, называемый “якорем”. Новое значение рассматриваемого пикселя вычисляется как сумма значений соседних пикселей, умноженных на соответствующие им коэффициенты маски свертки.
Получаемый эффект зависит от выбранного ядра свертки.
Ядро контрастоповышающего фильтра имеет значение, большее 1,
в точке (0, 0), при общей сумме всех значений, равной 1. Например,
контрастоповышающим фильтром является фильтры с ядрами, задаваемыми матрицами
[18]:
Эффект повышения контраста достигается за счет того, что фильтр подчеркивает разницу между интенсивностями соседних пикселей, удаляя эти интенсивности друг от друга. Этот эффект будет тем сильней, чем больше значение центрального члена ядра.
Линейная контрастно-повышающая фильтрация на основе свертки может привести к возникновению видимых цветных ореолов вокруг контуров изображения.
Проблемы освещенности изображения чаще всего возникают при попадании в кадр окон, солнца или других нерегулируемых источников света.
Такая ситуация называется «избытком света» и приводит к тому, что из-за слишком яркого контрфорсного освещения детали и цвета предметов, расположенных на фоне чересчур ярких объектов, теряются, становясь трудно различимыми.
Так же часто встречается ситуация недостатка света. Её причиной может быть съемка в темных помещениях с плохой освещенностью, а также ограниченный диапазон чувствительности видеоаппаратуры.
Алгоритм Single Scale Retinex
При попытке осветлить изображение путем увеличения яркости каждого пикселя на некоторое фиксированное значение, изначально светлые участки могут оказаться совсем засвеченными.
В таких случаях требуется применять “умную” цветокоррекцию, которая была бы способна выравнивать освещение на изображении, обрабатывая светлые участки в меньшей степени нежели темные.
Этим требованиям удовлетворяет алгоритм Single Scale Retinex, основанный на принципах устройства рецепторов сетчатки глаза. Основная цель алгоритма - разделить изображение на компоненты, отвечающие отдельно за освещенность и детали. Так как проблемы в изображении связаны с освещением сцены, то, получив компоненту, отвечающую за освещение, становится возможным преобразовать её отдельно от изображения, тем самым значительно повысив его качество.
Любое изображение можно представить, как произведение высокочастотного сигнала (отражение - R) и низкочастотного сигнала (освещенность - I) [19].
(x,y) = I(x,y) * R(x,y)(5.6)
Рисунок 5.3 - Представление изображения в алгоритме Retinex.
Приближенное изображение освещения можно получить с помощью низкочастотной фильтрации - иными словами, просто размыть исходное изображение, к примеру, фильтром Гаусса.
(x,y)=G*S(x,y)
где G - Гауссовский фильтр
Так как логарифм сигнала не меняет частотность, и благодаря
свойствам логарифмической функции (логарифм от произведения равен сумме
логарифмов сомножителей), задачу разделения произведения сигналов можно
упростить до задачи разделения суммы сигналов.
После этого останется только взять от полученного сигнала экспоненту, чтобы вернуть его к исходному масштабу амплитуд. Полученную высокочастотную компоненту можно сложить с размытым и осветленным исходным изображением, выступающим в качестве новой модели освещенности.
Полученный от выравнивания освещенности эффект может оказаться слишком сильным (темные области станут по яркости такими же, как и светлые). Чтобы уменьшить эффект, можно просто смешать обработанное изображение с исходным в определенной пропорции.
Гамма-коррекция
Изначальное предназначение гамма-коррекции - компенсация различий в отображаемых цветах на различных устройствах вывода так, чтобы изображение выглядело одинаково при просмотре на различных мониторах. Благодаря нелинейному виду применяемой степенной функции, гамма-коррекция позволяет также повысить контрастность затемненных участков изображения, не засвечивая яркие детали и не теряя различимость границ объектов изображения.
Информация о яркости в аналоговом виде в телевидении, а также
в цифровом виде в большинстве распространённых графических форматов, хранится в
нелинейной шкале. Яркость пиксела на экране монитора можно считать
пропорциональной
где I - яркость пиксела на экране дисплея (или яркости составляющих цвета, красной, зелёной и синей по отдельности), - численное значение цвета от 0 до 1, а
γ - показатель гамма-коррекции [20].
Если γ меньше 1, то характеристика передачи уровней будет выпуклой и результирующее изображение будет светлее, чем исходное. Если γ больше 1, то характеристика передачи уровней будет вогнутой и результирующее изображение будет темнее, чем исходное.
По умолчанию параметр γ равен 1, что соответствует линейной характеристике передачи уровней и отсутствию гамма - коррекции.
Контурный анализ может применяться для описания,
распознавания, сравнения и поиска графических объектов, представленных в виде
внешних очертаний. Так как использование контуров исключает из рассмотрения
внутренние точки объекта, это позволяет значительно снизить вычислительную и
алгоритмическую сложность данных операций.
Рисунок 5.4 - Изменение вида степенной функции в зависимости
от параметра γ
Контур объекта - это список точек, которые представляют собой некую кривую на изображении, отделяющую объект от фона. Чаще всего вдоль контура наблюдается скачок по яркости или цвету [8].
Для упрощения поиска контуров на изображении можно предварительно провести его бинаризацию.
Фильтр Собеля выделяет границы объектов основываясь на их яркости. Так как составляющая цвета при этом не учитывается, изображения предварительно должны быть преобразованы в оттенки серого.
Фильтр Собеля применяется последовательно к каждому пикселю, вычисляя
приближенное значение градиента его яркости. Градиент для каждой точки
изображения (функция яркости) - это двумерный вектор, компонентами которого
являются производные яркости изображения по горизонтали и вертикали [21].
В каждой точке изображения градиентный вектор ориентирован в направлении наибольшего увеличения яркости, а его длина соответствует величине изменения яркости. Эти данные позволяют сделать предположение о вероятности нахождения рассматриваемой точки на границе некого объекта, а так же об ориентации этой границы.
Т.о. результатом работы оператора Собеля в точке области постоянной яркости будет нулевой вектор, а в точке, лежащей на границе областей различной яркости - вектор, пересекающий границу в направлении увеличения яркости.
Для вычисления приближенных значений производных в каждой точке изображения фильтр Собеля использует свертку с матрицей размером 3×3.
Коэффициенты матрицы Собеля [21]:
Итоговая величина градиента вычисляется путем аппроксимируции по формуле:
|G| = |Gx| + |Gy|
Детектор границ Кенни
Хотя работа Кенни была проведена на заре компьютерного зрения (1986), детектор границ Кенни до сих пор является одним из лучших детекторов. Метод Кенни является многоэтапным алгоритмом, и включает в себя следующие шаги [22]: