Научная статья на тему 'РЕАЛИЗАЦИЯ АЛГОРИТМА СТАБИЛИЗАЦИИ ИЗОБРАЖЕНИЯ НА ПРОГРАММИРУЕМОЙ ЛОГИЧЕСКОЙ ИНТЕГРАЛЬНОЙ СХЕМЕ'

РЕАЛИЗАЦИЯ АЛГОРИТМА СТАБИЛИЗАЦИИ ИЗОБРАЖЕНИЯ НА ПРОГРАММИРУЕМОЙ ЛОГИЧЕСКОЙ ИНТЕГРАЛЬНОЙ СХЕМЕ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
60
14
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
СТАБИЛИЗАЦИЯ ИЗОБРАЖЕНИЯ / ОТНОСИТЕЛЬНОЕ СМЕЩЕНИЕ КАДРА / ПРОГРАММИРУЕМАЯ ЛОГИЧЕСКАЯ ИНТЕГРАЛЬНАЯ СХЕМА / ВЕЙВЛЕТ ХААРА / ОПЕРАТОР СОБЕЛЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Маслаков Юрий Николаевич, Урсол Денис Владимирович

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Маслаков Юрий Николаевич, Урсол Денис Владимирович

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

IMPLEMENTATION OF IMAGE STABILIZATION ALGORITHM ON A PROGRAMMABLE LOGIC INTEGRAL CIRCUIT

This article discusses the implementation of an image stabilization algorithm based on the sum of absolute differences (SAD) between areas of adjacent frames. The relative and absolute displacement between frames is found for the minimum time interval between areas of interest. Information processing is carried out in parallel in 16 streams to minimize the delay time, and an alternative version of the algorithm is proposed using the Haar wavelet and the Sobel operator, which improves the main characteristics of the algorithm and reduces the effect of image noise and optical distortion. Increasing the number of free cycles of the algorithm allows you to increase the size of the substrate and the size of the target, which increases the stability of the algorithm. An assessment of the required resources for the possibility of running the developed algorithm on a programmable logic integrated circuit (FPGA) has been implemented on Cyclone V. The article shows the functional blocks and the main functions of the algorithm execution.

Текст научной работы на тему «РЕАЛИЗАЦИЯ АЛГОРИТМА СТАБИЛИЗАЦИИ ИЗОБРАЖЕНИЯ НА ПРОГРАММИРУЕМОЙ ЛОГИЧЕСКОЙ ИНТЕГРАЛЬНОЙ СХЕМЕ»

УДК 004.02,004.4

DOI 10.52575/2687-0932-2022-49-1-187-194

Реализация алгоритма стабилизации изображения на программируемой логической интегральной схеме

Маслаков Ю.Н., 2) Урсол Д.В.

1)1 РГАУ-МСХА имени К.А. Тимирязева, Россия, 127422, Москва, ул. Тимирязевская, 49 2) ООО «Промышленные электронные системы», Россия, 308000, Белгород, ул. Михайловское шоссе, 121а E-mail: maslakov.yn@gmail.com, ursoldenis@mail.ru

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

Ключевые слова: стабилизация изображения, относительное смещение кадра, программируемая логическая интегральная схема, вейвлет Хаара, оператор Собеля

Для цитирования: Маслаков Ю.Н., Урсол Д.В. 2022. Реализация алгоритма стабилизации изображения на программируемой логической интегральной схеме. Экономика. Информатика, 49(1): 187-194. DOI 10.52575/2687-0932-2022-49-1-187-194

Implementation of image stabilization algorithm on a programmable

logic integral circuit

Yuri N. Maslakov, 2) Denis V. Ursol

1} RSAU - MTAA named after K.A. Timiryazev, 49 Timiryazevskaya St, Moscow, 127422, Russia 2) Industrial Electronic Systems LLC, 121a Mikhailovskoe shosse St, Belgorod, 308000, Russia E-mail: maslakov.yn@gmail.com, ursoldenis@mail.ru

Abstract. This article discusses the implementation of an image stabilization algorithm based on the sum of absolute differences (SAD) between areas of adjacent frames. The relative and absolute displacement between frames is found for the minimum time interval between areas of interest. Information processing is carried out in parallel in 16 streams to minimize the delay time, and an alternative version of the algorithm is proposed using the Haar wavelet and the Sobel operator, which improves the main characteristics of the algorithm and reduces the effect of image noise and optical distortion. Increasing the number of free cycles of the algorithm allows you to increase the size of the substrate and the size of the target, which increases the stability of the algorithm. An assessment of the required resources for the possibility of running the developed algorithm on a programmable logic integrated circuit (FPGA) has been implemented on Cyclone V. The article shows the functional blocks and the main functions of the algorithm execution.

Keywords: image stabilization, relative frame shift, programmable logic integrated circuit, Haar wavelet, Sobel operator

For citation: Maslakov Yu.N., Ursol D.V. 2022. Implementation of image stabilization algorithm on a programmable logic integral circuit. Economics. Information technologies, 49(1): 187-194 (in Russian). DOI 10.52575/2687-0932-2022-49-1-187-194

Для интерактивных задач, таких как управление роботизированными передвижными системами, необходимо стабильное видеоизображение. Режим стабилизации должен сглаживать быстрые движения и вибрацию, не искажая ориентацию камеры. Другое применение - это охрана различных объектов. При установке камер с небольшим углом обзора на высоте от сильных порывов ветра камеру непрерывно трясет, что ощутимо сказывается на качестве изображения. Для постоянного наблюдения за объектом при помощи таких камер оператору необходима стабилизация видеоизображения в реальном масштабе времени. Цифровые методы позволяют уменьшить габариты и стоимость оптико-электронной системы за счет отказа от использования гиростабилизированных платформ или снижения требований к ним, что является актуальным для беспилотных летательных аппаратов и малоразмерных мобильных роботов. Цифровая стабилизация незаменима, когда требуется осуществить стабилизацию ранее снятого видео, т. е. выполнить его пост-обработку [Pan Z. etc., 2005, Солдатов и др., 2006].

Дополнительно полезной функцией стабилизации изображения будет блокирование ориентации камеры в заданном направлении. Например, в режиме слежения такая функция позволит камере с широким углом обзора следовать за траекторией GPS [Yang J. etc., 2009, Lin C. etc., 2009].

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

Алгоритм стабилизации основан на оценке локального смещения соседних кадров. Оценка смещения основана на метрике суммы абсолютной разности (SAD) выбранных областей кадров между всеми пикселями. Выбирается область, по которой смещается цель, полученная на прошлом кадре, и при каждом сдвиге на пиксель находится наименьшая сумма абсолютной разности. От выбранного размера цели зависит устойчивость системы к шумам при обнаружениии смещения и величина относительного смещения между кадрами. К недостаткам данного метода можно отнести: ограниченный диапазон сдвига между кадрами, при монотонной информации в области возрастает вероятность ошибки оценки смещения кадров, захват уникальной цели и следование смещения за объектом в кадре. По сравнению с алгоритмами глобального смещения, данный метод обладает меньшим требованием к вычислительным ресурсам и меньшей кадровой задержкой для получения оценок смещения. Данный алгоритм реализован на ПЛИС с характеристиками, представленными в таблице 1.

Таблица 1 Table 1

Характеристика реализованного алгоритма на ПЛИС Characteristics of the implemented algorithm on the FPGA

Исходное разрешение 1280х900;

Разрядность пикселя 8 бит (ч/б)

Кадров в секунду 50

Задержка 24 мс;

Частота работы блока до 100 МГц

Диапазон стабилизации ±36 пикселей

Подложка 135х135

Размер области оценки каждого потока 81x81

Размер области цели 64x64

Из исходного изображения размером 1280x900 по центру кадра выбирается область размером 320x240, которая подается на вход алгоритма стабилизации. При этом каждый кадр записывается в один из 3 буферов оперативной памяти (DDR). Алгоритм стабилизации работает не со всей областью 320x240, а только с ее частью размером 135x135 (по центру), называемой подложкой. Уникальность алгоритма заключается в том, что подложка разбивается на 16 равных секторов и формируют сетку 4x4. Каждая область обрабатывается независимо друг от друга и далее общий результат обрабатывается повторно. Разбивка на подложки делается для ускорения процесса расчета относительного сдвига кадров. Центр оси смещения задается относительно 11 сектора по порядковому номеру. Цель «пробегает» всю подложку с шагом 1 пиксель по х и по у (рисунок 1).

Рис. 1. Разделение исходного кадра на подложку и цель Fig. 1. Separation of the source frame into a substrate and a target

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

SADXiy = Yli,j=i\Xii — ROIi+x,j+y(1)

где, Xij- пиксель цели; ROIi+xj+y - пиксель зоны интереса смещенного на x,y значений,

i,j Е {1,2, ..., N} - номер строки и столбца зоны анализа, N - размер области интереса.

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

S = min (mm(SADty)) , (2)

где S - наименьшее значение абсолютной суммы разностей между всеми сдвигами и каждой ячейки параллельного потока, t Е {1,2, ...,16} - номер потока.

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

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

Размеры подложки, ROI, цели, а также максимальное значение сдвига, правильно определяемое алгоритмом, связаны следующими соотношениями:

Хтах, Утах = ±2* (ROI - X + 1), (3)

Р = ROI + 3* (ROI -Х + 1), (4)

где X - размер цели, у которой ширина и высота равны, ROI - размер зоны интереса, Р - размер подложки, которая разбивается на ячейки для независимой обработки.

При этом для выдачи результата оценочно требуется следующее количество тактов

X2 *(ROI-X+1)2. (5)

Так как число кадров в секунду фиксировано и равно 50, то между кадрами максимальный интервал составляет 20 мс, и тогда на частоте 100 МГц получаем 2М тактов на вычисление сдвига между кадрами. Схематично данное временное окно представлено на рисунке 2.

WMfrloMRÍ iimhMK. ) 1

Разрешенной HFFtfepaar

!::<>.< ■ ■ сдвига

Рис. 2. Разрешенный временной интервал расчета относительного сдвига между кадрами Fig. 2. Allowed time interval for calculating the relative shift between frames

Для повышения качества работы алгоритма требуется увеличивать размеры цели и подложки. Чем больше цель, тем меньше влияние шумов и больше уникальности полученной оценки. Размер подложки влияет на допустимые значения относительного сдвига соседних кадров. Увеличение размеров областей для получения оценок влечет за собой увеличения необходимого количества тактов на расчет и ресурсы FPGA. Сокращение времени вычисления оценок удалось решить путем распараллеливания вычисления на 16 независимых потоков, однако увеличилось количество используемых ресурсов.

На рисунке 3 представлена общая архитектура алгоритма стабилизации изображения с минимальной задержкой и параллельной реализацией потоков на ПЛИС. Оператор Собеля для нахождения контура на изображении повышает уникальность изображения цели перед модулем стабилизации.

Рис. 3. Архитектура подсистемы стабилизации на ПЛИС Fig. 3. Architect of the stabilization subsystem on the FPGA

Архитектура подсистемы состоит из:

1. модуля программного управления IP-ядром (алгоритм стабилизации, включение оператора Собеля);

2. модуля приема входного потока, преобразования RGB в оттенки серого и объединения данных RGB и оттенков серого;

3. модуля разделения данных для алгоритма стабилизации (часть исходного изображения в оттенках серого) и модуля обмена данными с DDR памятью (исходное изображение);

4. модуля алгоритма стабилизации;

5. модуля преобразования знаковых адресов в беззнаковые для чтения из DDR памяти;

6. модуля обмена данными с DDR памятью (запись кадров и чтение кадров с соответствующими сдвигами).

Рис. 4. Архитектура модуля CyclicStabilisation_add_Sobel Fig. 4. Architect of the module CyclicStabilization_add_Sobel

Модуль CyclicStabilisation_add_Sobel состоит из следующих модулей:

1. модуля вейвлет преобразования (вейвлет Хаара). В результате преобразования используются только коэффициенты аппроксимации cA;

2. модуля выделения контуров на изображении на основе оператора Собеля;

3. модуля организации процессов вычисления «корреляции» между целью и ROI;

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

5. модуля возвращения смещения к центру изображения (оптической оси). Модуль stb_SAD состоит из следующих модулей:

1. модуля FIFO для повышения тактовой частоты работы модуля;

2. модуля формирования потока данных для каждого из 16-ти ROI;

3. модуля преобразования пикселей в параллель (далее 2 пикселя обрабатываются параллельно);

4. модуля памяти для хранения ROI;

5. модуля формирования адресов чтения ROI и Target;

6. модуля памяти для хранения Target;

7. модуля оценки корреляции между участком ROI и Target;

8. модуля FIFO для понижения тактовой частоты.

Обра&агмалогса 2 m

•• « 2 о*Ф<«та параллельно

аи4р|«мт

■ Э Модуль RFO

э Модуль ию

■) Модул» ИГО

э Модуль FIFO

э Модуль НЮ

Рис. 5. Архитектура модуля stb_SAD Fig. 5. Architect of the module stb_SAD

Предварительная вейвлет-обработка, повышение тактовой частоты работы модуля и обработка нескольких пикселей параллельно позволяет оптимально использовать ресурсы ПЛИС и увеличить производительность реализованного алгоритма. Улучшенные характеристики представлены в таблице 2.

Таблица 2 Table 2

Улучшенные характеристики реализованного алгоритма на ПЛИС Improved characteristics of the implemented algorithm on FPGA

Исходное разрешение 1280x900;

Разрядность пикселя 8 бит (ч/б)

Кадров в секунду 50

Задержка 24 мс;

Частота работы блока 160 МГц

Диапазон стабилизации ±50 пикселей

Подложка 199x199

Размер области оценки каждого потока 124x124

Размер области цели 100x100

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

(пг+1)* 100 * (Ш + 1)*25 = 1 657 500 тактов. (6)

При этом необходимые ресурсы для интеграции улучшенного алгоритма на ПЛИС представлены в таблице 3.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

В алгоритме были реализованы следующие уникальные подходы:

1. Предварительная вейвлет-обработка изображения. Один уровень преобразования, вейвлет Хаара. В результате преобразования использовались только коэффициенты аппроксимации (сА) или другими словами, использовалось изображение, уменьшенное в 2 раза относительно исходного. Данный подход позволяет увеличить диапазон возможных сдвигов изображения в 2 раза.

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

3. Повышение тактовой частоты работы модуля stb_SAD. Данный подход позволяет увеличить значения параметров модели алгоритма стабилизации, таких как размер ROI и цели.

4. Обработка нескольких пикселей параллельно при нахождении значения метрики (1). Текущая реализация заключается в обработке 2 пикселей и 2 сдвигов по оси х одновременно. Данный подход также позволяет увеличить значения параметров модели алгоритма стабилизации (значения ROI и цели).

Таблица 3 Table 3

Требуемые ресурсы ПЛИС для реализации алгоритма Required FPGA resources to implement the algorithm

ALMs Registers Memory bits M10K DSP

5000 9800 2482400 334 0

Список литературы

Солдатов С.А., Стрельников К.Н., Ватолин Д.С. 2006. Быстрое и надежное определение глобального движения в видеопоследовательностях. Труды конференции "Graphicon-2006". C. 430-437.

Bakstein H., Pajdla T. 2002. Panoramic mosaicing with a 180 field of view lens Omnidirectional Vision. Proceedings. Third Workshop on. pp. 60-67.

Chernomorets D., Golikov V., Balabanova T., Prokhorenko E., Bolgova E., Chernomorets A. 2021. Correlation properties of sea surface images on video stream frames. International Journal of Nonlinear Analysis and Applications

Erturk S. 2002. Real-time digital image stabilization using Kalman filters. Real-Time Imaging. 8: 317-328.

Guohe Z., Zejie K., Sufen W., Kai H., Feng L., Cheng Y. 2018. Hardware implementation for an improved full-pixel search algorithm based on normalized cross correlation method. Electronics, 7, 428.

Lin C., Hong C. 2009. Real-Time Digital Image Stabilization System Using Modified Proportional Integrated Controller. IEEE Transactions. Circuits and Systems for Video Technology. 19 (3): 427-431.

Litvin A., Konrad J. 2003. Probabilistic video stabilization using Kalman filtering and mosaicking. Proc. of SPIE Electronic Imaging. 2003. 5022: 663-674.

Liu Y., Zhang J., Gao J. 2013. Panoramic technique in the video monitoring system and Implementation. TELKOMNIKA Indonesian Journal of Electrical Engineering. Vol. 11, pp. 91-96.

Lowe D. 2004. Distinctive Image Features from Scale-Invariant Keypoints. International Journal of Computer Vision.

Pan Z., Ngo C. 2005. Selective Object Stabilization for Home Video Consumers. IEEE Transactions on Consumer Electronics. 51(4): 248-253.

Sharif Shah Newaj Bhuiyan, Othman O. Khalifa. 2018. Robust Automatic Multi-Camera Viewpoint Stabilization using Harris Laplace corner detection and Spanning Tree. 7th International Conference on Computer and Communication Engineering (ICCCE)

Thibault S., Artonne J. 2006. Panomorph lenses: a low-cost solution for panoramic surveillance. Defense and Security Symposium. International Society for Optics and Photonics.

Wang X., Wu K., Cheng Y. 2013. Research on Virtual 3D Station based on Images. Applied Mathematics & Information Sciences. 7(1L): 225-231.124.

Xu C., Bai Y. 2017. Implementation of Harris corner matching based on FPGA. 6th International Conference on Energy and Environmental Protection (ICEEP 2017), Advances in Engineering Research (AER), volume 143.

Yang J., Schonfeld D. 2009. Video Stabilization based on particle filter tracking of projected camera motion. IEEE Transection. Circuits and Systems for Video Technology. 19(7): 945-954.

References

Soldatov S.A., Strelnikov K.N., Vatolin D.S. 2006. Fast and reliable determination of global motion in video sequences. Proceedings of the conference "Graphicon-2006". pp. 430-437.

Bakstein H., Pajdla T. 2002. Panoramic mosaicing with a 180 field of view lens Omnidirectional Vision. Proceedings. Third Workshop on. pp. 60-67.

Chernomorets D., Golikov V., Balabanova T., Prokhorenko E., Bolgova E., Chernomorets A. 2021. Correlation properties of sea surface images on video stream frames. International Journal of Nonlinear Analysis and Applications

Erturk S. 2002. Real-time digital image stabilization using Kalman filters. Real-Time Imaging. 8: 317-328.

Guohe Z., Zejie K., Sufen W., Kai H., Feng L., Cheng Y. 2018. Hardware implementation for an improved full-pixel search algorithm based on normalized cross correlation method. Electronics, 7, 428

Lin C., Hong C. 2009. Real-Time Digital Image Stabilization System Using Modified Proportional Integrated Controller. IEEE Transactions. Circuits and Systems for Video Technology. 19 (3): 427-431.

Litvin A., Konrad J. 2003. Probabilistic video stabilization using Kalman filtering and mosaicking. Proc. of SPIE Electronic Imaging. 2003. 5022: 663-674.

Liu Y., Zhang J., Gao J. 2013. Panoramic technique in the video monitoring system and Implementation. TELKOMNIKA Indonesian Journal of Electrical Engineering. 11: 91-96.

Lowe D. 2004. Distinctive Image Features from Scale-Invariant Keypoints. International Journal of Computer Vision.

Pan Z., Ngo C. 2005. Selective Object Stabilization for Home Video Consumers. IEEE Transactions on Consumer Electronics. 51(4): 248-253.

Sharif Shah Newaj Bhuiyan, Othman O. Khalifa. 2018. Robust Automatic Multi-Camera Viewpoint Stabilization using Harris Laplace corner detection and Spanning Tree. 7th International Conference on Computer and Communication Engineering (ICCCE)

Thibault S., Artonne J. 2006. Panomorph lenses: a low-cost solution for panoramic surveillance. Defense and Security Symposium. International Society for Optics and Photonics.

Wang X., Wu K., Cheng Y. 2013. Research on Virtual 3D Station based on Images. Applied Mathematics & Information Sciences. 7(1L): 225-231.124.

Xu C., Bai Y. 2017. Implementation of Harris corner matching based on FPGA. 6th International Conference on Energy and Environmental Protection (ICEEP 2017), Advances in Engineering Research (AER), volume 143.

Yang J., Schonfeld D. 2009. Video Stabilization based on particle filter tracking of projected camera motion. IEEE Transection. Circuits and Systems for Video Technology. 19(7): 945-954.

Конфликт интересов: о потенциальном конфликте интересов не сообщалось.

Conflict of interest: no potential conflict of interest related to this article was reported.

ИНФОРМАЦИЯ ОБ АВТОРАХ

Маслаков Юрий Николаевич, младший научный сотрудник, РГАУ-МСХА имени К.А. Тимирязева, г. Москва, Россия

Урсол Денис Владимирович, кандидат технических наук, инженер-программист, ООО «Промышленные электронные системы», г. Белгород, Россия

INFORMATION ABOUT THE AUTHORS

Yuri N. Maslakov, Junior Researcher, RSAU -MTAA named of K.A. Timiryazev, Moscow, Russia

Denis V. Ursol, Candidate of Technical Sciences, Software Engineer, Industrial Electronic Systems LLC, Belgorod, Russia

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