СПОСОБ ОТОБРАЖЕНИЯ ШИРОКОФОРМАТНОГО ОБЪЕКТА ДОПОЛНЕННОЙ РЕАЛЬНОСТИ
METHOD FOR DISPLAYING AUGMENTED REALITY WIDE-FORMAT OBJECT

Область техники, к которой относится изобретение
.
Изобретение относится к компьютерной обработке данных, а именно к способам отображения объекта дополненной реальности на основе исходного изображения, при котором: создаются фотоизображения или видеоизображение реального объекта, осуществляется распознавание реального объекта, формируется матрица преобразования координат, формируется 3D модель объекта дополненной реальности, указанная 3D модель сохраняется в памяти устройства отображения объекта дополненной реальности, элементы 3D модели объекта дополненной реальности окрашиваются в цвета исходного изображения, производится визуализация 3D модели объекта дополненной реальности с использованием средств дополненной реальности и/или алгоритмов компьютерного зрения.
В данной работе используются следующие термины.
Виртуальный объект
- созданный техническими средствами объект, передаваемый человеку через его ощущения: зрение, слух и другие.
Дополненная реальность
- воспринимаемая смешанная реальность, создаваемая с использованием «дополненных» с помощью компьютера элементов воспринимаемой реальности (когда реальные объекты монтируются в поле восприятия).
Устройство для создания и просмотра виртуальных объектов дополненной реальности
- любое компьютерное устройство, имеющее в комплекте дисплей и видеокамеру, которое может передавать на дисплей изображение с видеокамеры в режиме реального времени и выводить на дисплей дополнительное виртуальное изображение. Типичный представитель такого устройства: смартфон, планшетный компьютер, компьютер с гарнитурой в виде очков дополненной реальности типа Google Glass и тому подобное.
Смартфон
(англ. smartphone - умный телефон) - сотовый телефон, дополненный функциональностью карманного персонального компьютера.
Текстурирование
- перенос текстуры захваченного изображения на соответствующий виртуальный объект. Текстурирование трехмерной модели - это совокупность способов определения цвета каждого из её пикселей на экране. Каждому полигону модели ставится в соответствие полигон с тем же количеством углов на текстуре (обычно модель состоит из треугольников и четырёхугольников). Это соответствие определяется UVW развёрткой модели. Далее, зная экранные координаты полигона модели, его попиксельно переносят на экран в соответствии с UVW, добавляя к цвету текстуры также цвета освещения, тени и другие эффекты.
Уровень техники.
В настоящее время все большее количество людей используют различные электронные устройства и взаимодействуют с виртуальными объектами. Это происходит не только в компьютерных играх, но и в процессе обучения, а также, например, при удаленной торговле товарами, когда покупатель принимает решение о покупке, пользуясь виртуальной моделью товаров.
Способ отображения объекта дополненной реальности и его текстурирования на основе исходного изображения известен из патентной заявки РФ №2586566. В соответствии с раскрытым там методом формируется 3D модель объекта дополненной реальности, сохраняют в памяти устройства отображения объекта дополненной реальности указанную 3D модель вместе с эталонным образом, а также координаты участков текстурирования, соответствующие полигонам 3D модели объекта дополненной реальности, получают фотоизображения или видеоизображение реального объекта, осуществляется распознавание реального объекта по полученным фотоизображениям или видеоизображениям, формируется матрица преобразования координат фотоизображения или видеоизображения реального объекта в собственные координаты, элементы 3D модели объекта дополненной реальности окрашиваются в цвета соответствующих элементов фотоизображения или видеоизображения реального объекта путём формирования текстуры области считывания изображения с использованием матрицы преобразования координат и интерполяции данных с последующим назначением текстуры 3D модели объекта дополненной реальности, так что соответствующие полигоны покрывают соответствующими участками текстуры по заранее сформированным на этапе текстурирования координатам., Полученная 3D модель объекта дополненной реальности визуализируется поверх видеоряда реального объекта.
Данный способ является наиболее близким по технической сути и достигаемому техническому результату.
Недостатком известного метода является невозможность отображения объектов дополненной реальности при сканировании широкоформатных реальных объектов, не умещающихся целиком в поле зрения видеокамеры устройства отображения объектов дополненной реальности, для которых создается указанный объект дополненной реальности. Известный метод хорошо подходит для небольших объектов, которые полностью умещаются в поле зрения видеокамеры устройства отображения объектов дополненной реальности, но при попытке работы с крупномасштабными объектами возникают технические проблемы связанные с необходимостью склейки фрагментов и формирования 3D модели и ее текстурирования по частичным изображениям.
Раскрытие изобретения.
Опирающееся на это оригинальное наблюдение настоящее изобретение, главным образом, имеет целью предложить способ отображения объекта дополненной реальности, позволяющий, по меньшей мере, сгладить, как минимум, один из указанных выше недостатков, а именно обеспечить возможность отображения объектов дополненной реальности при сканировании широкоформатных реальных объектов, не умещающихся целиком в поле зрения видеокамеры устройства отображения объектов дополненной реальности, для которых создается указанный объект дополненной реальности, что и является поставленной технический задачей и что, в свою очередь развивает существующую технику и технологию, выводя ее на новый уровень.
Для достижения этой цели
• получают множество отдельных фрагментов изображения реального объекта, где каждый фрагмент представляет собой частичное фотоизображение реального объекта, полученное с камеры устройства или выделенное из видеоряда, полученного с камеры устройства,
• формируют двумерное изображение реального объекта путем совмещения полученных фрагментов, при этом определяют недостающие фрагменты, которых не хватает для построения такого общего изображения и отправляют запрос (или сигнал) на устройство отображения объекта дополненной реальности о необходимости получения дополнительного фотоизображения или видеоизображения недостающего фрагмента реального объекта,
• формируют матрицу преобразования координат двумерного изображения реального объекта в собственные координаты, соответствующие координатам 3D модели;
• с использованием матрицы преобразования координат, окрашивают соответствующие элементы 3D модели в цвета/текстуры соответствующих элементов реального объекта, представленного сформированным двумерным изображением одним из трех вариантов:
• производят текстурирование областями отдельных элементов 3D модели объекта дополненной реальности производится наложением на них текстуры соответствующих им отдельных фрагментов реального объекта, и/или
• используя параметры Tile/Offset, как описано ниже, производят текстурирование областями 3D модели объекта дополненной реальности с указанием для каждого объекта какому участку текстуры он соответствует, и/или
• производят текстурирование сразу всей 3D модели объекта дополненной реальности со склейкой отдельных текстурированных фрагментов в одну текстуру.
Благодаря данным выгодным характеристикам появляется возможность отображения объектов дополненной реальности при сканировании широкоформатных реальных объектов, не умещающихся целиком в поле зрения видеокамеры устройства отображения объектов дополненной реальности, для которых создается указанный объект дополненной реальности. То есть в каждый момент времени устройство отображения объекта дополненной реальности получает только часть информации при сканировании широкоформатных реальных объектов, и выводит на дисплей необходимый фрагмент объекта дополненной реальности, соответствующий данному участку реального объекта.
Существует вариант изобретения, в котором при соединении (или «склейке») отдельных текстурированных фрагментов в одно изображение производят «затирание швов» - процедуру подгонки одних фрагментов в другие с плавным переходом. Например, при соединении фотографий панорамного снимка таким образом, чтобы одна фотография продолжала другую, в большинстве случаев возникают видимые швы. Это происходит как в силу ошибок и погрешностей склеивания, так и в силу перемещения камеры между кадрами, изменения освещённости, изменения настроек съёмки и т.п.
Один из способов убрать эти переходы включает следующие шаги:
1. Определить пиксели линии стыка фрагментов;
2. Для каждого из этих пикселей взять соседей «слева» и «справа» с отступом в N пикселей;
3. Между этими «левым» и «правым» пикселем нарисовать плавный градиент.
Благодаря данной выгодной характеристике появляется возможность сглаживать несоответствия между отдельными фрагментами. Благодаря использованию приемов дополненной реальности, представляется возможным определить уже на этапе фотографирования, какая часть объекта видима для камеры, что позволяет определить где находятся швы.
Краткое описание чертежей.
Другие отличительные признаки и преимущества данного изобретения ясно вытекают из описания, приведенного ниже для иллюстрации и не являющегося ограничительным, со ссылками на прилагаемые рисунки, на которых:
- фигура 1 изображает внешний вид системы для отображения объекта дополненной реальности согласно изобретению,
- фигура 2 схематично изображает этапы способа отображения объекта дополненной реальности, согласно изобретению.
На фигуре 1 обозначено устройство 1 отображения объектов дополненной реальности, имеющее дисплей 11 и видеокамеру 12, направленную на реальный широкоформатный объект 2. В качестве устройства отображения объектов дополненной реальности могут быть использованы такие устройства как смартфон, компьютерный планшет или устройства типа очков добавленной реальности.
Так как реальный широкоформатный объект 2 не умещается полностью в поле зрения видеокамеры 12, то на дисплее 11 выводится только часть реального объекта, обозначенная рамкой 21. В этой части находятся плоские изображения 22 и 23. Именно они и выводятся на дисплей 11 как 3D модели объекта дополненной реальности 13 и 14 соответственно.
При этом предлагаемое устройство 1 формирует общую модель дополненной реальности, так что при движении устройства 1 происходит смена 3D моделей объектов дополненной реальности без различных нежелательных эффектов, скачков, склеек, замираний изображения.
Это достигается следующим образом:
Поскольку нам заведомо известно взаимное расположение частей широкоформатного объекта относительно друг друга, и мы исходим из предположения о неизменности широкоформатного объекта (не порван, не смят и т.п.), то точные данные о пространственном положении любого из участков широкоформатного объекта позволяют определить пространственное положение всего объекта или любой его части.
Далее, зная, какая именно часть широкоформатного объекта в данный момент видима (поскольку положение устройства нам также известно), мы соответствующим образом можем скорректировать отображение общей модели целиком, либо её частей.
Осуществление изобретения.
Способ отображения объекта дополненной реальности реализуется следующим образом, описанным ниже и включает в себя этапы сканирования, экстракции текстуры, построения трехмерной модели сканируемого объекта, наложения текстуры и визуализации.
Считывание текстуры производится модулем считывания текстуры. В качестве входных данных данный модуль получает набор кадров с камеры устройства, а также соответствующие им матрицы преобразования (или аналогичные данные) от модуля распознавания / трекинга. Эти матрицы позволяют поставить в соответствие виртуальную камеру в 3D пространстве относительно виртуальной копии изображения объекта таким образом, что на видимых виртуальной и реальной камерах изображениях виртуальный и реальный объект расположены идентично. Это позволяет, используя наложение, расположить видео виртуального пространства поверх реального.
Конечной целью работы модуля считывания текстуры является экстракция текстуры с полученных видео или фото кадров посредством попиксельного переноса (возможно, с применением интерполяции, например, билинейной) изображения реального объекта на ортогональную двумерную сетку. Двумерное изображение на выходе данного модуля выглядит, как «скан» изображения реального объекта, т.е. содержит только интересующую нас часть изображения (текстуру), без фона, и не имеет пространственных искажений, вызванных фотографированием (перспектива, рыбий глаз и т.п.) (либо они сведены к минимуму).
Считанная текстура назначается определенным участкам и/или элементам 3D модели. При назначении текстуры можно также задать такие параметры как Tile и Offset, которые позволяют повлиять на расчет координат текстуры для точки P по следующей формуле:
f(X,Y) = UVW(Offset.X + P.X * Tile.X, Offset.Y + P.Y * Tile.Y)
Offset - сдвиг, позволяет указать смещение относительно исходных координат текстуры (по умолчанию (0,0)).
Tile - масштаб, позволяет указать сколько раз текстура “укладывается” в единицу UVW (по умолчанию (1,1)).
Благодаря этой особенности, становится возможен следующий приём:
Если необходимо отображать лишь часть модели, которая занимает некую прямоугольную область P в пределах целой текстуры модели T, такую, что P < T и P лежит в пределах T. Тогда, при считывании текстуры извлекается исключительно область P, и таким образом достигается экономия ресурсов.
Благодаря параметрам Tile и Offset, становится возможным сместить и отмасштабировать область P таким образом, что модель останется неизменной, по сравнению с использованием текстуры размера T.
Приведем наиболее исчерпывающий пример реализации изобретения, имея в виду, что данный пример не ограничивает применения изобретения.
Согласно фигуре 2:
Этап А.1
. Получают фотоизображения или видеоизображение отдельных фрагментов реального объекта 21, пока не охватят полностью объект 2.
Сканирование широкоформатных изображений производится пользователем при помощи устройства 1, при этом устройство 1 может передавать пользователю запросы и/или сообщения о том, как необходимо двигать и располагать устройство 1 для получения оптимальных результатов сканирования. С точки зрения пользователя сканирование может производится двумя способами:
1. «По областям»: устройство 1 отображения объектов дополненной реальности последовательно отмечает для считывания разные участки изображения. При этом участки не обязательно в сумме покрывают всё изображение (т.к. некоторые части изображения с точки зрения раскрашивания могут быть несущественными - т.е. их не нужно считывать)
2. «Плавно»: устройство 1 отображения объектов дополненной реальности просит пользователя плавно провести телефоном над изображением, не отмечая конкретные участки. При этом устройство 1 может попросить пользователя отдельно показать какой-то участок, который пользователь пропустил.
Этап А.2
. Формируется двумерное изображение реального объекта по полученным фрагментам, при этом если не хватает фрагмента для построения такого общего изображения, отправляется сигнал на устройство 1 отображения объекта дополненной реальности о необходимости получения дополнительного фотоизображения или видеоизображение недостающего фрагмента реального объекта. Формируется матрица преобразования координат фотоизображения или видеоизображения реального объекта в собственные координаты,
Этап А.3
. Элементы 3D модели объекта дополненной реальности (на фигуре 1 это 13 и 14) окрашиваются с использованием матрицы преобразования координат элементы в цвета и/или текстуры соответствующих элементов фотоизображения или видеоизображения реального объекта одним из трех вариантов (на фигуре 1 это 22 и 23). При этом элементы 3D модели объекта дополненной реальности окрашиваются в цвета соответствующих элементов фотоизображения или видеоизображения реального объекта путём формирования текстуры области считывания изображения с использованием матрицы преобразования координат и интерполяции данных с последующим назначением текстуры 3D модели объекта дополненной реальности, так что соответствующие полигоны покрывают соответствующими участками текстуры по заранее сформированным на этапе текстурирования координатам, по меньшей мере, некоторые участки 3D модели.
Этап А.4.1
. Производят текстурирование областями отдельных элементов 3D модели объекта дополненной реальности (на фигуре 1 это 13 и 14), путем переноса текстуры соответствующих им отдельных фрагментов реального объекта (на фигуре 1 это 22 и 23) (это просто совокупность N малых изображений и N малых сцен, каждая из которых сканируется/раскрашивается независимо, но отображаются они все вместе)
или
Этап А.4.2
. производят текстурирование областями 3D модели объекта дополненной реальности с указанием для каждого элемента 3D модели, какому участку текстуры он соответствует. С использованием параметров текстуры, для каждого элемента 3D модели, соответствующего элементу реального объекта, генерируется "псевдотекстура", которая с точки зрения объекта эквивалентна большому изображению, однако корректной на ней является только значимая для этого элемента объекта область. Это соответствие достигается наложением текстуры с помощью параметров Tile/Offset, а значит «некорректные» области текстур не занимают памяти. Этот подход позволяет избежать склейки текстур, и в то же время создавать развертку модели относительно цельного изображения реального объекта 21.
или
Этап А.4.3
. производят текстурирование сразу всей 3D модели объекта дополненной реальности со склейкой отдельных текстурированных фрагментов в одно общее изображение. Создают пустое изображение размером, соответствующим цельному реальному объекту 21, после чего на него наносят отсканированные области - на манер коллажа. Технологическая простота компенсируется тем что пустая часть "коллажа" будет впустую тратить оперативную память.
Дополнительно, после нанесения текстуры, производят затирание швов при склейке (в т.ч. в случае, когда областями покрывается всё изображением целиком) - наиболее ресурсоёмкий вариант, однако дающий на выходе более качественное / цельное изображение
Этап А5
. Производят визуализацию 3D модели объекта дополненной реальности поверх видеоряда реального объекта с использованием средств дополненной реальности и/или алгоритмов компьютерного зрения. Например, как показано на фигуре 1 выводят на дисплей 11 устройства 1.
Последовательность этапов является примерной и позволяет переставлять, убавлять, добавлять или производить некоторые операции одновременно без потери возможности обеспечивать взаимодействия с виртуальными объектами.
Пример.
Широкоформатная карта города.
При использовании карты города, на которой нарисованы дома и прочие объекты, реальные размеры развернутой карты могут быть таковы, что в помещении невозможно ее полностью поместить в поле зрение устройства 1 отображения объектов дополненной реальности, например, смартфона. Производят «рассматривание» фрагментов указанной карты, путем движения смартфона по карте. Смартфон определяет изображения (маркеры), формирует трехмерную модель объектов дополненной реальности, привязывая ее к маркерам на карте, и таким образом, пользователь на дисплее видит, как на карте вырастают трехмерные изображения домов, по дорогам могут перемещаться виртуальные автомобили, идти по тротуарам виртуальные пешеходы, может появляться виртуальная реклама в городе. При этом производят раскрашивание всех виртуальных объектов в цвета, которые соответствуют цветам на карте плоским изображениям указанных объектов. При движении смартфона вдоль карты, изображение реальных объектов и объектов дополненной реальности меняется плавно.
Промышленная применимость.
Предлагаемый способ отображения объекта дополненной реальности может быть осуществлен специалистом на практике и при осуществлении обеспечивает реализацию заявленного назначения, что позволяет сделать вывод о соответствии критерию «промышленная применимость» для изобретения.
В соответствии с предложенным изобретением изготовлен опытный образец комплекса для взаимодействия с виртуальными объектами, выполненный в виде компьютерного планшета, имеющего дисплей и видеокамеру, который реализует способ отображения объекта дополненной реальности.
Испытания опытного образца комплекса показали, что он обеспечивает возможность:
• определения объектов (маркеров) реального трехмерного пространства по изображениям, полученным от видеокамеры устройства для создания и просмотра дополненной реальности,
• формирования физической базовой системы координат, привязанной к пространственному положению объектов реального трехмерного пространства,
• определения координат устройства для создания и просмотра дополненной реальности относительно базовой системы координат;
• задания координат трехмерных виртуальных объектов дополненной реальности в базовой системе координат
• определения координаты устройства для создания и просмотра дополненной реальности относительно реального физического объекта посредством анализа изображения с камеры устройства,
• вычисления вектора, соответствующего направлению от объекта к виртуальной камере в режиме реального времени,
• формирования информации обо всех перемещениях камеры относительно объекта - повороте, приближении, наклоне путем последовательной итерации в режиме реального времени,
• формирование общей картины реального объекта и нанесенных на нее объектов дополненной реальности,
• возможность плавного перехода при выведении на дисплей устройства различных фрагментов.
Таким образом, в данном изобретении достигнута поставленная задача - обеспечение возможности отображения объектов дополненной реальности при сканировании широкоформатных реальных объектов, не умещающихся целиком в поле зрения видеокамеры устройства отображения объектов дополненной реальности, для которых создается указанный объект дополненной реальности.