Способ формирования цифрового панорамного изображения
METHOD FOR GENERATING A DIGITAL PANORAMIC IMAGE

Изобретение относится к вычислительной технике и может быть использовано для формирования цифрового панорамного изображения высокого разрешения из нескольких изображений, полученных при помощи многокамерного устройства кругового обзора для обеспечения обзорного видеонаблюдения за безопасностью специальных, промышленных, административных и других объектов.
Термины в рамках данной заявки
Сенсор – светочувствительный элемент цифровой камеры, представляющий собой матрицу из миллионов миниатюрных ячеек-пикселей.
ARM (англ. Advanced RISC Machine ) - микропроцессорная архитектура с сокращённым набором команд.
MiPi (англ. Mobile Industry Processor Interface – интерфейс процессора для мобильных систем) – стандартный интерфейс обмена данными между сенсором цифровой камеры и вычислительным узлом.
FPGA (англ. Field-Programmable Gate Array – программируемая  пользователем вентильная матрица) - полупроводниковое устройство, которое может быть сконфигурировано производителем или разработчиком после изготовления, также именуется ПЛИС.
RAW (англ. Raw — сырой, необработанный) - формат цифровой фотографии, содержащий необработанные данные, полученные с светочувствительного сенсора.
RGB (англ. Red, Green, Blue — красный, зелёный, синий) - аддитивная цветовая модель, описывающая способ синтеза цвета для цветовоспроизведения.
SURF (англ. speeded up robust features) – метод, который одновременно выполняет поиск особых точек на изображении и строит их описание, инвариантное к изменению масштаба и вращению. [Вау Н., Ess A., Tuvtelaars Т., Gool L. V. Speeded-Up Robust Features (SURF) // Proceedings of the 9th European Conference on Computer Vision. Springer LNCS. 200G. Vol. 3951. Pt.1. P. 404-417].
Особая точка – точка максимального изменения градиента яркости в некоторой окрестности на изображении, в которой детерминант матрицы Гессе достигает экстремума.
Аффинные преобразования — общий метод для деформации изображений, позволяющий за одну операцию повернуть, растянуть и отразить изображение.
Сшивка – создание на основе кадров обычного формата с небольшим углом обзора единого панорамного изображения.
Известен способ получения панорамных изображений и устройство, его реализующее (патент США №5563650, H04N 7/18, от 08.10.1996). В основе способа лежит получение изображений с использованием камеры с объективом типа «fish eye» (объектив со сверхшироким углом обзора), последующее преобразование изображений в цифровой вид и трансформация в панорамные изображения, лишенные искажений, видимых человеческим глазом, с использованием компьютера и специального программного обеспечения.
Недостатками этого способа является возможность применения данного способа только к заявленному устройству - камере с объективом типа «fish eye», соответственно узкая область применения, а также необходимость получения большого количества изображений для обеспечения высокой точности получения панорамных изображений.
Известен способ создания панорамных изображений в системах цифровых камер (патент США 6714249, H04N 7/00; G03B 17/00, от 30.03.2004), в котором заранее подготавливают и устанавливают в определенное положение камеру, поворачивая ее в предопределенные позиции, получают несколько серий изображений с пересекающимися на краях областями, сохраняют в памяти эти изображения и автоматически объединяют несколько изображений в панорамное изображение.
Недостатками этого способа является получение панорамных изображений с низкой точностью из-за отсутствия коррекции аберраций оптических систем, а именно радиальной дисторсии, а также сложность практической реализации способа в связи с установкой камеры в строго определенное положение и поворотами ее в предопределенные позиции.
Наиболее близким к предлагаемому способу является способ, реализуемый устройством для додекаэдрической системы формирования изображения (патент США US5023725, H04N5/74; H04N7/00; H04N7/18; H04N9/31, от 11.06.1991), в котором сферическое изображение получается в результате обработки изображений, полученных с 12 камер, расположенных на гранях додекаэдра. При этом каждая из граней додекаэдра формирует пятиугольное сечение в виде секции концентрической сферы. Изображение, полученное с каждой камеры, обрезается под границы своей пятиугольной секции за счет маскирования сигнала с камеры. На этапе формирования составного панорамного сферического изображения производится электрооптическая коррекция этих изображений, а полученное панорамное изображение представляется в виде сферы.
Недостатки этого способа обусловлены использованием электрооптической коррекции аберраций оптических систем, которая не позволяет обеспечить высокое визуальное качество панорамного изображения при устранении эффектов, связанных с дисторсией получаемых с камер изображений, кроме того не учитывает смещения одного изображения относительно другого.
Задачей предлагаемого изобретения является расширение арсенала способов, обеспечивающих формирование цифрового панорамного сферического изображения, на основе изображений, полученных от нескольких камер.
Техническим результатом использования предлагаемого изобретения является высокое визуальное качество цифрового панорамного изображения высокого разрешения за счет выравнивания геометрических искажений, связанных с дисторсией получаемых с камер изображений и устранения несовпадения размеров и форм изображений объектов,  расположенных в области перекрытия смежных изображений, полученных от каждой камеры.
Поставленная задача достигается предложенным способом формирования цифрового панорамного изображения от нескольких источников, включающим обработку изображений, полученных с камер, расположенных на гранях правильного многогранника путем обрезания изображений под границы секции в виде правильного многоугольника, формирование составного сферического панорамного изображения с коррекцией полученных изображений, в который внесены следующие новые признаки:
- перед обрезкой изображений осуществляют их коррекцию на основе модели векторной диаграммы поля путем компенсации искажений, вызванных объективом каждой цифровой камеры, с учетом коэффициента дисторсии и коэффициента масштабирования изображения;
- обрезку изображений, полученных с каждой камеры, производят путем определения принадлежности каждого пикселя входного изображения вписанному в него правильному n-угольнику, где  n равно от 3 до 5;
- дополнительно на основе аффинных преобразований осуществляют нелинейную деформацию обрезанного изображения, по данным о парах особых точек в областях перекрытия изображений, поступающих с соседних цифровых камер. При этом пары особых точек определяют при помощи метода SURF;
- для формирования составного панорамного изображения предварительно осуществляют расчет адресных матриц, определяющих местоположение и принадлежность отдельного пикселя каждого изображения граням правильного многогранника, например додекаэдра, гексаэдра, икосаэдра, октаэдра или тетраэдра, в декартовой системе координат,  затем - построение проекции панорамного изображения на сферу, вписанную в правильный многогранник, с помощью FPGA и преобразования декартовых координат X, Y, Z в сферические, после чего посредством программного обеспечения для построения эквидистантной цилиндрической проекции сферы осуществляют сшивку изображений.
Условиям «новизна» и «изобретательский уровень» предложенный способ соответствует благодаря тому, что он позволяет максимально устранить нежелательные эффекты геометрических искажений от несовпадения размеров и форм изображений объектов, расположенных в области перекрытия смежных изображений на границах совмещения n - угольных секций за счет:
- нелинейной деформации изображений, составляющих панорамное изображение, производимой по данным о парах особых точек, детектируемых в областях перекрытия изображений, поступающих с соседних цифровых камер;
-  использования предварительно рассчитанных адресных матриц на основе модели правильного многогранника при формировании составного панорамного изображения, что позволяет определить местоположение и принадлежность отдельного пикселя каждого изображения граням правильного многогранника в декартовой системе координат.
Изобретение характеризуется следующими фигурами.
Фиг. 1 – Развертка модели додекаэдра на плоскость с учетом расположения образующих его пятиугольных секций.
Фиг. 2 – Расположение системы координат для области светочувствительного сенсора А  цифровой камеры и нумерация сторон и углов пятиугольной секции Б, где римские цифры обозначают стороны, арабские  - углы пятиугольной секции.
Фиг. 3 – Модель додекаэдра с номерами сторон и граней, образующих его равносторонних пятиугольных секций: а) вид спереди; б) вид сзади.
Фиг. 4 – Схема развертки цилиндрической проекции додекаэдра на плоскость.
Фиг. 5 – Пространственная система координат додекаэдра и вписанная в него сфера.
Фиг. 6 – Результат построения эквидистантной цилиндрической проекции сферы на плоскость.
Фиг. 7 – Коррекция искажений оптической системы цифровой камеры на примере изображения с сенсора камеры 9: а) изображение с сенсора 9 без коррекции; б) изображение с сенсора 9 после коррекции.
Фиг. 8 – Обрезка откорректированного изображения с сенсора камеры 9 под границы его пятиугольной секции: а) изображение с сенсора камеры 9 с отмеченным на нем шаблоном пятиугольной секции; б) результат обрезки изображения, полученного  с сенсора камеры 9.
Фиг. 9 – Области перекрытия обрезанных изображений, поступающих с сенсоров смежных цифровых камер и результат сопоставления найденных особых точек, обозначенных «*», где а) обрезанное изображение с сенсора камеры 5; б) обрезанное изображение с сенсора камеры 9.
Фиг. 10 – Результат совмещения границ изображений, полученных со смежных  сенсоров камер 5 и 9, по данным о парах особых точек.
Фиг. 11 – Фрагмент проекции сферического изображения на плоскость для изображений,  полученных со смежных  сенсоров камер 5 и 9.
Фиг. 12 – Результат сшивки составного панорамного изображения на плоскости.
Предложенный способ для случая, когда устройство содержит 12 цифровых камер, расположенных на гранях додекаэдра, реализуют следующим образом:
1. Для обработки изображений получают по единому синхро-сигналу изображения с 12 цифровых камер, расположенных на гранях додекаэдра. Каждая камера состоит из объектива и светочувствительного сенсора. Все изображения по интерфейсу MiPi поступают в память собственного вычислительного узла, реализованного на базе FPGA и ARM процессора, для проведения предварительной обработки изображений;
2. Выполняют для каждого изображения преобразование из формата RAW в формат RGB. Данная конвертация необходима для более удобного представления изображений и их дальнейшей обработки. Результат преобразования записывают в промежуточный буфер;
3. Перед  обрезкой изображений производят коррекцию искажений, вызванных объективом цифровой камеры с учетом коэффициента дисторсии и коэффициента масштабирования. Коррекцию производят на основе модели векторной диаграммы поля (Гельман Р.Н., Дунц А.Л. Лабораторная калибровка цифровых камер с большой дисторсией // Геодезия и картография. М., 2002. №7, с.23-31);
4. Обрезают с использованием средств FPGA каждое изображение, полученное с сенсора (А) под границы его пятиугольной секции (Б) путем определения принадлежности каждого пикселя входного изображения вписанному в него пятиугольнику, как показано на фиг. 2, где римскими цифрами кодируются стороны, а арабскими – углы пятиугольной секции в соответствии с системой координат (x,y);
5. Используя средства ARM процессора, вычисляют в областях перекрытия изображений, поступающих с соседних сенсоров, координаты особых точек на основе метода SURF, который одновременно выполняет поиск особых точек и строит их описание в виде вектора значений, инвариантное к изменению масштаба и вращению;
6. Сопоставляют пары особых точек, имеющих одинаковое описание на изображениях смежных сенсоров;
7. Выполняют нелинейную деформацию каждого изображения, по данным о парах особых точек, на основе аффинных преобразований;
8. Осуществляют расчет адресных матриц, определяющих местоположение и принадлежность отдельного пикселя каждого изображения граням додекаэдра в декартовой системе координат, на основе математической модели додекаэдра, графически представленной на фиг.3, где использована система кодирования сторон и углов додекаэдра в соответствии с системой, представленной на фиг.2.
На фиг.4 показано представление панорамного изображения при проецировании модели додекаэдра на плоскость;
9. Для получения проекции панорамного изображения на сферу, вписанную  в додекаэдр, с помощью FPGA выполняют преобразование декартовых координат X, Y, Z в сферические, формируя сферическое составное панорамное изображение как показано на фиг. 5, где куб - трехмерное пространство, r - радиус вписанной в додекаэдр сферы.
10. Осуществляют сшивку, формируя составное панорамное изображение посредством программного обеспечения для построения эквидистантной цилиндрической проекции сферы, как показано на фиг. 6, где цифрами отмечены номера сенсоров. Такой способ представления панорамного изображения позволяет наблюдать всю картину в целом и является более удобным для отображения с помощью стандартных графических устройств, таких как телевизор, монитор, проектор.
Пример осуществления способа.
Панорамная камера, содержащая 12  цифровых камер, расположенных на гранях додекаэдра, была установлена в центре помещения.
После включения камеры произвели инициализацию подключенных систем и выполнили необходимые настройки параметров.
По нажатию на кнопку «записи» с каждого из 12 сенсоров цифровых камер полученное изображение передается на собственный вычислительный узел, где выполняется преобразование из формата RAW в формат RGB.
Далее производят коррекцию искажений оптической системы цифровой камеры для каждого изображения с учетом коэффициента дисторсии и коэффициента масштабирования изображения, как показано на фиг. 7. Если сравнить изображения на фиг. 7, то видно, что объекты, представленные на изображении фиг. 7 (а) имеют искажения геометрических форм, которые устранены в результате коррекции на изображении фиг. 7 (б).
На следующем шаге выполняют обрезку каждого изображения под границы его пятиугольной секции, как показано на фиг. 8, для изображения, полученного с сенсора 9. Данную операцию выполняет FPGA.
Далее, используя средства ARM процессора, в областях перекрытия изображений, поступающих с соседних сенсоров, выполняют поиск особых точек и построение их описания в виде векторов значений на основе метода SURF. На фиг. 9 прямоугольниками показана область перекрытия изображений, поступающих с сенсоров 5 (а) и 9 (б)    смежных цифровых камер, и пример определения пар особых точек и их сопоставления.
Используя информацию о взаимном положении пар особых точек на смежных изображениях, производят деформацию изображений на основе аффинных преобразований, что позволяет совместить границы изображений, полученных с сенсоров смежных цифровых камер, как показано на фиг. 10 для изображений, поступивших со смежных сенсоров 5 и 9.
Далее, используя модель додекаэдра, осуществляют расчет адресных матриц, которые определяют местоположение отдельного пикселя каждого изображения соответствующей ему грани додекаэдра в декартовой системе координат.
Выполняют преобразование декартовых координат в сферические для получения проекции изображения на сферу, вписанную в додекаэдр (фиг.5). После чего производят построение эквидистантной цилиндрической проекции изображения участка сферы, соответствующего каждому из 12 сенсоров. Фрагмент проекции сферического изображения на плоскость для изображений,  полученных со смежных  сенсоров 5 и 9, представлен на фиг. 11.
На следующем шаге каждое изображение в соответствии с полученными при вычислении адресами,  определяющими местоположение отдельного пикселя  на каждом изображении, поступает в память центрального вычислительного узла, в котором посредством программного обеспечения для построения эквидистантной цилиндрической проекции сферы, производят формирование составного панорамного изображения помещения, представленного на фиг. 12.
Для получения составного панорамного изображения для других видов правильных многогранников, например додекаэдра, гексаэдра, икосаэдра, октаэдра или тетраэдра, необходимо также использовать преобразование декартовых координат в сферические для получения проекции изображения на сферу, вписанную в соответствующий многогранник, с последующим построением эквидистантной цилиндрической проекции изображения.
Таким образом, возможность реализации способа с получением заявленного технического результата - высокого визуального качества цифрового панорамного изображения высокого разрешения - доказана.