RU2828682C2 - Способ и система определения местоположения и ориентации устройства пользователя с привязкой к визуальным особенностям окружения - Google Patents
Способ и система определения местоположения и ориентации устройства пользователя с привязкой к визуальным особенностям окружения Download PDFInfo
- Publication number
- RU2828682C2 RU2828682C2 RU2022117849A RU2022117849A RU2828682C2 RU 2828682 C2 RU2828682 C2 RU 2828682C2 RU 2022117849 A RU2022117849 A RU 2022117849A RU 2022117849 A RU2022117849 A RU 2022117849A RU 2828682 C2 RU2828682 C2 RU 2828682C2
- Authority
- RU
- Russia
- Prior art keywords
- user
- orientation
- location
- real environment
- determining
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 107
- 230000000007 visual effect Effects 0.000 title description 3
- 230000007613 environmental effect Effects 0.000 claims abstract description 31
- 230000033001 locomotion Effects 0.000 claims abstract description 31
- 230000003190 augmentative effect Effects 0.000 claims abstract description 11
- 238000010276 construction Methods 0.000 claims description 20
- 238000005259 measurement Methods 0.000 claims description 20
- 238000009434 installation Methods 0.000 claims description 15
- 230000003993 interaction Effects 0.000 claims description 11
- 238000012544 monitoring process Methods 0.000 claims description 9
- 238000012935 Averaging Methods 0.000 claims description 3
- 238000009499 grossing Methods 0.000 claims description 3
- 238000011156 evaluation Methods 0.000 claims description 2
- 230000000694 effects Effects 0.000 abstract description 4
- 239000000126 substance Substances 0.000 abstract 1
- 230000004807 localization Effects 0.000 description 48
- 238000004891 communication Methods 0.000 description 14
- 230000008569 process Effects 0.000 description 13
- 238000012545 processing Methods 0.000 description 13
- 238000004422 calculation algorithm Methods 0.000 description 12
- 238000013459 approach Methods 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 238000013528 artificial neural network Methods 0.000 description 8
- 230000006870 function Effects 0.000 description 8
- 238000005516 engineering process Methods 0.000 description 7
- 238000006073 displacement reaction Methods 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 230000001965 increasing effect Effects 0.000 description 5
- 230000001360 synchronised effect Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 4
- 230000003287 optical effect Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000001514 detection method Methods 0.000 description 3
- 239000003550 marker Substances 0.000 description 3
- 238000012800 visualization Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000002245 particle Substances 0.000 description 2
- 230000000306 recurrent effect Effects 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 241001465754 Metazoa Species 0.000 description 1
- 230000002457 bidirectional effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 239000013078 crystal Substances 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 230000001939 inductive effect Effects 0.000 description 1
- 238000005495 investment casting Methods 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000005457 optimization Methods 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Abstract
Настоящее изобретение относится к способу и системе для определения местоположения и ориентации устройства пользователя в системах дополненной, смешанной и продвинутой смешанной реальности. Технический результат заключается в повышении быстродействия, точности и надежности определения местоположения и ориентации устройства. Способ определения местоположения и ориентации устройства пользователя включает в себя этапы, на которых: определяют первоначальное местоположение и ориентацию устройства пользователя; захватывают изображения реального окружения с помощью модуля захвата изображений, строят карту глубины реального окружения и извлекают из изображения реального окружения и/или карты глубины массив естественных меток окружения, представляющих собой особенности реального окружения; сохраняют собранный массив естественных меток окружения вместе с их координатами; перемещают устройство пользователя и при этом отслеживают его перемещение в реальном окружении на основании собранных естественных меток окружения. 4 н. и 15 з.п. ф-лы, 11 ил.
Description
Область техники
Настоящее изобретение относится к способу и системе для определения местоположения и ориентации устройства пользователя в системах дополненной, смешанной и продвинутой смешанной реальности.
Уровень техники
В настоящее время широкое распространение получили такие технологии совмещения виртуальных моделей с реальным окружением (XR) как:
- Дополненная реальность (Augmented Reality, AR), в которой виртуальные объекты просто накладываются на реальную обстановку. Позволяет увидеть модель в целом, но не дает представления о взаимном расположении реальных и виртуальных объектов;
- Смешанная реальность (Mixed Reality, MR), в которой виртуальные объекты визуально встраиваются в реальную обстановку так, что виртуальные объекты, находящиеся пространственно за физическими объектами, скрываются;
- Продвинутая смешанная реальность (Advanced Mixed Reality, AMR), в которой виртуальные объекты, находящиеся за реальными физическими, отображаются на дисплее с определенной прозрачностью.
Упомянутые технологии позволяют повысить эффективность процессов в различных отраслях деятельности человека. Наибольшая эффективность использования таких систем вероятна в производстве, промышленности, строительстве и других профессиональных отраслях. При этом виртуальные модели, используемые в этих сферах, имеют достаточно большой масштаб и накладываются на реальное окружение, которое в свою очередь может иметь собственные ограничивающие факторы.
Использование XR в профессиональной деятельности имеет достаточно много технических нюансов, которые накладывают специфичные требования на конструкцию, исполнение, программную часть и алгоритмы систем XR. Поэтому вопрос создания универсальной платформы, способной обеспечить формирование XR, является актуальным и не тривиальным.
В процессе встраивания систем XR особое внимание должно быть уделено удобству взаимодействия пользователя с виртуальными объектами. Повысить удобство такого взаимодействия можно различными способами. Это можно обеспечить за счет улучшений как аппаратной части устройств XR, так и их программной части, в том числе использованию специализированных алгоритмов.
Наиболее важными аспектами, которые влияют на качество взаимодействия пользователя с XR, являются точность и легкость привязки виртуальной модели к реальному окружению и точность и надежность определения изменения позиции (трекинга) в течение времени использования устройства XR.
Поскольку виртуальная модель и соответствующее ей виртуальное окружение могут достаточно сильно различаться и к тому же иметь достаточно большие масштабы, по сравнению с субъектом, использующим системы XR, сценарии привязки моделей должны отвечать требованиям высокой точности. А учитывая то, что система трекинга всегда будет иметь некоторую ошибку позиционирования, привязка может осуществляться несколько раз в процессе использования XR устройств. Вследствие этого помимо точности важным критерием выступает быстрота и простота привязки.
В уровне техники известна система комбинированного трекинга, описанная в документе RU 2734553 C1, которая включает в себя устройство оптического трекинга, устройство инерциального трекинга, устройство локального трекинга, устройство спутникового трекинга, роботизированный тахеометр, а также блок сбора и обработки данных с устройств, где происходит вычисление местоположения и ориентации пользователя или устройства. В данном решении происходит объединение данных, поступающих с упомянутых устройств, с помощью разработанного доверительного алгоритма на основе матрицы весов и алгоритма приоритетов. Такая обработка является довольно сложной и требует значительных вычислительных ресурсов и времени обработки.
Кроме того, в документе RU 2660631 C1 описывается способ и система для формирования изображений совмещенной реальности, в которой определяют данные о местоположении устройства визуализации с помощью сигналов сверхширокополосных передатчиков, расположенных в известных местоположениях, и определяют данные об ориентации устройства визуализации с помощью инерциальной навигационной системы устройства визуализации. Данное решение требует наличия дополнительных передатчиков, расположенных в известных местоположениях, что не всегда доступно пользователю и, следовательно, повышает сложность реализации описанного решения.
Таким образом, в уровне техники существует потребность в разработке решений для определения местоположения и ориентации устройства пользователя в системе дополненной (AR), смешанной (MR) и/или продвинутой смешанной реальности (AMR), обладающих высоким быстродействием, точностью и надежностью, а также низкой сложностью.
Краткое изложение существа изобретения
Настоящее изобретение направлено на решение по меньшей мере некоторых из указанных выше проблем.
В соответствии с одним аспектом изобретения предложен способ определения местоположения и ориентации устройства пользователя, включающий в себя этапы, на которых:
- определяют первоначальное местоположение и ориентацию устройства пользователя;
- захватывают изображения реального окружения с помощью модуля захвата изображений, строят карту глубины реального окружения и извлекают из изображения реального окружения и/или карты глубины массив естественных меток окружения, представляющих собой особенности реального окружения;
- сохраняют собранный массив естественных меток окружения вместе с их координатами;
- перемещают устройство пользователя и при этом отслеживают его перемещение в реальном окружении на основании собранных естественных меток окружения.
Согласно одному варианту осуществления способ дополнительно содержит этап, на котором из собранного массива естественных меток окружения исключают естественные метки, соответствующие динамическим объектам.
Согласно другому варианту осуществления способа динамические объекты определяются на захватываемом изображении в соответствии с заранее заданными классами часто встречающихся динамических объектов.
Согласно другому варианту осуществления способа динамический объект определяется на захватываемом изображении как часть изображения, перемещающаяся в то время как устройство пользователя остается неподвижным.
Согласно другому варианту осуществления способа карту глубин фильтруют посредством усреднения значений глубин, накопленных для каждой точки в разные моменты времени, и/или посредством сглаживания пикселей на основе их изотропии и градиентов.
Согласно другому варианту осуществления способа определение первоначального местоположения и ориентации устройства пользователя включает в себя следующие этапы, на которых:
- обнаруживают и определяют координаты точек реального окружения при помощи тахеометра;
- обнаруживают те же точки реального окружения при помощи модуля захвата изображений устройства пользователя;
- определяют местоположение и ориентацию устройства пользователя в реальном окружении на основе сопоставления координат упомянутых выше точек в реальном окружении и на изображении, захватываемом модулем захвата изображений устройства пользователя.
Согласно другому варианту осуществления способа определение первоначального местоположения и ориентации устройства пользователя включает в себя следующие этапы, на которых:
- размещают графические метки на объекте в соответствии с их расположением в виртуальной модели объекта;
- обнаруживают графические метки на изображении реального окружения, захватываемом модулем захвата изображений устройства пользователя;
- определяют местоположение и ориентацию устройства пользователя в реальном окружении на основе сопоставления графических меток на захватываемом изображении с их расположением в виртуальной модели.
Согласно другому варианту осуществления способа определение первоначального местоположения и ориентации устройства пользователя включает в себя следующие этапы, на которых:
- размещают графические метки на объекте в соответствии с их расположением в виртуальной модели объекта;
- обнаруживают графические метки на изображении реального окружения, захватываемом модулем захвата изображений устройства пользователя;
- определяют местоположение и ориентацию устройства пользователя в реальном окружении на основе сопоставления графических меток на захватываемом изображении с их расположением в виртуальной модели, при этом учитывают поворот устройства пользователя относительно мировой системы координат по данным инерциально-измерительного блока для учета отклонения угла наклона графической метки от угла наклона, заданного в виртуальной модели объекта.
Согласно другому варианту осуществления способа дополнительно осуществляют субпиксельную оценку координат углов графических меток на захватываемых изображениях.
Согласно другому варианту осуществления способа упомянутое определенное местоположение и ориентацию пользователя фильтруют посредством по меньшей мере одного из медианного фильтра, фильтра скользящего среднего, фильтра скользящей медианы, фильтра Калмана.
Согласно другому варианту осуществления способа определение первоначального местоположения и ориентации устройства пользователя включает в себя следующие этапы, на которых:
- выбирают в виртуальной модели объекта поверхность плоского элемента;
- задают опорную точку на упомянутой поверхности элемента в виртуальной модели;
- размещают графическую метку на поверхности реального элемента, соответствующей упомянутой выбранной поверхности элемента в виртуальной модели;
- обнаруживают графическую метку на изображении, захватываемом модулем захвата изображений устройства пользователя;
- определяют предварительное положение устройства пользователя относительно плоскости графической метки;
- перемещают устройство пользователя, чтобы совместить точку центра захватываемого изображения на дисплее устройства пользователя с точкой на реальном элементе, соответствующей упомянутой опорной точке, заданной на поверхности элемента в виртуальной модели;
- определяют местоположение и ориентацию устройства пользователя в реальном окружении на основе данных об упомянутой опорной точке, данных о соответствии элемента в виртуальной модели и реального элемента, на котором расположена графическая метка, упомянутого определенного предварительного положения устройства пользователя относительно плоскости графической метки и данных об упомянутом перемещении устройства пользователя.
Согласно другому варианту осуществления способа графическую метку размещают в любом месте и ориентации на поверхности реального элемента, соответствующей упомянутой выбранной поверхности элемента в виртуальной модели.
Согласно другому варианту осуществления способа определение первоначального местоположения и ориентации устройства пользователя включает в себя следующие этапы, на которых:
- выбирают в виртуальной модели поверхность плоского или цилиндрического элемента;
- задают опорную точку на упомянутой поверхности элемента в модели;
- вычисляют карту глубин реального окружения устройства пользователя на основании изображения, захватываемого модулем захвата изображения;
- обнаруживают на полученной карте глубин плоскости и/или цилиндрические элементы;
- определяют предварительное положение устройства пользователя на основании обнаруженных плоскостей и/или цилиндрических элементов;
- перемещают устройство пользователя, чтобы совместить точку центра захватываемого изображения на дисплее устройства пользователя с точкой на реальном элементе, соответствующей упомянутой опорной точке, заданной на поверхности элемента в модели;
- определяют местоположение и ориентацию устройства пользователя в реальном окружении на основе данных об упомянутой опорной точке, данных о плоскостях и/или цилиндрических элементах в модели и реальном окружении устройства пользователя, упомянутого определенного предварительного положения устройства пользователя и данных об упомянутом перемещении устройства пользователя.
Согласно другому варианту осуществления способа при определении предварительного положения устройства пользователя используют данные инерциально-измерительного блока для оценки поворота устройства пользователя.
Согласно другому варианту осуществления способа данные о перемещении устройства пользователя получают следующим образом:
- захватывают изображения реального окружения с помощью модуля захвата изображений, строят карту глубины реального окружения и извлекают из изображения реального окружения и/или карты глубины массив естественных меток окружения, представляющих собой особенности реального окружения;
- отслеживают перемещение устройства пользователя в реальном окружении на основании собранных естественных меток окружения.
Согласно другому варианту осуществления способа при отслеживании перемещения устройства пользователя в реальном окружении дополнительно используются данные инерциально-измерительного блока.
Согласно другому варианту осуществления способа определение первоначального местоположения и ориентации устройства пользователя включает в себя следующие этапы, на которых:
- запускают спутниковую систему навигации и подсистему графического трекинга;
- перемещают устройство пользователя в реальном окружении;
- вычисляют и совмещают полученные данные траектории устройства пользователя от спутниковой системы навигации и подсистемы графического трекинга до тех пор, пока ошибка траектории между ними не станет минимальной;
- определяют первоначальное положение устройства пользователя при определении минимизации ошибки траектории,
при этом данные траектории устройства пользователя от подсистемы графического трекинга получают следующим образом:
- захватывают изображения реального окружения с помощью модуля захвата изображений, строят карту глубины реального окружения и извлекают из изображения реального окружения и/или карты глубины массив естественных меток окружения, представляющих собой особенности реального окружения;
- отслеживают траекторию устройства пользователя в реальном окружении на основании собранных естественных меток окружения.
Согласно другому варианту осуществления способа поворот устройства пользователя в начальный момент времени определяется на основании данных инерциально-измерительного блока.
Согласно другому варианту осуществления способа определение первоначального местоположения и ориентации устройства пользователя включает в себя следующие этапы, на которых:
- захватывают изображения реального окружения,
- строят карту глубины реального окружения,
- извлекают из изображения реального окружения и/или карты глубины массив естественных меток окружения, представляющих собой особенности реального окружения, и
- определяют местоположение и ориентацию устройства на основании собранных ранее данных о естественных метках окружения и их координатах.
В соответствии с еще одним аспектом настоящего изобретения предложен компьютерно-читаемый носитель данных, на котором хранится программа, которая при исполнении процессором предписывает упомянутому процессору выполнять вышеупомянутый способ определения местоположения и ориентации устройства пользователя.
В соответствии с еще одним аспектом настоящего изобретения предложена система для определения местоположения и ориентации устройства пользователя, содержащая вычислительный блок и устройство пользователя, включающее в себя набор модулей для определения местоположения и ориентации устройства пользователя, дисплей и модуль захвата изображений, причем система для определения местоположения и ориентации устройства пользователя выполнена с возможностью выполнения вышеупомянутого способа определения местоположения и ориентации устройства пользователя.
Согласно одному варианту осуществления системы вычислительный блок является частью устройства пользователя.
Согласно другому варианту осуществления системы вычислительный блок расположен в удаленном сервере.
Согласно другому варианту осуществления системы набор модулей для определения местоположения и ориентации устройства пользователя включает в себя по меньшей мере одно из следующего:
- модуль спутниковой системы навигации;
- инерциально-измерительный блок (IMU);
- модуль взаимодействия с тахеометром.
В соответствии с еще одним аспектом настоящего изобретения предложена система управления и контроля строительно-монтажных работ, включающая в себя систему для определения местоположения и ориентации устройства пользователя и удаленный сервер, включающий в себя базу данных, в которой хранятся BIM-модели (Building Information Model) объектов.
Согласно одному варианту осуществления система управления и контроля строительно-монтажных работ выполнена с возможностью визуально встраивать BIM-модели в реальное окружение на дисплее устройства пользователя в режиме дополненной (AR), смешанной (MR) или продвинутой смешанной реальности (AMR).
Согласно одному варианту осуществления система управления и контроля строительно-монтажных работ выполнена с возможностью графической подсветки участков карты глубины на изображении, выводимом пользователю на дисплее устройства пользователя, расстояние до которых вычислено с заданной достаточной степенью достоверности.
Таким образом, настоящее изобретение обеспечивает простое и недорогое решение для осуществления определения местоположения и ориентации устройства в системе XR, обладающее высоким быстродействием, точностью и надежностью.
Краткое описание чертежей
В дальнейшем изобретение поясняется описанием предпочтительных вариантов воплощения изобретения со ссылками на сопроводительные чертежи, на которых:
Фиг. 1а-1б изображают блок-схемы вариантов осуществления системы управления и контроля строительно-монтажных работ в соответствии с настоящим изобретением.
Фиг. 2 изображает схему локализации устройства пользователя с использованием тахеометра.
Фиг. 3 изображает блок-схему выполнения этапов способа определения местоположения и ориентации устройства с помощью тахеометра.
Фиг. 4 изображает блок-схему выполнения этапов способа определения местоположения и ориентации устройства по графическим меткам.
Фиг. 5 изображает блок-схему выполнения этапов способа определения местоположения и ориентации устройства по графическим меткам с использованием данных от инерциально-измерительного блока.
Фиг. 6а-6в схематично изображают этапы выполнения способа быстрой локализации на основе графических меток.
Фиг. 7 изображает блок-схему выполнения этапов способа быстрой локализации на основе графических меток.
Фиг. 8 изображает блок-схему выполнения этапов способа определения местоположения и ориентации устройства на основе определения плоскостей и цилиндрических поверхностей.
Фиг. 9 изображает блок-схему выполнения этапов способа определения местоположения и ориентации устройства на основании спутниковой системы навигации.
Фиг. 10 изображает блок-схему выполнения этапов способа определения местоположения и ориентации устройства по естественным меткам.
Фиг. 11 изображает блок-схему выполнения этапов способа работы подсистемы графического трекинга.
Описание предпочтительных вариантов осуществления изобретения
В соответствии с одним аспектом настоящее изобретение относится к системе определения местоположения и ориентации устройства в системе, использующей технологии дополненной (AR), смешанной (MR) и/или продвинутой смешанной реальности (AMR), которая для простоты обозначается в данном документе как система XR. Такая система XR в соответствии с описанным далее примерным вариантом осуществления изобретения является системой управления и контроля строительно-монтажных работ. Система управления и контроля строительно-монтажных работ в соответствии с настоящим изобретением позволяет работать с загруженными в нее BIM-моделями (Building Information Model) объектов, которые представляют собой информационные модели зданий и сооружений. Упомянутая система посредством устройства пользователя может визуально встраивать BIM-модели в реальное окружение в режимах AR/MR/AMR (совмещение реального и виртуального изображений на дисплее), что позволяет оценить взаимное расположение цифровых и реальных элементов строительного объекта, и выявлять таким образом допущенные при строительстве и монтаже отклонения и нарушения. Дополнительно упомянутая система может выполнять фото- и видеофиксацию отклонений от проекта с автоматическим формированием отчета, а в режимах дополненной и смешанной реальности еще и с определением местоположения отклонений. BIM-модели в силу своей специфики обладают значительным объемом и работа с ними требует высоких вычислительных мощностей оборудования. В таких условиях для пользователя высокое значение имеет точность и скорость работы системы XR, включая в первую очередь скорость и точность определения местоположения устройства пользователя в реальном окружении.
Стоит отметить, что настоящая система XR может найти свое применение не только в строительстве, но и в производстве, промышленности, сфере жилищно-коммунального хозяйства, сфере развлечений и т.д. Для специалиста в данной области техники такие возможности будут очевидны с учетом приведенного ниже описания характерных особенностей системы XR в соответствии с настоящим изобретением.
Система (1) управления и контроля строительно-монтажных работ в соответствии с примерным вариантом осуществления настоящего изобретения (фиг. 1а-1б) включает в себя устройство (2) пользователя, содержащее: модуль (3) ввода для приема управляющих воздействий от пользователя, дисплей (4) для вывода информации пользователю, модуль (5) захвата изображения, набор (6) модулей для определения местоположения и ориентации устройства, модуль (7) связи. Кроме того, система (1) управления и контроля строительно-монтажных работ содержит вычислительный блок (8), на котором производятся основные вычисления, и базу (9) данных.
Вычислительный блок (8) в соответствии с одним вариантом осуществления (фиг. 1а) может быть соединен напрямую к устройству (2) пользователя и быть его непосредственной частью. В таком случае, он самостоятельно аккумулирует всю информацию от остальных модулей и датчиков и производит дальнейший ее анализ. Однако, стоит отметить, что устройство (2) пользователя в силу выполняемых задач должно обладать высокой мобильностью и удобством для пользователя, т.е. должно характеризоваться низкими массогабаритными характеристиками, что ограничивает возможности установки высокопроизводительного аппаратного обеспечения в упомянутое устройство (2) пользователя.
В альтернативном варианте осуществления (фиг. 1б) вычислительный блок (8) расположен в удаленном сервере (13). При таком исполнении информация от модулей и датчиков аккумулируется на самом устройстве и посредством модуля (7) связи передается на удаленный вычислительный блок (8). Передача данных может осуществляться посредством различных широкополосных сетей связи (например, Wi-Fi, 5G, LTE и т.п.). Удаленный вычислительный блок (8) производит анализ приходящих данных, формирует ответный пакет, содержащий, в том числе, информацию о положении устройства (2), и отправляет его обратно. В таком исполнении осуществляется замена физических вычислительных мощностей устройства (2) пользователя на облачные, причем удаленный сервер (13) может иметь значительно более производительное аппаратное обеспечение по сравнению с устройством (2) пользователя. Таким образом, скорость обработки данных в таком варианте осуществления настоящего изобретения будет более высокой. Также это обеспечивает снижение массы устройства пользователя и повышение его эргономичности. Такой подход помимо снижения веса устройства способен обеспечить меньший его нагрев и, соответственно устранить проблему охлаждения устройства. В то же время, подобное решение способно обеспечить гораздо большую автономность (продолжительность работы) устройства.
Удаленный сервер (13), среди прочего, содержит базу (9) данных, в которой сохранены все BIM-модели, необходимые при работе системы (1) управления и контроля строительно-монтажных работ, причем упомянутые BIM-модели в ходе работы могут обновляться для обеспечения возможности работы системы с актуальными данными.
Устройство (2) пользователя в соответствии с настоящим изобретением может представлять собой одно из планшетного компьютера (планшета), смартфона, ноутбука и т.д. В примерном варианте осуществления, более подробно раскрытом далее, устройство пользователя представляет собой планшет.
Дисплей (4) устройства пользователя в примерном варианте осуществления представляет собой жидкокристаллический (LCD) дисплей. При этом очевидно, что в качестве дисплея может использоваться любой другой известный дисплей, пригодный для вывода изображений пользователю, в том числе специализированные очки дополненной реальности.
Модуль (3) ввода устройства пользователя для приема управляющих воздействий от пользователя может быть выбран из группы, включающей в себя, например, мышь, клавиатуру, трэкбол, или в совокупности с дисплеем может образовывать дисплей с сенсорным экраном. Сенсорный экран может представлять собой, например, резисистивный, проекционно-емкостной, поверхностно-емкостной, сенсорно-сканирующий экран и т.п.
Модуль (7) связи выполнен с возможностью осуществления проводной (например, посредством Ethernet, USB и т.д.) и беспроводной (например, посредством Wi-Fi, 5G, LTE, Bluetooth) связи устройства пользователя с локальной сетью (LAN), сетью Интернет, удаленным сервером и т.д.
Модуль (5) захвата изображений включает в себя обычную или инфракрасную стереокамеру, которая может быть дополнена другими типами камер. Изображения, захватываемые модулем (5) захвата изображений, выводится пользователю посредством дисплея (4). Кроме того, стереокамера позволяет построить карту глубины окружения в поле зрения камеры.
Набор (6) модулей для определения местоположения и ориентации устройства включает в себя по меньшей мере одно из следующего:
- модуль (10) спутниковой системы навигации (Global Navigation Satellite System, GNSS), выполненный с возможностью работы по меньшей мере с одной из систем GPS (Global Positioning System), ГЛОНАСС, «Бэйдоу»;
- инерциально-измерительный блок (IMU) (11), который может включать в себя гироскопы, акселерометры, магнитометры и т.д.;
- модуль (12) взаимодействия с тахеометром (15).
Модуль (12) взаимодействия с тахеометром может являться частью модуля (7) связи.
Упомянутый выше набор (6) модулей для определения местоположения и ориентации устройства в совокупности с дисплеем (4), модулем (5) захвата изображений и вычислительным блоком (8) формируют систему (14) определения местоположения и ориентации устройства (2) пользователя.
Предлагаемая система (14) определения местоположения и ориентации устройства пользователя с функциональной точки зрения состоит из двух основных подсистем:
- подсистема локализации;
- подсистема графического трекинга.
Стоит отметить, что данные подсистемы решают различные задачи. Задача локализации состоит в определении первоначального местоположения и ориентации устройства пользователя и первичном совмещении систем координат устройства пользователя в реальном окружении и виртуальной модели. Задача графического трекинга заключается в понимании характера перемещения устройства пользователя, определении его сдвига и поворота относительно некоторой неизвестной начальной точки. Другими словами, локализация определяет нулевую точку системы координат устройства пользователя в мировом пространстве (реконструкция позиции и положения начала движения), а трекинг позволяет определить смещение его поворота и позиции в любой момент времени после этого (реконструкция траектории движения). Несмотря на это, две эти задачи могут быть взаимосвязаны друг с другом. Одна из подсистем может уточнять решение другой, как это продемонстрировано в некоторых предлагаемых решениях этой заявки.
I. Подсистема локализации.
Подсистема локализации предназначена для определения первоначального местоположения и ориентации устройства пользователя и последующего первичного совмещения системы координат устройства пользователя в реальном окружении и виртуальной модели. Осуществив это совмещение, становится возможным наложение виртуальной модели на изображение реального окружения на дисплее устройства пользователя в режиме дополненной (AR), смешанной (MR) или продвинутой смешанной реальности (AMR).
Задача определения первоначального местоположения и ориентации устройства пользователя решается посредством нескольких перечисленных далее способов, имеющих свои особенности, которые определяют условия их использования.
1. Взаимодействие с тахеометром.
Локализация при помощи тахеометра (15) (фиг. 2) является наиболее точным способом установления взаимосвязи системы координат виртуальной модели и устройства (2) пользователя в реальном окружении. Для этого планшет фиксируется на специальной стойке. С помощью тахеометра (15) определяется местоположение и ориентация планшета в реальном окружении с очень небольшой ошибкой, и, таким образом, возможно дальнейшее преобразование и совмещение систем координат. Однако, несмотря на высокую точность, данный способ является достаточно трудоемким и требует от специалиста специфических знаний по обращению с тахеометром.
Способ определения местоположения и ориентации устройства с помощью тахеометра включает в себя следующие этапы (фиг. 3), на которых:
- обнаруживают и определяют (этап S10) координаты точек реального окружения при помощи тахеометра;
- обнаруживают (этап S11) те же точки реального окружения при помощи камеры устройства пользователя;
- определяют (этап S12) местоположение и ориентацию устройства пользователя в реальном окружении на основе сопоставления координат упомянутых выше точек в реальном окружении и на изображении, захватываемом камерой устройства пользователя.
Отличительной особенностью данного решения является то, что в устройство пользователя (планшет) не вносятся никакие конструктивные изменения. Планшет осуществляет связь с тахеометром (15) посредством модуля (12) взаимодействия с тахеометром. Планшет также не имеет специальных отражателей. Локализация при этом может выполняться вне зоны прямой видимости между тахеометром и планшетом. Достаточно, чтобы планшет и тахеометр видели общий набор точек окружения (фиг. 2). Такие точки могут являться точками графических меток (маркеров), характерными (ключевыми) точками окружения, контрастными точками реальной сцены в различных диапазонах видимости, точками, выбранными пользователем и, в том числе, иными, подходящими для этой цели.
Тахеометр имеет возможность определить собственное положение в глобальной системе координат, опираясь, например, на государственную геодезическую сеть или ее аналоги. После этого тахеометр способен определить абсолютные координаты любой точки в зоне видимости. Для точного определения положения камеры устройства пользователя в пространстве необходимо по меньшей мере три точки (но лучше больше), координаты которых в глобальной системе будут достоверно известны. Зная двухмерные координаты точек на изображении, захватываемом камерой устройства пользователя, и их трехмерные координаты в реальном мире можно определить положение камеры, решив так называемую задачу Perspective-n-Point или применив один из методов семейства RANSAC. Система автоматически (если это графическая метка) или в ручном режиме обнаруживает такие точки, получает их координаты от тахеометра и восстанавливает положение и ориентацию камеры в глобальной системе координат.
Совмещение систем координат происходит за счет того, что точки окружения определены и правильно соотнесены в системе координат камеры и тахеометра. При этом обработка точек на стороне тахеометра и камеры может выполняться как параллельно (синхронно), так и в различные моменты времени (асинхронно).
2. Локализация по графическим меткам.
Базовая локализация по графическим меткам (маркерам) является основным вариантом исполнения подсистемы локализации. В ее основе лежит обнаружение особых меток (например, штрих-коды, QR-коды, маркеры ArUco, AprilTag, S-Tag и т.д.), обладающих легко распознаваемым графическим рисунком, уникальным для конкретного идентификатора (например, порядкового номера) графической метки, которая заранее наносится (или крепится) на строительные объекты (как правило, на стены) и задается в соответствующем месте виртуальной модели. Определяется точное расположение графических меток относительно элементов объекта (углов, стыков и т.п.), к которым можно привязаться на модели объекта. При нахождении на объекте после наведения камеры устройства пользователя на графическую метку запускается функция поиска виртуальной графической метки в модели, соответствующей реальной. Как только графическая метка будет найдена, система автоматически определит местоположение и ориентацию устройства пользователя. Определив ориентацию устройства пользователя относительно реальной метки, можно соотнести две системы координат (устройства пользователя и модели). Для увеличения точности определения положения устройства пользователя относительно метки применяются специальные временные и пространственные фильтры.
Способ определения местоположения и ориентации устройства по графическим меткам включает в себя следующие этапы (фиг. 4), на которых:
- размещают (этап S20) графические метки на объекте в соответствии с их расположением в виртуальной модели объекта;
- обнаруживают (этап S21) графические метки на изображении реального окружения, захватываемом камерой устройства пользователя;
- определяют (этап S23) местоположение и ориентацию устройства пользователя в реальном окружении на основе сопоставления графических меток на захватываемом изображении с их расположением в виртуальной модели.
Отличительной особенностью данного подхода является возможность использования нескольких меток одновременно. При этом не обязательно, чтобы они находились на одной плоскости. Метки могут располагаться независимо в различных участках пространства, видимого камерой в любом положении. Таким образом, конечное решение о первоначальном положении камеры становится более точным и надежным.
Повысить точность и надежность данного способа также позволяют различные фильтры и способы оптимизации. Так упомянутый выше способ может включать в себя опциональный этап, на котором используют (этап S22) способы субпиксельной оценки координат углов графических меток для точного определения координат графических меток. Таким образом, результат определения позиции становится гораздо точнее. Кроме того, для уточнения положения начала движения способ может включать в себя опциональный этап, на котором используют (этап S24) по меньшей мере один из следующих фильтров: медианный фильтр, фильтр скользящего среднего, фильтр скользящей медианы, фильтр Калмана и др. Стоит также отметить, что весомый вклад в процесс уточнения координат вкладывают алгоритмы реконструкции положения (в литературе упоминается как задача Perspective-n-Point). Система в соответствии с настоящим изобретением позволяет выбирать и комбинировать существующие алгоритмы, предоставляя пользователю выбор между наиболее быстрым, но менее точным решением, либо наиболее точным и медленным, либо их различной комбинацией.
3. Локализация по графическим меткам, уточненная по данным инерциально-измерительного блока.
Данный подход базируется на тех же принципах, что были описаны выше. Однако для корректировки углового положения камеры используются более точные данные, взятые от инерциально-измерительного блока. Откорректированная при помощи инерциальных данных локализация по графическим меткам позволяет увеличить точность определения местоположения и ориентации камеры в пространстве.
Способ определения местоположения и ориентации устройства по графическим меткам с использованием данных от инерциально-измерительного блока (фиг. 5) включает в себя в дополнение к этапам S20-S24, описанным ранее, дополнительный этап (этап S30), на котором учитывают поворот устройства пользователя (инерциальные данные) относительно мировой системы координат по данным IMU.
Необходимость применения данных инерциально-измерительного блока обусловлена следующими факторами. Графическая метка в идеальном случае должна иметь одинаковое расположение в модели и на реальном объекте. Однако часто происходит так, что метка размещена в правильном месте, а угол ее наклона выставлен неверно. Кроме того, сам процесс выставления метки по углу может быть достаточно трудоемким, требовать дополнительных инструментов и операций. Для того, чтобы нивелировать ошибку по углу установки графической метки от угла наклона, заданного в виртуальной модели объекта, используются данные IMU. Они позволяют однозначно определить наклон камеры. Данные позиционирования по графическим меткам и IMU комплексируются для оптимизации решения перед фильтрацией таким образом, что оценка положения устройства пользователя основывается на данных графической метки, а оценка поворота в большей степени определяется по данным инерциально-измерительного блока.
В отличие от существующих систем трекинга на основе совмещения визуальных и инерциальных данных, предлагаемый подход предполагает, что инерциальные данные будут использоваться исключительно в момент локализации. Это в первую очередь связано с тем, что используемая система трекинга (описанная ниже) обладает достаточной точностью для использования в процессе создания дополненной, смешанной и продвинутой смешанной реальности. В то же время, использование для уточнения в каждый момент времени данных инерциально-измерительного блока создает дополнительные вычислительные нагрузки, и в некоторых случаях может приводить к гораздо большим ошибкам.
4. Быстрая локализация на основе графических меток.
Быстрая локализация на основе графических меток является развитием идеи использования графических меток. Данный подход не предполагает точной установки метки в положение, соответствующее виртуальной модели. Вместо этого предполагается выбор пользователем поверхности плоского строительного элемента (стен, колонн, перекрытий, пола и т.д.) в модели и опорной (референсной) точки на упомянутой поверхности этого элемента (обычно для удобства это угловая точка или точка на его ребре) (Фиг. 6а). На строительной площадке в свою очередь производится установка графической метки на поверхность реального строительного элемента, соответствующую упомянутой поверхности, выбранной в модели. Далее происходит обнаружение и определение положения камеры относительно плоскости графической метки (Фиг. 6б). После этого пользователь должен сопоставить точку центра изображения на дисплее с точкой в реальности, соответствующей выбранной опорной точке в модели (Фиг. 6в). Таким образом, обладая информацией о расположении плоскости элемента и опорной точки на этой плоскости можно сопоставить виртуальную модель и изображение от видеокамеры. Данный подход может комбинироваться с использованием инерциальных данных как описано выше, что может повысить его точность.
Таким образом, способ быстрой локализации на основе графических меток включает в себя следующие этапы (фиг. 7), на которых:
- выбирают (этап S40) в виртуальной модели объекта поверхность плоского элемента;
- задают (этап S41) опорную точку на упомянутой поверхности элемента в виртуальной модели;
- размещают (этап S42) графическую метку на поверхности реального элемента, соответствующей упомянутой выбранной поверхности элемента в виртуальной модели (фиг. 6а);
- обнаруживают (этап S43) графическую метку на изображении, захватываемом камерой устройства пользователя;
- определяют (этап S44) предварительное положение устройства пользователя относительно плоскости графической метки (фиг. 6б);
- перемещают (этап S45) устройство пользователя, чтобы совместить точку центра захватываемого изображения на дисплее устройства пользователя с точкой на реальном элементе, соответствующей упомянутой опорной точке, заданной на поверхности элемента в виртуальной модели (фиг. 6в);
- определяют (этап S46) местоположение и ориентацию устройства пользователя в реальном окружении на основе данных об упомянутой опорной точке, данных о соответствии элемента в виртуальной модели и реального элемента, на котором расположена графическая метка, упомянутого определенного предварительного положения устройства пользователя относительно плоскости графической метки и данных об упомянутом перемещении устройства пользователя.
Отличительной особенностью данного подхода является то, что в данном случае нет необходимости достаточно точно указывать реальные координаты камеры в виртуальной модели, а также не требуется, чтобы положение графической метки максимально соответствовало в реальности положению в виртуальной модели. Графическая метка в данном случае необходима лишь для того, чтобы связать плоскость объекта в виртуальной модели с ее реальным исполнением. При этом графическая метка может находиться в любом месте и ориентации на этой плоскости, что значительно снижает сложность реализации данного способа на практике. Зная, как взаимно расположены реальная и виртуальная плоскости, можно оценить ориентацию камеры относительно этих плоскостей. Однако для полного понимания положения камеры в пространстве требуется также определить ее координаты. Опорная (референсная) точка служит для того, чтобы получить недостающие компоненты для определения относительной позиции камеры в системе координат виртуальной модели. Использование упомянутой опорной точки позволяет повысить точность и надежность определения местоположения и ориентации устройства пользователя.
Следует понимать, что BIM-модель может включать в себя множество опорных точек на множестве объектов для облегчения локализации устройства пользователя в реальном окружении.
Стоит отметить, что для решения задачи локализации используются данные от подсистемы трекинга, подробно описанной далее.
В одном из вариантов осуществления данного способа на этапе S44 определяют положение устройства пользователя относительно плоскости графической метки и при этом определяют поворот устройства пользователя с использованием IMU, как описано выше для локализации по графическим меткам, уточненной по данным инерциально-измерительного блока. Показания IMU сохраняются и могут использоваться на этапе S46. Затем на этапе S45 перемещают устройство пользователя и данное перемещение определяется посредством подсистемы трекинга.
Для локализации данным способом требуется понимать, как расположена плоскость элемента относительно камеры. Таким образом, определяется поворот в системе координат модели. Оценка поворота в данном варианте осушествления может быть уточнена с помощью использования данных IMU на этапе S44. Для определения смещения используется опорная (референсная) точка. На этапе S45 необходимо совместить точку центра захватываемого изображения на дисплее устройства пользователя с точкой на реальном элементе, соответствующей упомянутой опорной точке, заданной на грани объекта элемента в виртуальной модели. При этом определяется перемещение камеры в собственной системе координат, т.к. пока нет полной привязки собственной системы координат камеры к мировой или виртуальной системе. Зафиксировав положение опорной точки при помощи камеры можно определить полную привязку вышеупомянутых систем координат на этапе S46. Для этого используется перенос и поворот камеры, который определяется системой трекинга.
В альтернативном варианте осуществления данного способа на этапе S45 подсистема трекинга может оценивать перемещение устройства пользователя, используя при этом данные IMU. В таком случае определение поворота устройства пользователя на этапе S44 с использованием данных IMU не требуется.
В этом заключается другое отличие от существующих систем, т.к. в данном случае задача определения положения камеры в мировой системе координат первична по отношению к задаче трекинга камеры. Также стоит отметить, что данные графические метки никак не участвуют в процессе вычисления дальнейшей траектории камеры.
Задача локализации по меткам, как правило, возникает в начале работы системы. После нее имеется привязка виртуальной модели и реальной сцены. Последующий трекинг происходит в собственной системе координат на основе выделения ключевых особенностей окружения. Графические метки могут формировать и содержать в себе такие особенности. Однако, существующий алгоритм трекинга не предполагает детектирование меток как отдельных объектов и определения по ним собственного положения. Алгоритмы локализации и трекинга представляют собой обособленные алгоритмы, результаты их работы используются на более высоком уровне при наложении виртуальной модели на изображение сцены.
5. Локализация на основе определения плоскостей и цилиндрических поверхностей.
Локализация на основе определения плоскостей и цилиндрических поверхностей имеет сходные с предыдущим способом локализации механизмы. Однако для определения поверхности элемента используются не специальные графические метки, а определенные по карте глубин плоские или цилиндрические строительные элементы. Пользователь указывает опорную точку на одной из поверхностей плоского или цилиндрического элемента в виртуальной модели. Система обнаруживает на основе анализа карты глубин подобные элементы на захватываемой сцене. После чего пользователь совмещает опорную точку в представлении модели на дисплее устройства пользователя с ее расположением на реальном элементе.
Данный способ, как и предыдущий, использует для локализации данные о поверхности элемента и опорной точке. Необязательно, чтобы эта точка была угловой или характерной (ключевой). Достаточно, чтобы она лежала на плоскости элемента.
Таким образом, способ локализации на основе определения плоскостей и цилиндрических поверхностей включает в себя следующие этапы (фиг. 8), на которых:
- выбирают (этап S50) в виртуальной модели поверхность плоского или цилиндрического элемента;
- задают (этап S51) опорную точку на упомянутой поверхности элемента в модели;
- вычисляют (этап S52) карту глубин реального окружения устройства пользователя на основании изображения, захватываемого модулем захвата изображения;
- обнаруживают (этап S53) на полученной карте глубин плоскости и/или цилиндрические элементы;
- определяют (этап S54) предварительное положение устройства пользователя на основании обнаруженных плоскостей и/или цилиндрических элементов;
- перемещают (этап S55) устройство пользователя, чтобы совместить точку центра захватываемого изображения на дисплее устройства пользователя с точкой на реальном элементе, соответствующей упомянутой опорной точке, заданной на поверхности элемента в модели;
- определяют (этап S56) местоположение и ориентацию устройства пользователя в реальном окружении на основе данных об упомянутой опорной точке, данных о плоскостях и/или цилиндрических элементах в модели и реальном окружении устройства пользователя, упомянутого определенного предварительного положения устройства пользователя и данных об упомянутом перемещении устройства пользователя.
Предварительное положение, определяемое на этапе S54 в данном способе, характеризует ориентацию (угол поворота) устройства пользователя относительно объекта. Эти данные могут быть дополнены данными IMU для повышения точности.
В данном способе по аналогии с предыдущим на этапе S56 используются данные о перемещении от подсистемы трекинга, подробно описанной далее. Эти данные могут быть дополнены данными IMU для повышения точности.
Отличительной особенностью от прошлого способа является то, что система локализует положение камеры благодаря нахождению поверхностей и их пространственных параметров по карте глубин. Помимо объектов с плоскими гранями также могут быть использованы объекты цилиндрической формы.
Также как и для предыдущего способа в данном способе информация о локализации является первичной, а данные о перемещении камеры используются для вычисления координат камеры с известной ориентацией относительно исследуемого объекта.
6. Локализация на основании спутниковой системы навигации (GNSS).
Локализация на основе GNSS применяется в условиях, когда невозможно использовать тахеометр или графические метки. Для этого данные от GNSS приемника совмещаются с информацией от инерциально-измерительного блока. При этом определяется некоторое опорное положение камеры в нулевой момент времени. В течение времени работы устройства опорное положение уточняется и с прошествием времени совмещение изображения виртуальной модели и реального окружения будут более точными.
Как и в предыдущих примерах для решения задачи локализации используются данные трекинга устройства пользователя.
Суть данного метода сводится к тому, чтобы совместить траектории движения по графическому трекингу с данными от GNSS и IMU. В нулевой момент времени мы имеем лишь поворот камеры в пространстве от IMU и приблизительные данные о положении устройства от GNSS. На начальном этапе ориентация камеры определяется на основании данных IMU и сохраняется для дальнейшего использования при синхронизации траекторий. При этом из-за особенностей модулей IMU данные о повороте относительно вертикальной оси всегда имеют сравнительно большую ошибку. Когда мы начинаем движение, мы накапливаем данные по графическому трекингу и GNSS. Получив достаточный набор этих данных, можно их совместить таким образом, чтобы найти взаимную ориентацию систем координат, и в результате понять, как камера расположена в реальном окружении, и, соответственно, наложить виртуальную модель. Карта глубины в данном случае может использоваться только подсистемой графического трекинга, и фактически не задействована при комплексировании данных. Данные GNSS имеют достаточно весомый разброс, который не позволяет использовать только их при локализации и трекинге устройства пользователя. В то же время, накопленные данные GNSS могут быть использованы для локализации. Для этого накопленная траектория по GNSS накладывается на накопленную траекторию, полученную от подсистемы трекинга, таким образом, чтобы минимизировать ошибку между ними. После этого становится возможным вычислить первоначальное положение устройства пользователя в мировой системе координат.
Таким образом, способ локализации на основании спутниковой системы навигации включает в себя следующие этапы (фиг. 9), на которых:
- запускают (этап S60) спутниковую систему навигации и подсистему графического трекинга, подробно описанную далее;
- перемещают (этап S61) устройство пользователя в реальном окружении;
- вычисляют (этап S62) и совмещают полученные данные траектории устройства пользователя от спутниковой системы навигации и подсистемы графического трекинга до тех пор, пока ошибка траектории между ними не станет минимальной;
- определяют (этап S63) первоначальное положение устройства пользователя при определении минимизации ошибки траектории,
при этом данные траектории устройства пользователя от подсистемы графического трекинга получают следующим образом:
- захватывают изображения реального окружения с помощью модуля захвата изображений, строят карту глубины реального окружения и извлекают из изображения реального окружения и/или карты глубины массив естественных меток окружения, представляющих собой особенности реального окружения;
- отслеживают траекторию устройства пользователя в реальном окружении на основании собранных естественных меток окружения.
Отличием данного подхода является то, что данные GNSS не используются для корректировки трекинга устройства пользователя. Кроме того, стоит отметить, что данный подход значительно минимизирует ошибку определения координат по GNSS.
7. Локализация по естественным меткам.
Локализация по естественным меткам представляет собой определение положения устройства пользователя по ранее собранным и записанным особенностям реального окружения, которые в своей совокупности формируют естественные метки. Для этого необходимо первоначально установить положение камеры относительно виртуальной модели одним из вышеперечисленных способов. Далее производится набор и сохранение объектов окружения, относительно которого в последующем будет производиться локализация. Данный способ может быть использован для быстрой локализации в условиях частой работы на одном объекте.
Таким образом, способ локализации по естественным меткам включает в себя следующие этапы (фиг. 10), на которых:
- определяют (этап S70) местоположение и ориентацию устройства в соответствии с одним из описанных выше способов;
- запускают (этап S71) подсистему графического трекинга (подробно описана далее);
- захватывают (этап S72) изображения реального окружения, строят карту глубины реального окружения и извлекают из изображения реального окружения и/или карты глубины массив естественных меток окружения, представляющих собой особенности реального окружения (например, ключевые точки, плоскости, объекты и т.д.);
- сохраняют (этап S74) собранный массив естественных меток окружения вместе с их координатами;
- захватывают (этап S75) изображения реального окружения, строят карту глубины реального окружения, извлекают из изображения реального окружения и/или карты глубины массив естественных меток окружения, представляющих собой особенности реального окружения, и определяют местоположение и ориентацию устройства на основании собранных ранее данных о естественных метках окружения и их координатах.
Упомянутый выше способ может включать в себя опциональный этап, на котором исключают (этап S73) динамические объекты из собранных данных.
Для данного способа этапы S70-S74 могут считаться предварительными (подготовительными) и могут быть отделены по времени от этапа S75 значительным промежутком.
Особенностью данного подхода является то, что в процессе трекинга (этап S72) устройства пользователя заполняется карта глубин окружения на основании изображений, захватываемых модулем захвата изображений. Данная карта может быть использована при повторном определении (этап S75) местоположения и ориентации устройства пользователя. Таким образом, задача локализации камеры сводится к определению местоположения по собранной ранее карте на основании определенных ранее естественных меток.
Также стоит отметить, что определение и удаление из сцен динамических объектов (описано ниже) позволяет получить более устойчивую к релокализации карту окружения за счет того, что динамические объекты могут быть удалены из окружения. Таким образом, если эти объекты меняют свое положение, это никак не сказывается на точности и надежности локализации устройства пользователя.
II. Подсистема графического трекинга.
Данная подсистема предназначена для оценки местоположения и ориентации устройства пользователя по видеопотоку, захватываемому модулем захвата изображений, в режиме реального времени и по существу решает задачу SLAM (simultaneous localization and mapping, одновременная локализация и построение карты). Таким образом, первоначально связав системы координат устройства пользователя в реальном окружении и виртуальной модели (решив задачу локализации одним из описанных выше способов), можно получить данные о том, каким образом наложить изображение виртуальной модели на изображение реальной сцены. Для целей графического трекинга могут быть использованы данные видеопотока, захватываемого модулем захвата изображений, данные инерциально-измерительного блока и прочая информация, собранная с различных подключаемых устройств.
Графический (оптический) трекинг базируется на нескольких основных процедурах обработки данных:
- Определение смещения между кадрами;
- Построение карты окружения;
- Замыкание петли траектории.
В процедуре определения смещения между кадрами определяется смещение характерных точек между предыдущим и последующим кадрами. Исходя из общего характера сдвига точек, определяется перемещение и поворот камеры в пространстве.
Подобная процедура может быть выполнена на основе видеопотока от обычной камеры, стереокамеры, инфракрасной камеры, либо на основании изображения от камеры и соответствующей ему карты глубин. Соответственно наилучшая точность определения смещения достигается при использовании последнего варианта.
Данные вычисления могут иметь некоторую погрешность, которая, в свою очередь, может быть компенсирована информацией об углах поворота устройства, полученных от инерциально-измерительного блока. Однако, стоит учитывать, что перед этим необходимо выполнить достаточно кропотливый процесс калибровки инерциального датчика. При этом очень часто подобная калибровка может сбиваться в следствии различных причин. Неоткалиброванные данные IMU могут вносить значительные погрешности в процесс трекинга. В то же время комплексирование данных графического трекинга и IMU повышает вычислительную нагрузку. Таким образом, компенсация ошибки трекинга с помощью IMU применяется с учетом вышеописанных недостатков.
Процедура построения карты окружения предназначена для накопления набора характерных точек, определенных на основании последовательности изображений, захватываемых модулем захвата изображений, и соответствующих им карт глубины. Совокупность подобных точек формирует карту окружения, которая в свою очередь оптимизируется исходя из модели движения камеры и данных инерциального модуля.
Поиск характерных точек на изображениях может быть реализован на основе нейросетей.
В процессе построения карты глубины изображения от модуля захвата изображений настоящее решение может осуществлять фильтрацию карты глубины, например, посредством усреднения значений глубин, накопленных для каждой точки в разные моменты времени, и/или посредством сглаживания пикселей на основе их изотропии и градиентов для исключения влияния высокочастотных мерцаний и различных артефактов.
Настоящее изобретение обеспечивает возможность выполнения функции графической подсветки (например, определенным цветом) участков карты глубины на изображении, выводимом пользователю на дисплее, расстояние до которых вычислено с заданной достаточной степенью достоверности.
Процедура замыкания петли траектории начинает работать, когда траектория движения имеет замыкание по своей длине. При этом оптимизируется построенная ранее карта, а также текущее положение камеры.
Этапы способа работы подсистемы графического трекинга по существу аналогичны этапам S70-S75, описанным выше, но все же имеют некоторые особенности.
Таким образом, способ работы подсистемы графического трекинга включает в себя следующие этапы (фиг. 11), на которых:
- определяют (этап S80) первоначальное местоположение и ориентацию устройства в соответствии с одним из описанных выше способов;
- запускают (этап S81) подсистему графического трекинга;
- захватывают (этап S82) изображения реального окружения с помощью модуля захвата изображений, строят карту глубины реального окружения и извлекают из изображения реального окружения и/или карты глубины массив естественных меток окружения, представляющих собой особенности реального окружения (например, ключевые точки, плоскости, объекты и т.д.);
- сохраняют (этап S84) собранный массив естественных меток окружения вместе с их координатами;
- перемещают (этап S85) устройство пользователя и при этом отслеживают его перемещение на основании собранных естественных меток окружения.
Упомянутый выше способ может включать в себя опциональный этап, на котором исключают (этап S83) динамические объекты из собранных данных, т.е. из собранного массива естественных меток окружения исключают естественные метки, соответствующие динамическим объектам. Данный этап может выполняться одновременно с этапом S85 в процессе трекинга устройства пользователя.
Стоит отметить, что в подсистеме графического трекинга этапы S82-S84 и этап S85 могут выполняться как параллельно (синхронно), так и в различные моменты времени (асинхронно).
Полученная карта окружения может быть сохранена и впоследствии повторно использована для быстрой локализации устройства пользователя без необходимости выполнения полного цикла процедур повторного определения координат объекта по внешним маркерам и/или внешним системам позиционирования. При повторном использовании карта окружения может обновляться и корректироваться на основании новых полученных данных. При этом, настоящее изобретение предполагает выделение тех конструктивных элементов, которые вероятнее всего не будут изменены со временем (например, пол, стены, проемы и т.д.).
Сохраняемая карта окружения представляет собой набор ключевых точек и отдельных ключевых кадров (которые включают в себя эти точки). При повторном использовании, текущий кадр с камеры сравнивается с сохраненными ключевыми кадрами, и при нахождении достаточного количества общих ключевых точек между ними, вычисляется позиция текущего кадра относительно ключевого.
Карта окружения может быть обработана таким образом, чтобы исключить динамические объекты. Это происходит за счет того, что на исходном изображении детектируются с определенной точностью участки, соответствующие динамическим объектам различных классов (например, люди, животные, автомобили, а также небольшие объекты, специфичные для конкретной обстановки и др.). Ключевые точки, содержащиеся в этих зонах, не учитываются в процессе трекинга и формирования карты окружения. Соответственно карта содержит только те конструктивные элементы, которые скорее всего не будут изменены со временем.
Кроме того, в процессе работы перед статичной камерой может пройти человек. Т.к. изображение этого человека будет содержать свои ключевые точки или особенности, алгоритм графического трекинга будет учитывать смещение этих точек от кадра к кадру, и, таким образом, может определить, что было некоторое смещение. Однако сама камера при этом никуда не двигалась, а перемещались лишь некоторые объекты.
Для устранения этого эффекта используется решение на базе нейросетей, которое позволяет выделить на захватываемом изображении основные часто встречающиеся классы динамических объектов (в нашем случае это люди, автомобили, мотоциклы и т.п.). В результате обработки изображения нейросетью мы получаем либо прямоугольный регион (bounding box), в котором с известной долей вероятности находится динамический объект, либо регион, совпадающий с контуром динамического объекта. Ключевые точки, которые попадают в этот регион, не учитываются в процессе трекинга.
Таким образом, характерные точки в этих зонах не определяются и не используются для построения карты окружения. Таким образом, перемещение этих объектов в кадре не оказывает влияние на оценку позиции камеры. Кроме того, удаление подобных объектов позволяет улучшить локализацию при сохранении и последующей загрузке карты окружения для решения задачи локализации.
Чтобы понизить ошибку и повысить надежность трекинга возможно использовать комбинацию различных данных, содержащих информацию о вероятной позиции устройства. Подобные данные могут быть получены от датчиков системы XR. Комплексное использование информации от таких датчиков минимизирует ошибку по позиции и повороту камеры в пространстве.
В соответствии с еще одним аспектом настоящее изобретение относится к компьютерно-читаемому носителю данных, на котором хранится программа, которая при исполнении процессором предписывает упомянутому процессору выполнять описанный выше способ определения местоположения и ориентации устройства.
Таким образом, настоящее изобретение обеспечивает простое и недорогое решение для осуществления определения местоположения и ориентации устройства в системе XR, обладающее высоким быстродействием, точностью и надежностью.
Вычислительный блок может включать в себя один или несколько процессоров. В то же время, один или несколько процессоров могут быть процессором общего назначения, например, центральным процессором (CPU), прикладным процессором (AP) или т.п., блоком обработки только графики, таким как графический процессор (GPU), визуальный процессор (VPU) и/или специализированный процессор AI, такой как нейронный процессор (NPU).
Примеры нейронных сетей включают, помимо прочего, сверточную нейронную сеть (CNN), глубокую нейронную сеть (DNN), рекуррентную нейронную сеть (RNN), ограниченную машину Больцмана (RBM), глубокую сеть доверия (DBN), двунаправленную рекуррентную глубокую нейронную сеть (BRDNN), генеративно-состязательные сети (GAN) и глубокие Q-сети.
Алгоритм обучения - это метод обучения предварительно определенного целевого устройства (например, нейронной сети на базе GPU) с использованием множества обучающих данных, чтобы вызывать, разрешать или управлять целевым устройством для выполнения определения или прогнозирования. Примеры алгоритмов обучения включают, но не ограничиваются ими, обучение с учителем, обучение без учителя, обучение с частичным привлечением учителя или обучение с подкреплением.
Различные иллюстративные блоки и модули, описанные в связи с раскрытием сущности в данном документе, могут реализовываться или выполняться с помощью процессора общего назначения, процессора цифровых сигналов (DSP), специализированной интегральной схемы (ASIC), программируемой пользователем вентильной матрицы (FPGA) или другого программируемого логического устройства (PLD), дискретного логического элемента или транзисторной логики, дискретных аппаратных компонентов либо любой комбинации вышеозначенного, предназначенной для того, чтобы выполнять описанные в данном документе функции. Процессор общего назначения может представлять собой микропроцессор, но в альтернативном варианте, процессор может представлять собой любой традиционный процессор, контроллер, микроконтроллер или конечный автомат. Процессор также может реализовываться как комбинация вычислительных устройств (к примеру, комбинация DSP и микропроцессора, несколько микропроцессоров, один или более микропроцессоров вместе с DSP-ядром либо любая другая подобная конфигурация).
Вышеупомянутая память может быть энергозависимой или энергонезависимой памятью или может включать в себя как энергозависимую, так и энергонезависимую память. Энергонезависимой памятью может быть постоянное запоминающее устройство (ROM), программируемое постоянное запоминающее устройство (PROM), стираемое программируемое постоянное запоминающее устройство (EPROM), электронно-стираемое программируемое постоянное запоминающее устройство (EEPROM) или флэш-память. Энергозависимая память может быть оперативной памятью (RAM). Также память в вариантах осуществления настоящего раскрытия может быть статической памятью с произвольным доступом (SRAM), динамической памятью с произвольным доступом (DRAM), синхронной динамической памятью с произвольным доступом (синхронная DRAM, SDRAM), синхронной динамической памятью с произвольной выборкой с двойной скоростью передачи данных (SDRAM с двойной скоростью передачи данных, DDR SDRAM), синхронной динамической памятью с произвольной выборкой с повышенной скоростью (улучшенная SDRAM, ESDRAM), DRAM с синхронной линией связи (SLDRAM) и оперативной памятью с шиной прямого доступа (DR RAM) и тд. То есть память в вариантах осуществления настоящего раскрытия включает в себя, но не ограничивается этим, эти и любые другие подходящие типы памяти.
Информация и сигналы, описанные в данном документе, могут представляться с помощью любой из множества различных технологий. Например, данные, инструкции, команды, информация, сигналы, биты, символы и элементарные сигналы, которые могут приводиться в качестве примера в вышеприведенном описании, могут представляться посредством напряжений, токов, электромагнитных волн, магнитных полей или частиц, оптических полей или частиц либо любой комбинации вышеозначенного.
Функции, описанные в данном документе, могут реализовываться в аппаратном обеспечении, программном обеспечении, выполняемом посредством процессора, микропрограммном обеспечении или в любой комбинации вышеозначенного. При реализации в программном обеспечении, выполняемом посредством процессора, функции могут сохраняться или передаваться как одна или более инструкций или код на компьютерно-читаемом носителе. Другие примеры и реализации находятся в пределах объема раскрытия настоящего изобретения. Например, вследствие характера программного обеспечения, функции, описанные выше, могут реализовываться с использованием программного обеспечения, выполняемого посредством процессора, аппаратного обеспечения, микропрограммного обеспечения, фиксированного блока или комбинаций любого из вышеозначенного. Признаки, реализующие функции, также могут физически находиться в различных позициях, в том числе согласно такому распределению, что части функций реализуются в различных физических местоположениях.
Компьютерно-читаемые носители включают в себя как некратковременные компьютерные носители хранения данных, так и среду связи, включающую в себя любую передающую среду, которая упрощает перемещение компьютерной программы из одного места в другое. Некратковременный носитель хранения данных может представлять собой любой доступный носитель, к которому можно осуществлять доступ посредством компьютера общего назначения или специального назначения. В качестве примера, а не ограничения, некратковременные компьютерно-читаемые носители могут содержать оперативное запоминающее устройство (RAM), постоянное запоминающее устройство (ROM), электрически стираемое программируемое постоянное запоминающее устройство (EEPROM), флэш-память, ROM на компакт-дисках (CD) или другое устройство хранения данных на оптических дисках, устройство хранения данных на магнитных дисках или другие магнитные устройства хранения, либо любой другой некратковременный носитель, который может использоваться для того, чтобы переносить или сохранять требуемое средство программного кода в форме инструкций или структур данных, и к которому можно осуществлять доступ посредством компьютера общего назначения или специального назначения либо процессора общего назначения или специального назначения.
Следует понимать, что хотя в настоящем документе для описания различных элементов, компонентов, областей, слоев и/или секций, могут использоваться такие термины, как "первый", "второй", "третий" и т.п., эти элементы, компоненты, области, слои и/или секции не должны ограничиваться этими терминами. Эти термины используются только для того, чтобы отличить один элемент, компонент, область, слой или секцию от другого элемента, компонента, области, слоя или секции. Так, первый элемент, компонент, область, слой или секция может быть назван вторым элементом, компонентом, областью, слоем или секцией без выхода за рамки объема настоящего изобретения. В настоящем описании термин "и/или" включает любые и все комбинации из одной или более из соответствующих перечисленных позиций. Элементы, упомянутые в единственном числе, не исключают множественности элементов, если отдельно не указано иное.
Функциональность элемента, указанного в описании или формуле изобретения как единый элемент, может быть реализована на практике посредством нескольких компонентов устройства, и наоборот, функциональность элементов, указанных в описании или формуле изобретения как несколько отдельных элементов, может быть реализована на практике посредством единого компонента.
В одном варианте осуществления элементы/блоки предложенного устройства находятся в общем корпусе, могут быть размещены на одной раме/конструкции/печатной плате и связаны друг с другом конструктивно посредством монтажных (сборочных) операций и функционально посредством линий связи. Упомянутые линии или каналы связи, если не указано иное, являются стандартными, известными специалистам линиями связи, материальная реализация которых не требует творческих усилий. Линией связи может быть провод, набор проводов, шина, дорожка, беспроводная линия связи (индуктивная, радиочастотная, инфракрасная, ультразвуковая и т.д.). Протоколы связи по линиям связи известны специалистам и не раскрываются отдельно.
Под функциональной связью элементов следует понимать связь, обеспечивающую корректное взаимодействие этих элементов друг с другом и реализацию той или иной функциональности элементов. Частными примерами функциональной связи может быть связь с возможностью обмена информацией, связь с возможностью передачи электрического тока, связь с возможностью передачи механического движения, связь с возможностью передачи света, звука, электромагнитных или механических колебаний и т.д. Конкретный вид функциональной связи определяется характером взаимодействия упомянутых элементов, и, если не указано иное, обеспечивается широко известными средствами, используя широко известные в технике принципы.
Электрическое соединение одного элемента/схемы/порта/вывода с другим элементом/схемой/портом/выводом подразумевает, что эти элементы/схемы/порты/выводы могут быть как непосредственно соединены друг с другом, так и опосредованно через иные элементы или схемы.
Конструктивное исполнение элементов предложенного устройства является известным для специалистов в данной области техники и не описывается отдельно в данном документе, если не указано иное. Элементы устройства могут быть выполнены из любого подходящего материала. Эти составные части могут быть изготовлены с использованием известных способов, включая, лишь в качестве примера, механическую обработку на станках, литье по выплавляемой модели, наращивание кристаллов. Операции сборки, соединения и иные операции в соответствии с приведенным описанием также соответствуют знаниям специалиста в данной области и, таким образом, более подробно поясняться здесь не будут.
Несмотря на то, что примерные варианты осуществления были подробно описаны и показаны на сопроводительных чертежах, следует понимать, что такие варианты осуществления являются лишь иллюстративными и не предназначены ограничивать настоящее изобретение, и что данное изобретение не должно ограничиваться конкретными показанными и описанными компоновками и конструкциями, поскольку специалисту в данной области техники на основе информации, изложенной в описании, и знаний уровня техники могут быть очевидны различные другие модификации и варианты осуществления изобретения, не выходящие за пределы сущности и объема данного изобретения.
Claims (36)
1. Способ определения местоположения и ориентации устройства пользователя, включающий в себя этапы, на которых:
- определяют первоначальное местоположение и ориентацию устройства пользователя;
- захватывают изображения реального окружения с помощью модуля захвата изображений, строят карту глубины реального окружения и извлекают из изображения реального окружения и/или карты глубины массив естественных меток окружения, представляющих собой особенности реального окружения;
- сохраняют собранный массив естественных меток окружения вместе с их координатами;
- перемещают устройство пользователя и при этом отслеживают его перемещение в реальном окружении на основании собранных естественных меток окружения,
причем определение первоначального местоположения и ориентации устройства пользователя включает в себя следующие этапы, на которых:
- выбирают в виртуальной модели объекта поверхность плоского элемента;
- задают опорную точку на упомянутой поверхности элемента в виртуальной модели;
- размещают графическую метку на поверхности реального элемента, соответствующей упомянутой выбранной поверхности элемента в виртуальной модели;
- обнаруживают графическую метку на изображении, захватываемом модулем захвата изображений устройства пользователя;
- определяют предварительное положение устройства пользователя относительно плоскости графической метки;
- перемещают устройство пользователя, чтобы совместить точку центра захватываемого изображения на дисплее устройства пользователя с точкой на реальном элементе, соответствующей упомянутой опорной точке, заданной на поверхности элемента в виртуальной модели;
- определяют местоположение и ориентацию устройства пользователя в реальном окружении на основе данных об упомянутой опорной точке, данных о соответствии элемента в виртуальной модели и реального элемента, на котором расположена графическая метка, упомянутого определенного предварительного положения устройства пользователя относительно плоскости графической метки и данных об упомянутом перемещении устройства пользователя.
2. Способ по п.1, дополнительно содержащий этап, на котором из собранного массива естественных меток окружения исключают естественные метки, соответствующие динамическим объектам.
3. Способ по п.2, в котором динамические объекты определяются на захватываемом изображении в соответствии с заранее заданными классами часто встречающихся динамических объектов.
4. Способ по п.2, в котором динамический объект определяется на захватываемом изображении, как часть изображения перемещающаяся, в то время как устройство пользователя остается неподвижным.
5. Способ по п.1, в котором карту глубин фильтруют посредством усреднения значений глубин, накопленных для каждой точки в разные моменты времени, и/или посредством сглаживания пикселей на основе их изотропии и градиентов.
6. Способ по п.1, в котором дополнительно осуществляют субпиксельную оценку координат углов графических меток на захватываемых изображениях.
7. Способ по п.1, в котором упомянутое определенное местоположение и ориентацию пользователя фильтруют посредством по меньшей мере одного из медианного фильтра, фильтра скользящего среднего, фильтра скользящей медианы, фильтра Калмана.
8. Способ по п.1, в котором графическую метку размещают в любом месте и ориентации на поверхности реального элемента, соответствующей упомянутой выбранной поверхности элемента в виртуальной модели.
9. Способ по п.1, в котором при определении предварительного положения устройства пользователя используют данные инерциально-измерительного блока для оценки поворота устройства пользователя.
10. Способ по п.1, в котором данные о перемещении устройства пользователя получают следующим образом:
- захватывают изображения реального окружения с помощью модуля захвата изображений, строят карту глубины реального окружения и извлекают из изображения реального окружения и/или карты глубины массив естественных меток окружения, представляющих собой особенности реального окружения;
- отслеживают перемещение устройства пользователя в реальном окружении на основании собранных естественных меток окружения.
11. Способ по п.10, в котором при отслеживании перемещения устройства пользователя в реальном окружении дополнительно используются данные инерциально-измерительного блока.
12. Компьютерно-читаемый носитель данных, на котором хранится программа, которая при исполнении процессором предписывает упомянутому процессору выполнять способ определения местоположения и ориентации устройства пользователя по любому из пп.1-11.
13. Система для определения местоположения и ориентации устройства пользователя, содержащая вычислительный блок и устройство пользователя, включающее в себя набор модулей для определения местоположения и ориентации устройства пользователя, дисплей и модуль захвата изображений, причем система для определения местоположения и ориентации устройства пользователя выполнена с возможностью выполнения способа по любому из пп.1-11.
14. Система по п.13, в которой вычислительный блок является частью устройства пользователя.
15. Система по п.13, в которой вычислительный блок расположен в удаленном сервере.
16. Система по п.13, в которой набор модулей для определения местоположения и ориентации устройства пользователя включает в себя по меньшей мере одно из следующего:
- модуль спутниковой системы навигации;
- инерциально-измерительный блок (IMU);
- модуль взаимодействия с тахеометром.
17. Система управления и контроля строительно-монтажных работ, включающая в себя систему для определения местоположения и ориентации устройства пользователя по любому из пп.13-16 и удаленный сервер, включающий в себя базу данных, в которой хранятся BIM-модели (Building Information Model) объектов.
18. Система управления и контроля строительно-монтажных работ по п.17, выполненная с возможностью визуально встраивать BIM-модели в реальное окружение на дисплее устройства пользователя в режиме дополненной (AR), смешанной (MR) или продвинутой смешанной реальности (AMR).
19. Система управления и контроля строительно-монтажных работ по п.17, выполненная с возможностью графической подсветки участков карты глубины на изображении, выводимом пользователю на дисплее устройства пользователя, расстояние до которых вычислено с заданной достаточной степенью достоверности.
Publications (2)
Publication Number | Publication Date |
---|---|
RU2022117849A RU2022117849A (ru) | 2024-01-03 |
RU2828682C2 true RU2828682C2 (ru) | 2024-10-16 |
Family
ID=
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2413989C2 (ru) * | 2009-04-23 | 2011-03-10 | Общество с ограниченной ответственностью Научно-производственный центр ИНТЕЛКОМ | Способ оптической маркировки музейных ценностей |
RU2734553C1 (ru) * | 2019-07-24 | 2020-10-20 | Общество с ограниченной ответственностью "ТрансИнжКом" | Система комбинированного трекинга |
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU2413989C2 (ru) * | 2009-04-23 | 2011-03-10 | Общество с ограниченной ответственностью Научно-производственный центр ИНТЕЛКОМ | Способ оптической маркировки музейных ценностей |
RU2734553C1 (ru) * | 2019-07-24 | 2020-10-20 | Общество с ограниченной ответственностью "ТрансИнжКом" | Система комбинированного трекинга |
Non-Patent Citations (3)
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11482008B2 (en) | Directing board repositioning during sensor calibration for autonomous vehicles | |
US10810734B2 (en) | Computer aided rebar measurement and inspection system | |
KR102266830B1 (ko) | 차선 결정 방법, 디바이스 및 저장 매체 | |
US11367208B2 (en) | Image-based keypoint generation | |
Zollmann et al. | Augmented reality for construction site monitoring and documentation | |
US8483442B2 (en) | Measurement apparatus, measurement method, and feature identification apparatus | |
CN113196208A (zh) | 通过使用采集装置传感器对图像采集的自动化控制 | |
US20190096089A1 (en) | Enabling use of three-dimensonal locations of features with two-dimensional images | |
US20150235367A1 (en) | Method of determining a position and orientation of a device associated with a capturing device for capturing at least one image | |
WO2023123837A1 (zh) | 地图的生成方法、装置、电子设备及存储介质 | |
US10997785B2 (en) | System and method for collecting geospatial object data with mediated reality | |
CN112560769B (zh) | 用于检测障碍物的方法、电子设备、路侧设备和云控平台 | |
CN111105695B (zh) | 地图制作方法、装置、电子设备及计算机可读存储介质 | |
WO2020156923A2 (en) | Map and method for creating a map | |
CN116349222B (zh) | 利用集成图像帧渲染基于深度的三维模型 | |
WO2019032184A1 (en) | ANNOTATION GENERATION FOR IMAGE NETWORK | |
CA3069813C (en) | Capturing, connecting and using building interior data from mobile devices | |
JP2017151026A (ja) | 三次元情報取得装置、三次元情報取得方法、及びプログラム | |
CN113610702B (zh) | 一种建图方法、装置、电子设备及存储介质 | |
CN110223223A (zh) | 街道扫描方法、装置及扫描仪 | |
CN111161350B (zh) | 位置信息及位置关系确定方法、位置信息获取装置 | |
RU2828682C2 (ru) | Способ и система определения местоположения и ориентации устройства пользователя с привязкой к визуальным особенностям окружения | |
US20240069203A1 (en) | Global optimization methods for mobile coordinate scanners | |
JP7517775B2 (ja) | 3d設計データ作成方法、建設工事方法、3d設計データ作成システムおよび3d設計データ作成プログラム | |
EP3317854A1 (en) | Hypotheses line mapping and verification for 3d maps |