ОБРАБОТКА СИГНАЛОВ И ИЗОБРАЖЕНИЙ
УДК 004.932:621.397.3:517.983.5
К. А. Кирьянов, В. С. Сизиков
ПРИМЕНЕНИЕ СИГНАЛЬНЫХ МИКРОПРОЦЕССОРОВ В ЗАДАЧАХ РЕКОНСТРУКЦИИ ИСКАЖЕННЫХ ИЗОБРАЖЕНИЙ
Исследуются особенности инструментальной реализации алгоритмов реконструкции искаженных (смазанных, дефокусированных или/и зашумленных) изображений. Рассмотрены прямая задача — моделирование искажения или получение реального искаженного изображения и более сложная и важная для практики обратная задача — реконструкция (восстановление) изображения.
Ключевые слова: искажение изображения, прямая и обратная задачи, сигнальные микропроцессоры, программируемая логическая интегральная схема.
Описание реализуемых алгоритмов. Известная задача реконструкции (восстановления, реставрации) искаженных (смазанных, дефокусированных или/и зашумленных) изображений ([1—7] и др.) может быть практически решена не только на универсальных ЭВМ (или персональных компьютерах), но и на спецпроцессорах ([8—11] и др.). Использование спецпроцессоров ведет, во-первых, к уменьшению габаритов обрабатывающих устройств, а во-вторых, позволяет превратить недостаточно совершенный прибор наблюдения (фотоаппарат, телескоп, микроскоп и т.д.) в более совершенный путем подключения к нему спецпроцессора с заложенным в него алгоритмом обработки.
В работе рассматривается задача инструментальной реализации алгоритмов реконструкции искаженных изображений с помощью сигнальных микропроцессоров и программируемых логических интегральных схем (ПЛИС) [8—11].
Однако прежде чем вести речь о технической реализации алгоритмов, необходимо сказать несколько слов о самих алгоритмах. Основные соотношения и уравнения, описывающие эти задачи в непрерывном виде, следующие [2—7]:
X
I И(х — $) ^ ($) ^ = ^ (х) + 5^, (1)
—X
X X
I I И(ху — п)п)^П = ^У) + 5, (2)
—X —X
где И — функция рассеяния точки (ФРТ), в большинстве случаев пространственно-инвариантная (или разностная), н и g — распределение интенсивности по неискаженному и искаженному изображению соответственно, 8g — помеха. В соотношении (1) ось х направлена вдоль смаза, а у играет роль параметра.
Интегральное уравнение (ИУ) (1), точнее набор одномерных интегральных уравнений, обычно используется в задаче смазывания, а (2) — в задаче дефокусировки изображения [4, 6, 7]. Для решения интегральных уравнений (1) и (2) наиболее подходит метод регуляризации Ти-
хонова [2—7, 12]. Так как для инструментальной реализации интерес представляют численные методы, в настоящей работе им и уделено внимание. При численной реализации метода регуляризации Тихонова для решения обратной задачи обычно используются метод преобразования Фурье (ПФ) и метод квадратур [2, 3, 5—7]. Используются также методы итераций, например, метод итеративной регуляризации Фридмана [2, 7, 12].
Метод квадратур эффективен при решении набора одномерных ИУ (1) [6, 12, 13], каждое из которых можно записать в операторной форме:
А™ = g + 5g, (3)
где А — интегральный оператор. Для нахождения функции ™ необходимо построить такой
оператор А-1, который давал бы устойчивое приближение к Непрерывным уравнениям (1) можно поставить в соответствие дискретные выражения типа (3). Тогда (3) преобразуется в систему линейных алгебраических уравнений (СЛАУ), где А — матрица, связанная с ФРТ. Однако задача решения уравнений (1)—(3) является некорректной [2, 3, 5—7, 12].
В методе регуляризации Тихонова вместо (3) решается уравнение
(аЕ + АТА) ™а= ATg, (4)
где а > 0 — параметр регуляризации, Е — единичный оператор (единичная матрица). Матрица аЕ + А А является квадратной, симметричной и положительно-определенной, СЛАУ (4) имеет решение и численно устойчива [2, 3, 12, 14]. В результате получаем решение в виде:
™а = (аЕ + АТА)-1 ATg. (5)
Способы выбора а изложены, например, в [2, 3, 5—7, 12].
Метод регуляризации Тихонова с использованием преобразования Фурье применим для решения уравнений типа свертки. Рассмотрим частный случай ИУ Фредгольма I рода — уравнение типа свертки одномерное (1) и двумерное (2). Если ИУ вида (1) при его численном решении методом квадратур требует размещения в компьютерной памяти матрицы СЛАУ, то для решения одномерного уравнения типа свертки возможно применять метод ПФ, оперирующий лишь с векторами, и это требует меньшего объема памяти и времени решения. Особенно важен вопрос о памяти и времени при аппаратной реализации метода, в еще большей степени — для двумерного уравнения (2).
Задача смазывания сводится к решению одномерного ИУ Фредгольма I рода типа свертки (1) относительно при каждом фиксированном значении у, играющем роль параметра. В уравнении (1) ФРТ выражается формулой [2, 3, 6]:
Г 1/ А, -А< X < 0, Чх) = \ 0 ' ' (6)
I 0, иначе.
Решение уравнения (1) методом ПФ с регуляризацией Тихонова имеет вид [2, 3, 5—7, 12]:
2п
™а у (£) = 2- | К у (ш) е-' ^ dш , (7)
-ю
где
Н (-ш) Оу (ш)
ЖаУ (Ш) = |Н( )|2 2 р , (8)
| Н (ш )|2 +аш 2р
ю ю
Н (ш ) =| И(х) е'шXdx, ау (ш ) =| gy (х) е'ш Xdx, (9)
где р > 0 — порядок регуляризации.
Особенности технической реализации изложенных алгоритмов. Решать задачи, описываемые уравнениями (1) и (2), на универсальных ЭВМ или ПК возможно в рамках системы Ма^аЬ. Однако такой способ не всегда оптимален по затрачиваемому на решение времени.
Существуют ситуации, когда на выполнение задачи отводится очень мало времени и нужно выполнить обработку изображения в режиме реального времени. Такие ситуации возникают, когда, например, необходимо распознать самолет, нарушитель территориальных границ, и восстановить опознавательные знаки на нем. При этом самолет может лететь настолько быстро, что получаемое изображение смазывается. У оператора очень мало времени, чтобы распознать характеристики самолета и принять решение. Задача намного усложняется, если помимо смазывания изображения самолет находится не в фокусе, а поскольку процесс быстротекущий, то устройства автофокусировки отработать не успевают ни на одном из полученных кадров.
Очевидно, что для решения таких задач требуемая производительность должна быть выше, чем у современных ПЭВМ. Одним из важнейших требований к техническим средствам является обеспечение режима обработки сигналов в реальном времени (со скоростью их поступления) при приемлемых стоимостных и массогабаритных характеристиках системы. Так, некоторые технические задачи цифровой обработки изображений требуют быстродействия аппаратных средств порядка 109—1010 операций в секунду для обеспечения обработки в реальном времени.
Другой особенностью подобных задач является необходимость обработки больших объемов (от 1 МБ и более) сложноструктурированных многомерных данных, что вносит дополнительные трудности в организацию вычислений и требования к правильному распределению памяти в ходе решения задачи.
Особенности при реализации на цифровом сигнальном процессоре. Как уже сказано, существуют два метода решения интегрального уравнения (1), описывающего задачу смазывания:
1) общий случай — решение методом квадратур с регуляризацией Тихонова;
2) частный случай, характерный для уравнений типа свертки — метод ПФ с регуляризацией Тихонова.
Несколько слов о первом методе. Для восстановления изображения нужно знать искажающее воздействие (ФРТ) И(х, £) в общем случае, когда ФРТ не является пространственно-инвариантной (разностной), или И(х — £) в случае, когда ФРТ является пространственно-инвариантной. При замене в уравнении (1) интеграла конечной суммой получаем СЛАУ (3), где по ФРТ можно найти матрицу А как матричный оператор искажающего воздействия, согласно соотношению
И(с, а) И(с, а + И^ ) ... И(с, Ь) И(с + Их, а) И(с + Их, а + И^ ) ... И(с + Их, Ь)
И(х, О ^ А =
(10)
И(ё, а) И(ё, а + И^ ) ... И(ё, Ь)
где Их и И^ — шаги дискретизации по х и по соответственно. Затем эта матрица транспони-
Т
руется и вычисляется матрица аЕ + А А , из которой с помощью метода Гаусса—Жордана [13, 14] получаем обратную, которая хранится в памяти устройства до завершения восстановления изображения, после чего находится решение, согласно (5). Также решение уравнения (4) можно получить с помощью метода Ш-разложения или методом квадратных корней Краута—Холецкого [12].
Для решения по методу ПФ с регуляризацией Тихонова, как и в предыдущем случае, требуется знать искажающее воздействие и, как уже говорилось, этот метод может быть применен только для пространственно-инвариантной ФРТ. Важно правильно и грамотно распределять память сигнальных микропроцессоров. Для этих целей обычно применяется алгоритм быстрого преобразования Фурье (БПФ) [10, 15, 16]. При использовании БПФ не только сокращается время выполнения всей процедуры (за счет исключения повторяющихся операций), но и происходит экономия памяти.
Для вычисления обычного дискретного ПФ нужны 4 массива: два для действительной и мнимой частей исходного процесса (оригинала изображения) и два — для вычисленного фурье-образа (фурье-спектра изображения). При использовании БПФ можно обойтись двумя массивами, потому что процесс вычисления БПФ итерационный. Число отсчетов N должно быть целой степенью числа 2, тогда количество итераций будет равно log2 N, а выполнение самой процедуры возможно с использованием той же области памяти, в которой находились исходные данные. Таким образом, для решения по этому методу с использованием алгоритма БПФ вычисляется фурье-спектр исходного процесса (каждой строки изображения), затем ФРТ, которая в большинстве случаев короче самого изображения и которую нужно дополнить до N нулями, после чего поточечно вычисляется соотношение (8), называемое регуляризован-ным спектром. И, наконец, от полученного массива, длина которого тоже является целой степенью числа 2, вычисляется обратное ПФ, при котором также используется алгоритм БПФ.
При восстановлении дефокусированных изображений, описываемых уравнением (2), нельзя применить метод квадратур (кубатур) из-за необходимости обращения трехмерной матрицы, что практически невозможно из-за требуемого чрезвычайно большого объема памяти для решения такой задачи. Если нет аберраций линзы и объектив не является широкоугольным, то можно считать ФРТ пространственно-инвариантной. Таким образом, задача описывается двумерным уравнением типа свертки (2), которое можно решать с помощью ПФ. Здесь решение находится также с применением алгоритма двумерного БПФ и данную задачу иначе решить крайне сложно, так как используются двумерные массивы, а у специализированных процессоров довольно мал объем оперативной памяти, в который нужно уложиться.
При решении ИУ методом ПФ для уменьшения эффекта Гиббса можно использовать размытие краев [6, 7] (рис. 1). Для случая, когда ФРТ не является пространственно-инвариантной, решение ИУ (2) можно осуществить итерационными методами, такими как метод итеративной регуляризации Фридмана, метод Ландвебера и др. [2, 12].
h(x, y) (ФРТ)
А
g(x, У)
А
g(x, У) с размытыми границами
Рис. 1
^
V У А
А
h(x, y) (ФРТ)
А
Из всей номенклатуры предложенной элементной базы фирмы Texas Instruments (TI) [16] наиболее подходящими для решения перечисленных задач являются микропроцессоры семейства TMS320C64++, устройства с фиксированной запятой, разработанные специально для математической обработки изображений. Из их числа самыми подходящими являются процессоры C6455 и C6457. Структурная схема такого устройства отображена на рис. 2.
Ядро процессора состоит из восьми вычислительных узлов, двух файлов регистров общего назначения, двух шин данных. Каждый из файлов регистров (A и B) содержит по тридцать два 32-разрядных регистра. Действия можно выполнять с 8-, 16-, 32-, 40- и
64-разрядными данными. При разрядности данных более 32 бит они сохраняются в парах регистров. Восемь функциональных вычислительных узлов (М1, L1, Б1, Б1, М2, L2, Б2, и Б2) способны выполнять по одной инструкции за каждый машинный такт (М — умножители, Б и L выполняют арифметико-логические и сдвиговые операции, Б обеспечивают обмен данными между памятью и регистровым файлом). При операции комплексного умножения используются четыре 16-разрядных операнда (по два действительных и два мнимых), получаемый результат — 32 бита действительная часть и такая же мнимая. Также возможно выполнять комплексные умножения с округлением, в результате чего 32-разрядный результат содержит действительную и мнимую части, на каждую из которых отводится по 16 разрядов (см. рис. 2). В некоторых случаях это весьма удобно для вычисления ПФ.
32 бита
"^Re yа
32 бита
16 бит 16 бит
Re Уа Im y а
Считывание команд
Декодирование команд
Регистры состояния
Буфер команд
Внутрисхемная эмуляция
л
L2 S2 M2 D2 Т
А
_5£_
L1
Л Л с->
1'
Регистровый файл В
S1
л
_5£_
M1
Л
_5£_
D1
Л
_5£_
Регистровый файл А
Рис. 2
Реализация всех алгоритмов для процессоров TI выполняется на языке C++ в специальной среде Code Composer v.4.0, поставляемой с отладочным модулем. Несколько реже применяются микропроцессоры другой фирмы, Analog Devices [17], для работы с которыми производителем поставляется программная среда VisualDSP++, программы выполняются тоже на С++. При этом программы, разработанные в среде MatLab, требуют выполнения двойной компиляции, что не является оптимальным по быстродействию и распределению памяти.
Особенности реализации метода на основе ПЛИС. Производительность даже специализированного процессора всегда меньше, чем производительность специализированного аппаратного блока, например, реализованного на основе программируемой логической интегральной схемы. Подход состоит в том, что для того или иного вида обработки изображений на базе ПЛИС реализуется конечный автомат, способный выполнять только одну функцию. При этом достигается максимально возможная производительность, которая определяется используемой разработчиком и производителем ПЛИС технологией изготовления (ALTERA, XILINX), но гибкость решения присутствует лишь в той мере, в которой ее предусмотрел разработчик.
Для реконструкции изображений при решении задачи методом квадратур необходимо
правильно сформировать матрицу A, произвести ее транспонирование A , получить уравнение Тихонова (4), перемножив при этом транспонированную матрицу на исходную и на правую часть уравнения g, и решить уравнение Тихонова, которое может быть решено методом Гаусса—Жордана; схема такого устройства предложена в работе [8]. Сложность состоит только в том, что размерность матрицы нельзя сделать выше определенной величины, которая закладывается при разработке. Структурная схема такого устройства приведена на рис. 3 (здесь K — коммутатор).
Точно так же можно получить решение и для метода регуляризации Тихонова с ПФ для данной задачи — с помощью многоканальной систолической матрицы, систолического процессора БПФ, особенности реализации которых описаны в работе [8]. Производители FPGA
ХГЬШХ поставляют готовые программные конфигурации ПЛИС с реализацией различных видов ПФ. Структурная схема таких устройств для решения задачи (1) приведена на рис. 4 (здесь ОБФП — обратное быстрое преобразование Фурье).
Рис. 3
Рис. 4
На практике подход к разработке перечисленных устройств выбирается в зависимости от сложности алгоритма обработки и требований по временным параметрам. Довольно часто выбирают комбинированный подход, при котором используются как ПЛИС с реализованными функциями, требующими наибольшего быстродействия и не требующими большой гибкости, так и цифровой сигнальный процессор для реализации той части, где он будет справляться с алгоритмом по быстродействию, но где нужен более гибкий подход к решению.
Выводы. В работе используются в виде инструментальной реализации следующие приемы обработки изображений: „усечение", „размытие краев" и „поворот" при использовании известных методов решения интегральных уравнений — преобразования Фурье или квадратур с регуляризацией Тихонова [6, 7]. Прием усечения используется для того, чтобы избежать так называемых „граничных условий" [4]. Прием размытия краев используется для уменьшения эффекта Гиббса (эффекта ложных волн на изображении). Прием поворот используется для решения задачи смазывания при произвольном угле.
Указанные методы восстановления изображений могут применяться в таких областях, как томография (возникновение смазывания из-за случайных движений пациента во время обследования), восстановление старых фотографий, обнаружение самолетов-нарушителей территориальных границ и т.п. При этом необходима реализация методик на современной элементной базе, специализированной для обработки сигналов и адаптированной для быстрых алгоритмов.
Работа выполнена при поддержке РФФИ (грант № 09-08-00034а).
список литературы
1. Бейтс Р., Мак-Доннелл М. Восстановление и реконструкция изображений. М.: Мир, 1989. 336 с.
2. Бакушинский А. Б., Гончарский А. В. Некорректные задачи. Численные методы и приложения. М.: Изд-во МГУ, 1989. 199 с.
3. Сизиков В. С. Математические методы обработки результатов измерений. СПб: Политехника, 2001. 240 с.
4. Гонсалес Р., Вудс Р. Цифровая обработка изображений. М.: Техносфера, 2006. 1072 с.
5. Воскобойников Ю. Е. Комбинированный нелинейный алгоритм восстановления контрастных изображений при неточно заданной аппаратной функции // Автометрия. 2007. Т. 43, № 6. С. 3—18.
6. Сизиков В. С., Римских М. В., Мирджамолов Р. К. Реконструкция смазанных и зашумленных изображений без использования граничных условий // Оптич. журн. 2009. Т. 76, № 5. С. 38—46.
7. Сизиков В. С. Прием „усечение—размытие—поворот" в восстановлении искаженных изображений // Оптич. журн. 2011. Т. 78, № 5. С. 18—26.
8. Кухарев Г. А., Тропченко А. Ю., Шмерко В. П. Систолические процессоры для обработки сигналов. Минск: Беларусь, 1988. 127 с.
9. Кухарев Г. А., Тропченко А. Ю. Систолический процессор для обращения матриц // Изв. вузов. Приборостроение. 1990. Т. 33, № 11. С. 23—27.
10. Тропченко А. Ю. Аппаратные средства для цифровой обработки сигналов. СПб: Изд-во СПбГУ ИТМО, 2005. 138 с.
11. Кирьянов К. А. Инструментальная реализация алгоритмов реконструкции искаженных изображений // Тр. 20-й Междунар. конф. „GraphiCon—2010". СПб: Изд-во СПбГУ ИТМО, 2010. С. 188—191.
12. Верлань А. Ф., Сизиков В. С. Интегральные уравнения: методы, алгоритмы, программы. Киев: Наук. думка, 1986. 544 с.
13. Поршнев С. В. Вычислительная математика. Курс лекций. СПб: БХВ-Петербург, 2004. 304 с.
14. Киреев В. И., Пантелеев А. В. Численные методы в примерах и задачах. М.: Высш. школа, 2006. 480 с.
15. Рабинер Л., Гоулд В. Теория и применение цифровой обработки сигналов. М.: Мир, 1978. 848 с.
16. Texas Instruments. Digital Signal Processors & ARM Microprocessors [Electronic resource]: <www.ti.com/dsp>.
17. Analog Devices. Embedded processing and DSP [Electronic resource]: <http://www.analog.com/dsp>.
Сведения об авторах
Константин Александрович Кирьянов — аспирант; Санкт-Петербургский государственный университет
информационных технологий, механики и оптики, кафедра измерительных технологий и компьютерной томографии; E-mail: [email protected] — д-р техн. наук, профессор; Санкт-Петербургский государственный университет информационных технологий, механики и оптики, кафедра измерительных технологий и компьютерной томографии;
E-mail: [email protected]
Поступила в редакцию 01.03.11 г.
Валерий Сергеевич Сизиков
Рекомендована кафедрой измерительных технологий и компьютерной томографии