СПОСОБ И СИСТЕМА ОБРАТНОГО ОПТИЧЕСКОГО ТРЕКИНГА ПОДВИЖНОГО ОБЪЕКТА Российский патент 2019 года по МПК G06T7/70 

Описание патента на изобретение RU2697942C1

Область техники

Изобретение относится к способу и системе трекинга подвижного объекта и может применяться в системах виртуальной или дополненной реальности, в системах внутренней логистики, в робототехнических системах, в системах управления беспилотными подвижными объектами и в других системах производственного, научного, учебного и иного назначения.

Уровень техники

Отслеживание (трекинг) подвижного объекта применяется во многих системах – системах виртуальной реальности (VR, Virtual Reality) или дополненной реальности (AR, Augmented Reality), системах внутренней (например, складской, производственной или торговой) логистики, робототехнических системах, системах управления беспилотными подвижными объектами (например, транспортными средствами) и т.д. Далее основное внимание уделяется трекингу в системах VR/AR, тем не менее, основные принципы трекинга по существу сходны и в других упомянутых выше системах.

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

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

Существуют также системы трекинга с использованием централизованных систем позиционирования – глобальных или локальных, спутникового или наземного базирования. Кроме того, существуют безмаркерные системы трекинга, в том числе, основанные на методе одновременной локализации и построения карты (SLAM, Simultaneous Localization and Mapping).

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

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

В случае фиксированной (заранее известной) зоны трекинга система трекинга должна обеспечивать быстрый выбор конфигурации зоны трекинга и загрузку ее параметров. В случае вариабельной зоны трекинга (если форма и размеры зоны трекинга заранее не известны) система трекинга должна обеспечивать возможность быстрой и точной настройки зоны трекинга. При этом весьма желательно, чтобы калибровка системы трекинга до начала ее работы не требовалась или была бы максимально автоматизирована.

Патентные заявки US2008285854A1, US2013106833A1, US2017086941A1, WO2014199196A1, WO2017050761A1 дают общее представление об уровне техники в области систем трекинга.

В патентных заявках DE102015013551A1, EP1645241A1 (US2006082789A1), EP2339537A1, US2017168592A1 и патенте US6787750B1 раскрыто применение активных ИК-маркеров в системах трекинга. В патенте US6787750B1 также раскрыто автоматическое определение зоны трекинга.

В патентных заявках US2011079703A1, US2017358139A1 описаны системы трекинга с использованием оптического датчика (камеры) и инерциального датчика (гироскопа или акселерометра), установленных на подвижном объекте.

В патентных заявках EP2012170A1, US2004080548A1 раскрыто применение активных ИК-маркеров в системах трекинга с использованием оптического датчика (камеры) и инерциального датчика (гироскопа или акселерометра), установленных на подвижном объекте.

В патентных заявках WO2007102857A2, WO2016102721A1 раскрыто применение активных ИК-маркеров в системах трекинга с использованием оптического датчика (камеры) и инерциального датчика (гироскопа или акселерометра), установленных на подвижном объекте, и распознавание оптических паттернов, образованных неподвижными маркерами.

В патентной заявке WO2016187609A1 раскрыто распознавание оптических паттернов, образованных неподвижными маркерами, а в патентной заявке WO2013071981A1 раскрыто использование оптического датчика (камеры) и инерциального датчика (гироскопа или акселерометра), установленных на подвижном объекте, и распознавание оптических паттернов, образованных неподвижными маркерами.

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

В непатентном документе [2] описано выявление линейного паттерна, образованного четырьмя светоотражающими ИК-маркерами, и плоского паттерна с использованием нескольких камер (прямой трекинг).

В непатентном документе [3] описано применение сложных контрастных планарных маркеров в системах VR на основе носимых электронных устройств общего назначения.

В непатентном документе [4] описано выявление различных паттернов (от одноточечного до объемного многоточечного), образованных светоотражающими ИК-маркерами, с использованием нескольких камер (прямой трекинг).

В непатентном документе [5] описан способ выявления и идентификации светоотражающих ИК-маркеров по облаку точек с использованием нескольких камер – point-cloud-based tracking method (прямой трекинг).

В непатентном документе [6] описано применение фильтров Калмана для выявления и идентификации светоотражающих ИК-маркеров с использованием нескольких камер без выявления паттернов на изображении (прямой трекинг).

В непатентном документе [7] описано применение цветных светоотражающих маркеров для захвата движения (motion capture) с последующим формированием 3D-модели в 3D-анимации (прямой трекинг).

В непатентном документе [8] описано применение сложных контрастных планарных маркеров в системе обратного оптического трекинга.

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

В непатентном документе [10] описано применение планарного паттерна с концентрическим расположением маркеров для оптического трекинга любого вида.

В непатентном документе [11] описано применение временной модуляции интенсивности излучения СИД-маркеров для оптического трекинга любого вида.

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

Техническое решение согласно непатентному документу [9] представляется наиболее близким к данному изобретению по технической сути, в нем применены светодиодные линейки, установленные на потолке помещения равномерно по его площади. Линейки представляют собой повторяющиеся последовательности линейных паттернов на основе последовательности де Брёйна, преобразованной в циклический манчестерский код.

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

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

Раскрытие изобретения

Для любых систем, связанных с отслеживанием подвижных объектов, в особенности, для систем VR/AR, важно обеспечить быструю готовность системы к работе после ее включения, перезагрузки, изменения конфигурации или рабочего сценария. В случае фиксированной (заранее известной) зоны трекинга система трекинга должна обеспечивать быстрый выбор конфигурации зоны трекинга и загрузку ее параметров. В случае вариабельной зоны трекинга (если форма и размеры зоны трекинга заранее не известны) система трекинга должна обеспечивать возможность быстрой и точной настройки зоны трекинга. При этом весьма желательно, чтобы калибровка системы трекинга до начала ее работы не требовалась или была бы максимально автоматизирована.

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

Способ трекинга подвижного объекта включает в себя следующие шаги:

- шаг автоматической настройки зоны трекинга, на котором выявляют и регистрируют уникальные сочетания элементарных оптических паттернов;

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

Настройка зоны трекинга может включать в себя следующие шаги:

(S1) определяют зону трекинга;

(S2) определяют размер окна трекинга и устанавливают окно трекинга в начальное положение;

(S3) определяют в окне трекинга элементарные оптические паттерны, образованные маркерами;

(S4) формируют ID «созвездия»-кандидата;

(S5) проверяют уникальность каждого «созвездия»-кандидата и маркируют ID неуникального «созвездия»-кандидата;

(S6) записывают ID «созвездия»-кандидата в таблицу «созвездий»;

(S7) поворачивают окно трекинга на заранее заданный угол;

(S8) выполняют шаги S2–S6 для повернутого окна трекинга;

(S9) проверяют, выполнено ли требуемое количество поворотов окна трекинга, и при необходимости повторяют шаги S7, S8;

(S10) перемещают окно трекинга с заранее заданным шагом;

(S11) выполняют шаги S2–S9 для перемещенного окна трекинга;

(S12) проверяют, покрыта ли вся зона трекинга, и при необходимости повторяют шаги S10, S11;

(S13) удаляют неуникальные ID «созвездий»-кандидатов из таблицы «созвездий».

Шаги S4, S5, S6 и S13 могут выполняться в отношении каждого ID «созвездия»-кандидата и ID каждого из его дочерних «созвездий»-кандидатов. До выполнения шага S2 возможно разделение проекции зоны трекинга на ячейки и размер окна трекинга на шаге S2 может выражаться в количестве таких ячеек.

Отслеживание изменения положения и/или ориентации подвижного объекта может включать в себя следующие шаги:

(S21) считывают изображение с оптического датчика, расположенного на подвижном объекте, и выполняют его предварительную обработку;

(S22) выявляют в окне трекинга элементарные оптические паттерны, образованные маркерами;

(S23) формируют ID «созвездия»;

(S24) идентифицируют сформированный ID «созвездия» по таблице «созвездий»;

(S25) определяют положение и ориентацию подвижного объекта на основе «созвездия», идентифицированного на шаге S24.

Шаг S21 может включать в себя следующие шаги:

(S31) считывают изображение с оптического датчика;

(S32) выполняют компенсацию геометрических искажений считанного изображения;

(S33) опционально проецируют изображение на рабочую плоскость;

(S34) нормируют изображение;

(S35) выделяют окно трекинга на изображении.

Шаг S22 может включать в себя следующие шаги:

(S41) в окне трекинга произвольно выбирают три точки, соответствующие маркерам;

(S42) из выбранных трех точек определяют две опорные точки;

(S43) для опорных точек определяют номинальное положение третьей точки в соответствии с элементарным оптическим паттерном;

(S44) определяют отклонение δ геометрического положения третьей точки от ее номинального положения;

(S45) выполняют проверку величины δ; если величина δ не превышает заранее заданного порогового значения, то (S46) тройку точек вносят в список элементарных оптических паттернов-кандидатов, а если величина δ превышает заранее заданное пороговое значение, то (S47) тройку точек отбраковывают;

(S48) выполняют проверку того, все ли сочетания трех точек обработаны и при необходимости повторяют шаги S41–S47;

(S49) сортируют список элементарных оптических паттернов-кандидатов по величине δ;

(S50) из списка элементарных паттернов-кандидатов выбирают элементарный оптический паттерн-кандидат с минимальной величиной δ;

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

(S54) выполняют шаги S50–S53 в отношении оставшихся элементарных оптических паттернов-кандидатов.

Система трекинга подвижного объекта содержит:

- по меньшей мере, один трекер, размещенный на подвижном объекте (например, на пользователе системы VR/AR) и содержащий оптический датчик;

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

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

Оптический датчик может представлять собой матричный оптический датчик. По меньшей мере, часть маркерных полос может быть расположена на полу или ином основании. Маркерные полосы могут быть интегрированы с упругим сборным покрытием для пола. По меньшей мере, часть маркерных полос может быть расположена на потолке, стенах, балках, мачтах или иным образом закреплена в зоне трекинга над полом или иным основанием.

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

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

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

Краткое описание чертежей

На фиг. 1 показан пример реализации системы VR/AR в соответствии с изобретением.

На фиг. 2 представлена структурная схема трекера.

На фиг. 3 показан пример маркерной полосы в развернутом виде.

На фиг. 4 показан пример маркерной полосы в свернутом виде.

На фиг. 5 показан пример установки маркеров с использованием элементов упругих сборных покрытий для пола (puzzle floor mats).

На фиг. 6 показан пример расположения маркерных полос на полу.

На фиг. 7 показан пример монтажа маркерных полос на потолке.

На фиг. 8 показано размещение маркерной полосы в упругом сборном покрытии для пола, каждый элемент которого соответствует ячейке зоны трекинга.

На фиг. 9 показан пример нумерации ячеек зоны трекинга.

На фиг. 10 показан элементарный оптический паттерн, образованный маркерной полосой, при этом окружностью отмечен его условный центр, а стрелкой показано его условное направление, которое может иметь числовое обозначение (кодировку 0, 1, 2, 3).

На фиг. 11 показан пример расположения элементарных оптических паттернов в зоне трекинга квадратной формы.

На фиг. 12А показан пример уникального сочетания элементарных оптических паттернов.

На фиг. 12Б показан пример неуникального сочетания элементарных оптических паттернов.

На фиг. 13А, Б представлена блок-схема алгоритма регистрации уникальных сочетаний элементарных оптических паттернов («созвездий»).

На фиг. 14 показан пример затенения маркеров в многопользовательской системе VR/AR.

На фиг. 15 представлена блок-схема алгоритма отслеживания.

На фиг. 16 показан пример изображения, полученного с оптического датчика.

На фиг. 17 показан пример изображения с фиг. 16 после компенсации геометрических искажений и проецирования на рабочую плоскость.

На фиг. 18 показан пример изображения с фиг. 17 после нормирования.

На фиг. 19 показан пример изображения с фиг. 18, в котором для наглядности показано положение элементарных оптических паттернов относительно сетки.

На фиг. 20 представлена блок-схема алгоритма считывания и предварительной обработки изображения с оптического датчика.

На фиг. 21 представлена блок-схема алгоритма выявления элементарных оптических паттернов на изображении с оптического датчика.

На фиг. 22 показан пример номинального и фактического положения третьей точки элементарного оптического паттерна.

На фиг. 23 показан пример неколлинеарного расположения элементарных оптических паттернов.

Осуществление изобретения

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

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

На фиг. 1 показан пример реализации системы 1 VR/AR, содержащей головной дисплей 5 в виде шлема или очков, трекер 10, размещенный на головном дисплее 5, центральное устройство 6 обработки данных (хост), также размещенное на головном дисплее 5, трекер 20, трекер 30, и маркерную полосу 4, содержащую активные маркеры 40, 41, 42. Головной дисплей 5 обеспечивает демонстрацию пользователю 7 изображения, формируемого системой 1 на основе данных трекинга, полученных от трекеров 10, 20, 30. Изображение, демонстрируемое пользователю, может быть 3D-изображением виртуальной реальности или 3D-изображением дополненной реальности. Данные трекинга, формируемые трекерами 10, 20, 30, содержат данные о местоположении трекеров и, следовательно, соответствующих частей тела пользователя 7, об их ориентации в пространстве, и (опционально) о параметрах их движения – направлении, скорости и ускорении.

Трекер 10 (фиг. 2) содержит оптический датчик 101 и один или несколько инерциальных датчиков 102. Для обработки данных трекинга трекер 10 содержит устройство 103 обработки данных. Устройство 103 обработки данных обеспечивает синхронизацию всех датчиков, получение данных с оптического датчика и с одного или нескольких инерциальных датчиков и обработку данных с оптического датчика для получения информации о маркерах, содержащихся в кадре, и определения положения и ориентации трекера. Трекер 10 также содержит источник 104 питания, устройство 105 связи, запоминающее устройство 106 и другие части, необходимые для его функционирования в составе системы 1 VR/AR. Трекер 10 связан с центральным устройством 6 обработки данных каналом беспроводной связи, примерами которого являются каналы WiFi, Bluetooth и т.д., для передачи данных настройки и данных трекинга.

Трекер 20 и трекер 30 могут быть идентичными трекеру 10 или могут иметь отличия, связанные с иным характером движения соответствующих им частей тела пользователя. В частности, трекеры 20, 30, соединенные с игровыми контроллерами в руках пользователя, могут быть способны отслеживать более быстрые и резкие движения, чем трекер 10, расположенный на голове пользователя. Тем не менее общий принцип работы системы трекинга при этом остается по существу неизменным. Подробно различные варианты трекеров описаны в патентных заявках PCT/IB2017/058068 и US15844967 этого же заявителя, все содержание которых включено в данный документ посредством ссылки. Конструкция оптического датчика, пригодного для применения в данном изобретении, описана в патентных заявках PCT/RU2014/001019 и US15540313 этого же заявителя, все содержание которых также включено в данный документ посредством ссылки.

Маркерная полоса 4 (фиг. 3) содержит основание, представляющее собой узкую гибкую полосу из полимерного материала с гибкими проводниками, обеспечивающими подачу питания к активным маркерам 40, 41, 42. Материал основания может быть тканым или нетканым. Гибкость основания и проводников обеспечивает компактность маркерной полосы в свернутом виде при хранении и транспортировке (фиг. 4), при этом конструкция основания обеспечивает ее достаточную жесткость в поперечном направлении (в плоскости ее установки) и постоянство расстояния между маркерами, что необходимо для обеспечения геометрической стабильности оптического паттерна. Проводники могут быть металлическими, металлизированными, оксидными, композитными, выполненными по толстопленочной или тонкопленочной технологии, обеспечивающими подачу безопасного напряжения при мощности потребления величиной в несколько ватт. Активные маркеры 40, 41, 42 могут прикрепляться к основанию любым подходящим способом, обеспечивающим надежное крепление в заранее заданных местах и подвод напряжения питания. В иллюстративном варианте осуществления изобретения использованы ленточные металлические проводники, а активные маркеры 40, 41, 42 крепятся к основанию с помощью магнитных разъемов, обеспечивающих быстрый монтаж маркеров на основание и демонтаж с него, при этом легкость демонтажа маркеров предохраняет маркерную полосу 4 от разрушения в случае непреднамеренного физического контакта пользователя с маркерами. Питание на маркеры 40, 41, 42 подается с источника 45 питания через кабель 44 и электрический соединитель 43.

В иллюстративном варианте осуществления изобретения активные маркеры 40, 41, 42 представляют собой светоизлучающие ИК-маркеры. В других вариантах осуществления изобретения активные маркеры 40, 41, 42 могут работать в других частотных диапазонах, например, в диапазоне видимого света.

Источник 45 питания может быть любым сетевым или автономным источником питания, обеспечивающим необходимое безопасное напряжение (например, 5, 6, 12, 24, 36 или 48 В) постоянного или переменного тока. Например, в качестве автономного источника питания возможно использование аккумулятора типа PowerBank напряжением 5 В или 12 В постоянного тока, используемого для питания/заряда мобильных устройств, или аккумулятора типа Booster напряжением 12,6 В постоянного тока, предназначенного для облегчения запуска автомобильных двигателей при недостаточном заряде основного аккумулятора. При использовании в системе 1 нескольких маркерных полос 4 питание может осуществляться централизованно, от одного общего источника питания, или же питание может быть распределенным, когда каждая маркерная полоса 4 питается от отдельного источника питания. Централизованное питание может быть предпочтительным в стационарных коммерческих системах VR/AR, особенно, если маркерные полосы 4 встроены в пол или расположены на стенах либо на потолке помещения. Распределенное питание может быть предпочтительным в мобильных любительских системах VR/AR, в частности, пригодных для использования вне помещений.

Кабель 44 и электрический соединитель 43 могут быть любого подходящего типа. Их выбор представляет собой тривиальную задачу для специалиста, поэтому их описание опущено.

Каждый из активных маркеров 40, 41, 42 представляет собой светодиодный излучатель в ИК-диапазоне с диаграммой направленности, близкой к полусферической. Требуемая диаграмма направленности обеспечивается расположением и ориентацией одного или нескольких кристаллов светодиодов, а также рассеивателем, например, выполненным на основе линзы Френеля. Маркер может содержать драйвер, обеспечивающий работоспособность светодиодного излучателя в широком диапазоне напряжений питания.

Комбинация активных маркеров 40, 41, 42, расположенных заранее заданным образом, образует элементарный оптический паттерн (далее для краткости может называться элементарным паттерном), наличие и расположение которого в пространстве определяется хостом 6 на основе данных о маркерах, присутствующих в потоке данных с трекера 10. Использование активных (светоизлучающих) маркеров определяется принципом обратного трекинга и обеспечивает ряд преимуществ по сравнению с использованием пассивных (светоотражающих) маркеров. В частности, при применении активных маркеров не требуется дополнительного питания трекера для обеспечения подсветки пассивных маркеров, что особенно важно, когда трекер размещен на подвижном объекте. Максимальный размер зоны трекинга связан с размером и яркостью маркеров. Питание активных маркеров от сетевых или автономных источников питания позволяет многократно увеличивать мощность излучения маркеров, тем самым увеличивая размер зоны трекинга. При этом энергопотребление самого трекера остается неизменным.

Элементарный паттерн может быть линейным паттерном, который выявляется алгоритмом обработки данных о маркерах. Линейный паттерн характеризуется заранее заданным соотношением расстояний между маркерами. В частности, в варианте осуществления изобретения с 3 маркерами, лежащими на одной линии в последовательности 40–41–42, как показано на фиг. 3, расстояние между маркерами 40 и 41 вдвое больше, чем расстояние между маркерами 41 и 42. Разумеется, что соотношение расстояний между маркерами может быть иным при условии сохранения возможности надежной идентификации такого элементарного паттерна в системе.

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

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

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

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

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

В качестве альтернативы, и в стационарных, и в передвижных вариантах осуществления изобретения маркерные полосы могут быть собраны из элементов упругих сборных покрытий для пола (puzzle floor mats) (фиг. 5), которые в рабочем положении находятся в зацеплении друг с другом, что обеспечивает высокую геометрическую точность построения рабочей зоны, стабильность ее формы и размеров и, соответственно, упрощает подготовку системы VR/AR к работе. Маркеры могут быть установлены в заранее заданных местах таких элементов покрытий. Заранее заданные места установки маркеров могут представлять собой отверстия соответствующей формы, в которые устанавливаются маркеры, а неиспользуемые отверстия могут закрываться заглушками из того же материала, что и само покрытие. Провода питания маркеров могут располагаться под покрытием и могут быть ленточными проводами, что исключает их проявление в виде неровностей на рабочей поверхности покрытия. Возможно также совместное применение маркерных полос, показанных на фиг. 3, со сборными покрытиями для пола.

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

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

Далее описаны принципы выявления оптического паттерна при определении фиксированной (не требующей калибровки) зоны оптического трекинга и в ходе трекинга подвижного объекта на примере системы VR/AR и приведены варианты их практической реализации.

Зона трекинга – область пространства, в которой обеспечивается отслеживание подвижного объекта. Согласно изобретению, в системе VR/AR отслеживаемым подвижным объектом может быть пользователь или часть тела пользователя, например, голова, рука, нога, к которым прикреплен трекер. Отслеживаемым подвижным объектом также может быть предмет, удерживаемый пользователем, например, в руке. Тем не менее, отслеживаемым подвижным объектом может быть любой другой подвижный объект, например, рабочий орган робототехнической системы или погрузочно-транспортное средство в системе внутренней логистики.

Отслеживание подвижного объекта выполняется в объеме зоны трекинга. Для автоматического определения зоны трекинга проекция этой зоны на рабочую (обычно горизонтальную) поверхность, например, поверхность пола или потолка в помещении, разделена на фрагменты – ячейки, которые могут иметь различную форму. При использовании ортогональной системы координат предпочтительной является квадратная форма ячеек. Размер ячейки определяется в зависимости от технической реализации системы VR/AR – минимального и максимального размера зоны трекинга, требуемой точности трекинга, вида маркеров, вида и размера элементарных паттернов, образуемых маркерами, и т.д. В частности, при использовании сборного покрытия для пола (фиг. 5) размер ячейки может быть равен размеру элемента такого покрытия, например, 60×60 см. В этом случае маркерная полоса длиной 1,5 м с тремя маркерами, как показано на фиг. 3, размещается в трех ячейках, причем, в зависимости от ориентации элементарного паттерна, маркеры могут иметь различное взаимное положение на плоскости (фиг. 8). Ориентация элементарного паттерна на фиг. 8 условно показана стрелками на маркерной полосе. Разумеется, что длина маркерной полосы может быть большей или меньшей 1,5 м и она может размещаться в большем или меньшем количестве ячеек. Например, при большей плотности маркеров маркерная полоса, соответствующая элементарному паттерну, может располагаться в двух ячейках.

Таким образом, поверхность разделена на ячейки, каждая из которых имеет свои координаты. Координаты ячейки могут быть заданы различными способами, например, в декартовых или полярных координатах. В иллюстративном варианте осуществления изобретения ячейки пронумерованы заранее заданным образом и координаты каждой ячейки однозначно определяются ее номером. Пример нумерации ячеек представлен на фиг. 9. Положение каждого элементарного паттерна в такой координатной сетке определено номером ячейки, содержащей центр элементарного паттерна и направлением этого паттерна. На фиг. 10 окружностью отмечен условный центр элементарного паттерна, а стрелкой показано его условное направление. Направление элементарного паттерна может иметь числовое обозначение (кодировку), как показано на фиг. 10. На фиг. 11 показан пример расположения элементарных паттернов в зоне трекинга квадратной формы. Разумеется, что зона трекинга может иметь форму, отличную от квадратной.

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

Сочетания паттернов, не являющиеся уникальными, отбраковываются алгоритмом регистрации «созвездий». На фиг. 12А и фиг. 12Б показаны примеры уникального и неуникального сочетания элементарных паттернов: представленное на фиг. 12А сочетание паттернов является уникальным, а представленное на фиг. 12Б сочетание паттернов является неуникальным, поскольку оно обладает центральной симметрией и поворот его изображения на 180° относительно центра изображения приводит к получению идентичного изображения, технически неотличимого от первоначального, поэтому сочетание элементарных паттернов на фиг. 12Б не может быть использовано для определения положения и ориентации трекера и связанного с ним подвижного объекта.

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

Далее описана последовательность действий алгоритма регистрации «созвездий», выполняемого при настройке зоны трекинга, в частности, при инициализации системы VR/AR после ее включения или после перезагрузки, в связи с изменением ее конфигурации или в связи с изменением рабочего сценария. Результатом работы этого алгоритма является таблица, содержащая записи обо всех «созвездиях» в зоне трекинга. Каждая запись содержит идентификатор (ID) «созвездия» и идентификаторы элементарных паттернов, составляющих это «созвездие». В иллюстративном варианте осуществления изобретения ID «созвездия» содержит координаты каждого элементарного паттерна в составе «созвездия», которые представлены номером ячейки, в которой находится центр этого элементарного паттерна, и направление элементарного паттерна, представленное кодом поворота, а идентификатором элементарного паттерна является его порядковый номер, заданный в конфигурации зоны трекинга при ее разметке. Разумеется, что структура ID «созвездия» может отличаться от описанной выше.

Блок-схема алгоритма выявления и регистрации «созвездий» при настройке зоны трекинга представлена на фиг. 13А, Б.

На шаге S1 определяется зона трекинга, которая будет использована при работе системы трекинга. Определение зоны трекинга может выполняться путем выполнения ее разметки или путем считывания готовой разметки из памяти системы трекинга. Принципы разметки зоны трекинга описаны в более ранних патентных заявках PCT/IB2017/058068 и US15844967 этого же заявителя, все содержание которых включено в настоящую заявку посредством ссылки.

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

В иллюстративном варианте осуществления изобретения окно трекинга принято равным квадрату размером 4×4 ячейки (на фиг. 9 окно трекинга выделено жирной линией) и для каждого элементарного паттерна возможно 4×4=16 вариантов положения центра паттерна (требует 4 бита) и четыре варианта поворота с шагом 90° (требует 2 бита). Если максимальную сложность «созвездия» ограничить 8 элементарными паттернами, то длина ID «созвездия» составит 8×(4+2)=48 битов.

Разумеется, что размер окна трекинга 4×4 ячейки в иллюстративном варианте осуществления изобретения выбран для упрощения понимания. На практике размер окна трекинга зависит от физических размеров зоны трекинга, назначения системы VR/AR, количества пользователей и т.д. и может составлять, например, 6×6 ячеек или 10×10 ячеек. При этом и длина ID «созвездия» окажется большей.

Например, если окно трекинга принять равным квадрату размером 6×6 ячеек, то для каждого элементарного паттерна возможно 6×6=36 вариантов положения центра паттерна (требует 6 битов) и четыре варианта поворота с шагом 90° (требует 2 бита). Если при этом максимальную сложность «созвездия» ограничить 8 элементарными паттернами, то длина ID «созвездия» составит 8×(6+2)=64 бита, а если максимальную сложность «созвездия» ограничить 16 элементарными паттернами, то длина ID «созвездия» составит 16×(6+2)=128 битов.

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

Затем окно трекинга устанавливается в начальное положение. В иллюстративном варианте осуществления изобретения в качестве начального выбрано положение в левом нижнем углу зоны трекинга. Разумеется, что начальным может быть другое удобное положение.

На шаге S3 определяются все элементарные паттерны, полностью попавшие в окно трекинга.

На шаге S4 формируется ID «созвездия»-кандидата, содержащего элементарные паттерны, попавшие в окно трекинга.

При этом в ходе работы алгоритма отслеживания, описанного далее, возможна ситуация, когда на изображении с оптического датчика трекера присутствуют не все элементарные паттерны, попавшие в окно трекинга. Это может быть вызвано, например, затенением маркеров руками или игровым инвентарем пользователя, с которым связан данный трекер, или другими пользователями в многопользовательской системе VR/AR (см. фиг. 14). В частности, если в окно трекинга попали четыре элементарных паттерна, на изображении с оптического датчика трекера могут быть выявлены только три или только два из них. Поэтому для такого ID «созвездия»-кандидата, в общем случае, содержащего N элементарных паттерна, при настройке зоны трекинга формируются также ID всех его дочерних «созвездий»-кандидатов, содержащих по N–1, N–2, N–3, … элементарных паттернов.

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

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

После формирования ID «созвездий»-кандидатов для текущего окна трекинга они записываются в таблицу «созвездий» на шаге S6.

Затем на шаге S7 окно трекинга поворачивается на заранее заданный угол и на шаге S8 шаги S2–S6 повторяются в отношении повернутого окна трекинга. Поворот требуется для проверки уникальности «созвездий»-кандидатов, наблюдаемых с разных ракурсов. В иллюстративном варианте осуществления изобретения этот поворот выполняется на 90° против часовой стрелки. Разумеется, что этот поворот может выполняться на другой угол и/или по часовой стрелке. На шаге S9 поворот и шаги S7, S8 выполняются несколько раз, пока зона трекинга не вернется в положение до начала поворота. В частности, при повороте на 90° поворот и шаги S7, S8 необходимо выполнить четыре раза.

В дальнейшем при работе алгоритма на шаге S10 окно трекинга перемещается по всей зоне трекинга и на шаге S11 для каждого положения окна формируются ID «созвездий», полностью попадающих в это окно, как описано выше для шагов S2–S9. В иллюстративном варианте осуществления изобретения это перемещение выполняется на две ячейки. Разумеется, что это перемещение может выполняться с другим шагом, например, на одну или три ячейки. В некоторых вариантах осуществления изобретения это перемещение может иметь различный шаг по вертикали и по горизонтали. Например, шаг перемещения окна трекинга по вертикали может составлять одну ячейку, а шаг перемещения окна трекинга по горизонтали может составлять две ячейки или наоборот.

Далее на шаге S12 выполняется проверка покрытия всей зоны трекинга и после того, как при работе описанного выше алгоритма была покрыта вся зона трекинга, из таблицы «созвездий» на шаге S13 удаляются все неуникальные ID «созвездий»-кандидатов. На этом формирование таблицы «созвездий» заканчивается и работа алгоритма регистрации «созвездий» завершается.

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

В процессе отслеживания подвижного объекта выполняется алгоритм отслеживания, блок-схема которого представлена на фиг. 15.

На шаге S21 считывается изображение с оптического датчика трекера и выполняется его предварительная обработка, алгоритм которой более подробно описан далее со ссылкой на фиг. 20.

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

На шаге S23 формируется ID «созвездия», выявленного в окне трекинга. Формат ID «созвездия» и способ его формирования в целом аналогичны описанным ранее для алгоритма регистрации «созвездий».

На шаге S24 определяется соответствие сформированного ID «созвездия» одному из уникальных сочетаний элементарных паттернов, зафиксированных в таблице «созвездий» при настройке зоны трекинга системы VR/AR.

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

Далее при поступлении нового изображения с оптического датчика трекера шаги S21– S25 повторяются.

Следует отметить, что системе трекинга необходимо обнаружить, по меньшей мере, одно «созвездие», чтобы определить положение и ориентацию трекера и начать трекинг подвижного объекта. В дальнейшем в процессе трекинга невозможность обнаружения одного или нескольких «созвездий» в очередном изображении с оптического датчика (например, вследствие перекрытия маркеров пользователем, с которым связан данный трекер, или другими пользователями в многопользовательской системе VR/AR, или в результате неудачного расположения пользователя в зоне трекера в некоторый момент времени) не приводит к сбою в работе системы трекинга, поскольку эта система способна определять положение и ориентацию трекера за счет инерциального трекинга, т.е. на основе данных, получаемых с инерциальных датчиков, в течение времени, достаточного для получения нового изображения с оптического датчика и возобновления оптического трекинга.

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

Эти свойства системы трекинга согласно данному изобретению позволяют повысить точность и надежность трекинга, в том числе в многопользовательском режиме.

В иллюстративном варианте осуществления изобретения частота поступления данных с оптического датчика составляет приблизительно 60 кадров в секунду, а частота поступления данных с инерциального датчика составляет приблизительно 2000 выборок в секунду. В других вариантах осуществления изобретения частота поступления данных с оптического датчика может быть повышена до приблизительно 400 кадров в секунду. Технические решения средств оптического трекинга и инерциального трекинга и их взаимодействие для решения этой задачи описаны в более ранних патентных заявках PCT/IB2017/058068 и US15844967 этого же заявителя, все содержание которых включено в настоящую заявку посредством ссылки.

Далее подробно описан алгоритм считывания и предварительной обработки изображений, блок-схема которого представлена на фиг. 20.

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

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

На шаге S33 изображение после компенсации проецируется на рабочую плоскость. Такое проецирование изображения на плоскость выполняется на основании направления на каждый маркер (т.е. геометрического луча) в системе координат того трекера, в данных которого обнаружен этот маркер, и известного направления «вверх», определяемого по данным одного или нескольких инерциальных датчиков. Это направление может определяться в полярных координатах. Способ определения луча, направленного на конкретный маркер, описан в более ранних патентных заявках PCT/IB2017/058068 и US15844967 этого же заявителя, все содержание которых включено в настоящую заявку посредством ссылки. В некоторых вариантах осуществления изобретения проецирование изображения на рабочую плоскость может не потребоваться, в частности, если маркеры уже расположены в рабочей плоскости (например, на полу, плоскость которого принята в качестве рабочей плоскости).

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

Спроецированное на плоскость изображение представляет собой проекцию изображения, полученного с оптического датчика, на плоскость, по отношению к которой направление «вверх» является нормальным, т.е. на горизонтальную плоскость. В иллюстративном варианте осуществления изобретения горизонтальная плоскость представляет собой плоскость пола помещения, в котором расположена VR/AR-зона. Такое решение оптимально при расположении маркерных полос на полу. Разумеется, что горизонтальная плоскость может представлять собой иную плоскость, лежащую в объеме зоны трекинга, например, плоскость потолка помещения при расположении маркерных полос на потолке. Изображения, спроецированные на параллельные горизонтальные плоскости, связаны отношением математического подобия и их информационная ценность по существу одинакова.

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

На шаге S35 на изображении выделяется окно трекинга, размер и расположение которого аналогичны описанным на шаге S1 алгоритма, выполняемого при настройке зоны трекинга.

Далее подробно описан алгоритм выявления элементарных оптических паттернов, блок-схема которого представлена на фиг. 21.

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

На шаге S42 из выбранных трех точек определяются две опорные точки. Опорными могут быть, например, наиболее удаленные друг от друга точки. В другом примере опорными могут быть наиболее близкие друг к другу точки.

На шаге S43 для этих двух точек определяется номинальное положение третьей точки, т.е. такое ее положение, чтобы вся тройка точек соответствовала элементарному паттерну.

На шаге S44 определяется отклонение δ геометрического положения третьей точки от ее номинального положения. На фиг. 22 представлен пример номинального и фактического положения третьей точки, расположенной между двумя наиболее удаленными друг от друга точками.

На шаге S45 выполняется проверка величины отклонения δ. Если это отклонение не превышает заранее заданного порогового значения ε, то на шаге S46 тройка точек фиксируется как элементарный паттерн-кандидат, а если это отклонение превышает заранее заданное пороговое значение ε, то на шаге S47 тройка точек отбраковывается, т.е. исключается из дальнейшего рассмотрения.

На шаге S48 производится проверка того, все ли сочетания трех точек обработаны на шагах S41–S47.

После завершения обработки всех сочетаний трех точек в окне трекинга список элементарных паттернов-кандидатов на шаге S49 сортируется по их величине δ, которая является показателем качества элементарных паттернов-кандидатов.

Затем на шаге S50 выбирается элементарный паттерн-кандидат с минимальной величиной δ и на шаге S51 выполняется проверка наличия в нем точек, уже использованных в действительных элементарных паттернах. Если ни одна из его точек не помечена как использованная, на шаге S52 такой элементарный паттерн-кандидат перемещается в список действительных элементарных паттернов, при этом точки, входящие в этот элементарный паттерн, помечаются как использованные. Если, по меньшей мере, одна из его точек помечена как использованная, то на шаге S53 такой элементарный паттерн-кандидат отбраковывается, т.е. исключается из дальнейшего рассмотрения.

Далее на шаге S54 шаги S50–S53 повторяются в отношении оставшихся в списке элементарных паттернов-кандидатов.

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

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

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

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

Следует отметить, что каждый процесс, соответствующий шагам S21–S25 и S41–S54, выполняется в отношении данных с каждого трекера независимо, т.е. реализуется многопоточная обработка данных, при этом количество потоков кратно количеству действующих трекеров в системе VR/AR.

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

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

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

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

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

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

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

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

Список непатентных документов

1. R. van Liere, J.D. Mulder. Optical tracking using projective invariant marker pattern properties. DOI: 10.1109/VR.2003.1191138

2. Manuel Loaiza, Alberto Raposo, Marcelo Gattass. A novel optical tracking algorithm for point-based projective invariant marker patterns. ISVC 2007: Advances in Visual Computing, Part I, LNCS 4841, pp. 160–169, 2007.

3. Daniel Wagner, Dieter Schmalstieg. ARToolKitPlus for pose tracking on mobile devices. Computer Vision Winter Workshop, St. Lambrecht, Austria, February 6–8, 2007.

4. Thomas Pintaric, Hannes Kaufmann. Affordable infrared-optical pose-tracking for virtual and augmented reality. Proceedings of Trends and Issues in Tracking for Virtual Environments Workshop, 2007.

5. Arjen van Rhijn, Jurriaan D. Mulder. Optical tracking and calibration of tangible interaction devices. IPT & EGVE Workshop, 2005.

6. Klaus Dorfmüller-Ulhaas. Robust optical user motion tracking using a Kalman filter. Report 2003-06, Institut für Informatik, Universität Augsburg, Germany.

7. A. Kolahi, M. Hoviattalab, T. Rezaeian, M. Alizadeh, M. Bostan, H. Mokhtarzadeh. Design of a marker-based human motion tracking system. Biomedical Signal Processing and Control, 2, 2007, pp. 59–67.

8. David Claus, Andrew W. Fitzgibbon. Reliable automatic calibration of a marker-based position tracking system. Proceedings of IEEE Workshop on Motion and Video Computing Motion, 2005, Application of Computer Vision, 2005. WACV/MOTIONS '05 Volume.

9. Steven Maesen, Patrik Goorts, Philippe Bekaert. Scalable optical tracking for navigating large virtual environments using spatially encoded markers. Proceedings of the 19th ACM Symposium on Virtual Reality Software and Technology VRST '13, pp. 101–110.

10. Filippo Bergamasco, Andrea Albarelli, Emanuele Rodola, Andrea Torsello. RUNE-Tag: a high accuracy fiducial marker with strong occlusion resilience. DOI: 10.1109/CVPR.2011.5995544.

11. Leonid Naimark, Eric Foxlin. Encoded LED system for optical trackers. DOI: 10.1109/ISMAR.2005.28.

12. Yashar Deldjoo, Reza Ebrahimi Atani. A low-cost infrared-optical head tracking solution for virtual 3D audio environment using the Nintendo Wii-remote. Entertainment Computing, vol.12, 2016, pp. 9–27.

Похожие патенты RU2697942C1

название год авторы номер документа
СПОСОБ И СИСТЕМА ДЛЯ ОПТИКО-ИНЕРЦИАЛЬНОГО ТРЕКИНГА ПОДВИЖНОГО ОБЪЕКТА 2017
  • Севостьянов Петр Вячеславович
RU2758036C1
СПОСОБ И СИСТЕМА ДЛЯ ОПТИКО-ИНЕРЦИАЛЬНОГО ТРЕКИНГА ПОДВИЖНОГО ОБЪЕКТА 2021
  • Севостьянов Петр Вячеславович
RU2772407C1
СПОСОБ И УСТРОЙСТВО ДЛЯ УПРАВЛЕНИЯ ТРЕХМЕРНЫМИ ОБЪЕКТАМИ В ВИРТУАЛЬНОМ ПРОСТРАНСТВЕ 2018
  • Севостьянов Петр Вячеславович
RU2695053C1
Система калибровки набора камер для задач оптического трекинга объектов в пространстве 2023
  • Костюшов Евгений Александрович
  • Бушуев Владимир Александрович
  • Дударев Дмитрий Алексеевич
  • Исаев Александр Николаевич
RU2811363C1
СПОСОБ И СИСТЕМА ОТСЛЕЖИВАНИЯ ДВИЖЕНИЙ ЧЕЛОВЕКА 2018
  • Куковякина Надежда Андреевна
  • Куликов Роман Сергеевич
  • Царегородцев Дмитрий Викторович
RU2736876C2
СИСТЕМА КОМБИНИРОВАННОГО ТРЕКИНГА 2019
  • Кислухин Алексей Владимирович
  • Сидоров Антон Вадимович
  • Абрамов Евгений Витальевич
RU2734553C1
СПОСОБ И СИСТЕМА ДЛЯ ВЕДЕНИЯ ДИАЛОГОВ С ВИРТУАЛЬНЫМИ ПЕРСОНАЖАМИ В ВИРТУАЛЬНОЙ СРЕДЕ 2020
  • Костюшов Евгений Александрович
  • Бушуев Владимир Александрович
  • Дударев Дмитрий Алексеевич
  • Фоминых Ксения Юрьевна
RU2747861C1
Способ построения системы видеонаблюдения для поиска и отслеживания объектов 2018
  • Абрамов Александр Владимирович
RU2696548C1
СИМУЛЯЦИОННЫЙ КОМПЛЕКС ДЛЯ БЕЗПАСНОГО ОБУЧЕНИЯ МЕДИЦИНСКОГО ПЕРСОНАЛА В УСЛОВИЯХ ПАНДЕМИИ 2020
  • Костюшов Евгений Александрович
  • Бушуев Владимир Александрович
  • Дударев Дмитрий Алексеевич
  • Исаев Александр Николаевич
RU2748960C1
СПОСОБ АСИНХРОННОЙ РЕПРОЕКЦИИ ИЗОБРАЖЕНИЯ 3D-СЦЕНЫ 2021
  • Севостьянов Петр Вячеславович
RU2792721C2

Иллюстрации к изобретению RU 2 697 942 C1

Реферат патента 2019 года СПОСОБ И СИСТЕМА ОБРАТНОГО ОПТИЧЕСКОГО ТРЕКИНГА ПОДВИЖНОГО ОБЪЕКТА

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

Формула изобретения RU 2 697 942 C1

1. Способ трекинга подвижного объекта, включающий в себя следующие шаги:

- выполняют автоматическую настройку зоны трекинга путем выявления и регистрации уникальных сочетаний элементарных оптических паттернов – «созвездий»:

(S1) определяют зону трекинга;

(S2) определяют размер окна трекинга и устанавливают окно трекинга в начальное положение;

(S3) определяют в окне трекинга элементарные оптические паттерны, образованные маркерами;

(S4) формируют ID «созвездия»-кандидата;

(S5) проверяют уникальность каждого «созвездия»-кандидата и маркируют ID неуникального «созвездия»-кандидата;

(S6) записывают ID «созвездия»-кандидата в таблицу «созвездий»;

(S7) поворачивают окно трекинга на заранее заданный угол;

(S8) выполняют шаги S2–S6 для повернутого окна трекинга;

(S9) проверяют, выполнено ли требуемое количество поворотов окна трекинга, и при необходимости повторяют шаги S7, S8;

(S10) перемещают окно трекинга с заранее заданным шагом;

(S11) выполняют шаги S2–S9 для перемещенного окна трекинга;

(S12) проверяют, покрыта ли вся зона трекинга, и при необходимости повторяют шаги S10, S11;

(S13) удаляют неуникальные ID «созвездий»-кандидатов из таблицы «созвездий»;

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

2. Способ по п. 1, в котором шаги S4, S5, S6 и S13 выполняют в отношении каждого ID «созвездия»-кандидата и ID каждого из его дочерних «созвездий»-кандидатов.

3. Способ по п. 1, в котором до выполнения шага S2 разделяют проекцию зоны трекинга на ячейки и размер окна трекинга на шаге S2 выражают в количестве таких ячеек.

4. Способ по п. 1, в котором шаг отслеживания изменения положения и/или ориентации подвижного объекта включает в себя следующие шаги:

(S21) считывают изображение с оптического датчика, расположенного на подвижном объекте, и выполняют его предварительную обработку;

(S22) выявляют в окне трекинга элементарные оптические паттерны, образованные маркерами;

(S23) формируют ID «созвездия»;

(S24) идентифицируют сформированный ID «созвездия» по таблице «созвездий»;

(S25) определяют положение и ориентацию подвижного объекта на основе «созвездия», идентифицированного на шаге S24.

5. Способ по п. 4, в котором шаг S21 включает в себя следующие шаги:

(S31) считывают изображение с оптического датчика;

(S32) выполняют компенсацию геометрических искажений считанного изображения;

(S33) опционально проецируют изображение на рабочую плоскость;

(S34) нормируют изображение;

(S35) выделяют окно трекинга на изображении.

6. Способ по п. 4, в котором шаг S22 включает в себя следующие шаги:

(S41) в окне трекинга произвольно выбирают три точки, соответствующие маркерам;

(S42) из выбранных трех точек определяют две опорные точки;

(S43) для опорных точек определяют номинальное положение третьей точки в соответствии с элементарным оптическим паттерном;

(S44) определяют отклонение δ геометрического положения третьей точки от ее номинального положения;

(S45) выполняют проверку величины δ; если величина δ не превышает заранее заданного порогового значения, то (S46) тройку точек вносят в список элементарных оптических паттернов-кандидатов, а если величина δ превышает заранее заданное пороговое значение, то (S47) тройку точек отбраковывают;

(S48) выполняют проверку того, все ли сочетания трех точек обработаны и при необходимости повторяют шаги S41–S47;

(S49) сортируют список элементарных оптических паттернов-кандидатов по величине δ;

(S50) из списка элементарных паттернов-кандидатов выбирают элементарный оптический паттерн-кандидат с минимальной величиной δ;

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

(S54) выполняют шаги S50–S53 в отношении оставшихся элементарных оптических паттернов-кандидатов.

7. Система трекинга подвижного объекта, содержащая:

- по меньшей мере, один трекер, размещенный на подвижном объекте, содержащий оптический датчик и выполняющий способ трекинга подвижного объекта, охарактеризованный в любом из пп. 1-6;

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

- центральное устройство обработки данных, совместно с трекером выполняющее способ трекинга подвижного объекта, охарактеризованный в любом из пп. 1–6.

8. Система по п. 7, в которой оптический датчик представляет собой матричный оптический датчик.

9. Система по п. 7, в которой, по меньшей мере, часть маркерных полос расположена на полу или ином основании.

10. Система по п. 9, в которой маркерные полосы интегрированы с упругим сборным покрытием для пола.

11. Система по п. 7, в которой, по меньшей мере, часть маркерных полос расположена на несущих конструкциях над полом.

12. Система по п. 7, в которой активные маркеры представляют собой маркеры, излучающие свет в инфракрасном диапазоне.

13. Система по п. 7, в которой элементарный оптический паттерн представляет собой линейный элементарный оптический паттерн.

14. Система по п. 7, в которой элементарный оптический паттерн представляет собой нелинейный элементарный оптический паттерн.

15. Система по п. 7, в которой трекер и центральное устройство обработки данных связаны беспроводным каналом передачи данных, предназначенным для передачи данных настройки при выполнении шага автоматической настройки зоны трекинга и данных о положении и/или ориентации трекера при выполнении шага отслеживания в способе, охарактеризованном в любом из пп. 1–6.

16. Система по п. 7, выполненная с возможностью автоматической настройки зоны трекинга путем выявления и регистрации уникальных сочетаний элементарных оптических паттернов способом, охарактеризованным в любом из пп. 1–6.

17. Система по п. 7, выполненная с возможностью отслеживания изменения положения и/или ориентации подвижного объекта путем выявления уникальных сочетаний элементарных оптических паттернов и сопоставления их с элементарными оптическими паттернами, зарегистрированными при настройке зоны трекинга способом, охарактеризованным в любом из пп. 1–6.

18. Система по п. 7, в которой трекер дополнительно содержит, по меньшей мере, один инерциальный датчик и которая выполнена с возможностью отслеживания изменения положения и/или ориентации подвижного объекта с использованием данных, по меньшей мере, одного инерциального датчика, в те периоды времени, когда невозможно идентифицировать «созвездия» способом, охарактеризованным в любом из пп. 1–6.

Документы, цитированные в отчете о поиске Патент 2019 года RU2697942C1

Пресс для выдавливания из деревянных дисков заготовок для ниточных катушек 1923
  • Григорьев П.Н.
SU2007A1
Многоступенчатая активно-реактивная турбина 1924
  • Ф. Лезель
SU2013A1
US 9892489 B1, 13.02.2018
Автомобиль-сани, движущиеся на полозьях посредством устанавливающихся по высоте колес с шинами 1924
  • Ф.А. Клейн
SU2017A1
АВТОМАТИЧЕСКАЯ КАЛИБРОВКА СИСТЕМЫ ОТСЧЕТА ДОПОЛНЕННОЙ РЕАЛЬНОСТИ 2013
  • Дэвис Пол Р.
  • Ли Дэвид К.
RU2651239C9

RU 2 697 942 C1

Авторы

Севостьянов Петр Вячеславович

Даты

2019-08-21Публикация

2018-10-30Подача