СИСТЕМА АВТОМАТИЗИРОВАННЫХ ИССЛЕДОВАНИЙ PICLAB
Г.А. Коченятов, С.И. Сутковой (Ярославский государственный университет им. П.Г. Демидова)
Научный руководитель - к.т.н., доцент В.В. Хрящев (Ярославский государственный университет им. П.Г. Демидова)
Для анализа, разработки и оптимизации различных алгоритмов цифровой обработки изображений, а также для проведения лабораторных работ по соответствующему курсу для студентов физического факультета ЯрГУ им. П.Г. Демидова, обучающихся по специальности «Радиофизика и электроника», разработана исследовательская среда PicLab (Picture Laboratory). В ее основу положены исследования, проводившиеся на протяжении нескольких лет в лаборатории «Цифровые цепи и сигналы» ЯрГУ.
Введение
Цифровая обработка изображений в настоящее время широко используется в системах телекоммуникаций, медицине, в оборонной сфере, в системах формирования изображений. В связи со скорым переходом России на цифровое телевещание и присоединение к общеевропейской системе DVB (распоряжение Правительства РФ от 25.05.04 №706-р «О внедрении в Российской Федерации европейской системы цифрового телевизионного вещания DVB») вопросы оценки качества передающих и приемных систем, восстановления искаженного цифрового сигнала, моделирования реальных искажений, возникающих в каналах передачи цифровой информации, а также разработки новых алгоритмов обработки цифровых изображений становятся особенно актуальными. С появлением новых стандартов сжатия и с увеличением объемов передаваемой мультимедийной информации возникает задача автоматического выбора параметров сжатия для текущих условий передачи и хранения информации с целью получения максимально возможного качества на выходе системы [1].
Представленный в данной работе программный комплекс позволяет автоматически оценивать качество цифровых изображений с помощью широко известных, а также разрабатываемых нами алгоритмов оценки, получать различные математические и статистические характеристики изображения, а также исследовать различные методики и алгоритмы обработки изображений (восстановление, сжатие, моделирование шумов, изменения в пространственной и частотных областях) с целью определения параметров для их максимальной эффективности.
Еще одной практической задачей, которую решает комплекс, является обучение по курсу «Цифровая фильтрация» посредством проведения лабораторных работ, так как процесс встраивания и тестирования, исследуемых в ходе работы алгоритмов максимально упрощен и понятен.
Общие сведения о программном комплексе PicLab
PicLab можно разделить на несколько основных составляющих, среди которых можно выделить библиотеку алгоритмов цифровой обработки изображений, средства определения качеств изображений (СКО, ПОСШ, УИК, спектр, гистограмма и др.), средства автоматического проведения исследований, библиотеку тестовых изображений. На сегодняшний день в программе поддерживаются два вида цифровых изображений: в градациях серого (8 бит/пиксель) и полноцветные (24 бита/пиксель).
Подавляющее большинство алгоритмов фильтрации последовательно применяет некоторую операцию к каждому пикселю изображения, поэтому для добавления подобного алгоритма в PicLab потребуется запрограммировать только преобразование над одним пикселем, которое будет автоматически применено ко всем каналам всего изображения. В случае, когда пользователь должен иметь возможность настройки па-
раметров алгоритма, нет необходимости программировать диалоговое окно, поскольку PicLab способен автоматически генерировать подобные окна.
Добавление нового алгоритма в исследовательскую среду может быть осуществлено всего за несколько минут. Алгоритмы хранятся в динамически подключаемых библиотеках (DLL), поэтому добавление алгоритма в PicLab осуществляется простым копированием соответствующего файла в соответствующую папку - не требуется перекомпиляция всей программы.
В процессе работы в среде PicLab ведется журнал произведенных действий, поэтому можно без дополнительных усилий сравнивать результаты работы различных алгоритмов. Например, последовательность действий: открыть изображение, добавить Гауссов шум, обработать изображение фильтром Винера, обработать изображение билатеральным фильтром - будет отражена в журнале работ в виде таблицы. Также предусмотрен экспорт этой таблицы в MS Excel или в MS Word.
Для сравнения получаемых результатов с результатами других исследователей PicLab включает необходимый набор стандартных тестовых изображений (512*512 пикселей), которые часто встречаются в различных источниках. Исследовательская среда PicLab может быть использована в системах телекоммуникаций, радио- и гидролокации, сейсмологии, роботехнике, радиоастрономии, медицине.
Тестовые изображения
В среду PicLab, помимо множества алгоритмов обработки изображений, моделей шумов, алгоритмов сжатия и средств автоматизации исследований, входит набор тестовых изображений, среди которых наиболее известным является изображение «Lenna» (рис. 1).
2
Рис. 1. Рабочее окно среды PicLab
Все тестовые изображения представлены в градациях серого и имеют размер 512*512 пикселей. PicLab позволяет также обрабатывать любые 8-битные (в градациях серого) и 24-битные (цветные) изображения в форматах BMP и JPEG.
Пример проведения исследований в среде PicLab
Предположим, необходимо проанализировать качество удаления из изображения импульсного шума «соль-и-перец» (вероятность искажения пикселя 0,40) двумя фильтрами:
- адаптивным прогрессивным переключающимся медианным фильтром (размер окна детектора 5*5, размер окна фильтра 3*3);
- адаптивным медианным фильтром (максимальный размер окна 22*22, рекурсия).
В качестве тестового можно использовать полутоновое изображение «Lenna» размером 512*512 пикселей.
Ниже представлена последовательность действий для проведения эксперимента.
1. Запустить среду PicLab, используя ярлык на рабочем столе или меню «Пуск».
2. Открыть изображение командой File ► Open Image или нажать соответствующую кнопку на панели инструментов. При этом появится диалоговое окно Open Image (рис. 2). Следует выбрать изображение «Lenna» (тестовые изображения находятся в папке C:\Program Files\PicLab\Samples) и нажать кнопку Открыть. При выделении файла изображения в диалоговом окне справа появляется его миниатюра.
|l_enna.bmp J Открыть
All supported d Отмена
Рис. 2. Диалоговое окно Open Image
3. Выбрать модель шума в меню Noises ► Impulse Noise ► Salt-and-Pepper
Noise. В открывшемся диалоговом окне нужно установить вероятность искажения пикселя (Noise percent) равной 0,40 (рис. 3). При установленной галочке Предварительный просмотр (Full Preview) будет видно, как шум действует на все изображение.
4. Провести обработку зашумленного изображения выбранными фильтрами:
- выберем адаптивный прогрессивный переключающийся медианный фильтр (Filters ► Detector Median Filters ► APSM Filter) с параметрами: размер окна детектора (Detector window size) - 5, размер окна фильтра (Filter window size) - 3 (рис. 4, а);
- вернемся с помощью панели History к изображению с шумом «соль-и-перец» и используем адаптивный медианный фильтр (Filters ► Median Filters ► Adaptive Median Filter) с размером окна (Window size) - 22 и установленным флажком Рекурсивное выполнение (Recursive executing) (рис. 4, б).
5. Анализ полученных результатов. Для этого используется окно History (рис. 5). Можно сравнить параметры ПОСШ (PSNR), УИК (IQ) и время (Time), затраченное на обработку изображения разными фильтрами.
Двигаясь по списку преобразований (окно History), можно визуально оценить изображение до и после воздействия фильтров. Можно видеть, что адаптивный переключающийся медианный фильтр превосходит адаптивный медианный фильтр для заданной степени зашумления по всем критериям.
Рис. 3. Установка параметров шума
В среде PicLab предусмотрена возможность автоматического построения экспериментальных зависимостей поведения различных фильтров при обработке одного и того же изображения, искаженного некоторым набором степеней зашумления (рис. 6). Для проведения подобного эксперимента понадобится следующая последовательность.
1. Запустить анализатор алгоритмов File ► Start Analyzer.
2. Выбрать искажение, в роли которого могут выступать модели шумов или, например, алгоритмы сжатия изображений.
3. Выбрать параметр искажения, который будет меняться в процессе эксперимента, задать пределы изменения параметра и количество шагов.
4. Задать оставшиеся параметры искажения.
5. Выбрать один или несколько алгоритмов фильтрации и задать их параметры.
6. Выбрать критерий (ПОСШ, СКО или др. [2]).
7. Запустить эксперимент.
APSM Filter
Cancel
Full Preview
Detector window size: Filter window size: | I I
Window size:
Recursive executing
а) б)
Рис. 4. Установка параметров фильтров APSM Filter и Adaptive Median Filter
History
Operation PSNR IQ Time
Load 'Lenna.bmp' INF dB 1,00 32 ms
Salt-and-Pepper Noise (NP=0,4) 9,34 dB 0,03 31 ms
AP5M Filter (DW5=5;FW5=3) 34,51 dB 0,84 219 nns
Adaptive Median Filter (W5=22;RE) 31,46 dB 0,73 328 nns
1 ш Л
Рис. 5. Окно History после проведения эксперимента
В результате проведения эксперимента будет получена необходимая зависимость. Результат эксперимента можно также экспортировать в Microsoft Word или Microsoft Excel.
¿2 Analyzer
40 35 30 25 ££ и 20 CL 15 10 5 Experiment Results Chart
Ьэ __ H ,9 j Table 1
■ 7 -—1 —.
H - ---
: ч ь
: :
( ) 0,05 0,1 0,15 0,2 0,; !5 0,3 0,35 0,4 0,45 0,5 0,55 0,6 0,65 0,7 0,75 0,8 0,85 0, Noise percent
L -)f Adaptive Median Fllter(WS=22;RE)-APSM Fllter(№VS=5;FVVS=3)
Back I if ..........Exit...... 3
1
Рис. 6. Окно Analyzer после проведения эксперимента
Особенности представления алгоритмов в среде PicLab
В среде PicLab существует простая процедура добавления новых алгоритмов обработки цифровых изображений. Такая возможность предусмотрена исходя из следующих соображений. Во-первых, необходим механизм для быстрого изменения набора алгоритмов в среде при решении различных задач. Во-вторых, алгоритмы обработки цифровых изображений должны образовывать непротиворечивую и интуитивно понятную объектно-ориентированную иерархию, которую можно легко расширять новыми алгоритмами.
Все алгоритмы хранятся в динамически подключаемых библиотеках, функционирующих по принципу плагинов (plug-in). Идея плагинов состоит в том, что для расширения функциональности основной программы не требуется ее переработка и перекомпиляция, достаточно поместить специальным образом подготовленную библиотеку в
некоторое место (папку на диске), и основная программа при запуске загрузит все подобные библиотеки, расширяя, таким образом, свою функциональность. Такое решение позволяет легко изменять набор возможностей программы без особых усилий.
До непосредственного рассмотрения примеров встраивания алгоритмов в программу необходимо обсудить некоторые особенности иерархии внутренних классов.
Классификация алгоритмов
В среде PicLab все алгоритмы обработки изображений разделены на три типа:
- фильтры (медианный, усредняющий и др.);
- шумы (аддитивный гауссов, импульсный и др.);
- искажения при сжатии с потерями (JPEG, JPEG2000).
Большой класс алгоритмов обработки изображений сводится к применению некоторого преобразования к каждому пикселю. В случае аддитивного шума, например, это добавление случайной компоненты. В результате применения такого преобразования ко всем пикселям получается выходное изображение [3].
По причине принципиального сходства алгоритмов выделена базовая абстракция «Operation» (операция, процесс), общая для всех этих типов. Перечислим основные черты указанной абстракции:
- операция применяется к цифровому изображению, после завершения операции получаем другое цифровое изображение;
- операция имеет уникальное название (например, Gaussian Noise - гауссов шум);
- для операции определено название родительской группы (например, Additive Noises - аддитивные шумы);
- определен тип операции (фильтр, шум или алгоритм сжатия).
Кроме того, предложенная абстракция содержит указания о возможности применения конкретного алгоритма только к цветным изображениям (например, для операции перевода цветного изображения в градации серого) и указания о том, что конкретный алгоритм полностью изменяет изображение, а вычисление объективных оценок теряет смысл (например, операция отражения).
Заключение
Разработанный программный комплекс для проведения автоматизированных исследований цифровых изображений позволяет максимально быстро и просто тестировать новые алгоритмы обработки цифровых сигналов, подбирать оптимальные параметры передачи по каналам связи, получать все необходимые для исследований статистические характеристики сигналов. Для студентов специальности «Радиофизика» данная система предоставляет удобную платформу для курса «Цифровая фильтрация».
Система PicLab постоянно обновляется и дополняется разрабатываемыми алгоритмами обработки.
Литература
1. Приоров А.Л., Ганин А.Н., Хрящев В.В. Цифровая обработка изображений: Учеб. пособие. - Ярославль, 2001.
2. Арляпов С.А., Приоров А.Л., Хрящев В.В. Модифицированный критерий оценки качества восстановленных изображений // Цифровая обработка сигналов. - 2006. -№2. - С. 27-33.
3. Гонзалес Р., Вудс Р. Цифровая обработка изображений. - М.: Техносфера, 2005.