Научная статья на тему 'Качественное увеличение деталей изображения'

Качественное увеличение деталей изображения Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
646
1321
i Надоели баннеры? Вы всегда можете отключить рекламу.
i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

Текст научной работы на тему «Качественное увеличение деталей изображения»

УДК 004.92

Сазонов В.В. , Щербаков М.А.

Пенза, Пензенский государственный университет

КАЧЕСТВЕННОЕ УВЕЛИЧЕНИЕ ДЕТАЛЕЙ ИЗОБРАЖЕНИЯ

Аннотация. Описана процедура масштабирования изображений на основе аппроксимации матриц наблюдаемых данных. Проведен сравнительный анализ предложенного метода и известных подходов к интерполяции изображений. Даны рекомендации по использованию данного метода.

Ключевые слова. Интерполяция и масштабирование изображений, сингулярное разложение матриц.

Цифровое изображение всегда представлено конечным числом дискретных точек. Масштабирование цифровых изображений связано с приведением массива информации в соответствие с разрешением и размером иллюстрации. В зависимости от цели этот массив информации необходимо либо увеличить, либо сократить. Простое размножение или сокращение в настоящее время не является сложной задачей для компьютерных систем. Однако при этом возможны существенные искажения геометрии мелких деталей и появление ложных узоров на текстурах. Чтобы избежать возможных потерь при трансформации используют различные интерполяционные алгоритмы [1,2].

Интерполяция изображений происходит во всех цифровых фотографиях на этапах его преобразования в конечный результат. Тем более, когда изображение трансформируется из одной сетки пикселей в другую. Суть интерполяции заключается в использовании имеющихся данных для получения ожидаемых значений в неизвестных точках. Процедура интерполяции изображений работает в двух измерениях и пытается достичь наилучшего приближения в цвете и яркости пикселя, основываясь на значениях окружающих пикселей.

Алгоритмы интерполяции

Общепринятые алгоритмы интерполяции принято делить на две категории: адаптивные и неадаптивные. Адаптивные методы изменяются в зависимости от предмета и задачи интерполяции (резкие границы, гладкая текстура и т.д.), тогда как неадаптивные методы обрабатывают все пиксели одинаково.

Неадаптивные алгоритмы включают: метод ближайшего соседа, билинейный, бикубический, сплайны, функция кардинального синуса (siпс), метод Ланцоша и другие. В зависимости от сложности, они используют от 0 до 256 (или более) смежных пикселей для интерполяции. Естественно, что чем больше используемое интерполяционное окно, тем более точным становится преобразование цифрового изображения, но это достигается за счёт значительного увеличения времени обработки.

«Метод ближайшего соседа» является базовым для большинства алгоритмов интерполяции, который требует наименьшего времени обработки, поскольку учитывает только один пиксель — ближайший к точке интерполяции. В результате каждый пиксель просто становится больше. Билинейная интерполяция рассматривает квадрат 2x2 известных пикселя, окружающих неизвестный. В качестве интерполированного значения используется взвешенное усреднение этих четырёх пикселей. В результате изображения выглядят значительно более гладко, чем результат работы метода ближайшего соседа.

Бикубическая интерполяция является естественным продолжением билинейной и рассматривает уже массив из 4x4 окружающих пикселей. Поскольку они находятся на разных расстояниях от неизвестного пикселя, ближайшие пиксели получают при расчёте больший вес. Бикубическая интерполяция значительно лучше воспроизводит контрастные изображения, чем предыдущие два метода, и возможно, является наиболее оптимальной по соотношению времени обработки и качества на выходе. По этой причине она стала стандартной для многих программ редактирования изображений (включая Adobe Photoshop), драйверов принтеров и встроенной интерполяции камер.

Адаптивные алгоритмы включают в себя многие коммерческие алгоритмы в лицензированных программах, таких как Qimage, PhotoZoom Pro, Genuine Fraсtals и другие. Многие из них используют различные варианты своих алгоритмов (в основном, на основе попиксельного анализа), когда обнаруживают наличие границы — с целью минимизации недостатков интерполяции в тех местах, где они наиболее заметны. Как правило, эти алгоритмы в первую очередь предназначены для задач сохранения максимальной детализации исходных локальных эффектов в увеличенных изображениях.

Несмотря на достаточно большой интерес к задаче масштабирования, ни один из подходов оказался несвободным от недостатков, связанных с трансформацией цифрового изображения из одной координатной сетки в другую.

Проведенный анализ методов масштабирования изображений позволил выявить основные причины недостаточного эффекта известных подходов:

использование детерминированных процедур интерполяции стационарных процессов к априорно нестационарным исходным данным (характерно для неадаптивных алгоритмов);

нацеленность процедур масштабирования для решения локальных задач преобразований (характерно для адаптивных алгоритмов).

Здесь следует отдельно отметить основные артефакты, возникающие при масштабировании цифровых изображений:

Ringing или Overshooting - возникновение волновых помех около резких границ на изображении;

Aliasing («лестничный эффект») - появление неравномерности на резких диагональных границах изображения;

Unsharpening - размывание или потеря четкости изображения после масштабирования;

Suhpixel_shift - субпиксельный сдвиг изображения, вызванный особенностями реализации интерполяционных алгоритмов и т.д.

Процедура SVD-масштабирования цифровых изображений

В данной статье описан метод масштабирования изображений, основанный на трехэтапной процедуре преобразования массива исходных данных.

Пусть матрица исходных данных Aе Rmxn состоит из вещественных чисел и имеет т столбцов и п строк (т А п).

Первый этап преобразования основан на анализе матрицы исходных данных в базисе сингулярных чисел и сингулярных векторов (Singular Value Decomposition) [3].

В соответствии с положением теории матричного анализа [4], матрицу A можно представить в виде сингулярного разложения A = U • Л • VT , (1)

где U и V - матричное представление левых и правых сингулярных векторов Ui и Vi , Л - диагональная матрица с упорядоченными по убыванию элементами Oi+1 > Oi > 0, i=1,2, ... , n.

Сингулярная декомпозиция (1) переводит матрицу A из исходного пространства единичных векторов <ei,ei> в ортогональное пространство сингулярных векторов <Ui,Vi>, одновременно осуществляя при этом и ее линейное разложение на ряд составляющих, причем сингулярное число oi определяет «вес» отдельной компоненты.

В терминах матричного анализа SVD-разложение предполагает возможность анализа структуры и содержания матрицы исходных данных, что позволяет реализовать устойчивые процедуры [5,6] предварительных преобразований исходного изображения (например, удаление шумов и помех различной природы, контрастирование снимка, выравнивание его динамического диапазона и т.д.)

На втором этапе осуществляется трансформация (с заданным масштабом увеличения) исходной координатной сетки цифрового изображения. Интерполяция в неизвестных точках производится на основе обычного линейного приближения имеющихся значений пикселов. Так, например, для двукратного увеличения размеров изображения значения неизвестных пикселей находятся как простая полусумма соседних пикселей исходного изображения. На рис.1 приведен фрагмент увеличенной иллюстрации, где Xi, Хз, Х7, Х9 - пиксели исходного изображения; x2, Х4, Х5, Хб, Хэ - интерполяцион-

ные пиксели, значения которых находят следующим образом:

X + X X + X X + X X + Xq

2 2 , 4 2 , 6 2 , 8 2 ,

X + X3 + X7 + x _ X2 + X4 + Хб + Xg

Xe = ---------- = ------------ .

5 4 4

Нетрудно заметить, что второй этап масштабирования является, по сути, упрощенной модификацией алгоритма билинейной интерполяции.

хх х2 хъ

• о •

х4 х5 х6

ООО

Ху Xg х^

• о •

Рис.1. Фрагмент увеличенного изображения

Важным замечанием здесь является то, что значения в неизвестных точках интерполируются в ортогональном пространстве сингулярных векторов, найденных на первом этапе. Это позволяет избежать основных недостатков известных методов и алгоритмов, проявляющихся в возникновении волновых помех, появлении неравномерности и потере четкости изображения после масштабирования.

юбая процедура масштабирования неизбежно приводит к пиксельным сдвиговым искажениям относительно исходного изображения, что связано с расширением координатной сетки увеличенного снимка. Известные подходы устранения этого артефакта предполагают применение искусственных шаблонов коррекции детерминированной системы единичных векторов <ei,ei> наблюдаемого изображения, исходя из конкретной задачи масштабирования.

В рамках предлагаемого подхода, минимизация Subpixel_shift-искажений достигается путем уточнения пространства сингулярных векторов <Ui,Vi> . Эта задача решается на третьем этапе посредством повторного SVD-разложения, но уже применительно к расширенной матрице данных A'. Последний этап может быть реализован в двух вариантах.

Первый вариант предполагает получение увеличенного изображения только в скорректированной системе координат сингулярных векторов, что может привести к некоторым изменениям значений яркости пикселей в узлах интерполяции (координаты Х1, Хз, Х7, Х9 на рис.1). Этот вариант может быть полезен для текстурированных картинок или изображений, имеющих явно выраженные резкие границы.

В остальных случаях предпочтительнее использовать второй вариант (remember-интерполяция), при котором узловые точки исходного изображения без изменений скопированы в соответствующие позиции увеличенного снимка. Это бывает полезным и тогда, когда набор исходных пикселей содержит в себе определенную информацию. В любом случае, исследователь оставляет за собой возможность выбора наилучшего варианта.

Таким образом, предлагаемая SVD-процедура позволит избежать или минимизировать искажения цифровых изображений, подвергаемых масштабированию.

Результаты

На рис.2 приведены сравнительные результаты двукратного увеличения изображения (рис.2в) с помощью алгоритмов билинейной интерполяции (рис 2а и 2г) и SVD-процедуры (рис.2б и 2д) масштабирования. Очевидно, что в первом случае не удалось избежать искажений, связанных с неточным отображением резких горизонтальных и диагональных границ. Кроме того, заметно появление волновых помех при воспроизведении овалов и окружностей.

Предложенный метод SVD-масштабирования цифровых изображений в значительной степени свободен от указанных недостатков, что позволяет сделать вывод о перспективности его использования в системах машинного зрения, в робототехнике и т.п.

г) д)

Рис.2 Результаты двукратного увеличения цифрового изображения

ЛИТЕРАТУРА

1. Гонсалес Р., Вудс Р. Цифровая обработка изображений.-М.:Техносфера, 2005.-1072 с.

2. Методы компьютерной обработки изображений/ Под ред. В.А.Сойфера.- М.:ФИЗМАТЛИТ, 2003.784 с.

3. Форсайт Дж., Молер К. Численное решение систем линейных алгебраических уравнений: Пер. с

англ. - М.: Мир, 1969.

4. Голуб Дж., Ван Лоун Ч. Матричные вычисления: Пер. с англ.-М.:Мир, 1999.- 548 с.

5. Сазонов В.В., Щербаков М.А. Помехозащищенный видеомониторинг объектов/ Надежность и ка-чество-2012:Труды междун.симп.-Пенза,ПГУ, 2012. -Т.2.- С.383-385

6. Сазонов В.В., Щербаков М.А. Повышение надежности управления в условичх импульсных помех/ Надежность и качество-2012:Труды междун.симп.-Пенза,ПГУ, 2012. -Т.2.- С.200-202

i Надоели баннеры? Вы всегда можете отключить рекламу.