УДК 004.021
АЛГОРИТМ СОЗДАНИЯ ПАНОРАМ С ПОМОЩЬЮ ВСЕНАПРАВЛЕННЫХ ОПТИКО-ЭЛЕКТРОННЫХ СИСТЕМ
Василий Петрович Лазаренко
Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, 197101, Россия, г. Санкт-Петербург, Кронверкский проспект, 49, аспирант, тел. (981)887-03-62, e-mail: saiberbest@gmail.com
Валерий Викторович Коротаев
Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, 197101, Россия, г. Санкт-Петербург, Кронверкский проспект, 49, доктор технических наук, заведующий кафедрой, e-mail: korotaev@grv.ifmo.ru
Сергей Николаевич Ярышев
Санкт-Петербургский национальный исследовательский университет информационных технологий, механики и оптики, 197101, Россия, г. Санкт-Петербург, Кронверкский проспект, 49, кандидат технических наук, доцент, e-mail: ysn63@mail.ru
Всенаправленные оптико-электронные системы находят применение в тех сферах, где критичен большой угол обзора. Однако изображение, даваемое всенаправленными оптико-электронными системами, имеет большую дисторсию, что затрудняет его визуальное восприятие человеком. Для решения этой проблемы предложен алгоритм синтеза панорамных изображений из исходных изображений, полученных всенаправленными оптическими системами. Представлены экспериментальные результаты работы алгоритма.
Ключевые слова: всенаправленные камеры, объективы типа «рыбий глаз», катадиоп-трические камеры, преобразование изображений, панорамы.
ALGORITHM OF THE CREATION OF PANORAMAS WITH THE AID OF THE OMNIDIRECTIONAL OPTICAL-ELECTRONIC SYSTEMS
Vasily P. Lazarenko
ITMO Universiti, 197101, Russia, St. Petersburg, 49 Kronverksky Ave., post graduate, tel. (981)887-03-62, e-mail: saiberbest@gmail.com
Valery V. Korotaev
ITMO Universiti, 197101, Russia, St. Petersburg, 49 Kronverksky Ave., doctor of technical Sciences, head of Department, e-mail: korotaev@grv.ifmo.ru
Sergey N. Yaryshev
ITMO Universiti, 197101, Russia, St. Petersburg, 49 Kronverksky Ave., candidate of technical Sciences, associate Professor, e-mail: ysn63@mail.ru
The omnidirectional cameras are used in areas where large field-of-view is important. But the distortion of omnidirectional cameras is great, which makes omnidirectional image unreadable. One way to view omnidirectional images in a readable form is the generation of panoramic images from omnidirectional images. The experimental results of the algorithm presented.
Key words: omnidirectional cameras, fisheye lens, catadioptric lens, image processing, panoramas.
Введение
Всенаправленные оптико-электронные системы находят применение в тех сферах, где критичен большой угол обзора. Однако всенаправленные оптико-электронные системы имеют большую дисторсию, что затрудняет их использование в наблюдательных телевизионных системах [1-3].
Большинство современных оптических систем могут приближенно быть описаны перспективной геометрической моделью (Рис. 1а), при этом дисторси-ей будет считаться отклонение от этой модели. Проекционная функция таких объективов может быть выражена следующим образом:
Ьап в = —;,
(1)
где г - высота изображения; /' - фокусное расстояние; в - угол падения луча.
Из выражения (1) легко заметить, что при угле падения луча равном 90° мы получим бесконечный радиус изображения (так как радиус изображения пропорционален тангенсу угла падения луча). Из этого следует, что сверхширокоугольные объективы типа «рыбий глаз» с углом обзора не менее 180° не могут быть описаны с помощью отклонения от этой модели. Русиновым в работе [4] была предложена проекционная функция для сверхширокоугольных объективов типа «рыбий глаз», в которой радиус изображения пропорционален углу падений луча (рис. 1б):
(а) (б)
Рис. 1. (а) - перспективная геометрическая модель объектива; (б) - геометрическая модель сверхширокоугольного объектива типа «рыбий глаз»
В предыдущих работах [5,6] мы, как и некоторые другие авторы [7,8], использовали для алгоритма данную функцию, однако стало очевидно, что на практике функция передачи меняется в зависимости от конкретной модели объектива и, в общем случае, заранее неизвестна.
Чтобы решить эту проблему был разработан алгоритм преобразования изображений, полученных всенаправленными камерами, в изображения с исправленной дисторсией соответствующие классической перспективной модели с использованием процедуры калибровки [9]. Однако, в некоторых случаях, удобным визуальным представлением всего поля зрения всенаправленной ОЭС является панорамное изображение, несмотря на то, что в нем не устраняется дисторсия. Поэтому в этой работе мы расширили алгоритм, для того, чтобы создавать цилиндрическое панорамное изображение.
Целью данной работы является разработка алгоритма создания цилиндрических панорамных изображений из исходных изображений, полученных камерами с всенаправленными объективами. Конечной целью являлась разработка модуля для ПО «Оптико-электронная система наблюдения «Тайфун», реализующего отображение панорамного изображения на основе всенаправленной камеры. Поэтому алгоритму предъявлялись дополнительные требования:
алгоритм должен быть универсальным, то есть работать как с всена-правленными камерами с объективом типа «рыбий глаз», так и с катадиоптри-ческими оптическими системами;
• процесс калибровки должен быть доступен для неквалифицированных пользователей системы и не должен требовать применения специальных технических средств.
Алгоритм может найти применение в системах видеонаблюдения, в которых могут быть использованы различные модели, как камер, так и объективов к ним, при этом алгоритм универсален, для работы потребуется предварительно провести несложную процедуру калибровки. Кроме того, алгоритм может найти применение в различных сферах робототехники, где важен широкий угол обзора, но при этом есть необходимость устранения дисторсии, свойственной всенаправленным камерам.
Поиск функции передачи объектива, связывающей трехмерные координаты точки в пространстве предметов с координатами ее изображения в плоскости приемника, является ключевым моментом для алгоритма преобразования изображений. Решается задача поиска функции передачи с помощью калибровки всенаправленной оптической системы.
Подробно процедура калибровки рассмотрена в нашей предыдущей работе [9]. Результатом калибровки ОЭС являются функции, задающих прямую (2) и обратную (3) связь трехмерных координат точки в пространстве предметов и координат ее изображения в системе координат фотоприемника.
Калибровка всенаправленных оптических систем
(2)
у = сат2шогШ
(3)
Алгоритм создания панорамных изображений
Алгоритм состоит из трех базовых частей. Первый этап - формирование облака трехмерных точек в пространстве предметов, соответствующих полю зрения цилиндрической панорамы.
Второй этап - нахождение координат изображений этих точек в плоскости фотоприемника. При этом используется передаточная функция всенаправлен-ной оптико-электронной системы, найденная с помощью процедуры калибровки всенаправленных камер.
Третий этап - поэлементное (попиксельное) формирование выходного панорамного изображения из исходного всенаправленного изображения с использованием координат, полученных на втором этапе.
Первый этап: формирование облака точек, характеризующих поле зрения цилиндрической панорамы
Представьте прямоугольный лист ЛБСС'Б'Л', сделанный из прозрачного материала, свернутый в цилиндрическую поверхность М и помещенный вокруг всенаправленной ОЭС в пределах её поля зрения (рис. 2). Луч, исходящий из центральной точки оптической системы к точке объекта Р, пересекает эту цилиндрическую поверхность М в точке р. Пусть выходное панорамное изображение будет иметь разрешение Нг^ точек по горизонтали и Угех точек по вертикали. Тогда цилиндрическая поверхность М будет представлена массивом трехмерных точек (рис. 3):
V о,о Рнгез- 1,о
М =
РНгеБ 1УгеБ 1 -
(4)
(5)
Рис. 2. Цилиндрическая проекционная поверхность панорамы ЛБСС'Б'Л', помещенная вокруг всенаправленной ОЭС
Рис. 3. Развернутая на плоскость проекционная поверхность панорамы М. При этом отрезок АА' соответствует первой колонке выходного панорамного
изображения, а СС' - последней
Для того чтобы сформировать облако точек, нам необходимо задать начальные параметры. Исходя из того, что максимальное разрешение выходной панорамы достижимо на внешней окружности всенаправленного изображения (рис. 4), то имеет смысл задавать горизонтальное разрешение Игез не более чем:
Нге5 < 27гД^,
(6)
где И, - радиус всенаправленного изображения в пикселах.
Рис. 4. Входное изображение, полученное с помощью камеры с объективом «рыбий глаз» (монумент графу Шувалову, установленный в круглом внутреннем дворе Санкт-Петербургской Академии Художеств)
Углы Omin and Omax определяются желаемым полем зрения выходной панорамы, однако они должны лежать в пределах поля зрения оптической системы. При этом угол 0min не должен слишком малым, так как разрешение линии панорамы прямо пропорционально углу наблюдения.
Пусть радиус цилиндрической поверхности M равен 1, центр координат O совпадает со зрачком камеры, а ось Z совпадает с оптической осью камеры (рис. 5). Тогда высота цилиндра hM составит:
hM = АА' = (ctg(emin) - ctg(emax)). (7)
Найдем вертикальное разрешение Vres выходного панорамного изображения:
«'if- (8)
Рис. 5. Сечение цилиндрической поверхности M плоскостью ZOX.
Рис. 6. Сечение цилиндрической поверхности M плоскостью XOY
Произведем расчет трехмерных координат точек рцилиндрической поверхности М. Рассмотрев сечения ХОУ и 20У (рис. 5 и 6), легко заметить, что координаты х и у зависят только от /, а координата 2 только от у
(10)
~xi,j~ ■Xf
Pij = Уи = Ji
lzij\
xt = cos (ф.) = cos (2п • yt = -sin (ф.) = -sin (2тг • Zj = ctg(emin) — -¡— • hM.
»res
(11) (12) (13)
Второй этап: поиск координат изображений точек Чтобы получить соответствие между пространственными координатами точки р¿у, полученными в выражениях (11-13), и пиксельными координатами р' ее изображения в системе координат фотоприемника, применим функцию прямой связи координат (2), с параметрами, рассчитанными в результате калибровки:
р'. . = н i J
У1
L^J
= шогШ2сат(р1= \могШ2сат ^
Таким образом, мы получим массив М', содержащий пиксельные координаты изображений точек для рассчитанного поля зрения:
М =
0,0
г
o,oJ
~и'0Угез-1
УоУге*-!-
и'нгез. 1(0 v'h п
nres-hUJ
^ ^res-1'^res-l
V'H V ■ nres-i>vres-iJ
Третий этап: формирование исправленного изображения Теперь нам осталось только сформировать результирующее изображение попиксельно из исходного всенаправленного изображения:
L{u'0i0,v'0>0) - L(u'Hres_ii0, v'Hres_ii0) /'= : : :
[L(u о yres_x, v OMres-J — L(u Hres-iyres-i' V Нге5.хУгез. J. где L - величина сигнала в данном пикселе фотоприемника (или исходного всенаправленного изображения) с координатами v\j.
При этом, повысить качество результирующего изображения возможно с помощью применения алгоритмов интерполяции, так как мы имеем дело с дробными значениями координат.
Экспериментальные результаты Была произведена калибровка всенаправленной камеры с помощью инструментария «OCamCalib». Для этого было сделано 9 снимков тест-объекта в виде шахматной доски на калибруемую камеру. Нами была использована 2-х
мегапиксельная №-камера с установленным на нее сверхширокоугольным объективом типа «рыбий глаз» ^ицпоп FE185C046HA-1).
Калибровка была произведена со следующими результатами:
• координаты центра кругового изображения (пиксел): хс' = 580,718,
.у/= 770,693;
• среднеквадратическая ошибка перепроецирования (пиксел): 0,794;
• аффинные коэффициенты: с = 0,999779217318396, = 0,0000913037, е =-0,00037467188;
• коэффициенты полинома: ao = -338,2953325845469, a1 = 0, a2 = 0,00000010675995669, aз = -0.00000000007556347, a4 = 0.00000000000015930.
Как видно из результатов, среднеквадратическая ошибка перепроецирования (другими словами это точность функции прямой связи координат world2cam) оказалась менее одного пиксела, в чем можно убедиться на рис. 7(б). Подобной точности достаточно как для задач наблюдения, так и для большинства измерительных задач.
Рис. 7. Результаты калибровки с помощью инструментария «OCamCalib»
Красные кресты - найденные калибровочные точки тест-объекта, зеленые кружки - результат проецирования рассчитанных в процессе калибровки трехмерных координат калибровочных точек обратно на изображение. (а) - пример неверного определения калибровочных параметров. (б) - результат экспериментальной калибровки - положение калибровочных точек и перепроецированных точек совпадает, что подтверждает верное определение калибровочных параметров.
Далее параметры, найденные в результате калибровки, были использованы в алгоритме создания цилиндрических панорам. На рис. 8 приведен пример выходного изображения:
(а)
(б)
Рис. 8. Пример выходного изображения, полученного с помощью алгоритма
создания цилиндрических панорам
Таким образом, разработанный алгоритм, позволяет создавать панорамные изображения с помощью всенаправленных камер.
Заключение
Разработан алгоритм преобразования изображений, полученных всена-правленными камерами, в цилиндрические панорамные изображения. Алгоритм подходит для работы с всенаправленными камерами, как с катадиоптри-ческими оптическими системами, так и с объективами типа «рыбий глаз».
Алгоритм был успешно применен в программном модуле для ПО «Оптико-электронная система наблюдения «Тайфун» [10], реализующем на основе все-направленной камеры функцию отображения цилиндрического панорамного видеоизображения.
Алгоритм может найти применение в системах видеонаблюдения, в которых могут быть использованы различные модели, как камер, так и объективов к ним, при этом алгоритм универсален, для работы потребуется предварительно провести несложную процедуру калибровки.
Работа выполнена при государственной финансовой поддержке ведущих университетов Российской Федерации (субсидия 074-U01).
БИБЛИОГРАФИЧЕСКИЙ СПИСОК
1. Konyahin I.A., Timofeev A.N., Yarishev S. The universal opto-electronic measuring modules in distributed measuring systems // Proc. SPIE. 2009. № 7133. P. 908.
2. Konyahin I.A., Timofeev A.N., Yarishev S.N. Precision angular and linear mesurements using universal opto-electronic measuring modules in distributed measuring systems // Key Eng. Mater. 2010. № 437. P. 160-164.
3. Konyahin I.A., Timofeev A.N., Yarishev S.N. High precision multimarix optic-electronic modules for distributed measuring systems // Proc. SPIE. 2010. Vol. 75441E, № 7544.
4. Русинов М. Техническая оптика: Учебное пособие. 1979.
5. Lazarenko V., Yarishev S., Djamiykov T. The Algorithm for Transforming a Hemispherical Field-of-View Image // Доклади XI национална конференция с международно участие Електроника 2012. Sofia, 2012. P. 35-38.
6. Лазаренко В.П., Ярышев С.Н. Алгоритм трансформации изображений с полусферическм полем зрения // XLI научная и учебно-методическая конференция НИУ ИТМО, 31 января - 3 февраля 2012 года Актуальные теоретические и практические вопросы современного оптико-электронного приборостроения. Сборник трудов молодых ученых / ed. проф. В.В. Коротаев. СПб: НИУ ИТМО, 2012. P. 103-105.
7. Schwalbe E. Geometric modelling and calibration of fisheye lens camera systems // Camera. 2005. Vol. XXXVI. P. Part 5/W8.
8. Цудиков М.Б. Приведение изображения из камеры типа "рыбий глаз" к стандартному телевизионному // Известия ТулГУ. Технические науки. 2011. Vol. 5, № 1.
9. Лазаренко В.П. et al. АЛГОРИТМ ПРЕОБРАЗОВАНИЯ ИЗОБРАЖЕНИЙ, ПОЛУЧЕННЫХ ВСЕНА-ПРАВЛЕННЫМИ ОПТИКО-ЭЛЕКТРОННЫМИ СИСТЕМАМИ // Научно-технический вестник информационных технологий, механики и оптики. 2015. Vol. 15, № 1. P. 82-90.
10. Голушко М.Н., Ярышев С.Н. Оптико-электронная система наблюдения "Тайфун" // Вопросы радиоэлектроники», серия "Техника телевидения." 2014. Vol. 1. P. 38-42.
© В. П. Лазаренко, В. В. Коротаев, С. Н. Ярышев, 2015