УДК 735.29(32) Инверсная фильтрация на узлах центрированной решетки Бурова В. В., Киселев О. И., Кольцова И. В., Мерко И.С., научный руководитель д-р физ.-мат. наук Носков М. В. Сибирский федеральный университет Рассмотрим наиболее распространенную систему узлов минимальной кубатурной формулы наивысшей тригонометрической точности, т.н. формулы с центрированной решеткой узлов. С точки зрения обработки изображений такую решетку можно интерпретировать следующим образом. Возьмем обычную прямоугольную решетку, с разрешением по каждой из осей вдвое меньшим, чем разрешение изображения. Такая решетка имеет узлов в четыре раза меньше, чем пикселов в изображении и точность является неприемлемой для наших целей фильтрации. Наложим на нее такую же решетку, но сдвинутую вниз и вправо на один пиксель. Новая решетка, являющаяся объединением двух предыдущих половину пикселов изображения, что дает достаточную точность, поскольку узлы располагаются на изображении равномерно, подобно одноцветным клеткам на шахматной доске. Такая решетка называется центрированной [1]. При этом, узлы обладают следующим свойством: если одна из координат узла (в пикселях) является четным числом, то и вторая также является четным числом, аналогично и в нечетном случае. Это позволяет нам перейти от двумерной матрицы к двум векторам: k \ M 1 k 1 , (k \ M ), M M 2 * (k \ M 1) 1 2 * (k 1 (k \ M ) * M ) 1 f( , ), 2M 2M . f kчетн f( 1 f нечетн. k 1 (1) где 0 k M 2 1 , изображение имеет разрешение 2M x 2M, знак «\» обозначает целочисленное деление [2]. Обратное преобразование осуществляется по обычным формулам для одномерного быстрого преобразования, как если бы мы имели дело просто с двумя различными последовательностями, а затем преобразуется в двумерный вид по формулам, обратным приведенным выше: s l , ) T ч ( s, l ), M M ч . T (k \ M 1, k 1 (k \ M ) * M ) f kчетн 1 f( 2 s 1 2l 1 , ) T н ( s, l ), 2M 2M н . T (k \ M 1, k 1 (k \ M ) * M ) f kнечетн 1 f( где 0 k M 2 1 , 0 s, l M . При таком выборе узлов мы используем одномерное преобразование Фурье вместо двумерного, что дает нам выигрыш во времени. В [2] использовалась для подобных целей наклонная решетка, где координаты узлов не всегда точно фиксируют пиксель и непомеченные узлами пиксели могут соприкасаться. В последнем случае на изображении всегда возникают артефакты в виде черных или белых полос. В используемой нами решетке узлы в точности совпадают с пикселями изображения, мы избавляемся от эффекта возникновения на изображении полос, состоящих из соприкасающихся «пустых» пикселов. Теперь, каждый «пустой» пиксель (пиксель непомеченный узлом) будет иметь в своей окрестности узел решетки. Кроме этого, мы получаем ощутимый эффект ускорения на этапе выбора узлов из изображения, поскольку используются в основном целые числа, что дает повышение скорости более чем в два раза. В случае центрированного выбора узлов, фильтрация осуществляется следующим образом: заранее известная нам передаточная функция фильтра K(u;v) разделяется на два одномерных вектора по указанным выше формулам, т.е. k \ M 1 k 1 , (k \ M ), M M 2 *(k \ M 1) 1 2 *(k 1 ( k \ M ) * M ) 1 K( , ), 2M 2M . Kkчетн 1 K ( . Kkнечетн 1 где 0 k M 2 1 . После этого, четная часть передаточной функции умножается на четный вектор исходных данных, а нечетная часть на нечетный вектор, независимо друг от друга. К получившимся в результате фильтрации двум одномерным векторам обработанных данных применяем быстрые обратные преобразования. В результате, из двух получившихся векторов, используя уже известные нам координаты каждого из узлов, получаем обработанное фильтром изображение. Сравним два способа выбора узлов: по наклонной решетке [2] и по центрированной решетке с одинаковым числом узлов в каждой решетке. Численные эксперименты (на различных изображениях) показали, что преобразования Фурье с выбором узлов по центрированной решетке осуществляются заметно быстрее, чем по наклонной. В самом деле, при использовании наклонной решетки, происходит немалое количество вычислений с «плавающей» запятой, связанное с расчетом координат узлов, тогда как при использовании центрированной решетки применяется целочисленное деление и операции с действительными числами сведены к минимуму. Кроме того, в наклонной решетке в связи с несовпадением ее с прямоугольной решеткой расположения пикселов в изображения, встречаются граничащие друг с другом пикселы, в которые не попадают узлы, что усложняет их устранение, а также приводит к появлению «артефактов» - помех искусственного происхождения, проявляющихся, как линии, состоящие из «пустых» пикселов. В случае использования центрированной решетки, каждый «пустой» пиксел со всех четырех сторон (если конечно не находится на краю изображения) окружен пикселами, в которые попадают узлы и значение яркости в которых, соответственно определено. Это значительно облегчает устранение «пустых» пикселов, которое будет рассмотрено далее. При использовании центрированной решетки , мы можем снизить отклонение до значений машинной погрешности. Пользуясь тем, что узлы центрированной решетки представляют собой комбинацию узлов двух прямоугольных решеток, наложенных друг на друга так, что узел одной приходится в середину ячейки другой, мы с легкостью можем получить координаты пикселов изображения, яркость которых не определена. При этом, «пустые» пикселы также расположены в узлах другой центрированной решетки, также удовлетворяющей формуле (1), сдвинутой на один пиксел относительно той, по которой было произведено дискретное преобразование Фурье. Таким образом, мы можем произвести преобразования Фурье по обеим решеткам, и, пользуясь тем, что функция восстанавливается в узлах точно (не считая собственную машинную погрешность), мы восстанавливаем все изображение целиком. Очевидно, что временные затраты на преобразование увеличиваются вдвое, однако, преобразование с выбором узлов по двум дополняющим друг друга центрированным решеткам все равно работает быстрее классического способа в 3 раза и восстанавливает исходное изображение не хуже классического способа. Такой способ выбора узлов назовем двойной центрированной решеткой. Параллелепипедальные решетки, в отличие от центрированных решеток не образуют дополняющую друг друга пару на цифровых изображениях, так как цифровые изображения по природе своей дискретны, а координаты узлов параллелепипедальной решетки не соответствуют координатам пикселов. Таким образом, для дискретных (в частности, цифровых) изображений, применение центрированных решеток (а именно двойной центрированной решетки) является оптимальным, как с точки зрения скорости, так и с точки зрения уменьшения погрешности. Рассмотрим более подробно задачу инверсной фильтрации изображений. Представим процесс формирования изображения и его последующего восстановления как уравнения типа свертки. Для восстановления это будет: fв ( x, y) hв ( x, y) * g ( x, y) , где f в ( x, y) - восстановленное восстанавливающего фильтра, а формирования: изображение, hв ( x, y ) - весовая g ( x, y ) - изображение на выходе функция системы g ( x , y ) h ( x, y ) * f ( x, y ) , где h( x, y ) есть искажение, внесенное системой формирования, а f(x,y) – исходное изображение, поступившее на вход устройства приема. Объединяя эти формулы, получаем: fв ( x, y) hв ( x, y) * (h( x, y) * f ( x, y)) , воспользовавшись свойством ассоциативности свертки, находим fв ( x, y) hв ( x, y) * h( x, y) * f ( x, y) hc ( x, y) * f ( x, y) , где hc ( x, y ) - суммарная весовая функция последовательности систем формирования и восстановления изображений, равная: hc ( x, y) hв ( x, y) * h( x, y) Таким образом, точное восстановление изображения, т.е. когда f в ( x, y) f ( x, y) , возможно лишь, если hc ( x, y) ( x, y) , т.е. hв ( x, y) * h( x, y) ( x, y) . Применяя к обеим частям равенства преобразование Фурье, получаем H в ( ) H ( ) 1 . Следовательно, случаю точного восстановления соответствует передаточная функция восстанавливающей системы вида H в ( ) 1 . Фильтр с H ( ) такой передаточной функцией называется инверсным фильтром, а соответствующий процесс обработки сигнала – инверсной фильтрацией. На практике, нам неизвестны точные параметры искажения, которому подверглось исходное изображение. Следовательно, функция H нам неизвестна. Поэтому, в качестве этой функции в вышеперечисленные формулы подставляются некоторые эталонные функции, соответствующие характеру искажения. Например, в случае расфокусированного изображения на выходе системы формирования, в качестве передаточной функции H используется функция следующего вида: H ( ) H (u, v) 1 1 a u v 2 , 2 здесь a – некоторое действительное число, (u, v) в двумерном случае. Применяются и другие функции, например: H (u, v) a u 2 v2 1 b u 2 v2 , где a, b, - действительные числа, в случае, если мы хотим, получить фильтр, который сглаживает изображение. Существуют и другие подобные функции. Может также сложится ситуация, когда существует r - некоторая граничная частота, при которой H (r ) 0 . Тогда, при r функция H в ( ) 1 . H ( ) Это приводит к бесконечному усилению шума на восстановленном изображении. Чтобы не допустить этого, нужно ограничить полосу частот инверсного фильтра. Ограничение полосы частот фильтра промежутком c , c эквивалентно умножению передаточной функции инверсного фильтра 1 на индикаторную функцию H ( ) отрезка c , c : H в ( ) 1 P(, c ) , H ( ) где 1, c , P( , c ) 0, c . Изменяя значения c , можно менять соотношение между качеством восстановления изображения и величиной шума. При этом, улучшение качества восстановления изображения при увеличении c автоматически будет приводить к росту случайной ошибки. 1. Носков М. В., Schmid H. J. Кубатурные формулы высокой тригонометрической точности // Ж. вычисл. матем. и матем. физ, 2004, т. 44., №5. C. 729 - 738. 2. Колямкин О.В. Применение минимальных кубатурных формул для выбора узлов дискретного преобразования Фурье // Кубатурные формулы и их приложения. Материалы VII Международного семинара-совещания. Красноярск: ИПЭ КГТУ, 2003. С 72-78.