Научная статья на тему 'МЕТОД АВТОМАТИЗИРОВАННОЙ КАЛИБРОВКИ КАМЕР И СШИВКИ ВИДЕОИЗОБРАЖЕНИЙ В МНОГОКАМЕРНЫХ СИСТЕМАХ ВИДЕОНАБЛЮДЕНИЯ'

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

CC BY
7
3
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
многокамерные системы / калибровка / устранение дисторсии / сшивка панорамы / OpenCV / видеоаналитика / multi-camera systems / calibration / distortion elimination / panorama stitching / OpenCV / video ana-lytics

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Багиров Мираббас Бахтиярович, Соколова Элеонора Станиславовна

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

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Багиров Мираббас Бахтиярович, Соколова Элеонора Станиславовна

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

METHOD OF AUTOMATED CAMERA CALIBRATION AND STITCHING VIDEO IMAGES IN MULTI-CAMERA VIDEO SURVEILLANCE SYSTEMS

The paper presents the developed stitching video images algorithm, in which a combination of cali-bration algorithm, color correction and gradient mixing algorithm is carried out to minimize the visibility of the seam line between joined images obtained from different cameras. The algorithm for calibrating cameras in a multi-camera system is automated, which minimizes operator participation and increases the accuracy of calibration by detecting and gradually screening out unsuccessful pairs of reference points in the field of intersection of camera angles. It is con-firmed that the total time spent on color correction, gradient mixing, stitching and cropping the image is about 35 milli-seconds for one frame, which meets the requirements of the real-time panorama algorithm for a multi-camera video surveillance system.

Текст научной работы на тему «МЕТОД АВТОМАТИЗИРОВАННОЙ КАЛИБРОВКИ КАМЕР И СШИВКИ ВИДЕОИЗОБРАЖЕНИЙ В МНОГОКАМЕРНЫХ СИСТЕМАХ ВИДЕОНАБЛЮДЕНИЯ»

ИНФОРМАТИКА И УПРАВЛЕНИЕ В ТЕХНИЧЕСКИХ И СОЦИАЛЬНЫХ СИСТЕМАХ

УДК 004.932 DOI: 10.46960/1816-210X_2023_4_7

МЕТОД АВТОМАТИЗИРОВАННОЙ КАЛИБРОВКИ КАМЕР

И СШИВКИ ВИДЕОИЗОБРАЖЕНИЙ В МНОГОКАМЕРНЫХ СИСТЕМАХ ВИДЕОНАБЛЮДЕНИЯ

М.Б. Багиров

ORCID: 0000-0003-1656-0849 e-mail: bagirov_mirabbas@mail.ru

Нижегородский государственный технический университет им. Р.Е. Алексеева

Нижний Новгород, Россия

Э.С. Соколова

ORCID: 0000-0003-0860-2463 e-mail: essokolowa@gmail.com

Нижегородский государственный технический университет им. Р.Е. Алексеева

Нижний Новгород, Россия

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

Ключевые слова: многокамерные системы, калибровка, устранение дисторсии, сшивка панорамы, OpenCV, видеоаналитика.

ДЛЯ ЦИТИРОВАНИЯ: Багиров, М.Б. Метод автоматизированной калибровки камер и сшивки видеоизображений в многокамерных системах видеонаблюдения / М.Б. Багиров, Э.С. Соколова // Труды НГТУ им. Р.Е. Алексеева. 2023. № 4. С. 7-19. DOI: 10.46960/1816-210X_2023_4_7

METHOD OF AUTOMATED CAMERA CALIBRATION AND STITCHING VIDEO IMAGES IN MULTI-CAMERA VIDEO SURVEILLANCE SYSTEMS

M.B. Bagirov

ORCID: 0000-0003-1656-0849 e-mail: bagirov_mirabbas@mail.ru

Nizhny Novgorod State Technical University n.a. R.E. Alekseev Nizhny Novgorod, Russia

E.S. Sokolova

ORCID: 0000-0003-0860-2463 e-mail: essokolowa@gmail.com

Nizhny Novgorod State Technical University n.a. R.E. Alekseev Nizhny Novgorod, Russia

© Багиров М.Б., Соколова Э.С., 2023

Abstract. The paper presents the developed stitching video images algorithm, in which a combination of calibration algorithm, color correction and gradient mixing algorithm is carried out to minimize the visibility of the seam line between joined images obtained from different cameras. The algorithm for calibrating cameras in a multi-camera system is automated, which minimizes operator participation and increases the accuracy of calibration by detecting and gradually screening out unsuccessful pairs of reference points in the field of intersection of camera angles. It is confirmed that the total time spent on color correction, gradient mixing, stitching and cropping the image is about 35 milliseconds for one frame, which meets the requirements of the real-time panorama algorithm for a multi-camera video surveillance system.

Key words: multi-camera systems, calibration, distortion elimination, panorama stitching, OpenCV, video ana-

FOR CITATION: M.B. Bagirov, E.S. Sokolova. Method of automated camera calibration and stitching video images in multi-camera video surveillance systems. Transactions of NNSTU n.a. R.E. Alekseev. 2023. № 4. Рр. 7-19. DOI: 10.46960/1816-210X_2023_4_7

1. Введение

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

2. Анализ проблемы и постановка задач исследования

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

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

В настоящее время существуют два основных метода создания панорам: сглаживание переходов между фрагментами и минимизация видимых швов между изображениями. Однако оба метода имеют свои ограничения, связанные с высокими вычислительными затратами и требованиями к памяти. В работе [2] рассматривается метод поиска швов в области перекрытия полей зрения камер. Он позволяет минимизировать различия между исходными изображениями, однако требует больших вычислительных ресурсов и занимает много времени. Кроме того, для работы метода необходимо наличие большого количества памяти. Для повышения скорости работы и уменьшения требований к ресурсам в работе [3] предлагается алгоритм оптимизации построения панорам путем вычисления кратчайших путей на графах. Однако точность этого метода оказалась ниже, чем ожидалось, что говорит о необходимости доработки алгоритма для повышения точности и применения его в режиме реального времени. Самым популярным алгоритмом для сшивки изображений в панораму является RANSAC

[4-5], однако в последние годы появляется все больше исследований альтернативных методов для решения данной задачи. Это во многом связано с недостатками КЛЫ8ЛС - большими временными затратами и наличием ошибок в поиске матрицы томографии. При использовании алгоритмов сшивки панорам в многокамерных системах возникает проблема цветокоррекции [6]. Различия в настройках экспозиции, балансе белого и положении камер могут привести к несоответствию цветов в итоговой панораме. Это становится очень заметным, если входные изображения получены с разных камер.

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

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

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

Алгоритм ручной калибровки двух камер системы с пересекающимися полями зрения заключается в следующем. Имеется система из п камер, которые представлены в виде множества С = {С1, С2, .... Сп}. Выберем две камеры с пересекающимися полями зрения С1 и С2 (рис. 1), в области пересечения полей зрения которых выберем четыре опорных точки, расположенные в одной плоскости, координаты которых известны, и которые расположены по сторонам прямоугольника на плоскости земли [7]. При этом прямоугольник между четырьмя точками должен занимать более 25 % площади пересечения полей зрения двух камер [8]. Обозначим Р1 - набор из четырех точек р- € {1,2,3,4} в поле зрения ьй камеры, Р -

набор точек в мировой системе координат. В результате проведения ручной калибровки двух камер С1 и С2 на выходе получим три набора, состоящих из четырех точек с координатами:

3. Разработка и исследование алгоритмов

3.1. Алгоритм калибровки многокамерных систем

р = [р1,р2р3,р4],р1 = {р\,р\ р1,р11 р2 = {р1,р1 р1,р1}-

(1)

Координаты точки р[ в системе координат камеры Сл определим следующим обра-

зом:

р) = О^, Э^У

(2)

Рис. 1. Выбор опорных точек для калибровки камер Fig. 1. Selecting reference points for camera calibration

С помощью полученных наборов точек строятся матрицы томографии для каждой камеры. Hg - матрица томографии, отображающая пиксельные координаты камеры Ci (/ = 1,..., n) в мировую систему координат. Чтобы найти матрицу томографии для камеры, составляется система уравнений для каждой пары из четырех точек (3):

С^р']>Ур)> ^д С*"» i >Уг>\> 1 )

в У- pj'J р)>

(3)

где Ур| - координаты по оси X и У точки в мировой системе координат; хр1, ур| - координаты по оси X и У точки р>у в системе координат камеры, ; (Е {1,2,3,4}.

Алгоритм ручной калибровки двух камер системы изображен на рис. 2.

Рис. 2. Алгоритм ручной калибровки двух камер системы с пересекающимися углами обзора Fig. 2. Algorithm for manual calibration of two cameras of a system with overlapping viewing angles

В результате ручной настройки двух камер системы построены их матрицы гомогра-фии, используемые для автоматической калибровки остальных камер системы по разработанному методу, включающему алгоритмы поиска опорных точек в пересечении полей отка-либрованной и неоткалиброванной камер и алгоритм уточнения матрицы гомографии калибруемой камеры. На рис. 3 представлен алгоритм поиска опорных точек в пересечении полей зрения двух камер, позволяющий автоматически откалибровать и вычислить матрицу гомо-графии очередной _]-ой камеры системы.

Рис. 3. Поиск опорных точек в пересечении полей зрения двух камер для вычисления матрицы гомографии неоткалиброванной камеры

Fig. 3. Search for reference points in the intersection of the fields of view of two cameras to calculate the homography matrix of the uncalibrated camera

Для нахождения четырех опорных точек в области пересечения полей зрения камер сначала определяются границы пересечений полей зрения камер с помощью алгоритма P. Lehel [9]. Координаты первой точки в мировой системе координат вычисляются по матри-

це гомографии откалиброванной камеры при попадании объекта в поля зрения откалибро-ванной и неоткалиброванной камер (т.е. при первом появлении ГО на изображениях двух камер), а координаты второй - при покидании объектом пересечения полей зрения камер. Аналогично вычисляются координаты третьей и четвертой опорных точек. Далее выполняется алгоритм проективного преобразования для уточнения матрицы гомографии калибруемой камеры, что повышает точность автоматической калибровки камер. После выполнения автоматической калибровки камеры с] координаты сопровождаемого объекта в рамках полей зрения камер системы видеонаблюдения вычисляются по известным матрицам гомографии и сохраняются в карту перемещений.

Полученные координаты используются для уточнения матриц гомографии следующим образом. Когда объект попадает в поле зрения двух камер, вычисляются его координаты р15 и р3 в пересечении полей зрения камер О и С] в мировой системе координат. Значения координат, как правило, не совпадают из-за погрешности вычисления матрицы гомографии автоматически калибруемой камеры и погрешности работы детектора движущегося объекта. Эти значения далее используются для уточнения матрицы гомографии калибруемой камеры. Для камер О и С] на основе координат точек р1,р2 Р3/Р4 в мировой системе координат и в системе координат камеры строится матрица системы а для каждой из камер. Матрицу а в блочной форме можно представить так (4):

А =

О

г

Щ

(4)

\Х1 у! 1 "0 0 0 У[ -У1У1 "

где 2 = У2 Уз 1 1 , о = 0 0 0 0 0 0 щ = —Х2Х2 — Х3Х3 ~хгУг -*зУз , Щ = —Узхз -у2у2 -УзУз

к у! 1. .0 0 0. - Х4Х 4 у1- -у*у1 -

<ру Ур]

- координаты по оси X и У точки р^ в мировой системе координат; хр], ур| - координаты по оси X и У точки р< в системе координат камеры.

Используя матрицу а, построим систему линейных алгебраических уравнений (СЛАУ), преобразованную к стандартной форме записи следующего вида:

(5)

А*СН = В,

где А - матрица системы камеры, Сн = (/111, к12, Ь13, к21, к22, Ь23, 1г31, к32) - вектор-столбец элементов матрицы гомографии, подлежащих определению,

- вектор-столбец координат опорных точек из пересечения полей зрений двух камер, записанных в указанном порядке (х1,х2,х3гх4,у1, у2, у3, у4).

Выполним переход к виду нормальной СЛАУ, помножив части выражений (5) на матрицу ат:

{Ат*-А)*-Сн = АТ*В. (6)

Переход от (5) к (6) эквивалентен поиску преобразования матрицы гомографии Н для минимизации евклидова расстояния между Н*х и соответствующей ей точкой х'. При решении СЛАУ методом квадратного корня для 5 точек необходимое условие минимума (7):

дПан)

дС

н

= 0,дР{бн) = - + (у, - Ф2(Уг^'оу'))2),

(7)

ф1 = х{}1.11 + у[К12 + Л13 - -

02 = + У[Ъ.22 + ^23 - У^Ь31 - УгУ'Л32,

где х[, у[ - координаты по оси X и у точки в мировой системе координат; хиу1 -координаты по оси X и у точки в системе координат автоматически откалиброванной ка-

меры, I = ...,к, (Лц,Л12,Л13,Л21,Л22,Л23,Л31,Л32) - элементы матрицы томографии камеры. Тогда элементы матрицы томографии находятся из уравнения (6):

О

ZTZ IV? *Z

W1 Щ

* GH —

ZTB1 ZTB?

(8)

W? * W1

w[ * w2

* B1

Щ * B2/

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

Рис. 4. Алгоритм уточнения матрицы гомографии автоматически калибруемой камеры Fig. 4. Algorithm for refining the homography matrix of an automatically calibrated camera

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

3.2. Алгоритм сшивки видео в многокамерных системах

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

При сшивке изображений с видеопотоков в единую панораму будем использовать цилиндрическую проекцию, так как прямоугольная система координат может существенно преувеличить перспективу по мере увеличения угла обзора, что приводит к видимому завалу объектов к границам кадра. Для проведения панорамной сшивки предлагается использовать комбинацию алгоритмов цветовой коррекции и градиентного смешивания, что минимизирует видимость шва между стыкуемыми изображениями. Для выбора оптимального алгоритма цветовой коррекции проведено исследование двух подходов - цветовой коррекции на основе опорного изображения и линейной цветовой коррекции. В результате выполнено их объединение для повышения точности результата. Алгоритм цветовой коррекции на основе опорного изображения представлен на рис. 5. На первом шаге выбирается опорное изображение, на 2-5 шагах остальные изображения с камер подстраиваются под его уровень распределения яркости.

Начало

Шаг 1

Выбор опорного изображения с лучшим распределением цветов

Шаг 2

Построение цветовой модели RGB для области перекрытия двух изображений

ШагЗ

Вычисление разности значений яркости пикселей для каждой пары соответствующих точек

Шаг4

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

Шаг 5

Обработка предельных значений пикселей 0-255 присоединяемого изображения

Конец

Рис. 5. Выполнение цветовой коррекции на основе опорного изображения Fig. 5. Color correction based on the reference image

Шаг 1. При выборе опорного изображения, на основе которого будет проводиться коррекция цвета соседних, для каждого из поступающих изображений с видеопотоков камер рассчитывается распределение цветов в каждом из каналов RGB, и строится гистограмма распределения цветов. При построении гистограммы используем метод cv2.calcHist библио-

теки OpenCV. Для нахождения изображения с лучшим распределением цветов рассчитываем среднее значение яркости каждого из каналов RGB для всех полученных с камер сцены изображений, а также среднеквадратичное отклонение яркости от этих значений. Затем выбираем изображение, для которого среднеквадратичное отклонение наименьшее, и считаем его опорным.

Шаг 2. Область перекрытия двух изображений содержит характеристики распределения яркости этих двух изображений. Построим цветовую модель RGB двух изображений в области общего поля зрения камер, для чего определим значения яркости его R, G и B составляющих из RGB-гистограммы и рассчитаем средние значения серого цвета для каждой пары опорных точек M1 и M2 из области пересечения полей зрения камер (9):

М, - yw

Rh+Gk+Bh

,

(9)

где w - ширина изображения, h - высота изображения.

Рис. 6. Алгоритм линейной цветовой коррекции Fig. 6. Linear color correction algorithm

Шаг 3. Для каждой пары соответствующих точек в области перекрытия двух изображений вычислим разность значений яркостей пикселей (10):

diff = M1-M2. (10)

Шаг 4. Значения яркости всех пикселей стыкуемого изображения корректируем на полученную величину (11):

Dst(i,j) = Res(i,j) + diff,

(11)

где Res(i,j) - значение пикселей до коррекции, Dst(i,j) - скорректированное значение пиксе-

Шаг 5. Так как максимальное значение яркости пикселей не может превышать значения 255, при коррекции цвета по формуле (11) необходимо выполнить обработку предельных значений пикселей - 0 и 255 присоединяемого изображения.

Dst(i,j)

Dst(i,j) < О О < Dst(i,i) < 255 Dst(i,j) > 255

(12)

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

Алгоритм линейной цветовой коррекции представлен на рис. 6 и в качестве входных данных использует опорное изображение, выбранное на шаге 1 работы алгоритма коррекции цвета. При работе алгоритма линейной цветовой коррекции используется последовательность изображений с п камер и зон их перекрытия (/ = 1, ..., п), схематичное изображение перекрытий приведено на рис. 7.

Рис. 7. Изображения с перекрывающимися областями в многокамерной системе Fig. 7. Images with overlapping areas in a multi-camera system

Алгоритм линейной цветовой коррекции заключается в следующем. Шаг 1. Обозначим перекрывающиеся области зрения камер относительно области зрения i-й камеры St (i = 1, ..., п) с левой стороны - £u_i, с правой- S^+i. Обозначим и - области перекрытия, принадлежащие изображению Si (рис. 7).

Для вычисления корректирующих коэффициентов aRraGr ав для каждого из каналов RGB используем линейную коррекцию, представленную в виде диагональной модели (13):

(13)

aR 0 о ■

! * M, M = 0 aG 0

. 0 0

где М - диагональная модель матрицы трансформации, ак,ас,ав - коэффициенты цветовой коррекции Я, О, В соответственно.

Вычисление корректирующих коэффициентов проводится следующим образом (14):

^ = (14)

где Q i-i, Cc i - средние значения R, G, В для З^д и , ce{R, G, В}, a ac, ce{RfGrB} -среднее значение цвета в области пересечения полей зрения для каждого канала RGB.

Вычисляем локальный коэффициент коррекции ac i в линейном цветовом пространстве для изображения Si по следующей формуле (15):

Spt^M! (15)

где Сс i (р) - значение цвета пикселя р цветового канала с изображения 5°; у - гамма-коэффициент (у = 2,2) [17]. Для эталонного изображения, относительно которого будут корректироваться последующие изображения, коэффициент коррекции устанавливаем равным 1.

Шаг 2. Чтобы избежать перенасыщения или потери контраста, необходимо минимизировать величину каждого коэффициента коррекции. Для этого используем квадратичную функцию с параметром дс, что позволяет избежать перенасыщения или потери контраста (16):

Е = min£?=1GдсасЛ - I)2, (16)

вс

где дс — коэффициент глобальной компенсации для цветового канала с; п - количество изображений; ac i - коэффициент коррекции канала с для i-ro изображения.

тт ЗБ

Для поиска экстремума приравняем ее производную к нулю, -— = U, в результате по-

с

лучим оптимальное значение коэффициента глобальной компенсации (17):

= РН^- (17)

Шаг 3. С помощью коэффициентов коррекции выполняем компенсацию цвета для всего изображения SДля этого проведем изменение коэффициента коррекции в соответствии с выражением следующего вида (18):

(_aCr.)i=JccA. (18)

Шаг 4. Применив далее эту идею для дс и ис, с помощью линейной коррекции цвета изменим значения каналов всех пикселей изображения на определенное значение. Таким образом, итоговый метод цветокоррекции отдельно корректирует значения каналов всех пикселей изображения на некоторую величину согласно выражению (19):

Са(р) = (ЯС**слУССЛ(РУ (19)

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

Исследования в области градиентного смешивания по оптимальному шву показали, что алгоритм линейного градиентного смешивания дает видимый эффект размытия [10], алгоритмы Пуассоновского и многополосного смешивания являются затратными по времени и вычислительным мощностям [11]. Лучшее решение данной проблемы дает алгоритм градиентного смешения п-ой степени, который вычисляет значение цветового канала на линии смешения путем нахождения среднего значения двух соответствующих значений цветовых каналов пересекающихся пикселей на двух изображениях. При удалении от линии смешения весовой коэффициент одного изображения увеличивается до 1, в то время как другой коэффициент уменьшается до 0 согласно выражению [12]:

L¡ypj - „п.„п ,

(20)

где С/ (р) - новое значение цвета пикселя р в полученном панорамном изображении I; С1 (р) -цвет пикселя р в исходном изображении I; С5 (р) - цвет пикселя р в перекрывающем изображении Б; ё1 и ё2 - расстояния от границы смешения между двумя изображениями до границы области смешения.

Для проведения градиентного смешивания в работе используется метод GraphCutSeamFinder библиотеки компьютерного зрения OpenCV. Для определения оптимального пути сшивки выполняется поиск пути минимальной стоимости на графе, узлами которого являются пиксели области перекрытия двух изображений, применяемого для создания полностью плавного перехода [13]. Работа по созданию панорамного кадра завершается нахождением максимально вписываемого прямоугольника, по которому производится обрезка панорамы.

Заключение

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

Для реализации алгоритмов использовался язык Python с использованием инструментов библиотеки компьютерного зрения OpenCV. Создан экспериментальный стенд, включающий пять камер высокого разрешения Tantos - 1280х1960 пикселей, передающих цветное видеоизображение, монитор, одноплатный компьютер Raspberry PI 4B, вычислительный модуль Intel neural stick 2, видеорегистратор, аппаратная платформа Arduino Mega на базе микроконтроллера ATmega 2560. Проведенные эксперименты показали, что для одного кадра общее время, затрачиваемое на прохождение алгоритма, составляет около 35 миллисекунд.

Библиографический список

1. Багиров, М.Б. Обработка больших данных с целью создания системы определения геопозиции по фотографиям местности // О.П. Тимофеева, М.М. Гордеев, А.Н. Райцын, А.А. Дмитриев, А.Д. Тряскова, М.Б. Багиров // Информационные системы и технологии ИСТ-2020: сборник материалов XXVI Международной научно-технической конференции. Нижний Новгород: НГТУ им. Р.Е. Алексеева. 2020. С. 716-721.

2. Agarwala, A. Interactive digital photomontage / A. Agarwala, M. Dontcheva, M. Agrawala, S. Drucker, A. Colburn, B. Curless, D. Salesin, and M. Cohen // ACM Trans. Graph, vol. 23, pp. 294-302, 2004.

3. Abbas, Q. Reduced Solution Set Shortest Path Problem: Capton Algoritm With Special Reference To Dijkstra's Algorithm / Abbas, Q., Hussain, Q., Zia, T. & Mansoor, A. // Malaysian Journal of Computer Science, pp. 175-187.

4. Жуковская, А.Н. Алгоритм соединения двух изображений при создании панорамного изображения / А.Н. Жуковская, М.Н. Фаворская // Решетневские чтения. 2018. С. 264-266.

5. Khamiyev, I., Issa, D., Akhtar, Z. et al. Panoramic image generation using deep neural networks. Soft Comput (2023). DOI: 10.1007/s00500-023-08056-5

6. Dasari, R. Reference Image Based Color Correction for Multi-camera Panoramic High Resolutionlmag-ing / Dasari, R.; Zhang, D.-Q.; Chen, C.W // In Proceedings of the 2016 13th Conference on Computer and Robot Vision (CRV), Victoria, BC, Canada, 1 June 2016, pp. 410-415.

7. Козин, Е.В. Фотограмметрия СПб: Университет ИТМО / Е.В. Козин, А.Г. Карманов, Н.А. Карма-нова. 2019. С. 142.

8. Шабалин, А.С. Трансферное обучение на основе архитектуры нейронной сети EfficientNetV2B0 в задаче построения 3D маски лица человека / А.С. Шабалин, И.М. Елисеев // Ученые записки УлГУ. Сер. Математика и информационные технологии. 2022. № 2. С. 123-129.

9. P. Lehel, E.E. Hemayed and A.A. Farag. Sensor Planning for a Trinocular Active Vision System // In Proceedings of IEEE Computer Society Conference of Computer Vision and Pattern Recognition, Fort Collins, CO, 1999, vol. 2, pp. 306-312.

10. V. Rankov, In Three-Dimensional and Multidimensional Microscopy / V. Rankov, R.J. Locke, R.J. Edens, P.R. Barberand B. Vojnovic // Image Acquisition and Processing XII, vol. 5701, pp. 190-199, 2005.

11. Пахирка, А.И. Создание панорамных аэрофотоснимков с использованием квадрокоптера / А.И. Пахирка, А.Г. Зотин, В.В. Буряченко // Программные продукты и системы. 2018. С. 362-367.

12. Rajaram, M. Gowda. Development of Image Stitching Using Feature Detection and Feature Matching Techniques // 2020 IEEE International Conference for Innovation in Technology (INOCON), pp. 1-7.

13. V. Kwatra. Graphcut textures: image and video synthesis using graph cuts / Vivek Kwatra, Arno Schodl, Irfan Essa, Greg Turk, and Aaron Bobick // In ACM Transactions on Graphics (ToG), volume 22, pp. 277-286. ACM, 2003.

Дата поступления в редакцию: 06.07.2023

Дата принятия к публикации: 01.11.2023

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