УДК 004.932.4:551.463.21
Г. А. Попов, Д. А. Хрящёв
ОБ ОДНОМ МЕТОДЕ НИЗКОЧАСТОТНОЙ ФИЛЬТРАЦИИ ГИДРОЛОКАЦИОННЫХ ИЗОБРАЖЕНИЙ
Введение
Многие современные исследования в области океанологии проводятся с применением подводной робототехники. Подводные роботы обычно оборудованы системами технического зрения, к которым относятся видеокамеры (фотокамеры) и акустические датчики, такие как гидролокаторы. Получаемые такими системами изображения в дальнейшем передаются для анализа и обработки на специальный компьютер.
Поскольку прием гидроакустических сигналов всегда осуществляется на фоне помех, одной из главных задач предварительной обработки получаемых гидролокационных изображений является фильтрация шумов. Для решения этой задачи наиболее часто используются фильтр Гаусса и медианный фильтр. Часто предпочтение отдается фильтру Гаусса, поскольку помехи, как правило, подчиняются нормальному закону.
В данной статье предлагается низкочастотный фильтр, который может быть использован для предварительной обработки любых цифровых изображений. Проводится сравнение фильтра Гаусса с предлагаемым фильтром на примере гидролокационного изображения.
Фильтр Г аусса и медианный фильтр
Все принимаемые необработанные гидроакустические сигналы содержат помехи. По характеру взаимодействия помехи разделяют на аддитивные и мультипликативные. Аддитивные помехи могут быть флуктуационными, импульсными и гармоническими. Наиболее часто встречающиеся помехи - флуктуационные, которые представляют собой суммарное излучение от разных не связанных с полезным сигналом источников шума, в то время как импульсные помехи представляют собой помехи в виде одиночных импульсов отдельных объектов [1].
В результате действия помех получаемое гидролокационное изображение зашумляется, что ухудшает его зрительное восприятие и осложняет его анализ. Таким образом, существует необходимость предварительной обработки гидролокационных изображений, которая подавля-ля бы такие шумы.
Стандартным решением этой проблемы является применение фильтра Гаусса и (или) медианного фильтра.
Фильтр Гаусса основывается на функциях Гаусса одной и двух переменных [2]:
2 2 2 X X + у
1 -^2 Ч 1 - У
О(х) = —г е 2°2 , G(х, у) =
V 2яс2 5 ’ 2^2
е
2а2
где а - стандартное отклонение нормального распределения, которое в данном случае задает «степень размытия» обработанного изображения; х, у - расстояния от исходной точки (пикселя) до точки, для которой подсчитывается значение функции по вертикали и горизонтали соответственно.
Таким образом, на основе функции Гаусса строится матрица свертки, по которой для каждого пикселя изображения вычисляется среднее взвешенное значение соседних пикселей:
к к
Гтп ^ ^ ' гт+1, п+у ^( , У ),
1=-к у=-к
где к - размерность матрицы свертки.
В результате применения фильтра Гаусса все зашумленные пиксели (пиксели, яркость которых сильно отличается от яркости соседних пикселей) принимают усредненное значение, т. е. шум подавляется, а контуры объектов подчеркиваются, что очень полезно при распознавании образов на цифровых изображениях.
Вторым стандартным фильтром, применяемым для обработки гидролокационных изображений, является медианный фильтр. В основе медианного фильтра лежит понятие медианы. Если Ai, i = 1, n - отсортированный набор чисел, то An /2 - медиана этого набора, т. е. такое число, которое делит отсортированный набор чисел на две части, одна из которых содержит числа не большие, чем медиана, а другая - не меньшие [2].
Самым простым базовым способом реализации медианного фильтра является сортировка значений яркостей пикселей в окне с нечетным радиусом с последующей заменой яркостей пикселей на значение медианы получившегося набора.
Предлагаемый низкочастотный фильтр
В альтернативном низкочастотном фильтре в качестве основной функции, при помощи которой рассчитывается матрица свертки, используется функция
cos(x2)-2
—гг-, (1)
ax +1
где a задает «степень размытия». Для построения матрицы свертки используются локальные максимумы данной функции:
— 2 ™cos(x2 )-2 / / \/ \ \ I \f 1 Л
F'(x) = —------- — (sin(x2)(ax2 +1)+ a)= 0 , x = 0, sin(x2) x2 +— I +1 = 0 .
(ax2 +1)2 V a J
В ходе решения полученного трансцендентного уравнения численными методами были получены значения, приведенные в табл. 1: значения x для первых четырех локальных максимумов функции (1) для значений a в промежутке от 0,07 до 0,13 с шагом 0,01. Абсолютный максимум функции (1) полагается нулевым по счету и его значение x всегда равно 0.
Таблица 1
Локальные максимумы
a Максимум, №
0 1 2 3 4
0,07 0 2,496885 3,539643 4,338127 5,010724
0,08 0 2,495951 3,539266 4,337928 5,010603
0,09 0 2,49509 3,538933 4,337757 5,010502
0,1 0 2,494293 3,538637 4,337608 5,010414
0,11 0 2,493555 3,538373 4,337478 5,010339
0,12 0 2,492868 3,538134 4,337362 5,010272
0,13 0 2,492228 3,537919 4,337259 5,010214
Так же как и в фильтре Гаусса, для каждого пикселя изображения рассчитывается среднее взвешенное значение ближайших пикселей с применением функции (1), но при этом яркость ближайших пикселей усредняется на более раннем шаге итерационной процедуры.
В зависимости от расстояния до центрального пикселя, для которого рассчитывается новое значение яркости, каждому соседнему пикселю ставится в соответствие локальный максимум функции (1), как показано в табл. 2.
Таблица 2
Соответствие локальных максимумов пикселям окна
4 3 2 3 4
3 2 1 2 3
2 1 0 1 2
3 2 1 2 3
4 3 2 3 4
На рис. 1 изображен график функции (1), на котором отмечены несколько локальных максимумов. Параметр а = 0,09.
Рис. 1. График функции (1)
Матрицы свертки строятся по формуле
сов(( х +а)2 )-2
О, ЛЬ -------т-т.
(ах/ + Л) +1
где Л - параметр, вычисляемый по расстоянию Л0 от центрального пикселя, для которого в итоге рассчитывается яркость до текущего соседнего пикселя, для которого рассчитывается яркость на данном шаге; х/ - /-й локальный максимум, где / определяется по табл. 2.
При вычислении Л учитывается, что расстояния между двумя соседними максимумами уменьшаются с увеличением х, поэтому, при рассчете Л, Ло умножается на 0,418359 для пикселей, которым соответствует максимум № 1, и на 0,320158 для пикселей, которым соответствует максимум № 2 в соответствии с табл. 2.
Ниже приведены 2 матрицы свертки. Первая используется для пикселей, расстояния до которых от центрального пикселя составляют 1, вторая матрица используется для пикселей,
расстояния до которых составляют 42 . Параметр / был определен по табл. 2.
Лй = 1) =
Л(й0 =л/2) =
¥й (і = 1, й = 0,418359) ¥й (і = 1, й = 0,591649)
¥й (і = 2, й = 0,320158) ¥й (і = 2, й = 0,45277)
(¥й (і = 1, й = 0,591649) ¥й (і = 1, й = 0,418359) ¥й (і = 1, й = 0591649)
¥й (і = 1, й = 0) ¥й (і = 1, й = 0,418359)
¥й (і = 1, й = 0,418359) ¥й (і = 1, й = 0,591649)
( ¥й(і = 2, й = 0,45277) ¥й(і = 2, й = 0,320158) ¥й(і = 2, й = 0,45277) ^
¥й(і = 2, й = 0) ¥й(і = 2, й = 0,320158)
¥й(і = 2, й = 0,320158) ¥й (і = 2, й = 0,45277)
Следующая матрица свертки используется для вычисления яркости центрального пикселя по вычисленным на предыдущем шаге яркостям 8 соседних пикселей.
Л(й0 = 0) =
(¥й (і = 0, й = 1,4142) ¥й (і = 0, й = 1) ¥й (і = 0, й = 1,4142) ¥й (і = 0, й = 1) ¥й (і = 0, й = 0) ¥й (і = 0, й = 1)
¥й (і = 0, й = 1,4142) ¥й (і = 0, й = 1) ¥й (і = 0, й = 1,4142)
Л
Таким образом, алгоритм предлагаемого фильтра можно разбить на два этапа. На первом этапе для каждого из 8 соседних пикселей строятся матрицы свертки Л(й0 = 1), Л(й0 = л/2). Для этих 8 пикселей по соответствующим матрицам свертки рассчитывается новое значение
яркости, при этом яркость этих пикселей на изображении не меняется. Затем, на втором этапе, производится расчёт яркости центрального пикселя по матрице свертки ^(а^ = 0), только вместо исходных яркостей соседних пикселей используются новые значения яркости, рассчитанные на предыдущем шаге.
В результате, проделав такую операцию для всех пикселей изображения, предлагаемый фильтр усредняет яркости всех пикселей относительно их соседей, тем самым подавляя шумы на изображении.
Сравнение предлагаемого фильтра с фильтром Г аусса
Для того чтобы оценить качество подавления шума предлагаемым фильтром, было взято тестовое незашумленное изображение, на него был наложен искусственный шум (гауссов шум), затем зашумленное изображение было отфильтровано фильтром Гаусса и предлагаемым нами фильтром по отдельности.
Далее два полученных в результате фильтрации изображения были сравнены с исходным изображением при помощи критерия зашумленности Р8КЯ [3]. Поскольку в используемых изображениях максимальное значение яркости пикселей равняется 255, Р8КЯ рассчитывался по формуле
Р8Ж = 20 1о§10- 255
п/=1
где п - число пикселей изображения; г/ - /-й пиксель исходного изображения; г/ - /-й пиксель отфильтрованного изображения.
В качестве искусственного шума был использован гауссовский белый шум со средним уровнем яркости шума = 45 и стандартным отклонением (8ТБУ) = 30. Фильтр Гаусса применялся с параметром о = 0,84089642. Предлагаемый фильтр применялся с параметром а = 0,09.
На рис. 2 показаны четыре изображения - исходное гидролокационное изображение, зашумленное, обработанное фильтром Гаусса, обработанное предлагаемым фильтром.
Рис. 2. Изображение фрагмента поверхности морского дна: а - исходное изображение; б - зашумленное; в - применен фильтр Гаусса; г - применен предлагаемый фильтр
В табл. 3 приведены результаты сравнения предлагаемого фильтра и фильтра Гаусса.
Таблица 3
Результаты сравнения
Критерий Изображение
зашумленное после фильтра Гаусса после предлагаемого фильтра
РЯЖ 16,5047 20,1539 19,1525
На рис. 3 показаны яркостные гистограммы изображений, приведенных на рис. 2.
1 ІІІІІ ж
ІІ і! I 11
в г
Рис. 3. Гистограммы яркости в зависимости от интенсивности: а - исходное изображение; б - зашумленное; в - применен фильтр Гаусса; г - применен предлагаемый фильтр
Таким образом, качество подавления шумов предлагаемым фильтром мало отличается от качества подавления шумов фильтром Гаусса, разница показателей РЯКЯ составила приблизительно 1.
Однако, как видно по гистограммам на рис. 3, в, г, обработанное предлагаемым фильтром изображение светлее и содержит более широкий яркостный диапазон, т. к. гистограмма на рис. 3, г немного смещена в сторону больших яркостей относительно гистограммы на рис. 3, в и немного шире гистограммы на том же рисунке. Это позволяет белее отчетливо и ярко различить элементы исходного изображения и является достоинством предлагаемого фильтра.
В качестве недостатка можно отметить сложный алгоритм и, как следствие, большую длительность обработки изображения, что имеет значение при обработке изображений в режиме реального времени. В результате тестирования обоих фильтров на двуядерном процессоре с тактовой частотой 2,5 ГГц на изображениях 640 х 480 пикселей было обнаружено, что обработка фильтром Гаусса занимает в среднем 344-360 мс, а предлагаемым фильтром - 469-490 мс.
Заключение
В работе предложен новый низкочастотный фильтр, использующий альтернативную функцию для построения матрицы свертки. Алгоритм предлагаемого фильтра структурируется на два шага. На первом шаге окно 5 х 5 перемещается по изображению так, что каждый пиксель оказывается центральным 1 раз, вычисляются новые яркости 8 соседних пикселей. Затем на втором шаге вычисляется яркость центрального пикселя по новым яркостям 8 соседних пикселей. При этом на изображении меняется яркость только центрального пикселя.
Предлагаемый фильтр был сравнен с фильтром Гаусса при помощи критерия зашумленности РЯКЯ и гистограмм яркости. В результате было выявлено, что по критерию РЯКЯ предлагаемый фильтр практически не уступает фильтру Гаусса, в то время как обработанное предлагаемым фильтром изображение имеет более широкий диапазон яркостей. В качестве недостатка предлагаемого метода можно отметить большее время обработки изображения.
СПИСОК ЛИТЕРАТУРЫ
1. Ольшевский В. В. Статистические методы в гидролокации. - Л.: Судостроение, 1983. - 280 с.
2. Сойфер В. А. Методы компьютерной обработки изображений. - М.: Физматлит, 2003. - 784 с.
3. Гонсалес Р. С., Вудс Р. Э. Цифровая обработка изображений. - М.: Техносфера, 2006. - 1072 с.
4. Фисенко В. Т., Фисенко Т. Ю. Компьютерная обработка и распознавание изображений. - СПб.: СПбГУ ИТМО, 2008. - 192 с.
Статья поступила в редакцию 24.02.2010
ABOUT ONE METHOD OF LOW-SPEED FILTRATION OF SONAR IMAGES
G. A. Popov, D. А. Khryashchev
A low-speed filter of digital images which uses a new function for compression arraying is offered. The proposed filter's algorithm consists of two stages. On the first stage 5 x 5 window is moved on the image so that every pixel gets in the center of the window once and the 8 adjacent pixels' brightness levels are calculated. On the second stage the central pixel's brightness level is calculated using the new brightness levels of the 8 adjacent pixels. At the same time only the central pixel changes its brightness on the image. The comparison of the proposed filter with well-known Gaussian filter has been made by means of PSNR noise pollution criterion and brightness histogram. It is shown that according to the PSNR criterion the proposed filter virtually isn’t inferior to Gaussian filter: images processed with the proposed filter have a wider brightness level spectrum.
Key words: sonar images processing, low-speed filters, Gaussian filter, digital image improvement, preliminary processing, noise suppression, digital image analysis.