Наука й Образование
МГТУ им. Н.Э. Баумана
Сетевое научное издание
1ЭЗМ
Наука и Образование. МГТУ им. Н.Э. Баумана. Электрон. журн. 2017. № 03. С. 170-181.
Б01: 10.7463/0317.0001113
Представлена в редакцию: 07.02.2017 Исправлена: 21.02.2017
© МГТУ им. Н.Э. Баумана
УДК 004.932.4
Анализ методов интерполяции в задачах реконструкции изображений
Нгуен В.Ч.1*, Тропченко А.А.1 ^епИиопа:таг&@ gmail.com
1 Университет информационных технологий, механики и оптики, Санкт-Петербург, Россия
Разработка и использование мультимедийных технологий широко распространяются в различных областях жизнедеятельности, в т.ч. медицинской, военной, экологической, области надзора (как приложения контроля качества в промышленности). Во многих из этих приложений стадия сжатия необходима для экономии как пропускной способности телекоммуникационных систем, так и места для хранения. В процессе сжатия, мы вообще откажемся от некоторых пикселей или кадров во время кодирования. При декодировании/декомпрессии, точные данные не восстанавливаются, поэтому восстановленное изображение не является точно таким же, как исходное. Таким образом, чтобы исключить потери при сжатия, применяется процесс восстановления с помощью методов интерполяции таким образом, что он может предсказать недостающие пиксели изображения. В данной работе были рассмотрены принципы и особенности различных методов интерполяции, в т.ч. метод по соседним элементам, линейный метод, метод с использованием В -сплайнов, метод кубической свертки и метод Ланцоша. Для сравнения различных методов интерполяции были выбраны коэффициенты субъективных и объективных аспектов (Р№Я8 и время выполнения) оценки. В ходе проведенного эксперимента сравнивались преимущества и недостатки раз-личных методов. Полученные экспериментальные результаты показывают возможность выбора подходящего метода для достижения оптимальных результатов в соответствии с требованием приложения.
Ключевые слова: интерполяция, кубический В-сплайн, кубическая свертка, ядро интерполяции, частотная характеристика
Введение
Интерполяция представляет собой процесс определения значений функции в положениях, лежащих между ее выборками. Он достигает этого процесса путем установки непрерывной функции через дискретные входные выборки. Это позволяет определить входные значения в произвольных позициях во входных данных, а не только те, которые определены в точках выборок. В то время как выборка порождает бесконечный диапазон частот сигнала, интерполяция играет противоположную роль: она уменьшает ширину диапазона частот сигнала путем применения фильтра нижних частот к дискретному сигналу. То
есть, интерполяция восстанавливает потерю сигнала в процессе выборки путем сглаживания выборок данных с функцией интерполяции.
Процесс интерполяции является одной из основных операций в обработке изображений. Качество изображения сильно зависит от используемого метода интерполяции. Методы интерполяции делятся на детерминированные и статистические. Они различаются в том, что детерминированные методы интерполяции предполагают некоторую вариабельность между точками выборки. Статистические методы интерполяции аппроксимируют сигнал путем минимизации ошибки оценки. Поскольку статистические методы вычислительно неэффективны, в этой статье будут рассмотрены только детерминированные методы. Также будет проведено сравнение методов между собой по различным критериям оценки.
1. Масштабирование изображений и методы интерполяции
Масштабирование изображения является процессом изменения размера цифрового изображения. И масштабирование является нетривиальным процессом, который включает в себя компромисс между эффективностью, плавностью и резкостью. После масштабирования размер изображения уменьшается или увеличивается. Но методы интерполяции, которые обеспечивают насыщенное изображение и также сохраняют высокочастотные компоненты. Рис. 1 показывает разницу между изображениями после масштабирования и после интерполяции.
а б
Рис. 1. Изображение: а - после масштабирования; б - после интерполяции
В технике интерполяции фактически выполняется угадывание нового значения. И интерполяция определяется следующим образом: изображение Г( х, у) говорит нам значения интенсивности в целочисленных точках решетки, то есть, когда х и у являются це-
лыми числами. Интерполяция изображения относится к "угадыванию" значений интенсивности в недостающих локациях, т.е. x и y могут быть произвольными. Основные методы интерполяции рассмотрены ниже:
1.1 Интерполяция по соседним элементам (nearest neighbor interpolation)
Простейшая интерполяция с точки зрения вычислительного объема является интерполяция по соседним элементам. Этот метод также известен как алгоритм сдвига точки и репликации пикселя. Алгоритм очень прост в реализации и часто применяется. Каждому интерполированному выходному пикселю присваивается значение соседнего пикселя в исходном изображении. Соседний пиксель может быть любым сверху, снизу, слева или справа[1-2].
Одномерная интерполяция по соседним элементам определяется со следующим ядром (рис. 2):
Г1;0 < |s| < 0.5 u(s) = \
|0;0.5 <\s\
Недостатком алгоритма являются артефакты (размытие и краевые ореолы).
Рис. 2. Ядро одномерной интерполяции по соседним элементам
1.2 Линейная и билинейная интерполяция (linear and bilinear interpolation)
Линейная интерполяция используется, чтобы знать значение пикселя в любом положении от средневзвешенной величины четырех ближайших пикселей до указанных входных координат, и присваивает это значение выходным координатам. Линейная интерполяция является метод интерполяции первой степени, который проходит по прямой линии через каждые два следующих друг за другом точек входного сигнала [1, 3, 10].
Линейная интерполяция определяется со следующим ядром (рис. 3):
и(5)
¡1 -18|;0 < 51 < 1 |0;1 < 5
И©
-2 -I О
5
Рис. 3. Ядро линейной интерполяции
Билинейная интерполяция представляет собой расширение линейной интерполяции с идею в том, что сначала выполнить линейную интерполяцию в одном направлении, а затем в другом.
Билинейная интерполяция быстро и просто выполняется. В отличие от других методов интерполяции, билинейная интерполяция использует только значений 4 ближайших пикселей, которые расположены в диагональных направлениях от данного пикселя, чтобы найти соответствующее значение интенсивности этого пикселя (рис. 4). Этот алгоритм уменьшает некоторые визуальные искажения, вызванные изменением размера изображения.
У
У2
В
Г
С I
в
-уГ
Г
Рис. 4. Пример билинейной интерполяции (точка I получается из 4-х точек A,B,C,D)
Метод тоже содержит недостатки - это вызывание большего количества интерполяционных артефактов, таких как размытость и краевые ореолы. Еще он требует больше времени выполнения и является более сложным, чем метод по соседним элементам.
1.3 Интерполяция с использованием кубического В-сплайна (cubic B-spline
interpolation)
Интерполяции по соседним элементам и линейная интерполяция компрометируют качество изображения по эффективности за счет прямоугольной формы в полосе пропускания и бесконечных боковых лепестках. Интерполяция с использованием B-сплайна плавно соединяет полиномы с кусками. B-сплайн степени n выводится через n сверток прямоугольного импульса B0. Таким образом, В-сплайн 1-ой степени может быть представлен в виде B = B0 *B0. B-сплайн 2-ой степени B2 получен после выполнения свертки B0*Bj и кубический B-сплайн B3 составляется из свертки B0*B2 [4-5]. Ядро интерполяции с использованием кубического B-сплайна определяется как (рис. 5):
I |3
2 , ,2 S II --s + — ;0 < s < 1
3 м 2 11
u(s) =
(2 - S )3, 6 ;
0;2 < \s\
< s < 2
Рис. 5. Ядро интерполяции с использованием кубического В-сплайна
1.4 Бикубическая интерполяция (bicubic interpolation)
Поверхность интерполяции более гладкая, чем соответствующие поверхности, полученные упомянутыми выше методами (интерполяции по соседним элементам и линейная интерполяция). Бикубическая интерполяция определяет значение серого уровня от средневзвешенных 16 ближайших пикселей входных координат, и присваивает это значение
для выходных координат. Для бикубической интерполяции, число точек сетки, необходимых для оценки функции интерполяции равно 16, две сетки точки на любой стороне от рассматриваемой точки для горизонтального и перпендикулярного направлений [6, 7, 10].
Интерполяционная поверхность может написана таким образом:
з з
р(х,у)
i = 0 j=О
Проблема в том, что необходимо определить 16 коэффициентов а^. Интерполятор с аналогичными свойствами может получен путем применения свертки со следующим ядром (рис. 6):
i i3 II? II
(a + 2)s\ — (a + 3)|s\ +1;0 < |s| < 1
I |3 | |2 II ||
u(s) = \ a|s| - 5a s + 8a s - 4a;1 < s < 2 , 0;2 < Isl
где a обычно берется —1 или — —.
2 4
Рис. 6. Ядро бикубической интерполяции с применением свертки
1.5 Интерполяция Ланцоша (Lanczos interpolation)
Фильтр Ланцоша используется для интерполяции значений цифрового сигнала между его образцами [8]. Он отображает каждый образец данного сигнала к переведенной и масштабной копии ядра Ланцоша. Ядро Ланцоша является оконной sinc-функцией. Фильтр Ланцоша используется для увеличения частоты дискретизации цифрового сигнала. Ядро Ланцоша представляет собой нормированную sinc-функцию, оконную окном Ланцоша, которое определяется по следующему выражению (рис. 7):
u(s) =
1; s = 0
n
sin(^s)sin(—)
— ;0 < si < n,
2 2 ж s
0; n < s
где n обычно берется 2 или 3 .
Рис. 7. Ядро интерполяции Ланцоша (при n=2) (а); и при n=3 (б)
1.6 Метод разрешения (Super-Resolution method)
Сегодня, во многих системах обработки информации требуются изображения с высоким разрешением (HR), которые обеспечивают требуемый уровень детализации сцен (например, системы в медицинской, военной, спутниковой и других сферах). В системах обработки изображений, получаемые данные подвержены влиянию различных ограничений и воздействию помех. Существуют подходы уменьшить воздействие негативных факторов за счет накопления информации путем обработки нескольких изображений интересующей сцены. Методы суперразрешения (SR) позволяют воспроизвести одно изображение с высоким разрешением из нескольких или даже одного изображения с низким разрешением (LR).
Метод суперразрешения состоит из трех этапов: регистрация, интерполяция и восстановление (рис. 8). Регистрация или оценка движения широко применена в различных областях обработки изображения. На этапе регистрации, относительные сдвиги между LR изображениями по сравнению с эталонным LR изображением оцениваются с точностью до пикселя. Очевидно, что точная оценка движения является очень важным фактором в успехе алгоритма реконструкции HR изображения. Поскольку сдвиги между LR изображениями являются произвольными, зарегистрированное HR изображение не всегда совпадает с равномерной размещенной HR решеткой. Таким образом, процесс интерполяции необходим, чтобы получить равномерное размещенное HR изображение из неоднородно
размещенных LR изображений. И, наконец, применяют восстановление изображения, чтобы удалить размытие (смазанность изображения) и шумы различной физической природы [9].
Рис. 8. Схема метода суперразрешения
2. Экспериментальные результаты
Рассмотренные выше алгоритмы были реализованы с помощью MATLAB и протестированы с несколькими изображениями.
В экспериментах использовались следующие значения коэффициентов: для интерполяции кубической свертки a = — 1, а для интерполяции Ланцоша - n = 2,3 .
Для сравнения эффективности работы различных алгоритмов, эти изображения были уменьшены до половины первоначального размера. А потом сжатые изображения были расширены до исходного размера с использованием различных алгоритмов.
Эффективность работы рассмотренных алгоритмов сравнивалась между собой по следующим аспектам:
2.1 По PSNR
Пиковое соотношение сигнал/шум (PSNR, peak signal to noise ration):
PSNR = 10 log.
10
MAX 2 MSE
где MAX - это максимальное значение, принимаемое пикселем изображения, а MSE -среднеквадратическая ошибка (Mean Square Error):
1 M N
MSE =-УУ [i (i, j)—K (i, j)]2,
MN t! f
где I(i, j) и K(i, j) - яркости исходного и восстановленного кадра в точке (i, j) , a M, N - размер изображения;
Сравнение значений PSNR представлено в таблице 1.
Image Алгоритмы интерполяции
Nearest neighbor Bilinear Bicubic convolution Cubic B-Spline Lanczos2 Lanczos3 SuperResolution
airplane 35.3852 36.0994 34.7692 37.4199 37.4922 38.0418 39.0068
baboon 34.9013 34.9208 34.1990 35.5631 35.5924 35.8146 38.3083
barbara 37.8879 39.0377 38.0784 39.8840 39.9351 40.2372 38.3318
Lena 36.2487 36.8701 35.7501 37.9677 38.0169 38.4696 39.7810
boy 38.4359 39.3234 38.2016 40.3568 40.3955 40.7478 40.1640
cat 33.0976 33.1956 32.0684 34.2885 34.3423 34.7654 38.3546
peppers 38.5554 40.1813 38.6781 41.7054 41.7686 42.3994 40.7237
cameraman 34.8410 35.8249 34.4861 37.1453 37.1988 37.7344 39.4855
Таблица 1 показывает, что в большинстве испытаний метод суперразрешения дает лучший результат.
2.2 По времени выполнения
Выполняем все алгоритмы 10 раз для одного изображения и вычисляем среднее время выполнения для каждого алгоритма. Результат показан в таблице 2.
Таблица 2. Среднее время выполнения, сек.
Алгоритм Nearest neighbor Bilinear Bicubic convolution Cubic B-Spline Lanczos2 Lanczos3 SuperResolution
Среднее время выполнения 0.002768 0.00302 0.003858 0.00407 0.003354 0.003919 0.708466
В таблице 2 увидели, что хотя метод суперразрешения дает лучший результат, но она требует слишком большое время выполнения. Следовательно, этот алгоритм не подходит к системам реального времени.
Заключение
После исследования и тестирования алгоритмов, подведем итоги: интерполяция по соседним элементам и билинейная интерполяция являются наиболее простыми и быстрыми алгоритмам. Они быстры по скорости выполнения, но это может привести к значительному искажению при реконструкции изображения. Метод суперразрешения представляет собой лучший алгоритм по сравнению коэффициента PSNR, следовательно, искажение изображения уменьшается. Но алгоритм более сложный, чем остальные, поэтому он имеет большой объем операций. В некоторых ситуациях эксперимента, метод суперразрешения не очень справляется. В будущем исследовании необходимо выяснить, в какой ситуации метод дает оптимальный результат. Экспериментальные результаты дают нам подходящий выбор для достижения оптимальных результатов в соответствии с предъявленными требованиями для различных задач.
Список литературы
1. Крылов A.C. Математические методы решения биометрических задач. Лекция 1. Повышение разрешения изображений // Лаборатория математических методов обработки изображений. Режим доступа: http://esyr.org/wiki/images/a/a6/Imaging Lecture 1.pdf (дата обращения 30.04.2016).
2. Rukundo O., Hanqiang C. Nearest Neighbor Value Interpolation // International Journal of Advanced Computer Science and Applications (IJACSA). 2012. Vol. 3, № 4. P. 1-6.
3. Yoo H. Closed-form least-squares technique for adaptive linear image interpolation // Electronics Letters. 2007. Vol. 43, № 4. P. 210-212.
4. Hou H., Andrews H. Cubic splines for image interpolation and digital filtering // IEEE Transactions on Acoustics, Speech, and Signal Processing. 1978. Vol. 26, № 6. P. 508-517.
5. Unser M. Spline: a perfect fit for signal and image processing // IEEE Signal Processing Magazine. 1999. Vol. 16, № 6. P. 22-38.
6. Zhou D., Shen X., Dong W. Image zooming using directional cubic convolution interpolation // IET Image Processing. 2012. Vol. 6, № 6. P. 627-634.
7. Keys R. Cubic convolution interpolation for digital image processing // IEEE Transactions on Acoustics, Speech, and Signal Processing. 1981. Vol. 29, № 6. P. 1153-1160.
8. Burger W., Burge M.J. Digital image processing: an algorithmic introduction using java. Springer Science, New York, NY, 1003, USA.
9. Park S.C., Park M.K., Kang M.G. Super-resolution image reconstruction: a technical overview // IEEE Signal Processing Magazine. 2003. Vol. 20, № 3. P. 21-36.
10. Красильников Н.Н. Цифровая обработка 2D- и 3D-изображений: учеб. пособие. СПб.: БХВ-Петербург, 2011. 608 с.
Science ¿Education
of the Baurnan MSTU
Science and Education of the Bauman MSTU, 2017, no. 03, pp. 170-181.
DOI: 10.7463/0317.0001113
Received: 07.02.2017
Revised: 21.02.2017
© Bauman Moscow State Technical Unversity
Analysis of Interpolation Methods in the Image Reconstruction Tasks
V.T. Nguyen1*, A.A. Tropchenko1 thientruongjnar&@ gmail.com
University of Information Technologies, Mechanics and Optics, St. Petersburg, Russia
Keywords: interpolation, cubic B-spline, cubic convolution, interpolation kernel, the frequency
response
The article studies the interpolation methods used for image reconstruction. These methods were also implemented and tested with several images to estimate their effectiveness.
The considered interpolation methods are a nearest-neighbor method, linear method, a cubic B-spline method, a cubic convolution method, and a Lanczos method. For each method were presented an interpolation kernel (interpolation function) and a frequency response (Fourier transform).
As a result of the experiment, the following conclusions were drawn:
- the nearest neighbor algorithm is very simple and often used. With using this method, the reconstructed images contain artifacts (blurring and haloing);
- the linear method is quickly and easily performed. It also reduces some visual distortion caused by changing image size. Despite the advantages using this method causes a large amount of interpolation artifacts, such as blurring and haloing;
- cubic B-spline method provides smoothness of reconstructed images and eliminates apparent ramp phenomenon. But in the interpolation process a low-pass filter is used, and a high frequency component is suppressed. This will lead to fuzzy edge and false artificial traces;
- cubic convolution method offers less distortion interpolation. But its algorithm is more complicated and more execution time is required as compared to the nearest-neighbor method and the linear method;
- using the Lanczos method allows us to achieve a high-definition image. In spite of the great advantage the method requires more execution time as compared to the other methods of interpolation.
The result obtained not only shows a comparison of the considered interpolation methods for various aspects, but also enables users to select an appropriate interpolation method for their applications.
It is advisable to study further the existing methods and develop new ones using a number of methods considered as a basis.
References
1. Krylov A.C. Lecture. Mathematical methods for solving biometric problems. Lecture 1. Increasing the image resolution. Laboratory of Mathematical methods for image processing, Available at: http://esyr.org/wiki/images/a7a6/Imaging Lecture 1.pdf, accessed 30.04.2016.
2. Rukundo O., Hanqiang C. Nearest Neighbor Value Interpolation. International Journal of Advanced Computer Science and Applications (IJACSA), 2012, vol. 3, no. 4. p. 1-6.
3. Yoo H. Closed-form least-squares technique for adaptive linear image interpolation. Electronics Letters, 2007, vol. 43, no. 4, p. 210-212.
4. Hou H., Andrews H. Cubic splines for image interpolation and digital filtering. IEEE Transactions on Acoustics, Speech, and Signal Processing, 1978, vol. 26, no. 6, p. 508-517.
5. Unser M. Spline: a perfect fit for signal and image processing. IEEE Signal Processing Magazine, 1999, vol. 16, no. 6, p. 22-38.
6. Zhou D., Shen X., Dong W. Image zooming using directional cubic convolution interpolation. IETImage Processing, 2012, vol. 6, no. 6, p. 627-634.
7. Keys R. Cubic convolution interpolation for digital image processing. IEEE Transactions on Acoustics, Speech, and Signal Processing, 1981, vol. 29, no. 6, p. 1153-1160.
8. Burger W., Burge M.J. Digital image processing: an algorithmic introduction using java. Springer Science, New York, NY, 1003, USA.
9. Park S.C., Park M.K., Kang M.G. Super-resolution image reconstruction: a technical overview. IEEE Signal Processing Magazine, 2003, vol. 20, no. 3, p. 21-36.
10. Krasil'nikov N.N. Digital treatment of 2D- and 3D-images: textbook. BHV-Petersburg, Saint Petersburg, 2011. 608 pp. [In Russian]