RU2651239C9 - Автоматическая калибровка системы отсчета дополненной реальности - Google Patents

Автоматическая калибровка системы отсчета дополненной реальности Download PDF

Info

Publication number
RU2651239C9
RU2651239C9 RU2013148372A RU2013148372A RU2651239C9 RU 2651239 C9 RU2651239 C9 RU 2651239C9 RU 2013148372 A RU2013148372 A RU 2013148372A RU 2013148372 A RU2013148372 A RU 2013148372A RU 2651239 C9 RU2651239 C9 RU 2651239C9
Authority
RU
Russia
Prior art keywords
virtual
real
camera
tracking system
coordinate
Prior art date
Application number
RU2013148372A
Other languages
English (en)
Other versions
RU2651239C2 (ru
RU2013148372A (ru
Inventor
Пол Р. ДЭВИС
Дэвид К. Ли
Original Assignee
Зе Боинг Компани
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Зе Боинг Компани filed Critical Зе Боинг Компани
Publication of RU2013148372A publication Critical patent/RU2013148372A/ru
Application granted granted Critical
Publication of RU2651239C2 publication Critical patent/RU2651239C2/ru
Publication of RU2651239C9 publication Critical patent/RU2651239C9/ru

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N5/00Details of television systems
    • H04N5/222Studio circuitry; Studio devices; Studio equipment
    • H04N5/262Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/006Mixed reality
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/60Rotation of whole images or parts thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/70Determining position or orientation of objects or cameras
    • G06T7/73Determining position or orientation of objects or cameras using feature-based methods
    • G06T7/74Determining position or orientation of objects or cameras using feature-based methods involving reference images or patches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/80Analysis of captured images to determine intrinsic or extrinsic camera parameters, i.e. camera calibration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30204Marker
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30244Camera pose

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Geometry (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Processing Or Creating Images (AREA)
  • Image Processing (AREA)
  • Studio Devices (AREA)
  • Image Analysis (AREA)
  • Length Measuring Devices By Optical Means (AREA)

Abstract

Изобретение относится к средствам дополненной реальности. Техническим результатом является обеспечение быстрого и точного совмещения между виртуальным контентом и видом сцены из камеры прямой передачи. Способ содержит: прием или задание следящей системой системы координат, связанной со следящей за объектами системой, система координат следящей системы связана с реальным трехмерным пространством и следящая система отслеживает позицию и ориентацию камеры в реальном трехмерном пространстве, которая захватывает реальное трехмерное пространство и печатный маркер; прием системы отсчета камеры от следящей системы, система отсчета камеры показывает позицию и ориентацию камеры в системе координат следящей системы; прием или задание данных системы координат печатного маркера, связанного с печатным маркером, система координат печатного маркера связана с реальным трехмерным пространством, и система координат печатного маркера связана с системой координат следящей системы; определение начала отсчета для печатного маркера с помощью вычисления центроида трех или более неколлинеарных точек печатного маркера; определение системы отсчета объектива камеры, система отсчета объектива камеры показывает позицию и ориентацию объектива камеры в системе координат печатного маркера; осуществление преобразования координат объектива камеры между системой отсчета камеры и системой отсчета объектива камеры, преобразование координат объектива камеры включает в себя матрицу преобразования, обеспечивающую преобразование между системой отсчета камеры и системой отсчета объектива камеры; и вывод на экран дополненной сцены, включающей вид реального трехмерного пространства и одного или нескольких виртуальных элементов, преобразование координат объектива камеры используется для изменения или искажения одного или нескольких виртуальных элементов в дополненной сцене. 2 н. и 10 з.п. ф-лы, 18 ил.

Description

Область техники
Настоящее изобретение относится к дополненной реальности, и в частности к одной или нескольким системам, способам, стандартным процедурам и/или методам для автоматической калибровки системы отсчета дополненной реальности.
Уровень техники
Дополненная реальность дополняет или добавляет восприятие реального поля зрения, например видеопотока в реальном времени, посредством наложения виртуальных объектов или носителя в реальное поле обзора. Дополненная реальность предоставляет возможность наложить на реальное поле обзора искусственную информацию, связанную с реальным миром и его объектами. Дополненная реальность хотя и связана, но отличается от виртуальной реальности, которая заменяет реальное поле обзора искусственным полем обзора. Дополненная реальность применяется в таких областях, как развлечения, видеоигры, спортивные соревнования и сотовый телефон.
Кроме того недостатки традиционных подходов станут очевидны специалистам из сравнения таких систем с некоторыми объектами настоящего изобретения, как указано далее в оставшейся части описания со ссылками на прилагаемые чертежи.
Сущность изобретения
Настоящее изобретение описывает одну или несколько систем, способов, стандартных процедур и/или методов автоматической калибровки системы отсчета для дополненной реальности. Одна или несколько систем, способов, стандартных процедур и/или методов могут предоставить возможность для простой и быстрой калибровки системы дополненной реальности, например, посредством автоматически калибрующейся системы отсчета виртуальных объектов и/или камеры.
Один или несколько вариантов осуществления настоящего изобретения описывают способ дополненной реальности, например, исполненной посредством системы обработки данных, имеющей по меньшей мере один процессор. Способ может включать в себя принимающую или формирующую систему координат следящей системы, связанной со следящей системой объекта. Система координат следящей системы может быть связана с реальным трехмерным пространством. Следящая система может отслеживать позицию и ориентацию в реальном трехмерном пространстве реального объекта и камеры. Способ может включать в себя прием из следящей системы данных о первой системе отсчета реального объекта. Первая система отсчета реального объекта может показывать позицию и ориентацию реального объекта относительно системы координат следящей системы. Способ может включать в себя определение второй системы отсчета реального объекта. Вторая система отсчета реального объекта может показывать позицию и ориентацию реального объекта относительно системы координат следящей системы. Способ может включать в себя прием данных о первой системе отсчета виртуального объекта. Виртуальный объект может быть смоделирован в соответствии с реальным объектом. Первая система отсчета виртуального объекта может быть не связана с системой координат следящей системы. Способ может включать в себя определение второй системы отсчета виртуального объекта. Вторая система отсчета виртуального объекта может показывать позицию и ориентацию виртуального объекта относительно системы координат следящей системы. Способ может включать в себя определение преобразования координат виртуального объекта между первой системой отсчета виртуального объекта и системой координат следящей системы. Способ может включать вывод на экран дополненной сцены, включающей вид реального трехмерного пространства, вид реального объекта и одного или нескольких наложенных виртуальных изделий. Преобразование координат виртуального объекта можно применить для определения положения одного или нескольких наложенных виртуальных элементов в дополненной сцене так, чтобы один или несколько виртуальных элементов были связаны с реальным объектом.
Один или несколько вариантов осуществления настоящего изобретения описывают способ дополненной реальности, например, исполненной посредством системы обработки данных, имеющей по меньшей мере один процессор. Способ может включать в себя принимающую или формирующую систему координат следящей системы, связанной со следящей за объектами системой. Система координат следящей системы может быть связана с реальным трехмерным пространством. Следящая система может отслеживать позицию и ориентацию в реальном трехмерном пространстве камеры, которая захватывает реальное трехмерное пространство и печатный маркер. Способ может включать прием из следящей системы данных о системе отсчета камеры. Система отсчета камеры может показывать позицию и ориентацию камеры относительно системы координат следящей системы. Способ может включать принимающую или формирующую систему координат печатного маркера. Система координат печатного маркера может быть связана с реальным трехмерным пространством. Система координат печатного маркера может быть связана с системой координат следящей системы. Способ может включать определение системы отсчета объектива камеры. Система отсчета камеры может показывать позицию и ориентацию объектива камеры относительно системы координат печатного маркера. Способ может включать определение преобразования координат объектива камеры между системой отсчета камеры и системой отсчета объектива камеры. Способ может включать вывод на экран дополненную сцену, включающую вид реального трехмерного пространства и одного или нескольких виртуальных элементов. Преобразование координат объектива камеры можно использовать для изменения (или искажения) одного или нескольких виртуальных элементов в дополненной сцене.
Один или несколько вариантов осуществления настоящего изобретения описывают некоторую систему. Эта система может включать в себя камеру, которая захватывает вид реального трехмерного пространства, включающего реальный объект. Эта система может включать в себя следящую систему, которая отслеживает позицию и ориентацию в реальном трехмерном пространстве реального объекта и камеры. Следящая система может быть выполнена с возможностью задать систему координат следящей системы, и эта система координат следящей системы может быть связана с реальным трехмерным пространством. Система может включать в себя компьютер, соединенный с камерой и следящей системой, и этот компьютер может включать в себя один или несколько блоков памяти. Компьютер может быть сконфигурирован с разработчиком модели виртуального объекта. Разработчик модели виртуального объекта может быть выполнен с возможностью принимать из следящей системы первую систему отсчета реального объекта, при этом первая система отсчета реального объекта может показывать позицию и ориентацию реального объекта в системе координат следящей системы. Разработчик модели виртуального объекта может быть дополнительно выполнен с возможностью вычисления второй системы отсчета реального объекта, при этом вторая система отсчета реального объекта может показывать позицию и ориентацию реального объекта в системе координат следящей системы. Разработчик модели виртуального объекта может быть дополнительно выполнен с возможностью принимать из одного или нескольких блоков памяти первую систему отсчета виртуального объекта, при этом виртуальный объект может быть смоделирован в соответствии с реальным объектом и первая система отсчета виртуального объекта может быть не связана с системой координат следящей системы. Разработчик модели виртуального объекта может быть дополнительно выполнен с возможностью вычислять вторую систему отсчета виртуального объекта, при этом вторая система отсчета виртуального объекта может показывать позицию и ориентацию виртуального объекта в системе координат следящей системы. Разработчик модели виртуального объекта может быть выполнен с дополнительной возможностью вычисления преобразования координат виртуального объекта между первой системой отсчета виртуального объекта и системой координат следящей системы. Разработчик модели виртуального объекта может быть выполнен с дополнительной возможностью создать и хранить в одном или нескольких блоках памяти дополненную сцену, включающую вид реального трехмерного пространства, вид реального объекта и один или несколько наложенных виртуальных элементов. Преобразование координат виртуального объекта можно использовать для определения положения одного или нескольких наложенных виртуальных элементов в дополненной сцене так, чтобы один или несколько виртуальных элементов были связаны с реальным объектом.
Один или несколько вариантов осуществления настоящего изобретения описывают систему обработки данных, которая включает в себя один или несколько блоков памяти, которые хранят программный код, и один или несколько процессорных блоков, соединенных с одним или несколькими блоками памяти. Один или несколько процессорных блоков могут исполнять программный код, сохраненный в одном или нескольких блоках памяти, которые принимают или задают систему координат следящей системы. Система координат следящей системы может быть связана с реальным трехмерным пространством. Следящая система может отслеживать позицию и ориентацию в реальном трехмерном пространстве камеры, которая захватывает реальное трехмерное пространство и печатный маркер. Один или несколько процессорных блоков могут исполнять программный код, сохраненный в одном или нескольких блоках памяти, чтобы принять из следящей системы систему отсчета камеры. Система отсчета камеры может показывать позицию и ориентацию камеры относительно системы координат следящей системы. Один или несколько процессорных блоков могут исполнять программный код, сохраненный в одном или нескольких блоках памяти, чтобы принять или задать систему координат печатного маркера. Система координат печатного маркера может быть связана с реальным трехмерным пространством и с системой координат следящей системы. Один или несколько процессорных блоков могут исполнять программный код, сохраненный в одном или нескольких блоках памяти, чтобы определить систему отсчета объектива камеры. Система отсчета камеры может показывать позицию и ориентацию объектива камеры относительно системы координат печатного маркера. Один или несколько процессорных блоков могут исполнять программный код, сохраненный в одном или нескольких блоках памяти, чтобы определить преобразование координат объектива камеры между системой отсчета камеры и системой отсчета объектива камеры. Один или несколько процессорных блоков могут исполнять программный код, сохраненный в одном или нескольких блоках памяти, чтобы вывести на экран дополненную сцену, включающую вид реального трехмерного пространства и один или несколько виртуальных элементов. Преобразование координат объектива камеры можно использовать для изменения (или искажения) одного или нескольких виртуальных элементов в дополненной сцене.
Эти и другие преимущества, объекты и новые признаки настоящего изобретения, а также подробности изображенного варианта его осуществления будут более понятны из следующего описания и чертежей. Следует понимать, что вышеизложенное общее описание является лишь иллюстративным и не ограничивает заявленное изобретение.
Краткое описание чертежей
Некоторые признаки и преимущества приведены далее в описании, в котором рассмотрены некоторые варианты осуществления, представленные в качестве примера, посредством следующих чертежей.
На фиг. 1 изображена блок-схема иллюстративных устройств, компонентов, программного обеспечения и взаимодействий системы дополненной реальности в соответствии с одним или несколькими вариантами осуществления настоящего изобретения, при этом автоматические методы калибровки системы отсчета, описанные в данном документе, могут быть полезны в такой системе дополненной реальности.
На фиг. 2 изображена блок-схема иллюстративного метода калибровки в соответствии с одним или несколькими вариантами осуществления настоящего изобретения.
На фиг. 3 изображена иллюстрация оснастки в виде рейсшины, применяемой в следящей системе по ряду соображений в соответствии с одним или несколькими вариантами осуществления настоящего изобретения.
На фиг. 4A изображена иллюстрация примера реального объекта с некоторым числом маркеров отслеживания, прикрепленных или помещенных на реальном объекте в соответствии с одним или несколькими вариантами осуществления настоящего изобретения.
На фиг. 4B изображена иллюстрация того, как следящая система может создать представление реального объекта и определить его положение в соответствии с одним или несколькими вариантами осуществления настоящего изобретения.
На фиг. 5 изображена иллюстрация того, как программное обеспечение виртуального моделирования может задать новую систему отсчета реального объекта в соответствии с одним или несколькими вариантами осуществления настоящего изобретения.
На фиг. 6 изображена иллюстрация того, как программное обеспечение виртуального моделирования может задать новую систему отсчета виртуального объекта в соответствии с одним или несколькими вариантами осуществления настоящего изобретения.
На фиг. 7 изображена блок-схема иллюстративного метода калибровки в соответствии с одним или несколькими вариантами осуществления настоящего изобретения.
На фиг. 8A изображена иллюстрация примера камеры и системы координат камеры в соответствии с одним или несколькими вариантами осуществления настоящего изобретения.
На фиг. 8B изображена иллюстрация того, как следящая система может создать представление камеры и определить его положение в соответствии с одним или несколькими вариантами осуществления настоящего изобретения.
На фиг. 8C изображена иллюстрация примера компьютерного планшета со встроенной камерой в соответствии с одним или несколькими вариантами осуществления настоящего изобретения.
На фиг. 9A и 9B изображена иллюстрация того, как печатный маркер может предоставить возможность определения системы отсчета объектива камеры.
На фиг. 10A изображена иллюстрация примера дополненной сцены, которая может быть создана в соответствии с одним или несколькими вариантами осуществления настоящего изобретения.
На фиг. 10B изображена иллюстрация примера дополненной сцены, которая может быть создана в соответствии с одним или несколькими вариантами осуществления настоящего изобретения.
На фиг. 11 изображена схема последовательности операций, которая показывает примеры шагов способа автоматической калибровки системы отсчета дополненной реальности в соответствии с одним или несколькими вариантами осуществления настоящего изобретения.
На фиг. 12 изображена схема последовательности операций, которая показывает примеры шагов способа автоматической калибровки системы отсчета дополненной реальности в соответствии с одним или несколькими вариантами осуществления настоящего изобретения.
На фиг. 13 изображена блок-схема примера системы обработки данных, которую можно применить для реализации одного или нескольких вариантов осуществления настоящего изобретения.
Подробное описание
В различных системах дополненной реальности для отслеживания позиции и ориентации камеры и различных объектов реального мира в трехмерном пространстве можно применить следящую систему. Например, следящая система может отслеживать камеру и участок оборудования, который камера наблюдает/захватывает. Различные системы дополненной реальности могут попытаться создать дополненную сцену, которая включает в себя реальную сцену, например, захваченную камерой (включающей различные реальные объекты), и наложенный виртуальный носитель и/или объекты. Чтобы создать дополненную сцену, следящая система может установить виртуальную систему координат и может отслеживать представления реальных объектов или "определять их положение" в этой системе координат. Различные системы дополненной реальности могут попытаться "определить положение" различных виртуальных объектов (например, моделей/объектов CAD) в этой же системе координат, для того чтобы создать дополненную сцену. Виртуальные объекты/модели могут иметь свою собственную произвольную систему отсчета (например, позиции и ориентации в трехмерном пространстве) и, таким образом, чтобы определить положение виртуального объекта в системе координат следящей системы, должно быть определено преобразование координат между системой координат следящей системы и системой отсчета виртуального объекта. Кроме того, если камера (например, камера, захватывающая реальную сцену) перемещается, система дополненной реальности может попытаться изменить вид виртуальных объектов. Для того, чтобы сделать это точно, системе дополненной реальности может быть необходимо отслеживать позицию и ориентацию объектива камеры. Однако следящая система может отслеживать только позицию и ориентацию всей камеры. Различные программы из программного обеспечения (например, совместно с другими частями) можно применить для определения системы отсчета для объектива камеры в системе координат, но эти программы отслеживания объектива из программного обеспечения могут отслеживать объектив в системе координат, установленной самой программой отслеживания объектива из программного обеспечения. Таким образом, чтобы определить положение объектива камеры в системе координат следящей системы, должно быть определено преобразование координат между системой координат следящей системы и системы отсчета объектива. Определение этих преобразований координат (например, для виртуальных объектов и/или для объектива камеры) можно назвать калибровкой системы дополненной реальности или калибровкой систем отсчета.
Следует понимать, что термины "система координат", "система отсчета" и "поза" могут быть применены везде в данном описании и быть связанными. Термин "система координат" может относиться к представлению трехмерного пространства, где система координат включает в себя три плоскости или оси (например, ось X, ось Y, ось Z) и начало отсчета (например, точка пересечения трех осей). Термин "система отсчета" или "отсчетная система" может относиться к местоположению и ориентации в трехмерном пространстве объекта или точки, например, в системе координат. Система отсчета объекта может включать в себя начало отсчета (например, аппроксимированный центр масс) для определения положения объекта и ориентации объекта (например, 3 оси, установленные относительно объекта). Термин "поза" это краткая форма для фразы "позиция и ориентация" и может относиться к позиции (например, X, Y, Z координаты) и ориентации (например, поворот относительно продольной оси, поперечной оси, вертикальной оси) объекта в трехмерном пространстве.
Много систем дополненной реальности могут выполнять калибровку системы дополненной реальности вручную или методом последовательного приближения, например, аппроксимируя систему отсчета виртуальной модели и/или объектива камеры относительно системы координат следящей системы и затем тестируя дополненную сцену, чтобы определить, была ли аппроксимация хорошей. Например, специалист может просто посмотреть на наложение виртуальных объектов в дополненной сцене и сделать вывод, относительно того, появились ли они в своих правильных положениях при разных местоположениях и ориентациях камеры. Для этого процесса ручной калибровки может потребоваться оперирование двенадцатью параметрами, например, шестью параметрами виртуального объекта (например, X, Y, Z координаты и крен, тангаж, рыскание) и шестью параметрами объектива камеры (например, X, Y, Z координаты и крен, тангаж, рыскание). Этот процесс может быть дорогим и/или занимающим много времени, например, может занять много часов (точнее, более 8 часов) для завершения. Даже, когда процесс ручной калибровки завершен, он все еще может не привести к точному решению/калибровки. Например, виртуальный объект, положение которого оказывается определенным соответствующим образом при одной позиции камеры, может оказаться не определенным соответствующим образом при других позициях камеры. Малые ошибки в определении положения виртуального объекта могут привести к большим ошибкам на более крупных реальных объектах. Кроме того, каждый раз, когда система дополненной реальности устанавливается в новую окружающую обстановку или для нового реального объекта или камеры, система дополненной реальности должна быть вручную откалибрована.
Настоящее изобретение описывает одну или несколько систем, способов, стандартных процедур и/или методов автоматической калибровки системы отсчета для дополненной реальности. Одна или несколько систем, способов, стандартных процедур и/или методов могут предоставить возможность простой и быстрой калибровки системы дополненной реальности, например, посредством автоматически калибрующейся системы отсчета виртуальных объектов и/или камеры. Одна или несколько систем, способов, стандартных процедур и/или методов могут предоставить возможность установки системы дополненной реальности в новую окружающую обстановку или на новый реальный объект (например, участок оборудования) в относительно короткое время (например, менее 15 минут) и могут предоставить возможность для точного совмещения наложенного виртуального контента с реальной сценой. Точное совмещение виртуального контента может быть критичным, если система дополненной реальности применяется для дачи указания специалисту выполнить точную задачу, например, просверлить малое отверстие в точно заданном месте. Одна или несколько систем, способов, стандартных процедур и/или методов могут определить и/или вычислить преобразования координат между различными системами отсчета (например, системы координат следящей системы, системы отсчета виртуального объекта и системы отсчета объектива камеры). Настоящее изобретение может описать две основные стандартные процедуры и/или методы калибровки. Первая стандартная процедура и/или метод калибровки может определить и/или вычислить преобразование координат между системой отсчета виртуального объекта (например, модели CAD) и системой координат, связанной со следящей системой. Вторая стандартная процедура и/или метод калибровки может определить и/или вычислить преобразование координат между системой отсчета объектива камеры и системой отсчета всей камеры, как это определено следящей системой. Эти стандартные процедуры и/или методы могут калибровать систему дополненной реальности для быстрого, точного совмещения виртуального контента с видом прямой трансляции реальной сцены.
На фиг. 1 изображена блок-схема примеров устройств, компонентов, программного обеспечения и взаимодействий системы 100 дополненной реальности в соответствии с одним или несколькими вариантами осуществления настоящего изобретения, где автоматические методы калибровки системы отсчета, описанные в данном документе, могут быть полезной в указанной системе дополненной реальности. Система 100 дополненной реальности может включать в себя камеру 102, которая может захватывать и/или передавать видеопоток реальной сцены в реальном времени. Реальная сцена может включать в себя один или несколько реальных объектов, например реальный объект 104. Реальный объект 104 может быть одним из различных объектов, например инструментом, участком оборудования, большим искусственным спутником, блоком управления, панелью управления или многими другими объектами. Камера 102 может быть связанной с компьютером 106, при этом компьютер может интерпретировать и/или обрабатывать информацию (например, потоковое видео), отправленную от камеры, связанной с реальными сценами и/или объектами захваченными камерой.
Система 100 дополненной реальности может включать в себя следящую систему 108. Следящая система 108 может отслеживать "позу" (позицию и ориентацию в трехмерном пространстве) реального объекта 104 и камеры 102 и может передавать эту информацию (например, в реальном времени) в компьютер (например, компьютер 106) или другой компонент. Следящая система 108 может включать в себя различные компоненты, например некоторое количество маркеров отслеживания, некоторое количество измерительных устройств для распознавания маркеров отслеживания и базовое вычислительное устройство, которое может прогнать соответствующее программное обеспечение следящей системы. В одном из примеров каждый маркер может представлять собой маленький шарик (например, 10 миллиметровый шарик) с отражающим покрытием, которое предназначено для отражения определенных длин волн света. В этом примере маркеры можно поместить в различных местах и/или на различных объектах в пространстве реального мира так, чтобы следящая система 108 могла отслеживать позицию и/или ориентацию определенных точек и/или объектов в трехмерном пространстве. Например, несколько (т.е. три или более) маркеров отслеживания можно поместить на реальном объекте 104, и несколько (т.е. три или более) маркеров отслеживания можно поместить на камере 102.
Измерительные устройства следящей системы 108 могут представлять собой камеры, которые предназначены для детектирования местоположения в трехмерном пространстве маркеров отслеживания. Например, каждая камера может представлять собой инфракрасную камеру, которая предназначена для детектирования отражений от различных маркеров отслеживания (например, маркеры отслеживания, помещенные на камере 102 и на реальном объекте 104). Различные измерительные устройства (например, инфракрасные камеры) можно поместить и/или смонтировать в различных местах трехмерного пространства, например некоторое количество (т.е. восемь или более) камер можно смонтировать на стенках комнаты или лаборатории, например смонтировать в таком порядке, чтобы интересующее трехмерное пространство в полной мере было покрыто областями видимости различных камер. Различные измерительные устройства следящей системы 108 могут быть связаны (например, посредством линии связи в реальном времени, такой как Ethernet, WiFi или аналогичной им) с базовым вычислительным устройством, при этом базовое вычислительное устройство, может прогонять соответствующее программное обеспечение следящей системы. Программное обеспечение следящей системы может обработать данные от различных измерительных устройств. Следящая система 108 может быть связана (например, посредством линии связи в реальном времени, такой как Ethernet, WiFi или аналогичной им) с компьютером 106. Компьютер может представлять собой компьютер, связанный с камерой 102. В некоторых вариантах осуществления базовое вычислительное устройство следящей системы 108 может быть тем же вычислительным устройством, как и компьютер 106.
В некоторых вариантах осуществления камера 102 может быть встроена в компьютер 106. В некоторых примерах компьютер 106 может представлять собой мобильное устройство, например компьютерный планшет, смартфон, КПК или аналогичное им. В качестве одного конкретного примера компьютер 106 может представлять собой компьютерный планшет (см. фиг. 7C для примера) с интегрированной камерой. Мобильное устройство с интегрированной камерой может предоставить гибкость и свободу движения пользователю. Например, пользователь мог бы видеть дополненную сцену, которая включает в себя реальный объект (например, реальный участок оборудования), и пользователь мог бы ходить вокруг реального объекта, наблюдая разные части и/или углы реального объекта. Кроме того, пользователь может видеть виртуальный контент на экране планшета, который содействует пользователю в выполнении задачи, например, виртуальный контент может включать в себя инструкции, стрелки, аппаратное обеспечение, инструменты или аналогичные им, которые могут инструктировать пользователя, как надо работать на реальном объекте или с ним. Компьютерный планшет в этом примере (например, компьютер 106) может включать в себя программное обеспечение 110 для виртуального моделирования. Компьютерный планшет в этом примере мог быть связан (например, посредством линии связи в режиме реального времени, такой как Ethernet, WiFi или аналогичной им) со следящей системой 108 (например, базовым вычислительным устройством следящей системы).
Компьютер 106 может включать в себя программное обеспечение 110 виртуального моделирования. Программное обеспечение виртуального моделирования может предоставить доступ или загрузить различные виртуальные объекты, например виртуальный объект (ВО) 112. Виртуальные объекты (например, ВО 112) могут быть легко созданы одним из известных способов создания виртуальных и/или автоматически спроектированных (CAD) объектов и/или моделей. Виртуальные/CAD объекты/модели могут быть созданы применением программного обеспечения CAD, например программного обеспечения, в котором применяется векторная графика или нечто аналогичное для изображения объекта, например объекта, смоделированного в соответствии с объектом реального мира. Виртуальные/CAD объекты/модели могут представлять собой объекты 3D, которые учитывают, подробно, различные 3D-свойства реального объекта. Виртуальный объект 112 может представлять собой виртуальное представление реального объекта 104. Компьютер 106 может предоставить доступ или загрузить и другие виртуальные объекты кроме истинных виртуальных объектов, которые представляют реальные объекты в реальном пространстве. В качестве примера, реальный объект 104 может быть участком оборудования, а виртуальный объект 112 может быть виртуальным представлением этого же участка оборудования. Кроме того, следующая группа виртуальных объектов может не иметь никаких двойников в реальном пространстве, например виртуальные объекты могут представлять гипотетические винты, инструменты, провода и т.п., с помощью которых специалисту показывают как обращаться с реальным объектом 104.
Программное обеспечение виртуального моделирования может принять данные (например, поток реальных временных данных) от следящей системы 108, например от координатной системы, заданной следящей системой, от системы отсчета камеры 102 и системы отсчета реального объекта 104. Программное обеспечение виртуального моделирования может выполнять различные стандартные процедуры, методы и т.п., описанные в данном документе, чтобы создать дополненную сцену (например, дополненную сцену 114), к примеру обзор в реальном времени реального пространства, захваченного камерой 102 и дополненного виртуальными объектами. Программное обеспечение виртуального моделирования может выполнять различную калибровку стандартных процедур и/или методов, как описано в данном документе, чтобы совместить системы координат и системы отсчета виртуальных объектов и объектива камеры с системой координат, связанной со следящей системой. Как только калибровка выполнена, программное обеспечение виртуального моделирования может поддерживать корреляцию и/или совмещение между различными виртуальными объектами и живой реальной сценой. Компьютер 106 может включать в себя или быть связанным с индикатором 116, который может вывести на экран пользователю дополненную сцену 114. Программное обеспечение виртуального моделирования может создать дополненную сцену 114 (выведенную на экран дисплея 116), которая показывает виртуальные объекты, помещенные на видеопоток в реальном времени. Программное обеспечение виртуального моделирования может соответствующим образом исказить (например, изменяя 3D-местоположение, 3D-ориентацию, и/или 3D-размер) виртуальные объекты в дополненной сцене, например, в зависимости от позы камеры 102, относительно позы реального объекта 104. Например, если камера 102 отходит дальше от реального объекта 104, один или несколько виртуальных объектов в дополненной сцене могут съежиться. В качестве другого примера, если камера 102 приближается к реальному объекту 104, один или несколько виртуальных объектов будут увеличены. В качестве еще одного примера, если камера 102 перемещается под углом относительно реального объекта 104, один или несколько виртуальных объектов будут поворачиваться соответствующим образом.
На фиг. 2 изображена блок-схема примера одного из методов калибровки, в соответствии с одним или несколькими вариантами осуществления настоящего изобретения. В частности, на фиг. 2 показан метод автоматической калибровки системы отсчета, который можно применить для определения и/или вычисления преобразования координат между системой отсчета виртуальных объектов (например, виртуальных объектов, добавленных к дополненной сцене) и системы отсчета, связанной со следящей системой. Как видно из фиг. 2, следящая система 202 (например, аналогичная следящей системе 108 по фиг. 1) может задать систему координат 204, например, как часть инсталляции следящей системы, осуществляемой специалистом. Система координат следящей системы может включать в себя три оси (например, ось X, ось Y, ось Z) и точку отсчета, в которой эти три оси пересекаются. Следящая система может "поместить" или связать точку отсчета системы координат с конкретной точкой в реальном трехмерном пространстве и может ориентировать систему координат относительно реального трехмерного пространства. В следящей системе можно использовать оснастку в виде рейсшины для задания ее системы координат, например, рейсшину, аналогичную рейсшине 300, показанной на фиг. 3. По фиг. 3 рейсшина 300 может походить на букву "Т" и может включать в себя первую удлиненную составляющую (например, составляющая 302), которую можно обозначить как первая ось (например, ось X), и может включать в себя вторую удлиненную составляющую (например, составляющая 304), которую можно обозначить как вторая ось (например, ось Z). На рейсшине 300 можно также обозначить точку отсчета в точке 306, где первая составляющая 302/ось и вторая составляющая 304/ось пересекаются. Третья, воображаемая ось (например, ось Y) может проходить через точку отсчета 306. В качестве примера, рейсшину 300 можно положить на пол комнаты или лаборатории, а следящий механизм может задать систему ее координат посредством обнаружения рейсшины и/или маркеров отслеживания (например, маркеров отслеживания 308, 310, 312, 314, 316), прикрепленных к рейсшине. Следящая система может задать виртуальную точку отсчета и три виртуальные оси, которые связаны с точкой отсчета и осями как они обозначены при помощи рейсшины 300. Как только система координат следящей системы задана, следящая система может отслеживать реальный объект (например, оснащенный тремя или несколькими маркерами отслеживания) в комнате или лаборатории и определяет его положение в системе координат и ориентацию объекта относительно трех осей.
Из фиг. 2 видно, что следящая система 202 может определить систему отсчета 206, связанного с реальным объектом. Другими словами следящая система 202 может отслеживать реальный объект. Реальный объект может быть аналогичным реальному объекту 104 по фиг. 1, например. Реальный объект может быть одним из многих объектов, например инструментом, участком оборудования, большим искусственным спутником, блоком управления, панелью управления или многими другими объектами. На фиг. 4A показан пример реального объекта 400 - бурозаправочный станок. Для того, чтобы следящая система отслеживала (т.е. определяла систему отсчета) реальный объект 400, несколько (например, три или более) маркеров отслеживания (например, маркеров отслеживания 402, 404, 406) могут быть прикреплены или помещены на реальный объект 400. Для соответствующего отслеживания маркеры отслеживания должны быть помещены соответствующим образом на реальном объекте 400, например, в неколлинеарном несимметричном порядке. Говорят, три или несколько точек коллинеарны, если они лежат на одной прямой линии. Таким образом, неколлинеарное упорядочение маркеров отслеживания означает, что маркеры отслеживания упорядочены так, что не все они лежат на прямой линии. Для соответствующего отслеживания по меньшей мере три неколлинеарные маркеры отслеживания можно поместить на реальном объекте. Более трех маркеров отслеживания можно поместить на реальном объекте, например, для повышения надежности и/или точности вычислений, например, на тот случай, когда обзор одного из маркеров отслеживания закрыт.
Следящая система (например, включающая несколько инфракрасных камер) может детектировать маркеры отслеживания и создавать представление реального объекта и определять его положение в системе координат, заданной следящей системой. На фиг. 4B проиллюстрировано как следящая система может создавать представление реального объекта и определить его положение. Следящая система может детектировать местоположение маркеров отслеживания (например, маркеры 402, 404, 406, а возможно и больше маркеров, не показанных на фиг. 4A) и может создавать точки (например, точки 452, 454, 456 и 458), связанные с соответствующими маркерами отслеживания, и определять их положение в системе координат следящей системы. Из этих точек (т.е. точек 452, 454, 456 и 458) следящая система может определить точку отсчета (т.е. точку 460) и ориентацию (см. на куб и линии ориентации, которые окружают точку 460) для представления реального объекта. Точка отсчета может быть определена путем вычисления центроида (например, центра масс) точек 452, 454, 456 и 458. Ориентация может быть задана соответствующей (или связанной с) ориентацией системы координат следящей системы. Как только следящая система определит систему отсчета (например, точку отсчета/местоположение и ориентацию, связанную с системой координат следящей системы), связанную с реальным объектом, следящая система может передать информацию о позе реального объекта в программное обеспечение виртуального моделирования. Передача информации о позе реального объекта может привести к обновлению в реальном времени, поскольку реальный объект может перемещаться и/или поворачиваться.
Согласно фиг. 2, программное обеспечение 210 виртуального моделирования может задать новую систему отсчета 212 реального объекта. Программное обеспечение 210 виртуального моделирования может быть аналогичным, например, программному обеспечению 110 виртуального моделирования по фиг. 1. Программное обеспечение 210 виртуального моделирования может использовать ту же систему координат, как и та, которая связана со следящей системой. Новая система отсчета 212 реального объекта может указывать другие (по сравнению с системой отсчета 206 реального объекта) точки отсчета на реальном объекте и может определить и/или вычислить некоторые другие точки отсчета. Задание новой системы отсчета реального объекта может предоставить возможность программному обеспечению виртуального моделирования выбрать точки отсчета на реальном объекте, которые будут такими же (или очень близкими) точками отсчета, как и на виртуальном объекте (например, модель CAD), который связан с реальным объектом.
На фиг. 5 проиллюстрировано как программное обеспечение виртуального моделирования может задать новую систему отсчета реального объекта, например реального объекта 500. Некоторое число точек отсчета (например, точки 502, 504, 506) могут быть указаны на реальном объекте 500. Эти точки отсчета могут быть указаны специалистом, например, посредством применения оснастки или рейсшины, например, рейсшины, аналогичной рейсшине 300 по фиг. 3. Оснастка или рейсшина может быть выполнена с возможностью отслеживания следящей системой, например, позиция между маркерами отслеживания, прикрепленными к рейсшине, относительно друг друга, может быть определена посредством следящей системы, принимая во внимание достоверный сбор точек. Программное обеспечение виртуального моделирования может использовать данные следящей системы о позиции рейсшины для записи точек отсчета на реальном объекте. В качестве примера, программное обеспечение виртуального моделирования может принять точку на рейсшине за "указатель" (например, кончик продолговатой составляющей рейсшины). Специалист может коснуться указателем различных точек на реальном объекте (например, точек 502, 504, 506), и через рейсшину и следящую систему программное обеспечение виртуального моделирования может захватить или записать эти точки и определить их положение в системе координат, связанной со следящей системой. Чтобы определить новую систему отсчета, точки отсчета должны быть по возможности помещены соответствующим образом на реальном объекте 500, например, в неколлинеарном порядке. По меньшей мере три неколлинеарные точки отсчета можно поместить на реальном объекте. Более трех точек отсчета можно поместить на реальном объекте, например, для повышения надежности и/или точности вычислений. По этим точкам отсчета (например, точкам 502, 504, 506) программное обеспечение виртуального моделирования может определить точку отсчета (например, точку 508) и ориентацию (см. осевые линии, исходящие из точки 508) реального объекта. Точка отсчета может быть определена путем вычисления центроида (например, центра масс) точек 502, 504, 506. Ориентация реального объекта может быть определена посредством размещения двух осей (например, ось X, ось Z), которые тянутся из точки отсчета в плоскости, созданной точками 502, 504, 506.
По фиг. 2 как только новая система отсчета реального объекта 212 задана, программное обеспечение 210 виртуального моделирования, может вычислить поступательные и/или поворотные расхождения между новой системой отсчета 212 реального объекта и системой отсчета 206 реального объекта, определенной посредством следящей системы.
По фиг. 2 программное обеспечение 210 виртуального моделирования может предоставить доступ или загрузить различные виртуальные объекты, например, предварительно разработанные модели CAD. Программное обеспечение 210 виртуального моделирования может определить положение виртуальных объектов в системе координат, связанной со следящей системой, но системе дополненной реальности может быть необходима калибровка перед тем, как соответствующее определение будет работать. Виртуальный объект (например, модель CAD) может иметь свою собственную систему отсчета (например, точку отсчета и три оси ориентации), например тот, который указан, когда виртуальный объект был разработан. Возможен случай (например, для конкретной окружающей обстановки), когда все виртуальные объекты, рассмотренные программным обеспечением виртуального моделирования, могут совместно использовать одну и ту же систему отсчета (например, систему отсчета 214 виртуального объекта). Чтобы определить положение виртуальных объектов в системе координат, связанной со следящей системой, программное обеспечение 210 виртуального моделирования может определить преобразование координат между системой отсчета 214 виртуальных объектов и системой координат 204, связанной со следящей системой. Чтобы откалибровать систему дополненной реальности (например, определить преобразование координат), программное обеспечение 210 виртуального моделирования может использовать виртуальный объект (например, виртуальный объект 112 по фиг. 1), соответствующий реальному объекту (например, реальный объект 104 по фиг. 1), который камера (например, камера 102 по фиг. 1) системы дополненной реальности захватывает. Этот виртуальный объект может иметь систему отсчета 214 виртуального объекта.
Программное обеспечение 210 виртуального моделирования может задать новую систему отсчета 216 виртуального объекта для реального виртуального объекта. Программное обеспечение 210 виртуального моделирования может использовать ту же систему координат, как и та, которая связана со следящей системой. Новая система отсчета 216 виртуального объекта может иметь другую точку отсчета и ориентацию по сравнению с системой отсчета 214 виртуального объекта. Задание новой системы отсчета виртуального объекта может предоставить возможность программному обеспечению виртуального моделирования выбрать точки отсчета на виртуальном объекте, которые являются теми же (или очень близкими) точками отсчета, которые были указаны (как рассмотрено выше) по отношению к соответствующему реальному объекту, и может предоставить возможность совмещения (см. в общем точки 218) новой системы отсчета 212 реального объекта с новой системой отсчета 216 виртуального объекта. Совмещение новой системы отсчета 212 реального объекта (связанной с реальным объектом) с новой системой отсчета 216 виртуального объекта (связанной с виртуальным объектом) может быть достигнуто, например, посредством выбора одних и тех же точек отсчета как на реальном объекте, так и на виртуальном объекте, и посредством выполнения одних и тех же вычислений точки отсчета и ориентации для каждого из них.
На фиг. 6 проиллюстрировано как программное обеспечение виртуального моделирования может задать новую систему отсчета виртуального объекта, например виртуального объекта 600. Следует отметить, что с целью калибровки виртуальный объект 600 может быть виртуальным объектом, смоделированным в соответствии со связанным реальным объектом, который камера системы дополненной реальности захватывает, например реальный объект 500 по фиг. 5. Некоторое число точек отсчета (например, точки 602, 604, 606) могут быть выбраны на реальном объекте 600. Эти точки отсчета могут соответствовать (например, быть в такой же относительной позиции) точкам отсчета, которые были выбраны, указаны и/или записаны, чтобы создать новую систему отсчета реального объекта (см. фиг. 5 и связанное обсуждение). Как и в случае определения системы отсчета реального объекта точки отсчета для определения системы отсчета виртуального объекта могут быть неколлинеарны, и по меньшей мере три неколлинеарные точки отсчета могут быть выбраны на виртуальном объекте. По этим точкам отсчета (например, точкам 602, 604, 606) программное обеспечение виртуального моделирования может определить точку отсчета (например, точку 608) и ориентацию (см. осевые линии, исходящие из точки 608) виртуального объекта. Точка отсчета может быть определена путем вычисления центроида (например, центра масс) точек 602, 604, 606. Ориентация виртуального объекта может быть определена посредством размещения двух осей (например, ось X, ось Z), которые тянутся из точки отсчета в плоскости, созданной точками 602, 604, 606.
Согласно фиг. 2, как только новая система отсчета 216 виртуального объекта задана, программное обеспечение 210 виртуального моделирования может вычислить поступательные и/или поворотные расхождения между новой системой отсчета 216 виртуального объекта и системой отсчета 214, связанной с виртуальным объектом.
Как рассмотрено выше, виртуальный объект, который смоделирован в соответствии с ассоциируемым реальным объектом в трехмерном пространстве, может быть востребован для калибровки системы дополненной реальности, например, чтобы определить новую систему отсчета 216 виртуального объекта, которая может быть связана с новой системой отсчета 212 реального объекта. Однако следует понимать, что как только калибровка завершится, то положение многих других виртуальных объектов может быть определено (например, посредством программного обеспечения виртуального моделирования) в системе координат, связанной со следящей системой. Из фиг. 2 видно как это определение работает. Чтобы определить положение виртуального объекта в системе координат, связанной со следящей системой, должна быть определено преобразование координат (например, преобразование M4, показанное на фиг. 2) между системой 214 отсчета виртуального объекта (например, точкой отсчета и ориентацией) и системой 204 координат, связанной со следящей системой. Преобразование M4 данных не может быть известно до завершения процесса калибровки. В процессе калибровки, как рассмотрено выше, могут быть определены многие другие преобразования координат, которые относятся к преобразованию M4. Как показано на фиг. 2, в процессе калибровки могут быть определены преобразование M1 (т.е. посредством которого следящая система определяет положение отслеживаемых реальных объектов в ее системе координат), преобразование M2 (т.е. поступательные и поворотные расхождения между системой 206 отсчета реального объекта и новой системой 212 отсчета реального объекта) и преобразованием М (т.е. поступательные и поворотные расхождения между системой 214 отсчета виртуального объекта и новой системой 216 отсчета виртуального объекта). Как только преобразования M1, M2 и M3 станут известны, может быть вычислено преобразование M4. Как только преобразование M4 станет известно, положение многих виртуальных объектов можно определить в системе координат, связанной со следящей системой. Кроме того, поскольку информация (например, поза реального объекта) из следящей системы передается в программное обеспечение виртуального моделирования, то если преобразование M1 изменяется (т.е. поза реального объекта в трехмерном пространстве), преобразование M4 может обновляться, например, в режиме реального времени. В связи с этим виртуальные объекты могут перекрываться на реальной сцене, и внешний вид виртуальных объектов может изменяться соответствующим образом, например так, как ассоциируемый реальный объект перемещается по сцене.
Далее представлен один пример метода вычисления преобразования M4 по фиг. 2. Каждое из преобразований (M1, M2, M3, M4), как показано на фиг. 2, может быть представлено матрицей преобразования, например матрицей преобразования 4×4, как это обычно применяется в компьютерной трехмерной графике. Преобразование M1 может быть представлено как матрица преобразования 1, показанная ниже. Преобразование M2 может быть представлено как матрица преобразования 2, показанная ниже. Преобразование M3 может быть представлено как матрица преобразования 3, показанная ниже.
Figure 00000001
Figure 00000002
Figure 00000003
Каждая матрица преобразования может включать в себя поворотный или ориентационный компонент (DCMn или "матрица направляющих косинусов") и поступательный или позиционный компонент (vn). Например, DCMn представляет поворотную матрицу для преобразования Mn, а Vn представляет поступательный вектор для преобразования Mn. Поворотный компонент (DCMn) может быть матрицей 3×3, которая представляет изменение ориентации между двумя объектами. DCMn компонент может представлять три величины - изменение крена (например, вращение по оси X), изменение тангажа (например, вращение по оси Y), и изменение рыскания (например, вращение по оси Z). Эти три значения могут быть распространены на матрицу 3×3 DCMn, чтобы аппроксимировать соответствующим образом на матрицу преобразования Mn 4×4. Специалист, хорошо знакомый с матрицами преобразования и умножением матриц, должен понимать, что матрица преобразования должна быть заполнена подходящим образом так, чтобы умножение одной матрицы на другую привело к необходимому преобразованию. Поступательный компонент (vn) может быть матрицей 1×3 (т.е. 3 числа в вертикальной колонке), которая представляет изменение местоположения двух объектов (например, изменение местоположения точек отсчета двух объектов). Поступательный компонент (vn) может включать три значения - изменение 3D-местоположения относительно оси X, изменение 3D-местоположения относительно оси Y и изменение 3D-местоположения относительно оси Z. Когда поворотный компонент (DCMn) и поступательный компонент (vn) добавлены в матрицу преобразования (Mn) и компонентом "0001" заполнена нижняя строка (для осуществления операции умножения матриц), то построение матрицы преобразования завершено.
Затем может быть вычислено преобразование M4, как это и показано в 4 ниже, приводящее к преобразованию M4, показанному в 5 ниже.
Figure 00000004
Figure 00000005
В некоторых вариантах осуществления однажды вычисленное преобразование M4 остается тем же. Как видно из фиг. 2, как только преобразование M4 вычислено, оно может представлять преобразование из системы отсчета виртуального объекта в систему отсчета реального объекта, определенную следящей системой. Преобразование M4 можно применить для определения положения различных виртуальных объектов в системе координат, связанной со следящей системой, например, размещенных в позе относительно системы отсчета реального объекта, определенной следящей системой. Поскольку информация (например, поза реального объекта) из следящей системы передается в программное обеспечение виртуального моделирования, то если преобразование M1 изменяется (т.е. поза реального объекта в трехмерном пространстве), поза различных виртуальных объектов может обновляться, например, в режиме реального времени.
Согласно фиг. 1 камера 102 может также требовать калибровки перед тем, как система дополненной реальности может исказить, изменить или связать виртуальные объекты в связи с перемещением камеры 102. Трудности и решения, связанные с калибровкой камеры 102, могут быть аналогичными тем, что связаны с калибровкой виртуальных объектов относительно системы координат, связанной со следящей системой, как описано выше. Чтобы достичь точного совмещения между виртуальными объектами и реальной сценой (захваченной камерой 102), программное обеспечение виртуального моделирования может потребовать отслеживание позы объектива камеры 102, а не только корпуса камеры как целого. Различные способы калибровки камер включали длительные измерения и обработку ошибок (например, несколько часов), чтобы вручную оперировать шестью параметрами (например, X, Y, Z, крен, тангаж, рыскание), связанными с объективом камеры. С такими ручными методами точное определение положения объектива камеры не гарантировано даже после завершения калибровки.
На фиг. 7 изображена блок-схема, показывающая пример метода калибровки, в соответствии с одним или несколькими вариантами осуществления настоящего изобретения. В частности, на фиг. 7 показана автоматическая метод калибровки системы отсчета, который можно применить для определения и/или вычисления преобразования координат между системой отсчета камеры, отслеживаемой следящей системой, и системой отсчета объектива камеры. Как видно из фиг. 7, следящая система 702 (например, аналогичная следящей системе 108 по фиг. 1) может задать систему 704 координат, например, как часть инсталляции следящей системы, осуществляемой специалистом (подробнее выше). Следящая система 702 может определить систему 706 отсчета для камеры. Другими словами следящая система 702 может отслеживать камеру. Камера может быть аналогичной камере 102 по фиг. 1, например. Камера может представлять собой независимую камеру или может быть встроена в компьютер, например компьютер, который прогоняет программное обеспечение виртуального моделирования. На фиг. 8A показана иллюстрация камеры 800, приведенной в качестве примера. Для того, чтобы следящая система отслеживала (т.е. определяла систему отсчета) камеру 800, несколько (например, три или более) маркеров отслеживания (например, маркеров отслеживания 802, 804, 806) могут быть прикреплены или помещены на камеру 800. В некоторых вариантах осуществления маркеры отслеживания могут прикрепляться к корпусу самой камеры. В других вариантах осуществления маркеры отслеживания могут прикрепляться к системе 801 координат, которая содержит и/или поддерживает камеру 800, как показано в примере по фиг. 8A. Для соответствующего отслеживания маркеры отслеживания должны быть помещены соответствующим образом на камере 800, например, в неколлинеарном расположении. Для соответствующего отслеживания по меньшей мере три неколлинеарные маркеры отслеживания можно поместить на камере (или в системе отсчета камеры). Более трех маркеров отслеживания можно поместить на камере, например, для повышения надежности и/или точности вычислений, например, на тот случай, когда обзор одного из маркеров отслеживания закрыт.
Следящая система (например, включающая несколько инфракрасных камер) может детектировать маркеры отслеживания на камере (или системе отсчета камеры) и создавать представление камеры и определять его положение в системе координат, заданной следящей системой. На фиг. 8В проиллюстрировано как следящая система может создать представление камеры и определять его положение. Следящая система может детектировать местоположение маркеров отслеживания (например, маркеров 802, 804, 806 и возможно многих других маркеров) и может создавать точки (например, точки 852, 854, 856 и возможно многие другие) соответственно, связанные с маркерами отслеживания, и определять их положение в системе координат следящей системы. Из этих точек (например, точек 852, 854, 856 и возможно других) следящая система может определить точку отсчета (например, точку 860) и ориентацию (см. на куб и линии ориентации, которые окружают точку 860) для представления реального объекта. Точка отсчета может быть определена путем вычисления центроида (например, центра масс) точек 852, 854, 856 и возможно других. Ориентация может быть задана соответствующей (или связанной с) ориентацией системы координат следящей системы. Как только следящая система определит систему отсчета (например, точку отсчета/местоположение и ориентацию, ассоциированную с системой координат следящей системы) камеры, эта следящая система может передать информацию о позе камеры в программу обеспечения виртуального моделирования. Передача информации о позе камеры может привести к обновлению в режиме реального времени, поскольку камера может перемещаться и/или поворачиваться.
В некоторых вариантах осуществления камера может быть встроена в компьютер, например компьютер, который прогоняет программное обеспечение виртуального моделирования. В качестве одного конкретного примера компьютер может представлять собой компьютерный планшет с встроенной камерой. На фиг. 8C показан пример компьютерного планшета 870 со встроенной камерой. Например, первая сторона 874 компьютерного планшета 870 может быть обращена к пользователю 872 и напротив, вторая сторона 876 может быть отвернута от пользователя 872. Камера может быть смонтирована на второй стороне 876, так, что она может захватывать реальный объект (например, реальный объект 880). Если система дополненной реальности соответствующим образом откалибрована, то пользователь 872 может увидеть реальную сцену (включая вид 881 реального объекта 880) на экране компьютерного планшета 870. Экран может также вывести на экран виртуальный контент (например, виртуальный контент 882), наложенный поверх реальной сцены/реального объекта. Для того, чтобы следящая система отслеживала камеру (например, встроенную в компьютерный планшет 870), некоторое число маркеров отслеживания (например, маркеры отслеживания 884, 886, 888) могут быть смонтированы на компьютерном планшете 870. Следовательно, отслеживание камеры может быть выполнено способом, аналогичным рассмотренному выше.
Согласно фиг. 7, программное обеспечение виртуального моделирования 710 может принять переданную информацию от следящей системы 702 о позе/системе отсчета камеры. Однако программному обеспечению виртуального моделирования 710 может потребоваться отслеживание местоположения объектива камеры, вместо корпуса камеры (или системы координат камеры, или компьютерного планшета) как целого. Чтобы определить систему отсчета для объектива камеры, можно применить специальный печатный маркер и связанное с ним программное обеспечение. На фиг. 9A и 9B изображена иллюстрация, которая показывает, как печатный маркер может предоставить возможность определения системы отсчета объектива камеры. Как показано на фиг. 9A, камера 902 может захватывать или записывать реальные компоненты в поле обзора 904 камеры. Специальный печатный маркер 906 можно поместить в поле обзора 904 камеры. Следует понимать, что печатный маркер 906 может быть применен только для калибровки камеры и системы дополненной реальности. Как только программное обеспечение виртуального моделирования будет в состоянии отслеживать объектив камеры, виртуальный маркер 906 может быть удален.
Чтобы откалибровать систему дополненной реальности, печатный маркер 906 можно поместить в поле обзора 904 камеры, например, где-то в трехмерном пространстве комнаты или лаборатории (например, на полу). Печатный маркер 906 может включать в себя различные отметки (например, отметки 908), которые могут показывать систему координат (например, точку отсчета и ориентацию) печатного маркера. Камера 902 может, следовательно, захватить печатный маркер 906 (включающий различные отметки) и может передать эту информацию в компьютер 910 (например, аналогичному компьютеру 106 по фиг. 1). Компьютер 910 может быть тем же самым компьютером, который включает в себя программное обеспечение виртуального моделирования. Компьютер 910 может включать в себя программное обеспечение 912, который связан с печатным маркером 906. Программное обеспечение 912 печатного маркера может принять информацию из камеры 902, включающую информацию о том, как камера "видит" печатный маркер 906, например, как печатный маркер оказался помещенным и ориентированным в поле обзора камеры. Программное обеспечение 912 печатного маркера может, следовательно, обработать эту информацию, чтобы определить систему отсчета (например, точку отсчета и ориентацию) объектива камеры 902, например, систему координат, заданную посредством печатного маркера 906 (и различных отметок 908), в которой объектив определен. В качестве примера и согласно фиг. 9 В с целью калибровки камера 902 и печатный маркер 906 могут быть ориентированы относительно друг друга так, чтобы оси, заданные печатным маркером (например, X, Y, Z) совмещались с вертикальной, горизонтальной и глубинной осью камеры, конкретно объектива камеры.
Согласно фиг. 7, программное обеспечение виртуального моделирования (например, посредством программного обеспечения, связанного со специальным печатным маркером) может определить систему отсчета 714 объектива камеры, например, как она соотносится с системой 712 координат, заданной посредством печатного маркера. Для того чтобы соотнести позу объектива камеры с позой различных виртуальных объектов, программное обеспечение виртуального моделирования может определить положение объектива камеры в системе координат, связанной со следящей системой, например, посредством связывания системы отсчета 714 объектива камеры с системой отсчета 706 камеры как целого, как это и делается посредством следящей системы. Однако программное обеспечение 710 виртуального моделирования может быть не в состоянии связать систему отсчета 714 объектива камеры с системой отсчета 706 камеры как одно целое, пока система дополненной реальности не откалибрована, например, потому что система координат 712, заданная посредством печатного маркера, может отличаться от системы координат 704, заданной посредством следящей системы. Таким образом, процесс калибровки может включать в себя совмещение (в общем показанное посредством числа 716) системы 712 координат, заданного посредством печатного маркера, с системой 704 координат, заданной посредством следящей системы. Это совмещение может включать в себя размещение печатного маркера (например, точки отсчета печатного маркера) в том же месте (например, том же месте в трехмерном пространстве на полу комнаты или лаборатории), где и точка отсчета системы координат следящей системы. Совмещение может также включать совмещение оси (например, X, Y, Z) печатного маркера с осями системы координат следящей системы. В связи с этим как только две системы координат будут совмещены, программное обеспечение виртуального моделирования 710 может интерпретировать их как одну систему координат.
Чтобы связать систему отсчета 714 объектива камеры с системой отсчета 706 камеры как одно целое, программное обеспечение 710 виртуального моделирования может определить/вычислить преобразование координат (например, преобразование C3, показанное на фиг. 7). Преобразование C3 данных не может быть известно до завершения процесса калибровки. В процессе калибровки, как рассмотрено выше, могут быть определены многие другие преобразования координат, которые относятся к преобразованию C3. Как показано на фиг. 7, процесс калибровки может определить преобразование C1 (например, посредством которого следящая система определяет положение отслеживаемой камеры в ее системе координат) и преобразование C2 (например, поступательные и поворотные расхождения между системой 712 координат печатного маркера и системой отсчета 714 нового объектива камеры, как определено программным обеспечением, связанным с печатным маркером). Как только преобразования C1 и C2 станут известны, может быть вычислено преобразование C3. Как только преобразование C3 станет известно, камера может перемещаться вокруг и программное обеспечение виртуального моделирования может отслеживать объектив камеры в системе координат следящей системы, даже если печатный маркер больше не появится в поле обзора камеры. Как только информация (например, поза камеры) из следящей системы будет передана программному обеспечению виртуального моделирования, то если преобразование C1 изменится (т.е. поза камеры в трехмерном пространстве), преобразование C3 может быть обновлено, например, в режиме реального времени. В связи с этим виртуальные объекты могут перекрываться на реальной сцене, и внешний вид виртуальных объектов может изменяться соответствующим образом, например так, как движется камера.
Далее представлен один пример метода вычисления преобразования C3 по фиг. 7. Каждое из различных преобразований (C1, C2, C3), как показано на фиг. 7, может быть представлено как матрица преобразования, например, матрица преобразования 4×4, как обычно применяется в компьютерной 3D-графике. Преобразование C1 может быть представлено как матрица преобразования 6, показанная ниже. Преобразование C2 может быть представлено как матрица преобразования 7, показанная ниже.
Figure 00000006
Figure 00000007
Аналогично матрицам преобразования Mn, описанным выше, каждая матрица преобразования Cn, может включать в себя поворотный или ориентационный компонент (DCMn) и поступательный или позиционный компонент (vn). Затем может быть вычислено преобразование C3, как это и показано в 8 ниже, приводящее к преобразованию C3, показанному в 9 ниже.
Figure 00000008
Figure 00000009
Следовательно, согласно фиг. 7, преобразование C3 можно применить для определения положения объектива камеры в системе координат, связанной со следящей системой, например, посредством установления связи позы объектива камеры с позой камеры, что и делает следящая система. Как только информация (например, поза камеры) из следящей системы будет передана программному обеспечению виртуального моделирования и при этом преобразование C1 изменится (т.е. поза камеры в трехмерном пространстве), преобразование C3 может быть обновлено, например, в режиме реального времени. В процессе работы обновление преобразования C3 может быть осуществлено следующим образом. Следящая система 702 может детектировать изменение позы камеры (следящая система обновляет C1). Следящая система 702 может передать информацию о системе отсчета 706 (например, в виде матрицы преобразования) камеры в программное обеспечение виртуального моделирования 710. Программное обеспечение виртуального моделирования может умножить эту систему отсчета/матрицу преобразования на матрицу преобразования C3 для выполнения преобразования C3. Программное обеспечение виртуального моделирования может затем обновить позу различных виртуальных объектов в системе координат, связанной со следящей системой, исходя из изменения позы камеры.
Согласно фиг. 1 программное обеспечение 110 виртуального моделирования может выполнять различные стандартные процедуры, методы и т.п., описанные в данном документе, чтобы создать динамически дополняемую сцену (например, дополненную сцену 114), например обзор в реальном времени реального пространства, захваченного камерой 102 и дополненного динамически изменяемыми виртуальными объектами. Как только калибровка системы дополненной реальности выполнена, как описано выше, программное обеспечение 110 виртуального моделирования может динамически поддерживать корреляцию и/или совмещение между различными виртуальными объектами и живой реальной сценой, включающей один или несколько реальных объектов (например, реальный объект 104). Программное обеспечение 110 виртуального моделирования может поддерживать это совмещение несмотря на то, что камера 102 может перемещаться и поворачиваться вокруг объекта 104 и несмотря на то, что реальный объект 104 может перемещаться и поворачиваться.
Программное обеспечение 110 виртуального моделирования может создать динамически дополненную сцену 114 (например, выведенную на экран дисплея 116), которая показывает виртуальные объекты, помещенные на видеопоток в реальном времени. Программное обеспечение 110 виртуального моделирования может соответствующим образом исказить (например, изменить 3D-местоположение, 3D-ориентацию и/или 3D-размер) виртуальных объектов в дополненной сцене, например, в зависимости от позы камеры 102 и/или позы реального объекта 104. Например, если камера 102 отходит дальше от реального объекта 104, один или несколько виртуальных объектов в дополненной сцене могут съежиться. В качестве другого примера, если камера 102 приближается к реальному объекту 104, один или несколько виртуальных объектов будут увеличены. В качестве еще одного примера, если камера 102 перемещается под углом относительно реального объекта 104, один или несколько виртуальных объектов будут поворачиваться соответствующим образом. Дополненная сцена 114 может быть сохранена (например, мгновенно) в памяти (например, энергозависимом или энергонезависимом блоке памяти) перед выводом дополненной сцены на экран дисплея 116. Дополненный или виртуальный контент, который выведен на экран дисплея 116 и/или задан в дополненной сцене 114, может быть полезен пользователю системы дополненной реальности. Например, пользователь может взаимодействовать с виртуальным контентом и/или получать полезную информацию из дополненного контента. В качестве конкретного примера виртуальные объекты/контент могут предоставить значимую инструктивную информацию специалисту, относящуюся к участку оборудования во время процесса производства.
На фиг. 10A изображена иллюстрация примера дополненной сцены, которая может быть создана в соответствии с одним или несколькими вариантами осуществления настоящего изобретения. Дополненная сцена может включать в себя реальную сцену/окружающую обстановку, захваченную камерой, например часть комнаты 1002 со столом 1004 и реальным объектом 1006 (например, участком оборудования) на столе. Дополненная сцена может включать в себя один или несколько виртуальных объектов, добавленных системой дополненной реальности, описанной в данном документе, например виртуальный объект 1010 (например, модель CAD), который связан с реальным объектом 1006. На фиг. 10A показана только часть (например, вырез) виртуального объекта 1010. Этот вырез может помочь показать, как виртуальный объект 1010 может быть связан с реальным объектом 1006. Однако следует понимать, что в некоторых вариантах осуществления может быть выведен на экран весь виртуальный объект в дополненной сцене. Если камера перемещается, реальная сцена и виртуальные объекты могут перемещаться аналогичным образом. Если реальный объект перемещается, любые виртуальные объекты, которые связаны с реальным объектом, могут перемещаться аналогичным образом. Пример дополненной сцены по фиг. 10A, является одним из примеров показа того, как виртуальные объекты, смоделированные по реальному объекту, могут быть связаны с реальным объектом, например, чтобы откалибровать систему дополненной реальности. В некоторых примерах после того, как калибровка завершена, виртуальный объект, смоделированный по реальному объекту, может не возникать в дополненной сцене. Вместо этого могут появиться многие другие виртуальные объекты, например, оснастки, металлические изделия (например, винты), электропроводка, инструкции и т.п., которые связаны с реальным объектом. Например, эти виртуальные объекты могут предоставить значимую инструктивную информацию специалисту, относительно участка оборудования, например инструкцию, относящуюся к тому, как установить изделие и выполнить задачу (например, такую как сверление отверстия).
На фиг. 10B изображена иллюстрация примера дополненной сцены, которая может быть создана в соответствии с одним или несколькими вариантами осуществления настоящего изобретения. Дополненная сцена может включать в себя реальную сцену/окружающую обстановку, захваченную камерой, например часть комнаты 1052 с реальным объектом 1056 (например, панелью) на столе. Дополненная сцена может включать в себя один или несколько виртуальных объектов, добавленных системой дополненной реальности, описанной в данном документе, например, виртуальный объект 1060, который может быть коробкой или блоком, и различные соответствующие провода, электромонтажные трубы и/или электропроводки. Если камера перемещается, реальная сцена и виртуальные объекты могут перемещаться аналогичным образом. Если реальный объект 1056 перемещается (например, панель), любые виртуальные объекты (например, виртуальный объект 1060), которые связаны с реальным объектом, могут перемещаться аналогичным образом. Например, дополненная сцена по фиг. 10B может инструктировать специалиста, как установить блок 1060 на панель 1056.
Конкретные варианты осуществления настоящего изобретения могут лежать в основе одного или нескольких способах автоматической калибровки системы отсчета дополненной реальности. По отношению к различным способам, описанным в данном документе и изображенных в соответствующих чертежах, следует понимать, что в некоторых вариантах осуществления один или несколько шагов, описанных и/или изображенных, можно осуществить в разном порядке. Кроме того, в некоторых вариантах осуществления способ может включать в себя больше или меньше шагов, чем это описано и/или изображено.
На фиг. 11 изображена схема 1100 последовательности операций, которая показывает примеры шагов способа автоматической калибровки системы отсчета дополненной реальности в соответствии с одним или несколькими вариантами осуществления настоящего изобретения. В частности, на фиг. 11 показаны иллюстративные шаги способа автоматической калибровки системы отсчета, которые можно применить для определения и/или вычисления преобразования координат между системой отсчета виртуальных объектов (например, виртуальные объекты, добавленные к дополненной сцене) и системой отсчета, связанной со следящей системой. На шаге 1102 система координат следящей системы задана, например, во время процесса установки следящей системы. На шаге 1104 следящая система может отслеживать или определять систему отсчета реального объекта. Следящая система может также определять преобразование M1 на шаге 1104. Чтобы следящая система отслеживала реальный объект, реальному объекту может потребоваться некоторое количество маркеров отслеживания.
На шаге 1106 программное обеспечение виртуального моделирования может определить новую систему отсчета для реального объекта, например, указанием некоторого числа точек отсчета (например, посредством рейсшины) и расчетной точки отсчета. На шаге 1108 программное обеспечение виртуального моделирования может осуществить преобразование M2 (например, вычислить разность поз между новой системой отсчета реального объекта и системой отсчета реального объекта, определенного следящей системой). На шаге 1110 программное обеспечение виртуального моделирования может предоставить доступ или загрузить виртуальный объект (например, виртуальный объект, смоделированный по реальному объекту) и может определить систему отсчета виртуального объекта. На шаге 1112 программное обеспечение виртуального моделирования может определить новую систему отсчета виртуального объекта, например, указанием на виртуальной модели тех же опорных точек, которые были указаны на реальном объекте, чтобы создать новую систему отсчета реального объекта. По этим точкам может быть вычислена точка отсчета. На шаге 1114 программное обеспечение виртуального моделирования может осуществить преобразование M3 (например, вычислить разность поз между новой системой отсчета виртуального объекта и исходной системой отсчета виртуального объекта). На шаге 1116 программное обеспечение виртуального моделирования может осуществить преобразование M4 (например, посредством умножения между собой матриц преобразования M1, M2 и M3).
На фиг. 12 изображена схема 1200 последовательности операций, которая показывает примеры шагов способа автоматической калибровки системы отсчета дополненной реальности в соответствии с одним или несколькими вариантами осуществления настоящего изобретения. В частности, на фиг. 12 показаны шаги примера способа автоматической калибровки системы отсчета, которые можно применить для определения и/или осуществления преобразования между системой отсчета камеры, определенной следящей системой и системой отсчета объектива камеры. На шаге 1102 система координат следящей системы задана, например, во время процесса установки следящей системы. На шаге 1204 следящая система может отслеживать или определять систему отсчета камеры. Следящая система может также определять преобразование C1 на шаге 1204. Чтобы следящая система отслеживала камеру, камере (или системе отсчета камеры, или планшетному компьютеру) может потребоваться некоторое количество маркеров отслеживания. На шаге 1206 система координат, связанная с печатным маркером, может быть задана, например, посредством печатного маркера и связанного с ним программного обеспечения. Система координат, связанная с печатным маркером, может быть связана с системой координат следящей системы. На шаге 1208 программное обеспечение виртуального моделирования (например, через программное обеспечение, связанное с печатным маркером) может определить систему отсчета объектива камеры, например, относительно системы координат печатного маркера. На шаге 1210 программное обеспечение виртуального моделирования может осуществить преобразование C3 (например, вычислить разность поз между объективом камеры и системой отсчета печатного маркера). Это преобразование может быть (по меньшей мере частично) осуществлено посредством программного обеспечения, связанного с печатным маркером. На шаге 1212 программное обеспечение виртуального моделирования может осуществить преобразование C3 (например, посредством деления матрицы преобразования C1 на матрицу преобразования C2).
Любая из систем и способов, описанных в данном документе, также предполагает вариации, которые включают в себя способ дополненной реальности 100, исполняемый посредством системы обработки данных 100, имеющей по меньшей мере один процессор. Альтернативный способ может включать получение или задание системы координат следящей системы, связанной со следящей системой 108 объекта. Система координат 204 следящей системы связана с реальным трехмерным пространством и отслеживает позицию и ориентацию в реальном трехмерном пространстве реального объекта 104 и камеры 102. По этой схеме система обработки данных 100 также принимает от следящей системы 108 первую систему отсчета 212 реального объекта для реального объекта 104. Первая система отсчета 212 реального объекта показывает позицию и ориентацию реального объекта 104 в системе координат 204 следящей системы.
Далее, система 100 обработки данных определяет вторую систему отсчета 212 реального объекта 104, в котором вторая система отсчета 212 реального объекта показывает позицию и ориентацию реального объекта 104 в системе координат 204 следящей системы. Затем система 100 обработки данных принимает первую систему отсчета 216 виртуального объекта 112, при этом виртуальный объект 112 смоделирован в соответствии с реальным объектом 104 и первая система отсчета 216 виртуального объекта не связана с системой координат 204 следящей системы.
Система 100 обработки данных также определяет вторую систему отсчета 216 виртуального объект 112, при этом вторая система отсчета 216 виртуального объекта показывает позицию и ориентацию виртуального объекта 112 в системы координат 204 следящей системы. Преобразование координат виртуального объекта 112 также осуществляется между первой системой отсчета 216 виртуального объекта и системой координат 204 следящей системой.
Дополненная сцена 114 выводится на экран посредством системы обработки данных 100 и включает в себя вид реального трехмерного пространства, вид реального объекта 104 и один или несколько наложенных виртуальных элементов. В настоящем документе преобразование координат виртуального объекта 112 использовать для определения положения одного или нескольких наложенных виртуальных элементов в дополненной сцене 114 так, чтобы один или несколько виртуальных элементов были связаны с реальным объектом 104.
По еще одной необязательной схеме система 100 обработки данных выполнена с возможностью также определять вторую систему отсчета 212 реального объекта, которая может принять или детектировать три или более неколлинеарных точек на реальном объекте 104. Местоположение трех или более неколлинеарных точек на реальном объекте задано в системе координат 204 следящей системы. Точка отсчета реального объекта 104 определяется путем вычисления центроида трех или более неколлинеарных точек реального объекта. Затем определяется ориентация реального объекта, которая связана с ориентацией первой системы отсчета реального объекта 212. В предпочтительном исполнении вторая система отсчета 216 виртуального объекта определяется посредством приема или показа трех или более неколлинеарных точек на виртуальном объекте 112, при этом местоположение трех или более неколлинеарных точек на виртуальном объекте задано в системе координат 204 следящей системы. После этого, точка отсчета виртуального объекта может быть определена путем вычисления центроида трех или более неколлинеарных точек на виртуальном объекте, которые могут предоставлять дополнительную возможность определения ориентации виртуального объекта.
В других модификациях любых из описанных схем вторая система отсчета 212 реального объекта и вторая система отсчета 216 виртуального объекта связаны, при этом три или более неколлинеарные точки виртуального объекта и три или более неколлинеарные точки реального объекта расположены примерно в тех же местах в системе координат 204 следящей системы. Кроме того, ориентация реального объекта 104 и ориентация виртуального объекта 112 являются примерно одинаковыми в системе координат 204 следящей системы.
В еще одних конфигурациях осуществление преобразования координат виртуального объекта 112 может включать в себя прием или определение первой матрицы преобразования, которая представляет первую систему отсчета реального объекта 212. Может быть также определена вторая матрица преобразования, которая представляет разность позиций и ориентации между первой системой отсчета 212 реального объекта и второй системой отсчета 212 реального объекта. Кроме того, может быть определена третья матрица преобразования, которая представляет разность позиций и ориентации между первой системой отсчета 216 виртуального объекта и второй системой отсчета 216 виртуального объекта. Может быть также вычислена четвертая матрица преобразования, которая представляет преобразование координат виртуального объекта 112. В настоящем документе четвертая матрица преобразования представляет разность позиций и ориентации между первой системой отсчета 216 виртуального объекта и системой координат 204 следящей системы. Четвертая матрица преобразования также вычисляется посредством выполнения умножения первой, второй и третьей матрицы преобразования.
По другой схеме применение преобразования координат виртуального объекта 112, чтобы определить положение одного или нескольких наложенных виртуальных элементов в дополненной сцене 114, может включать прием системы отсчета 216 первого наложенного виртуального элемента. В этой разновидности система отсчета 216 первого виртуального элемента не связана с системой координат 204 следящей системы. Преобразование координат виртуального объекта 112 можно назвать преобразованием системы отсчета 216 первого виртуального элемента в преобразованную систему отсчета, которая связана с системой координат 204 следящей системы. Положение первого наложенного виртуального элемента в дополненной сцене 114 можно определить посредством преобразования системы отсчета.
Система 100 обработки данных может быть выполнена с дополнительной возможностью приема от следящей системы 108 в режиме реального времени информации о позиции и ориентации реального объекта 104. В этой модификации преобразование координат виртуального объекта 112 обновляется исходя из информации, поступающей в реальном времени, и дополненная сцена 114 обновляется посредством обновления положения одного или нескольких наложенных виртуальных элементов таким образом, чтобы они оставались связанными с реальным объектом 104.
Способы, стандартные процедуры и методы настоящего изобретения, включающие иллюстративные способы и стандартные процедуры, изображенные в схемах последовательности операций и блок-схемах разных изображенных вариантов осуществления, могут быть реализованы как программное обеспечение, исполняемое одним или несколькими системами обработки данных, которые запрограммированы так, чтобы системы обработки данных были адаптированы для выполнения части или всех способов, стандартных процедур и/или методов, описанных в данном документе. Каждый блок или условное обозначение в блок-схеме или схеме последовательности операций, указанный в данном документе, может представлять модуль, сегмент или часть машиночитаемого или используемого программного кода, который содержит один или несколько исполняемых инструкций для реализации одной или несколькими системами обработки данных указанной функции или функций. В некоторых альтернативных реализациях настоящего изобретения функция или функции, изображенные в блоках или условных обозначениях блок-схемы или схемы последовательности операций, могут следовать не в том порядке, который указан на чертежах. Например, в некоторых случаях два блока или условных обозначения, показанные последовательно, могут быть исполнены по существу одновременно или блоки иногда могут быть исполнены в обратном порядке в зависимости от включенных функциональных характеристик. Часть или весь компьютерный код может быть загружен в память системы обработки данных перед тем, как система обработки данных исполнит код.
На фиг. 13 изображена блок-схема примера системы 1300 обработки данных, которую можно применить для реализации одного или нескольких вариантов осуществления настоящего изобретения. Например, согласно фиг. 1 компьютер 106 может немедленно выполнить функцию системы обработки данных аналогично системе 1300 обработки данных по фиг. 13. В качестве другого примера программное обеспечение следящей системы, связанное с следящей системой 108, может быть исполнена системой обработки данных, аналогичной системе 1300 обработки данных по фиг. 13. Согласно фиг. 13 система 1300 обработки данных может быть применена для исполнения либо частично, либо полностью, одного или нескольких способов, стандартных процедур и/или решений настоящего изобретения. В некоторых вариантах осуществления настоящего изобретения больше, чем одна система обработки данных может быть применена для реализации способов, стандартных процедур, методов и/или решений, описанных в данном документе.
В примере по фиг. 13 система 1300 обработки данных может включать в себя волоконную линию связи 1302, которая предоставляет связь между компонентами, например процессорным блоком 1304, памятью 1306, постоянным запоминающим устройством 1308, модулем 1310 передачи данных, блоком 1312 ввода/вывода и индикатором 1314. Система шин может быть использована для реализации коммуникационной среды 1302 и может быть в составе одной или нескольких шин, таких как системная шина или шина ввода-вывода. Система шин может быть реализована посредством архитектуры любого подходящего типа, которая обеспечивает передачу данных между разными компонентами или устройствами, подключенными к системе шин.
Процессорный блок 1304 может служить для исполнения инструкций (например, программного обеспечения), который может быть загружен в систему 1300 обработки данных, например, в память 1306. Процессорный блок 1304 может представлять собой набор из одного или нескольких процессоров или может быть многоядерным процессором в зависимости от конкретной реализации. Процессорный блок 1304 может быть реализован посредством одного или нескольких гетерогенных процессорных систем, в котором основной процессор присутствует вместе с вторичными процессорами на одном чипе. В качестве другого иллюстративного примера процессорный блок 1304 может представлять собой симметричную мультипроцессорную систему, содержащую несколько процессоров одного типа.
Память 1306 может быть, например, оперативным запоминающим устройством или любым другим подходящим энергозависимым или энергонезависимым запоминающим устройством. Память 1306 может включать в себя один или несколько слоев кеш-памяти. Постоянное запоминающее устройство 1308 может принимать разные формы в зависимости от конкретной реализации. Например, постоянное запоминающее устройство 1308 может содержать один или несколько компонентов или устройств. Например, постоянное запоминающее устройство 1308 может представлять собой накопитель на жестком диске, твердотельный накопитель, флэш-память или некоторую комбинацию из вышеизложенного.
Инструкции операционной системы могут быть расположены на постоянном запоминающем устройстве 1308. В одном конкретном варианте осуществления операционная система может представлять собой некоторую версию известных операционных систем. Инструкции приложений и/или программ могут быть также расположены на постоянном запоминающем устройстве 1308. Эти инструкции могут быть загружены в память 1306 для исполнения посредством процессорного блока 1304. Например, способы и/или процессы разных вариантов осуществления, описанных в этом документе, можно осуществить процессорным блоком 1304 посредством машиноисполняемых инструкций, которые могут быть загружены в память, такую как память 1306. Эти инструкции называются программным кодом, машиноиспользуемым программным кодом или машиночитаемым программным кодом, который может считываться и исполняться процессором в процессорном блоке 1304.
Дисплей 1314 может предоставить механизм вывода информации пользователю, например, через жидкокристаллический или светодиодный экран или монитор, или другой тип дисплея. Следует понимать, что на всем протяжении этого описания, термин "дисплей" можно применять гибко, относя его либо к физическому дисплею, такому как физический экран, либо к изображению, которое пользователь увидит на экране физического устройства. Блок 1312 ввода-вывода предоставляет возможность для ввода данных из других устройств и вывода данных на другие устройства, которые могут быть подключены к системе 1300 обработки данных. Устройства ввода-вывода могут соединяться с системой либо непосредственно, либо посредством промежуточных контроллеров ввода-вывода.
Модуль 1310 передачи данных может обеспечивать связь с другими системами обработки данных или устройствами, например, через одну сеть или более. Модуль 1310 передачи данных может представлять собой сетевой адаптер. Модуль 1310 передачи данных может предоставить связь путем применения проводных и/или беспроводных линий связи. В некоторых вариантах осуществления модуль передачи данных может включать в себя схему, которая разработана и/или адаптирована для осуществления связи по различным беспроводным стандартам связи, например, стандартам WiFi, стандартам Bluetooth и т.п.
Разные компоненты, приведенные для иллюстрации системы 1300 обработки данных, не предназначены для структурных ограничений на способ, в котором могут быть реализованы разные варианты осуществления. Разные демонстрационные варианты осуществления могут быть реализованы в системе обработки данных, включающей компоненты, которые дополняют или замещают те, что приведены для иллюстрации системы 1300 обработки данных. Другие компоненты, показанные на фиг. 13, могут отличаться от показанных иллюстративных примеров.
Система 1300 обработки данных при этом может быть скомпонована из одного или нескольких блоков памяти, которые хранят машинный код, и одного или нескольких процессорных блоков 1304, соединенных с одним или несколькими блоками 1306 памяти, причем один или несколько процессорных блоков 1304 исполняют машинный код, сохраненный в одном или нескольких блоках 1306 памяти. Машиноисполняемый код принимает или задает данные системы координат 204 следящей системы, ассоциированной со следящей системой 108, 202 объекта. Система координат 204 следящей системы связана с реальным трехмерным пространством, а следящая система 108 отслеживает позицию и ориентацию в реальном трехмерном пространстве камеры 102, которая захватывает реальное трехмерное пространство и печатный маркер (906).
Следящая система 108 принимает данные о системе отсчета камеры 102, и эта система отсчета камеры показывает позицию и ориентацию камеры 102 в системе координат 204 следящей системы. При этом принятые или заданные данные являются системой координат 204 печатного маркера, причем система координат 204 печатные маркера связана с реальным трехмерным пространством. Система координат 204 печатного маркера связана с системой координат 204 следящей системы, и тем самым система отсчета объектива камеры 102 определена. Система отсчета объектива камеры показывает позицию и ориентацию объектива камеры 102 в системе координат печатного маркера.
Осуществляется преобразование координат объектива камеры 102 между системой отсчета камеры 102 и системой отсчета объектива камеры 102, и на экран выводится дополненная сцена 114, включающая вид реального трехмерного пространства и одного или нескольких виртуальных элементов, при этом преобразование координат объектива камеры 102 используется для изменения или искажения одного или нескольких виртуальных изделий в дополненной сцене 114.
Описание всевозможных преимуществ вариантов осуществления представлено с целью иллюстрации и описания и не является исчерпывающим или ограничивающим варианты осуществления. Многие модификации и вариации должны быть понятны специалистам в данной области техники. Кроме того, всевозможные преимущественные варианты осуществления могут предоставить всевозможные преимущества по сравнению с другими преимущественными вариантами осуществления. Выбранный вариант или варианты осуществления описаны для того, чтобы наилучшим образом объяснить принципы вариантов осуществления практического применения и предоставить возможность другим специалистам в данной области техники ознакомиться с описанием различных вариантов осуществления с различными модификациями, которые подходят для конкретного применения.

Claims (60)

1. Способ дополненной реальности (100), осуществляемый системой обработки данных, имеющей по меньшей мере один процессор, при этом способ содержит:
прием или задание следящей системой системы координат (204), связанной со следящей за объектами системой (108), при этом:
система координат (204) следящей системы связана с реальным трехмерным пространством, и
следящая система (108) отслеживает позицию и ориентацию камеры (102) в реальном трехмерном пространстве, которая захватывает реальное трехмерное пространство и печатный маркер (906);
прием системы отсчета камеры (102) от следящей системы (108), при этом система отсчета камеры показывает позицию и ориентацию камеры (102) в системе координат (204) следящей системы;
прием или задание данных системы координат (204) печатного маркера, связанной с печатным маркером (906), при этом:
система координат (204) печатного маркера связана с реальным трехмерным пространством, и
система координат (204) печатного маркера связана с системой координат (204) следящей системы (108);
определение начала отсчета для печатного маркера (906) с помощью вычисления центроида трех или более неколлинеарных точек печатного маркера (906);
определение системы отсчета объектива камеры (102),
при этом система отсчета объектива камеры показывает позицию и ориентацию объектива камеры (102) в системе координат (204) печатного маркера;
осуществление преобразования координат объектива камеры между системой отсчета камеры (102) и системой отсчета объектива камеры (102),
при этом преобразование координат объектива камеры включает в себя матрицу преобразования, обеспечивающую преобразование между системой отсчета камеры (102) и системой отсчета объектива камеры (102);
и вывод на экран дополненной сцены (114), включающей вид реального трехмерного пространства и одного или нескольких виртуальных элементов,
при этом преобразование координат объектива камеры (102) используется для изменения или искажения одного или нескольких виртуальных элементов в дополненной сцене (114).
2. Способ по п. 1, в котором определение системы отсчета объектива камеры (102) включает прием информации о позиции и ориентации объектива камеры (102) из программного обеспечения, связанного с печатным маркером (906).
3. Способ по п. 1, в котором связь системы координат (204) печатного маркера с системой координат (204) следящей системы включает размещение печатного маркера (906) в некотором местоположении и ориентации в реальном трехмерном пространстве так, чтобы:
точка отсчета, связанная с печатным маркером (906), была расположена примерно в том же местоположении в трехмерном пространстве, что и точка отсчета, связанная со следящей системой (108); и
три оси, связанные с печатным маркером (906), были примерно совмещены в трехмерном пространстве с тремя осями, связанными со следящей системой (108).
4. Способ по п. 1, в котором осуществление преобразования координат объектива камеры (102) включает:
прием или задание первой матрицы преобразования, которая представляет первую систему (212) отсчета реального объекта;
определение второй матрицы преобразования, которая представляет разность местоположений и ориентаций между системой отсчета объектива камеры (102) и системой координат (204) печатного маркера;
вычисление третьей матрицы преобразования, которая представляет преобразование координат объектива камеры (102), при этом:
третья матрица преобразования представляет разность местоположений и ориентаций между системой отсчета камеры (102) и системой отсчета объектива камеры (102), и
третья матрица преобразования вычисляется посредством деления либо первой матрицы преобразования на вторую, либо второй матрицы преобразования на первую.
5. Способ по п. 1, в котором применение преобразования координат объектива камеры (102) для изменения или искажения одного или нескольких наложенных виртуальных элементов в дополненной сцене (114) включает:
определение положения первого наложенного виртуального элемента в дополненной сцене (114) посредством системы (216) отсчета первого виртуального элемента, при этом система (216) отсчета первого виртуального элемента относится к системе координат (204) следящей системы;
прием от следящей системы (108) информации, поступающей в реальном времени, о местоположении и ориентации камеры (102);
осуществление преобразования координат виртуального объекта (112) для обновления системы отсчета объектива камеры (102), исходя из информации, поступающей в реальном времени; и
обновление дополненной сцены (114) посредством изменения или искажения одного или нескольких наложенных виртуальных элементов, исходя из обновленной системы отсчета объектива камеры (102).
6. Способ по п. 1, в котором изменение или искажение одного или нескольких наложенных виртуальных элементов в дополненной сцене (114) включает сжатие наложенных виртуальных элементов по мере удаления камеры (102) от реального объекта (104) в трехмерном пространстве.
7. Способ по п. 1, в котором изменение или искажение одного или нескольких наложенных виртуальных элементов в дополненной сцене (114) включает расширение наложенных виртуальных элементов по мере приближения камеры (102) к реальному объекту (104) в трехмерном пространстве.
8. Способ по п. 1, в котором изменение или искажение одного или нескольких наложенных виртуальных элементов в дополненной сцене (114) включает поворот наложенных виртуальных элементов по мере изменения при движении камеры (102) направления на реальный объект (104) в трехмерном пространстве.
9. Система для создания дополненной реальности, содержащая:
камеру (102), захватывающую вид реального трехмерного пространства, включающего реальный объект (104);
следящую систему (108), отслеживающую позицию и ориентацию в реальном трехмерном пространстве реального объекта (104) и камеры (102), при этом следящая система (108) выполнена с возможностью задавать систему координат (204) следящей системы, связанную со следящей системой (108), а система координат (204) следящей системы связана с реальным трехмерным пространством; и
компьютер (106), соединенный с камерой (102) и следящей системой (108), при этом компьютер (106) имеет один или несколько блоков памяти и сконфигурирован с эффективным средством моделирования, при этом:
эффективное средство моделирования выполнено с возможностью принять от следящей системы (108) первую систему отсчета реального объекта (104), при этом первая система (212) отсчета реального объекта показывает позицию и ориентацию реального объекта (104) в системе координат (204) следящей системы;
эффективное средство моделирования дополнительно выполнено с возможностью вычислять вторую систему (212) отсчета реального объекта (104), при этом вторая система (212) отсчета реального объекта показывает позицию и ориентацию реального объекта в системе координат (204) следящей системы;
эффективное средство моделирования дополнительно выполнено с возможностью вычислять вторую систему (212) отсчета реального объекта (104) с помощью:
получения или обнаружения трех или более неколлинеарных точек реального объекта (104), а расположение трех или более неколлинеарных точек реального объекта определяется в системе координат следящей системы (204);
определения начала отсчета для реального объекта (104), включающего в себя вычисление центроида трех или более неколлинеарных точек реального объекта;
определения ориентации реального объекта (104), связанной с ориентацией первой системы отсчета реального объекта (104);
при этом эффективное средство моделирования дополнительно выполнено с возможностью принимать из одного или нескольких блоков памяти первую систему (216) отсчета виртуального объекта (112), при этом виртуальный объект (112) смоделирован в соответствии с реальным объектом (104) и первая система (216) отсчета виртуального объекта не связана с системой координат (204) следящей системы;
при этом эффективное средство моделирования дополнительно выполнено с возможностью вычислять вторую систему (216) отсчета виртуального объекта (112), при этом вторая система (216) отсчета виртуального объекта показывает позицию и ориентацию виртуального объекта (112) в системе координат (204) следящей системы и при этом вторая система (212) отсчета реального объекта (104) связана со второй системой (216) отсчета виртуального объекта (112);
эффективное средство моделирования дополнительно выполнено с возможностью вычислять вторую систему (216) отсчета виртуального объекта с помощью:
получения или обнаружения трех или более неколлинеарных точек виртуального объекта (112), а расположение трех или более неколлинеарных точек виртуального объекта определяется в системе координат следящей системы;
определения начала отсчета для виртуального объекта (112), включающего в себя вычисление центроида трех или более неколлинеарных точек виртуального объекта (112);
определения ориентации виртуального объекта (112);
при этом эффективное средство моделирования дополнительно выполнено с возможностью вычислять преобразование координат виртуального объекта (112) между первой системой (216) отсчета виртуального объекта и системой координат (204) следящей системы, при этом преобразование координат виртуального объекта включает в себя матрицу преобразования, обеспечивающую преобразование между первой системой (216) отсчета виртуального объекта и системой координат следящей системы (204); и
эффективное средство моделирования дополнительно выполнено с возможностью создавать и хранить в одном или нескольких блоках памяти дополненную сцену (114), включающую вид реального трехмерного пространства, вид реального объекта (104) и один или несколько наложенных виртуальных элементов, при этом преобразование координат виртуального объекта (112) используется для размещения одного или нескольких наложенных виртуальных элементов в дополненной сцене (114) так, чтобы один или несколько виртуальных элементов были связаны с реальным объектом (104).
10. Система по п. 9, дополнительно содержащая дисплей, соединенный с компьютером (106), при этом эффективное средство моделирования дополнительно выполнено с возможностью осуществлять связь дополненной сцены (114) с дисплеем, а дисплей выполнен с возможностью показывать дополненную сцену (114) пользователю.
11. Система по п. 9, в которой применение преобразования координат виртуального объекта (112) для расположения одного или нескольких наложенных виртуальных элементов в дополненной сцене (114) включает:
прием системы (216) отсчета первого виртуального элемента для первого наложенного виртуального элемента, при этом система (216) отсчета первого виртуального элемента не связана с системой координат следящей системы (204);
осуществление преобразования координат виртуального объекта (112) из системы (216) отсчета первого виртуального элемента в преобразованную систему отсчета, которая связана с системой координат (204) следящей системы; и
определение положения первого наложенного виртуального элемента в дополненной сцене (114) посредством преобразования координат системы отсчета.
12. Система по п. 9, в которой эффективное средство моделирования дополнительно выполнено с возможностью:
приема от следящей системы (108) информации, поступающей в реальном времени, о местоположении и ориентации реального объекта (104);
обновления преобразования координат виртуального объекта (112), исходя из информации, поступающей в реальном времени; и
обновления дополненной сцены (114) посредством обновления размещения одного или нескольких наложенных виртуальных элементов так, чтобы один или несколько виртуальных элементов оставались связанными с реальным объектом.
RU2013148372A 2012-10-31 2013-10-30 Автоматическая калибровка системы отсчета дополненной реальности RU2651239C9 (ru)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/665,837 US9508146B2 (en) 2012-10-31 2012-10-31 Automated frame of reference calibration for augmented reality
US13/665,837 2012-10-31

Publications (3)

Publication Number Publication Date
RU2013148372A RU2013148372A (ru) 2015-05-10
RU2651239C2 RU2651239C2 (ru) 2018-04-18
RU2651239C9 true RU2651239C9 (ru) 2018-08-22

Family

ID=49518667

Family Applications (1)

Application Number Title Priority Date Filing Date
RU2013148372A RU2651239C9 (ru) 2012-10-31 2013-10-30 Автоматическая калибровка системы отсчета дополненной реальности

Country Status (10)

Country Link
US (1) US9508146B2 (ru)
EP (1) EP2728548B1 (ru)
JP (1) JP6223122B2 (ru)
KR (1) KR102110123B1 (ru)
CN (1) CN103793936B (ru)
AU (1) AU2013224660B2 (ru)
BR (1) BR102013027358B1 (ru)
CA (1) CA2825834C (ru)
RU (1) RU2651239C9 (ru)
SG (1) SG2013068408A (ru)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2697942C1 (ru) * 2018-10-30 2019-08-21 Общество С Ограниченной Ответственностью "Альт" Способ и система обратного оптического трекинга подвижного объекта
RU2702495C1 (ru) * 2019-03-13 2019-10-08 Общество с ограниченной ответственностью "ТрансИнжКом" Способ и система сбора информации для устройства совмещенной реальности в режиме реального времени
RU2713570C1 (ru) * 2018-12-20 2020-02-05 Анатолий Александрович Перепелица Способ формирования изображения дополненной реальности и робототехническая система для его осуществления

Families Citing this family (86)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9058693B2 (en) * 2012-12-21 2015-06-16 Dassault Systemes Americas Corp. Location correction of virtual objects
EP2936443A1 (en) * 2012-12-21 2015-10-28 Metaio GmbH Method for representing virtual information in a real environment
GB2583848B (en) * 2014-05-21 2021-03-24 Tangible Play Inc Virtualization of tangible interface objects
US20150348322A1 (en) * 2014-06-02 2015-12-03 Dell Products L.P. Dynamically Composited Information Handling System Augmented Reality at a Primary Display
KR101835434B1 (ko) * 2015-07-08 2018-03-09 고려대학교 산학협력단 투영 이미지 생성 방법 및 그 장치, 이미지 픽셀과 깊이값간의 매핑 방법
US10345272B2 (en) * 2015-07-13 2019-07-09 The Boeing Company Automated calibration of non-destructive testing equipment
US9898869B2 (en) * 2015-09-09 2018-02-20 Microsoft Technology Licensing, Llc Tactile interaction in virtual environments
CN105491365A (zh) * 2015-11-25 2016-04-13 罗军 基于移动终端的图像处理方法、装置及系统
CN105469684A (zh) * 2015-11-26 2016-04-06 中国航空工业集团公司沈阳飞机设计研究所 一种适用于虚拟维修试验平台的模拟工具
EP3405853A1 (en) * 2016-01-19 2018-11-28 Tycoon Promotion SAGL Remote interactive system of augmented reality and associated method
DE102016205804A1 (de) * 2016-04-07 2017-10-12 Siemens Aktiengesellschaft Positionsbestimmungssystem
IL245339A (en) * 2016-04-21 2017-10-31 Rani Ben Yishai Method and system for verification of registration
US10008040B2 (en) * 2016-07-29 2018-06-26 OnePersonalization Limited Method and system for virtual shoes fitting
US10453232B2 (en) * 2016-08-29 2019-10-22 International Business Machines Corporation Product installation alignment assistance
AU2016429066B2 (en) * 2016-11-11 2020-05-28 Telefonaktiebolaget Lm Ericsson (Publ) Supporting an augmented-reality software application
CN110140100B (zh) * 2017-01-02 2020-02-28 摩致实验室有限公司 三维增强现实对象用户界面功能
US10552981B2 (en) 2017-01-16 2020-02-04 Shapetrace Inc. Depth camera 3D pose estimation using 3D CAD models
EP3577618A4 (en) * 2017-02-03 2021-01-06 Benjamin Moore & Co. AUTONOMOUS SYSTEM TO SUPPORT CONSUMERS WITH THE CHOICE OF COLOR
CN106875493B (zh) * 2017-02-24 2018-03-09 广东电网有限责任公司教育培训评价中心 Ar眼镜中虚拟目标物的叠加方法
CN106878786B (zh) * 2017-03-07 2020-03-03 北京小米移动软件有限公司 Vr视频中弹幕的显示方法和装置
KR101941005B1 (ko) * 2017-04-05 2019-01-22 광주과학기술원 인카운터 타입 햅틱 시스템에서 임의의 툴에 대한 툴 캘리브레이션 방법
US10742940B2 (en) 2017-05-05 2020-08-11 VergeSense, Inc. Method for monitoring occupancy in a work area
US11044445B2 (en) 2017-05-05 2021-06-22 VergeSense, Inc. Method for monitoring occupancy in a work area
US10777018B2 (en) * 2017-05-17 2020-09-15 Bespoke, Inc. Systems and methods for determining the scale of human anatomy from images
CN108932051B (zh) * 2017-05-24 2022-12-16 腾讯科技(北京)有限公司 增强现实图像处理方法、装置及存储介质
EP3616035B1 (en) 2017-06-19 2024-04-24 Apple Inc. Augmented reality interface for interacting with displayed maps
CN107564089B (zh) * 2017-08-10 2022-03-01 腾讯科技(深圳)有限公司 三维图像处理方法、装置、存储介质和计算机设备
CN108734786B (zh) * 2017-09-12 2021-07-27 武汉天际航信息科技股份有限公司 实景三维增强现实可视化系统及方法
EP3462411A1 (en) * 2017-09-27 2019-04-03 Arkite NV Configuration tool and method for a quality control system
US10777007B2 (en) 2017-09-29 2020-09-15 Apple Inc. Cooperative augmented reality map interface
US10573089B2 (en) * 2017-11-09 2020-02-25 The Boeing Company Systems, methods, and tools for spatially-registering virtual content with physical environment in augmented reality platforms
US10567746B2 (en) * 2017-11-14 2020-02-18 Caterpillar Inc. Calibration jig
US10235774B1 (en) 2017-11-14 2019-03-19 Caterpillar Inc. Method and system for calibration of an image capturing device mounted on a machine
US11039084B2 (en) 2017-11-14 2021-06-15 VergeSense, Inc. Method for commissioning a network of optical sensors across a floor space
FI129042B (en) 2017-12-15 2021-05-31 Oy Mapvision Ltd Computer vision system with a computer-generated virtual reference object
WO2019136588A1 (zh) * 2018-01-09 2019-07-18 深圳前海达闼云端智能科技有限公司 基于云端计算的标定方法、装置、电子设备和计算机程序产品
NO343601B1 (en) * 2018-02-02 2019-04-08 Kitron Asa Method and system for augmented reality assembly guidance
US11386572B2 (en) 2018-02-03 2022-07-12 The Johns Hopkins University Calibration system and method to align a 3D virtual scene and a 3D real world for a stereoscopic head-mounted display
CN108876900A (zh) * 2018-05-11 2018-11-23 重庆爱奇艺智能科技有限公司 一种与现实场景融合的虚拟目标投射方法和系统
US10977868B2 (en) * 2018-06-29 2021-04-13 Factualvr, Inc. Remote collaboration methods and systems
US10896546B2 (en) * 2018-07-11 2021-01-19 The Boeing Company Augmented reality system with an active portable anchor
US10839604B2 (en) * 2018-07-11 2020-11-17 The Boeing Company Augmented reality system with an active portable anchor
US10475250B1 (en) * 2018-08-30 2019-11-12 Houzz, Inc. Virtual item simulation using detected surfaces
CN112672860B (zh) * 2018-09-10 2024-04-09 发纳科美国公司 用于ar和数字孪生的机器人校准
CN109345560B (zh) * 2018-09-20 2021-02-19 网易(杭州)网络有限公司 增强现实设备的运动跟踪精度测试方法及装置
CN109348209B (zh) * 2018-10-11 2021-03-16 北京灵犀微光科技有限公司 增强现实显示装置和视觉标定方法
US10740987B2 (en) 2018-10-12 2020-08-11 The Boeing Company Augmented reality system for visualizing nonconformance data for an object
CN112912937A (zh) * 2018-10-31 2021-06-04 米沃奇电动工具公司 空间感知工具系统
WO2020163218A1 (en) * 2019-02-04 2020-08-13 Beam Therapeutics Inc. Systems and methods for implemented mixed reality in laboratory automation
US10983672B2 (en) * 2019-02-12 2021-04-20 Caterpilar Inc. Augmented reality model alignment
CN109920064A (zh) * 2019-03-14 2019-06-21 烟台九田自动化科技有限公司 一种基于增强现实技术的模型空间位姿的精确调整方法
AU2020241843B2 (en) 2019-03-15 2023-09-28 VergeSense, Inc. Arrival detection for battery-powered optical sensors
CN110020649A (zh) * 2019-03-22 2019-07-16 联想(北京)有限公司 一种信息处理方法、装置、设备及存储介质
EP3946825A1 (en) * 2019-03-25 2022-02-09 ABB Schweiz AG Method and control arrangement for determining a relation between a robot coordinate system and a movable apparatus coordinate system
JP2022527360A (ja) 2019-04-04 2022-06-01 センターライン バイオメディカル,インコーポレイテッド 空間トラッキングシステムと拡張現実ディスプレイとのレジストレーション
CN110322484B (zh) * 2019-05-29 2023-09-08 武汉幻石佳德数码科技有限公司 多设备共享的增强现实虚拟空间的校准方法及系统
KR102208708B1 (ko) * 2019-08-14 2021-01-28 한국과학기술연구원 공통 좌표계 기반의 가상공간에서 가상 컨텐츠 제공 방법 및 장치
US20210056725A1 (en) * 2019-08-20 2021-02-25 Lune Rouge Divertissement Inc. Machine vision system and method
US11620808B2 (en) 2019-09-25 2023-04-04 VergeSense, Inc. Method for detecting human occupancy and activity in a work area
CN110782499B (zh) * 2019-10-23 2023-01-06 Oppo广东移动通信有限公司 一种增强现实设备的标定方法、标定装置及终端设备
KR102314782B1 (ko) * 2019-10-28 2021-10-19 네이버랩스 주식회사 3차원 증강현실 표시 방법
KR102199772B1 (ko) * 2019-11-12 2021-01-07 네이버랩스 주식회사 3차원 모델 데이터 생성 방법
CN112836558B (zh) * 2019-11-25 2024-06-28 杭州海康机器人股份有限公司 机械臂末端调整方法、装置、系统、设备及介质
CN111127661B (zh) * 2019-12-17 2023-08-29 北京超图软件股份有限公司 一种数据处理方法、装置及电子设备
JP7470511B2 (ja) 2019-12-17 2024-04-18 荏原環境プラント株式会社 情報処理システム、情報処理方法、情報処理プログラム
US11288792B2 (en) * 2020-02-19 2022-03-29 Palo Alto Research Center Incorporated Method and system for change detection using AR overlays
CN111432119B (zh) * 2020-03-27 2021-03-23 北京房江湖科技有限公司 图像拍摄方法、装置、计算机可读存储介质及电子设备
TWI741536B (zh) * 2020-03-20 2021-10-01 台灣骨王生技股份有限公司 基於混合實境的手術導航影像成像方法
CN111162840B (zh) * 2020-04-02 2020-09-29 北京外号信息技术有限公司 用于设置光通信装置周围的虚拟对象的方法和系统
US11043039B1 (en) * 2020-04-22 2021-06-22 The Boeing Company 3D point cluster correlation for content alignment on augmented reality platforms
CN113674326B (zh) * 2020-05-14 2023-06-20 惟亚(上海)数字科技有限公司 一种基于增强现实的频域处理的跟踪方法
WO2021230884A1 (en) * 2020-05-15 2021-11-18 Zebra Technologies Corporation Calibration system and method for data capture system
US11557046B2 (en) * 2020-09-30 2023-01-17 Argyle Inc. Single-moment alignment of imprecise overlapping digital spatial datasets, maximizing local precision
KR102358950B1 (ko) * 2020-10-05 2022-02-07 홍준표 모바일 스캔 객체 모델 스케일링을 통한 증강현실 구현 장치 및 방법
KR20220059054A (ko) 2020-11-02 2022-05-10 한국전자통신연구원 특징점 지도 업데이트 기반의 증강현실 컨텐츠 제공 방법 및 이를 위한 장치
US12028507B2 (en) * 2021-03-11 2024-07-02 Quintar, Inc. Augmented reality system with remote presentation including 3D graphics extending beyond frame
CN113112545B (zh) * 2021-04-15 2023-03-21 西安电子科技大学 基于计算机视觉的手持移动打印装置定位方法
CN113345105A (zh) * 2021-06-18 2021-09-03 北京爱奇艺科技有限公司 一种坐标系调整方法、装置、电子设备及存储介质
US11423576B1 (en) 2021-07-23 2022-08-23 Ford Global Technologies, Llc Infrastructure node localization with respect to alternative frame of reference
CN113920281A (zh) * 2021-10-11 2022-01-11 郭小川 一种虚拟现实环境中空间规划方法、系统及应用方法
KR102442637B1 (ko) 2021-11-23 2022-09-13 주식회사 버넥트 증강현실 추적 알고리즘을 위한 카메라 움직임 추정 방법 및 그 시스템
US11769293B2 (en) 2021-11-23 2023-09-26 Virnect Co., Ltd. Camera motion estimation method for augmented reality tracking algorithm and system therefor
KR20230101463A (ko) 2021-12-29 2023-07-06 주식회사 버넥트 가상 뷰포인트 카메라를 활용하여 타겟 객체를 학습하는 방법 및 이를 이용하여 타켓 객체를 구현한 실물 객체에 가상 모델을 증강하는 방법
US11922691B2 (en) * 2022-04-20 2024-03-05 Adobe Inc. Augmented reality systems for comparing physical objects
US20230360226A1 (en) * 2022-05-09 2023-11-09 Htc Corporation Virtual reality system, control method, and non-transitory computer readable storage medium
US20240265654A1 (en) * 2023-02-06 2024-08-08 Taqtile, Inc. Multipoint touch alignment for a real world object in extended reality

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU54233U1 (ru) * 2006-01-17 2006-06-10 Общество с ограниченной ответственностью "СИМТЕХ" Система виртуального окружения
US20070236514A1 (en) * 2006-03-29 2007-10-11 Bracco Imaging Spa Methods and Apparatuses for Stereoscopic Image Guided Surgical Navigation

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020094189A1 (en) * 2000-07-26 2002-07-18 Nassir Navab Method and system for E-commerce video editing
JP2003281504A (ja) * 2002-03-22 2003-10-03 Canon Inc 撮像部位置姿勢推定装置及びその制御方法並びに複合現実感提示システム
JP4401727B2 (ja) * 2003-09-30 2010-01-20 キヤノン株式会社 画像表示装置及び方法
JP2006012042A (ja) * 2004-06-29 2006-01-12 Canon Inc 画像生成方法及び装置
CN100470452C (zh) * 2006-07-07 2009-03-18 华为技术有限公司 一种实现三维增强现实的方法及系统
DE602007003849D1 (de) * 2007-10-11 2010-01-28 Mvtec Software Gmbh System und Verfahren zur 3D-Objekterkennung
US7778794B2 (en) 2007-11-26 2010-08-17 The Boeing Company System and method for identifying an element of a structure in an engineered environment
US8482412B2 (en) 2008-10-16 2013-07-09 The Boeing Company Data interface process with RFID data reader glove
CN101520904B (zh) * 2009-03-24 2011-12-28 上海水晶石信息技术有限公司 带有现实环境估算的增强现实的方法及其系统
KR101335391B1 (ko) * 2010-04-12 2013-12-03 한국전자통신연구원 영상 합성 장치 및 그 방법
US8423318B1 (en) 2010-09-17 2013-04-16 The Boeing Company Object management system
US8525830B2 (en) 2010-09-17 2013-09-03 The Boeing Company Point cloud generation system
US9182487B2 (en) 2011-06-22 2015-11-10 The Boeing Company Advanced remote nondestructive inspection system and process
US9113050B2 (en) 2011-01-13 2015-08-18 The Boeing Company Augmented collaboration system

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU54233U1 (ru) * 2006-01-17 2006-06-10 Общество с ограниченной ответственностью "СИМТЕХ" Система виртуального окружения
US20070236514A1 (en) * 2006-03-29 2007-10-11 Bracco Imaging Spa Methods and Apparatuses for Stereoscopic Image Guided Surgical Navigation

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Scott A. Kuhl, "HMD Calibration and Its Effects on Distance Judgments", ACM Transactions on Applied Perception, 2009. *
Tuceryan M. et al. "Calibration Requirements and Procedures for a Monitor-Based Augmented Reality System", IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 1, NO 3, SEPTEMBER 1995. *
Tuceryan M. et al. "Calibration Requirements and Procedures for a Monitor-Based Augmented Reality System", IEEE TRANSACTIONS ON VISUALIZATION AND COMPUTER GRAPHICS, VOL. 1, NO 3, SEPTEMBER 1995. Scott A. Kuhl, "HMD Calibration and Its Effects on Distance Judgments", ACM Transactions on Applied Perception, 2009. *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2697942C1 (ru) * 2018-10-30 2019-08-21 Общество С Ограниченной Ответственностью "Альт" Способ и система обратного оптического трекинга подвижного объекта
RU2713570C1 (ru) * 2018-12-20 2020-02-05 Анатолий Александрович Перепелица Способ формирования изображения дополненной реальности и робототехническая система для его осуществления
RU2702495C1 (ru) * 2019-03-13 2019-10-08 Общество с ограниченной ответственностью "ТрансИнжКом" Способ и система сбора информации для устройства совмещенной реальности в режиме реального времени

Also Published As

Publication number Publication date
US20140118339A1 (en) 2014-05-01
JP2014167786A (ja) 2014-09-11
US9508146B2 (en) 2016-11-29
KR102110123B1 (ko) 2020-05-14
BR102013027358B1 (pt) 2022-03-29
BR102013027358A2 (pt) 2014-10-21
CA2825834A1 (en) 2014-04-30
CN103793936A (zh) 2014-05-14
RU2651239C2 (ru) 2018-04-18
EP2728548B1 (en) 2021-02-24
KR20140055975A (ko) 2014-05-09
EP2728548A2 (en) 2014-05-07
AU2013224660A1 (en) 2014-05-15
CA2825834C (en) 2018-01-02
CN103793936B (zh) 2018-12-14
EP2728548A3 (en) 2017-11-08
AU2013224660B2 (en) 2019-03-07
JP6223122B2 (ja) 2017-11-01
RU2013148372A (ru) 2015-05-10
SG2013068408A (en) 2014-05-29

Similar Documents

Publication Publication Date Title
RU2651239C2 (ru) Автоматическая калибровка системы отсчета дополненной реальности
US20170139407A1 (en) Simulator, simulation method, and simulation program
US20170236262A1 (en) Simulator, simulation method, and simulation program
US20150062123A1 (en) Augmented reality (ar) annotation computer system and computer-readable medium and method for creating an annotated 3d graphics model
CN109032348A (zh) 基于增强现实的智能制造方法与设备
US7711507B2 (en) Method and device for determining the relative position of a first object with respect to a second object, corresponding computer program and a computer-readable storage medium
CN109901123A (zh) 传感器标定方法、装置、计算机设备和存储介质
WO2018156087A1 (en) Finite-element analysis augmented reality system and method
Kahn Reducing the gap between Augmented Reality and 3D modeling with real-time depth imaging
TW202238449A (zh) 室內定位系統及室內定位方法
de Araujo et al. Cloud-based approach for automatic CNC workpiece origin localization based on image analysis
CN115240140A (zh) 基于图像识别的设备安装进度监控方法及系统
JP4961405B2 (ja) シミュレーション装置の画像データ生成装置
CN111161350B (zh) 位置信息及位置关系确定方法、位置信息获取装置
Grießbach et al. IPS–a system for real-time navigation and 3D modeling
CN113008135A (zh) 用于确定空间中目标点位置的方法、设备、电子装置及介质
JP5243635B2 (ja) シミュレーション装置の画像データ生成装置
SPÅNG et al. Sammanstrålning av världskoordinater hos en augmented reality-redo beräkningsplattform och ett AGV-system
CN117082235A (zh) 一种评估系统、评估方法、电子设备及存储介质
JP5243636B2 (ja) シミュレーション装置の画像データ生成装置
JP2022136838A (ja) 情報処理装置及び表示方法
CN117315007A (zh) 三维孪生镜头同步展示方法、装置、计算机设备
JP5249445B2 (ja) シミュレーション装置の画像データ生成装置
CN117671208A (zh) 一种基于mr的地下管线巡检方法、mr设备及存储介质
SE543047C2 (en) A computer-implemented method, a computer program product, and an apparatus for facilitating placement of a surveying tool

Legal Events

Date Code Title Description
HZ9A Changing address for correspondence with an applicant
TH4A Reissue of patent specification