УДК 621.397.7
А.А. Акифьев, Е.В. Зайцева, С.С. Замякин, А.Е. Максимов, И.Н. Пустынский
Исследование и проектирование сглаживающих фильтров в среде Scilab для подавления шумов в изображениях
Представлены возможности использования программного пакета Scilab для расчета характеристик систем активного зрения роботов и разработанные с его помощью функции сглаживающих фильтров для обработки изображений.
Ключевые слова: изображение, шум, зрение роботов, фильтр. doi: 10.21293/1818-0442-2017-20-4-157-160
При построении программно-аппаратного комплекса активного зрения роботов, способных к функционированию в неструктурированных средах в реальном времени, предполагаются разработка и реализация прецизионных высокопроизводительных методов и средств обработки и распознавания изображений. Одним из этапов такой обработки является сглаживание - одна из наиболее распространенных операций, применяемых при обработке и анализе видеоинформации для устранения помех. Большинство методов сглаживания одновременно приводят к размытию контуров в изображении, поэтому задачи поиска фильтров, которые при достаточно хорошем сглаживании обеспечивали бы сохранение контурных перепадов весьма актуальны. Такие исследования требуют использования программных средств моделирования, тестирования и отладки управляющих программ. Важными параметрами таких программ являются функциональные возможности, ресурсные ограничения, стоимость продукта, лицензионные ограничения, доступность литературы.
Ма1ЬаЬ - один из старейших, тщательно проработанных и проверенных временем инженерных пакетов. Однако стоимость Ма1ЬаЪ такова, что немногие образовательные и исследовательские учреждения могут позволить себе закупать его.
8сПаЪ является некоммерческим аналогом системы автоматизации математических расчетов Ма1ЬаЪ и бесплатным продуктом с открытым исходным кодом. Вычислительные возможности 8сПаЪ обеспечены приблизительно тысячью встроенных функций и вполне соответствуют системам компьютерной математики профессионального уровня. 8сПаЪ имеет схожий с Ма1ЬаЪ интерфейс и синтаксис языка. 8сПаЪ можно рассматривать как облегченный вариант Ма1ЬаЪ, который сохраняет его основные возможности [1, 2]. Пакет поддерживает основные элементарные и множество специальных функций, применяемых в математике и в инженерных расчётах. К примеру, функция Бесселя, которая используется в аналитическом выражении распределения яркости в кружке рассеяния безаберрационного объектива.
81УР является полезным, эффективным и бесплатным инструментом для обработки изображений и видеоданных для академических исследователей и работает как часть 8сПаЪ.
В данной статье авторы представляют разработку и исследование сглаживающего биномиального фильтра обработки изображений, предлагают аналитическую модель фильтра «степени двух» и его реализацию, а также «метод дополнения» как способ повышения качества фильтрации границ изображения.
Изображения в процессе формирования телевизионными измерительными системами обычно подвергаются воздействию различных случайных помех или шумов [3, 4].
Целью восстановления искаженного изображения является получение из него при помощи некоторой обработки изображения, которое близко к идеальному изображению по заданному критерию (рис. 1).
Искажающая Восстановление
система (фильтрация)
Х(т, п) У(т, п) Х'(т, п)
Рис. 1. Схема искажения и фильтрации: Х(ш, п) - идеальное изображение; Г(ш, п) - искаженное изображение;
Х(т, п) - восстановленное изображение
Коэффициенты фильтра представляют собой некоторые скалярные значения, на которые умножаются значения цветов пикселей из группы, соответствующей размеру фильтра. Обработка изображения с применением такого рода фильтров описывается следующей формулой [3]:
т п т п
сп™ и[ ]]=ЕЕ а1]со\л и-—] [ ] - -к ,=1}=1 2 2
где т и п - это константы фильтра, которые задают двумерный размер фильтра; а - коэффициенты фильтра, определяющие тот эффект, который накладывает фильтр.
Обычно фильтр с неотрицательными коэффициентами обладает сглаживающими свойствами [813]. Маски различных фильтров отличаются степе -нью сглаживания шумов. При увеличении степени сглаживания шумов происходит также подавление высокочастотной составляющей полезного изображения, что вызывает исчезновение мелких деталей и размазывание контуров.
В системе 81УР представлена функция реализации фильтра «Гауссиан»:
Fg
gauss
(i, j ) = -
1
rexp(-
i2 + j 2
RMSE =
2лс 2с
где ст - степень размытия изображения.
Функция биномиального фильтра в 81УР отсутствует. Биномиальные фильтры содержат значения дискретного биномиального распределения. Эти фильтры строятся с помощью последовательной свертки эквивалентно вычислительной схеме треугольника Паскаля (таблица) [14].
R f Коэффициенты а2
0 1 1 0
1 1/2 1 1 1/4
2 1/4 1 2 1 1/2
3 1/8 1 3 3 1 3/4
4 1/16 1 4 6 4 1 1
В таблице R - порядок бинома; f - масштабный
D 2
множитель 2 ; а - дисперсия. Авторами реализован данный фильтр с возможностью задания размерности матрицы (алгоритм 1.1).
Алгоритм 1.1. Биномиальный фильтр Входные параметры: переменная n - размерность матричного фильтра.
Результат функции: матричный фильтр заданной размерности.
Особенности: функция принимает только нечетное значение размерности, не превышающее 11. Коэффициент фильтра связан с размерностью. Функция binom(n) Если (~modulo(n,2)) тогда f="error"; Если нет(п<3) тогда f="error"; Если нет(п>11) then f="error"; Иначе
Цикл1 i=1:n
Если^==1) тогда f(i,1)=1;
Если HeT(i==2) then f(i,1)=1; f(i,2)=1;
Иначе
Цикл2 j=1:i
Если0==1) тогда f(i,1)=1; Если нет(j==i) тогда f(i,j)=1; Иначе f(i,j)=(f((i-1),(j-1))+f((i-1),j)); endЕсли endЦикл2 endИначе endЦикл1 h=f(n,:); v=h'; f=v*h;
n=(1/(2A(n-1))A2); f=n*f; endИначе endФункции
Для оценки работы биномиального фильтра возьмём стандартное изображение из базы SIVP, наложим на него помеху «соль и перец» с помощью стандартного оператора imnose. Обработаем данное изображение биномиальным фильтром размерностью 5^5.
Для оценки эффективности реализованных фильтров рассчитываем среднеквадратическую ошибку (RMSE):
У (Am,n Bm,n )
MN
m,n
где МЫ - число пикселей изображения; А - исходное изображение; В - обработанное изображение; т -пиксель по строке; п - номер пикселя по столбцу.
ИМ8Б для изображения, обработанного биномиальным фильтром размерностью 5*5, получается равным 0,0282.
Также рассчитываем пиковое отношение сигнал/шум (Р8Ж):
PSNR = 20log10-
Am
ИМ8Б( А, В)
где Атах - максимальная яркость пикселя изображения А .
Чем больше величина Р8МЯ, тем лучше качество полученного изображения. Р8№Я для изображения, обработанного биномиальным фильтром размерностью 5*5, получается равным 78 дБ, что подтверждает эффективную работу фильтра.
Авторы предлагают модифицировать данный фильтр следующим образом: "1 2
4 8 16 8 4
и назвать его фильтром «степени двух» (алгоритм 1.2). Алгоритм 1.2. Фильтр «степени двух» Входные параметры: переменная n - размерность матричного фильтра, переменная m - коэффициент фильтра.
Результат функции: матричный фильтр заданной размерности.
Особенности: функция принимает только нечетное значение размерности, не превышающее 21, допускаемое значение коэффициента: от 2(-10) до 20. Функция index2(n,m) Если(~modulo(n,2)) then f="error"; Если нет^<3) then f="error"; Если нет^>21) then f="error"; Если нет(т<1/1024) then f="error"; Если нет(т>1) then f="error"; Иначе t=(n+1)/2; Цикл1 i=1:t; Цикл2 j=1:t; f(i,j)=2A(i+j-2); f(i,(n+1-j))=2A(i+j-2); f((n+1-i),j)=2A(i+j-2); f((n+1-i),(n+1-j))=2A(i+j-2); endЦикл2 endЦикл1 f=m*f; endИначе endФункции
Обработаем «зашумленное» изображение фильтром «степени двух» размерностью 5*5. Для оценки эффективности предложенного фильтра рассчитываем RMSE, которая составила 0,0117, и PSNR = 86 дБ.
Все обработанные изображения получены с применением метода дополнения, который решает проблему граничных условий, которая актуальна для всех матричных фильтров: у верхнего левого пикселя не существует соседнего пикселя справа от него. Эта проблема решается методом дополнения (алгоритм 2), который требует создания промежуточного изображения. Создаётся временное изображение: в центр изображения копируется входная «картинка», а края заполняются крайними пикселями изображения. Размытие применяется к промежуточному буферу, а потом из него извлекается результат.
Алгоритмы 2. Функции реализации метода дополнения
2.1. Определение количества добавляемых строк и столбцов
Входные параметры: матрица т.
Результат функции: количество добавляемых строк и столбцов.
function [f]=amount(m) f=size(m); f=(f(1)-1)/2; endfunction
2.2. Добавление строк и столбцов
Входные параметры: матрица т, переменная s - количество добавляемых строк и столбцов.
Результат функции: обработанная матрица.
Функция add(m,s) t=m(1,:); Цикл i=1:s m=[t;m]; end^nn t=m(:,1); Цикл i=1:s m=[t,m]; end^Kn f=m;
endФункции
2.3. Удаление строк и столбцов
Входные параметры: матрица т, переменная s - количество удаляемых строк и столбцов.
Результат функции: обработанная матрица.
Функция del(m,s) Цикл i=1:s m(1,:)=[]; m(:,1)=[]; end^nn f=m;
endФункции
Для удобства пользователя была реализована основная функция (алгоритм 3), позволяющая выбрать тип фильтра, размерность матрицы, коэффициент фильтра.
Алгоритм 3. Основная функция
Входные параметры: переменная А - коэффициент фильтра; переменная B - размерность матричного фильтра; переменная С - выбор фильтра (1 -«степени двух»; иное - биномиальный фильтр); переменная D - имя файла.
Результат функции: обработанное изображение (вывод на экран и в массив).
Пример задания фильтра: image(1/32,3,1,'e3.jpg').
Заключение
Изложенные в статье алгоритмы сглаживания изображений показали свою эффективность для подавления шумов изображений. Предложенная модификация биномиального фильтра показала свою эффективность увеличением PSNR, что свидетельствует о повышении качества обработанного изображения. Каждый раз при использовании того или иного фильтра коэффициенты маски фильтра следует подбирать индивидуально исходя из количественных характеристик шума и требований к получаемому изображению. Данные программные реализации позволяют задавать различные коэффициенты фильтрации. Впоследствии полученные модели фильтров и программные реализации планируется использовать на реальных изображениях с системами активного зрения роботов.
Исследование выполнено при финансовой поддержке Минобрнауки РФ по проекту № 8.9562.2017/8.9 и РФФИ в рамках научного проекта № 16-47-700939.
Литература
1. Колкер А.Б. Обоснование выбора программного обеспечения для робототехники / А.Б. Колкер, Д.А. Ливе-нец, А.И. Кошелева // Автоматика и программная инженерия. - 2012. - №1 (1). - С. 51-64.
2. Желтов С.Ю. Обработка и анализ изображений в задачах машинного зрения. - М.: Физматкнига, 2010. - 672 с.
3. Гонсалес Р. Цифровая обработка изображений. 3-е изд., испр. и доп. / Р. Гонсалес, Р. Вудс. - М.: Техносфера, 2012. - 1104 с.
4. Гоулд Б. Цифровая обработка сигналов / Б. Гоулд, Ч. Рэйдер; пер. с англ. под ред. А.М. Трахтмана. - М.: Сов. радио, 1973. - 438 с.
5. Айфичер Э. Цифровая обработка сигналов. Практический подход. - 2-е изд.; пер. с англ. / Э. Айфичер, Б. Джервис. - М.: Вильямс, 2004. - 992 с.
6. Прэтт У.К. Методы передачи изображений: сокращение избыточности: пер. с англ. / УК. Прэтт, Д. Д. Сакри-сон, Х.Г.Д. Мусманн. - М.: Радио и связь, 1983. - 264 с.
7. Мезенцева О. С. Фильтрация сильно зашумленных изображений / О.С. Мезенцева, А.А. Андреев // Обозрение прикладной и промышленной математики. - 2008. - Т. 15, № 1. - С. 176-178.
8. О математических моделях фильтров для цифровой обработки изображений / Н.И. Червяков, П.А. Ляхов, Д. И. Калита, Н. В. Попова // Основные направления развития научного потенциала в свете современных исследований: теория и практика: матер. XI Междунар. заоч. науч. конф. - Ставрополь, 2017. - С. 238-241.
9. Каменский А.В. Методы повышения четкости телевизионных изображений высокого качества линейными алгоритмами // Доклады ТУСУРа. - 2017. - Т. 20, № 1. -С. 46-49.
10. Капустин В.В. Оценка качества изображений высокого разрешения при внутрикадровом сжатии в стандартах JPEG и JPEG2000 / В .В. Капустин, А.В. Каменский // Доклады ТУСУРа. - 2016. - Т. 19, № 3. - С. 27-31.
11. Дворкович В.П. Цифровые видеоинформационные системы: теория и практика / В. П. Дворкович, А.В. Дворкович. - М.: Техносфера, 2012. - 1008 с.
12. Malanin M.Yu. Optimization of parameters of twodimensional filters of increase of clearness of television images on contrastly to frequency characteristics / M.Yu. Malanin, A.V. Kamenski, M.I. Kuryachiy // Control and Commu-
nications (SIBCON), IEEE 2015 International Siberian Conference on. - 2015. - P. 1-4.
13. Капустин В.В. Коррекция координатных искажений в телевизионно-вычислительных системах // Доклады Том. гос. ун-та систем управления и радиоэлектроники. -2015. - № 4 (38). - C. 174-177.
14. Дамьяновски В. CCTV. Библия охранного телевидения: пер. с англ. / В. Дамьяновски. - М.: Ай-Эс-Пресс, 2003. - 344 с.
Замякин Сергей Сергеевич
Магистрант каф. ТУ
Тел.: 8-900-922-22-04
Эл. почта: [email protected]
Максимов Александр Евгеньевич
Магистрант каф. ТУ
Тел.: 8-952-888-90-85
Эл. почта: [email protected]
Пустынский Иван Николаевич
Д-р техн. наук, профессор каф. ТУ Тел.: (382-2) 41-34-23, 8-923-410-48-87 Эл. адрес: [email protected]
Акифьев Алексей Александрович
Магистрант каф. телевизионных устройств (ТУ) ТУСУРа
Тел.: 8-999-495-00-62
Эл. почта: [email protected]
Зайцева Екатерина Викторовна
Канд. техн. наук, ст. преподаватель каф. ТУ
Тел.: (382-2) 70-15-04
Эл. адрес: [email protected]
Akifyev A.A., Zaytseva E.V., Zamyakin S.S., Maximov A.E., Pustynsky I.N.
Realization of the smoothing filters for noise suppression in the Scilab environment
The review of Scilab software package for robots active vision systems calculation and the functions of the smoothing filters realized with this help for images processing is submitted.
Keywords: image, noise, robots active vision systems, filter.