ОБЛАСТЬ ТЕХНИКИ
[0001] Заявленное техническое решение в общем относится к области вычислительной техники, а в частности к средствам обработки цифровой информации, предназначенным для автоматизированного построения виртуальных 3D-сцен для виртуальных туров.
УРОВЕНЬ ТЕХНИКИ
[0002] Виртуальный тур представляет собой способ реалистичного отображения трехмерного многоэлементного пространства на средстве пользователя, которым может выступать компьютерное устройство (компьютер, планшет или смартфон) или средство виртуальной реальности. Элементами виртуального тура, как правило, являются сферические панорамы, соединенные между собой интерактивными ссылками-переходами (также точки перехода или хотспоты). Виртуальные туры могут также включать 3D-модели, виртуальные 3D-объекты, обыкновенные фотографии, видео, звук и т.д. При этом панорамы в виртуальном туре имеют привязку к карте либо к 3D-модели по координатам места съемки.
[0003] Термин "виртуальный тур", как правило, обозначает сгенерированную модель окружения, построенную, например, с помощью съемки окружения и формирования его трехмерной модели на основании данных облаков точек и сферических панорам, или треугольной сетки (triangle mesh or polygon mesh)", связанных в единый объект для отображения с помощью точек перехода, по которым в процессе просмотра можно виртуально «перемещаться» с помощью взаимодействия пользователя с графическим интерфейсом. В виртуальные туры могут включаться и другие интерактивные элементы: всплывающие информационные окна, поясняющие надписи, графически оформленные клавиши управления и т.п.
[0004] В ходе съемки помещения могут возникнуть условия отсутствия данных с сенсоров глубины.
[0005] Из уровня техники известно решение, которое раскрывает способ автоматического построения виртуальной 3D-сцены на основании двумерных сферических фотопанорам, раскрытое в патенте CN 115601672 В (GUANGZHOU XUANWU WIRELESS TECHNOLOGY СО LTD [CN], 14.04.2023).
[0006] В данном решении получают панорамные фотоизображения (с 360-градусным обзором) окружающего пространства в точках съемки. При этом панорамные фотоизображения могут быть как в формате HDR (high dynamic range images), так и обычные фотографии с автоматически или вручную заданными параметрами выдержки, усиления, и т.п. При этом для съемки панорамных фотоизображений может использоваться любое устройство (панорамная фотокамера), позволяющая осуществить панорамную фотосъемку с 360-градусным обзором из одной точки. Осуществляют поиск ключевых точек и дескрипторов на панорамных изображениях с использованием нейронной сети, после чего алгоритм на каждой итерации берет за основу несколько случайно выбранных соответствий случайно выбранных соответствий и рассчитывает по ним матрицу после чего проверяет, какое количество мэтчей соответствует найденной матрице.
[0007] Процесс повторяется определенное количество итераций, в результате выбирается матрица, которой соответствует максимальное количество мэтчей. При необходимости (например, в случае если панорамный фотоснимок имеет низкий контраст) перед расчетом дескрипторов может производиться предварительная трансформация исходных изображений (изменение проекции, усиление контраста и прочие фотометрические и геометрические преобразования), при этом необходимый тип преобразования подбирается автоматически, на основе анализа свойств изображений. Далее по выбранной матрице вычисляется взаимное положение точек съемки.
[0008] Недостатком известных решений в данной области техники является отсутствие возможности построения виртуальной сцены на основании сферических фотопанорам с помощью панорамной фотокамеры в условиях отсутствия исходных данных о расположении объектов в пространстве, получаемых с сенсоров глубины.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0009] Заявленное техническое решение решает техническую проблему, заключающуюся в построении виртуальной сцены на основании сферических фотопанорам с помощью панорамной фотокамеры в условиях отсутствия исходных данных о расположении объектов в пространстве, получаемых с сенсоров глубины, например с лидаров, дальнометров и пр.
[0010] Основным техническим результатом является повышение точности построения виртуальной сцены на основании двумерных сферических фотопанорам с помощью панорамной фотокамеры.
[0011] Указанный технический результат достигается благодаря осуществлению способа автоматизированного построения виртуальной 3D-сцены на основании двумерных сферических фотопанорам (СФ), содержащий этапы, на которых:
осуществляют съемку по меньшей мере двух СФ окружающего пространства с помощью панорамной фотокамеры, при этом получают первую СФ в начальной точке съемки, а точка съемки каждой последующей СФ находится в прямой видимости камеры от одной из предыдущих точек съемки;
формируют древовидный ациклический граф G с единственным начальным узлом в первой точке съемки СФ, а каждая последующая точка съемки является вершиной графа G, связанной ребром с одной из ранее отснятых точек СФ;
формируют облако точек на основании полученных данных съемки СФ для каждой пары точек, связанных ребрами графа G, при этом выполняют:
вычисление взаимного положения точек съемки СФ в трехмерном пространстве, причем:
- осуществляют поиск ключевых точек и выявление дескрипторов на обоих панорамных изображениях;
- осуществляют сопоставление дескрипторов;
- осуществляют фильтрацию ложных соответствий положения точек съемки и вычисление соответствия взаимного положения точек съемки в виде матрицы поворота R и направления вектора смещения ;
выравнивание панорамных изображений вдоль вектора смещения ;
расчет плотного векторного поля перемещения пикселей между панорамными изображениями; и
построение 3D-облака точек из векторного поля перемещения пикселей методом триангуляции;
формируют облако точек сцены путем совмещения полученных облаков точек в единую систему координат сцены, с помощью построенного графа G, а также матрицы R векторов , вычисленных для каждого ребра графа G;
осуществляют многоэтапную фильтрацию облака точек сцены каскадом фильтров;
создают 3D-модель в виде треугольной сетки из отфильтрованного облака точек сцены; и
формируют виртуальную 3D-сцену на основании треугольной сетки, снимков СФ и вычисленных значений матрицы R и вектора для каждой пары снимков СФ.
[0012] В одном из частных вариантов реализации способа точка съемки каждой последующей СФ находится в прямой видимости камеры от предыдущей точке съемки на расстоянии 0.5-5 метров.
[0013] В другом частном варианте реализации способа каскад фильтров содержит каскад линейных регрессоров.
[0014] В другом частном варианте реализации способа расчет плотного векторного поля перемещения пикселей между панорамными изображениями выполняется с помощью нейронной сети.
[0015] Кроме того, заявленное решение реализуется с помощью системы автоматизированного построения виртуальной 3D-сцены на основании двумерных СФ, содержащей: по меньшей мере одну панорамную фотокамеру, связанную с по меньшей мере одним вычислительным устройством, при этом
панорамная фотокамера выполнена с возможностью осуществлять съемку по меньшей мере двух СФ в заданных точках съемки окружающего пространства, и передавать данные съемки на вычислительное устройство, при этом съемка первой СФ осуществляется в начальной точке съемки, а точка съемки каждой последующей СФ находится в прямой видимости камеры от одной из предыдущих точек съемки;
вычислительное устройство выполнено с возможностью:
получать данные съемки от панорамной фотокамеры;
формировать древовидный ациклический граф G с единственным начальным узлом в первой точке съемки СФ, а каждая последующая точка съемки является вершиной графа G, связанной ребром с одной из ранее отснятых точек СФ;
формируют облако точек на основании полученных данных съемки СФ для каждой пары точек, связанных ребрами графа G, при этом выполняется:
вычисление взаимного положения точек съемки СФ в трехмерном пространстве, причем:
- осуществляется поиск ключевых точек и выявление дескрипторов на обоих панорамных изображениях;
- осуществляется сопоставление дескрипторов;
- осуществляется фильтрацию ложных соответствий положения точек съемки и вычисление соответствия взаимного положения точек съемки в виде матрицы поворота R и направления вектора смещения ;
выравнивание панорамных изображений вдоль вектора смещения ;
расчет плотного векторного поля перемещения пикселей между панорамными изображениями; и
построение 3D-облака точек из векторного поля перемещения пикселей методом триангуляции;
формировать облако точек сцены путем совмещения полученных облаков точек в единую систему координат сцены, с помощью построенного графа G, а также матрицы R и вектора , вычисленных для каждого ребра графа G;
осуществлять многоэтапную фильтрацию облака точек сцены каскадом фильтров;
создавать 3D-модель в виде треугольной сетки из отфильтрованного облака точек сцены; и
формировать виртуальную 3D-сцену на основании треугольной сетки, снимков СФ и вычисленных значений матрицы R и вектора для каждой пары снимков СФ.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0016] Признаки и преимущества настоящего изобретения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей.
[0017] Фиг. 1 иллюстрирует блок-схему заявленного способа.
[0018] Фиг. 2 иллюстрирует пример панорамного фотоснимка в эквидистантной проекции.
[0019] Фиг. 3 иллюстрирует пример ацикличного графа G, показывающий расположения точек съемки фотопанорам на карте пола помещения.
[0020] Фиг. 4 иллюстрирует пример соответствий (мэтчи), найденных на двух эквидистантных панорамах.
[0021] Фиг. 5 иллюстрирует пример перепроецирования эквидистантной панорамы в кубическую, а также соответствия (мэтчи), найденные на нижней грани куба.
[0022] Фиг. 6 иллюстрирует пример пары панорам до развертывания.
[0023] Фиг. 7 иллюстрирует пример пары панорам, развернутых вдоль вектора .
[0024] Фиг. 8 иллюстрирует пример виртуальных сцен, которые используются для обучения нейронной сети.
[0025] Фиг. 9 иллюстрирует пример визуализации вычисленного поля оптического потока.
[0026] Фиг. 10 иллюстрирует пример облака точек, получившегося из пары изображений.
[0027] Фиг. 11 иллюстрирует пример облака точек, с другого ракурса, получившегося из пары изображений.
[0028] Фиг. 12 иллюстрирует пример схемы каскада линейных регрессоров.
[0029] Фиг. 13 иллюстрирует пример созданной 3D-модели в виде треугольной сетки из отфильтрованного облака точек сцены.
[0030] Фиг. 14 иллюстрирует пример 3D-модели, сгенерированной из 6 фотопанорам.
[0031] Фиг. 15 иллюстрирует пример 3D-модели, сгенерированной из 164 фотопанорам.
[0032] Фиг. 16 иллюстрирует пример 3D-модели, сгенерированной из 300 фотопанорам.
[0001] Фиг. 17 иллюстрирует общую схему построения виртуального тура.
[0002] Фиг. 18 иллюстрирует пример общего вида элементов вычислительной системы, которая обеспечивает реализацию заявленного решения.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0033] В настоящем описании будут использоваться следующие термины для определения.
[0034] Виртуальный тур - способ реалистичной визуализации помещения или открытого пространства на экране компьютера, позволяющий конечному пользователю виртуально "перемещаться" по помещению с видом "из глаз".
[0035] Сферическая фотопанорама - фотоизображение позволяющее показать окружающее пространство вокруг точки съемки со всех сторон. Данная фотопанорама производится путем панорамной съемки из одной точки.
[0036] Дескриптор - вектор, описывающий окрестность ключевой точки на изображении или облаке точек.
[0037] Ключевая точка - ключевыми точками на изображении считаются существенно выделяющиеся точки, например, с резким перепадом яркости. Ключевыми точками в облаке точек считаются точки с характерной геометрией, например, углы.
[0038] Мэтчинг (привязка) - процесс поиска соответствий между дескрипторами в двух панорамных фотоснимках.
[0039] Мэтч - найденное соответствие между двумя дескрипторами в двух разных сферических фотопанорамах.
[0040] Облако точек - способ представления трехмерных данных, представляющий собой множество точек в трехмерном пространстве, при этом для каждой точки сохраняются ее координаты (x,y,z), а также (опционально) цвет (RGB), вектор нормали, интенсивность и другие атрибуты.
[0041] Постобработка - автоматическое преобразование данных сцены в виртуальный тур.
[0042] Точка съемки - точка, в которой находится панорамная фотокамера при съемке сферической панорамы.
[0043] На Фиг. 1 представлены основные этапы способа (100) автоматизированного построения виртуальной 3D-сцены на основании двумерных сферических фотопанорам (СФ).
[0044] На этапе (101) осуществляют съемку по меньшей мере двух СФ окружающего пространства с помощью панорамной фотокамеры, при этом получают первую СФ в начальной точке съемки, а точка съемки каждой последующей СФ находится в прямой видимости камеры от одной из предыдущих точек съемки.
[0045] На данном этапе, получают панорамные фотоизображения (с 360-градусным обзором) окружающего пространства в точках съемки. При этом панорамные фотоизображения могут быть как в формате HDR (high dynamic range images), так и обычные фотографии с автоматически или вручную заданными параметрами выдержки, усиления, и т.п.
[0046] При этом положение первой точки съемки в пространстве выбирается произвольно, а каждая из последующих точек съемки должна находиться в прямой видимости от одной из ранее отснятых точек, и находится от нее на расстояние 0.5-5 метров. В частном случае панорамные камеры устанавливаются на штативе на фиксированную высоту над уровнем поля (земли), например, 1.5 метров от пола.
[0047] При этом для съемки панорамных фотоизображений может использоваться любое устройство (панорамная фотокамера), позволяющая осуществить панорамную фотосъемку с 360-градусным обзором из одной точки. На Фиг. 2 показан пример сферической фотопанорамы, отснятой на панорамную фотокамеру, в формате HDR в эквидистантной проекции.
[0048] Далее на этапе (102) формируют древовидный ациклический граф G с единственным начальным узлом в первой точке съемки СФ, а каждая последующая точка съемки является вершиной графа G, связанной ребром с одной из ранее отснятых точек СФ.
[0049] На данном этапе, осуществляют построение древовидного ациклического графа G, вершинами которого являются точки съемки (центры фотопанорам). При этом корнем дерева является первая отснятая точка, а каждая из последующих точек съемки связывается ребром с одной из ранее отснятых точек (при условии прямой видимости и расстояния между точками не более 5 м). Этот граф в дальнейшем используется для перевода всех панорам и облаков точек в единую систему координат сцены. На Фиг. 3 приведен пример ациклического графа G, показывающий расположение точек съемки фотопанорам на карте пола помещения.
[0050] Далее на этапе (103) формируют облако точек на основании полученных данных съемки СФ для каждой пары точек, связанных ребрами графа G. На данном этапе выполняется ряд последовательных этапов.
[0051] В начале выполняется вычисление взаимного положения точек съемки СФ в трехмерном пространстве. При выполнении данного этапа осуществляется поиск ключевых точек и выявление дескрипторов на обоих панорамных изображениях. При этом могут быть использованы как классические (SIFT [1], SURF [2], ORB [3]), так и более современные нейросетевые методы, например SuperPoint [4]. Наилучший результат достигается комбинированием двух и более дескрипторов с разным принципом работы. При необходимости (например, в случае если панорамный фотоснимок имеет низкий контраст) перед расчетом дескрипторов может производиться предварительная трансформация исходных изображений (изменение проекции, усиление контраста и прочие фотометрические и геометрические преобразования), при этом необходимый тип преобразования подбирается автоматически, на основе анализа свойств изображений.
[0052] Далее осуществляется сопоставление дескрипторов или мэтчинг (от англ. "to match" - совпадать). В зависимости от типа дескрипторов применяются различные способы мэтчинга, например по Евклидову расстоянию между дескрипторами, расстоянию Хэмминга и тд. Также могут быть использованы приближенные методы мэтчинга, например FLANN [5] и подобные. На Фиг. 4 желтыми линиями показаны соответствия (мэтчи), найденные на двух эквидистантных панорамах. Для наилучшего качества мэтчинга могут производиться предварительные геометрические преобразования изображений, например перепроецирование эквидистантной панорамы в кубическую. Найденные на нижних гранях куба соответствия (мэтчи) показаны желтыми линиями на Фиг. 5.
[0053] После выполняется фильтрация ложных мэтчей и вычисление взаимного положения точек съемки в виде матрицы поворота R и направления вектора смещения . Фильтрация ложных мэтчей производится при помощи метода RANSAC или его модификаций. Алгоритм на каждой итерации берет за основу несколько (например, 8 точек [6] либо 5 точек [7]) случайно выбранных мэтчей и рассчитывает по ним матрицу (essential matrix) Е, после чего проверяет, какое количество мэтчей соответствует найденной матрице. Процесс повторяется определенное количество итераций, в результате выбирается матрица, которой соответствует максимальное количество мэтчей. Далее по выбранной матрице Е вычисляется взаимное положение точек съемки, в виде матрицы поворота R (размерностью 3×3) и направление вектора смещения (3×1), направленного из центра первой панорамы в центр второй панорамы. При этом длина вектора смещения (в метрах) остается неизвестной на данном этапе.
[0054] Далее выполняется выравнивание панорамных изображений вдоль вектора смещения . Попарное выравнивание (перепроецирование) панорамных фотоснимков вдоль вычисленного вектора перемещения производится таким образом, что вектор , проходит через оба полюса обеих перепроецированных панорам. При таком преобразовании панорамные фотоснимки разворачиваются таким образом, что одни и те же объекты оказываются приблизительно на одном меридиане на обеих развернутых панорамах. Фиг 6. показывает пару панорам до перепроецирования, а Фиг. 7 показывает эти же панорамы после перепроецирования. На Фиг. 7 панорамы, развернутые вдоль вектора , направленного из центра первой панорамы, в центр второй панорамы, таким образом, что одни и те же объекты оказываются примерно на одинаковых меридианах развернутых панорам. Красными линиями показаны меридианы, желтым цветом - соответствующие объекты на обоих панорамах. Такая трансформация позволяет существенно упростить последующую задачу вычисления оптического потока, так как все вектора перемещения будут иметь отличную от нуля составляющую по у (вертикальное смещение) и близкую к нулю составляющую по х (горизонтальное смещение), которым можно пренебречь без существенной потери точности итоговой 3D-модели.
[0055] После происходит расчет плотного векторного поля перемещения пикселей между панорамными изображениями. Для выполнения данного этапа могут быть использованы, как традиционные методы (Lucas-Kanade [8], Horn-Schunk [9] или другие), однако наилучший результат достигается при помощи современных нейросетевых методов, например RAFT [10]. При использовании трансформации, описанной на предыдущем этапе, горизонтальная составляющая искомого векторного поля близка к нулю, следовательно, ей можно пренебречь, сведя задачу только к вычислению вертикальной компоненты векторного поля. В данном случае используется нейронная сеть типа RAFT-STEREO [11]. Результат вычисления оптического потока нейронной сетью улучшается предварительным обучением выбранной нейронной сети.
[0056] В заявленном решении осуществляется обучение нейронной сети RAFT-Stereo с использованием комбинированного набора данных, состоящего из приблизительно двух тысяч трехмерных сцен, включающих в себя:
• виртуальные сцены, созданные технологиями компьютерной графики;
• реальные сцены, отснятые на 3D-камеры.
[0057] Данный набор данных может быть использован не только для обучения нейронной сети для вычисления оптического потока, но также и для обучения каскада линейных регрессоров, на этапе (1 05).
[0058] На Фиг. 8 представлены примеры виртуальных сцен, из описанного набора данных. Слева - пример сцены, отснятой на 3D-камеру, а справа - сцена, созданная методами компьютерной графики. На Фиг. 9 - пример векторного поля, вычисленного обученной на этом наборе данных нейросетью RAFT-STEREO. Визуализация вычисленного поля оптического потока (вертикальная составляющая), соответствующего первой панораме на Фиг. 6 и 7. На Фиг. 9 показана длина вектора перемещения для каждого пикселя. Более светлые участки соответствуют большему значению вектора.
[0059] Завершающим шагом этапа (103) является построение 3D-облака точек из векторного поля перемещения пикселей методом триангуляции.
[0060] На данном этапе из вычисленного векторного поля выстраивается облако точек методом триангуляции (см. например [12]). На Фиг. 10 показано облако точек, получившееся из пары изображений, представленной на Фиг. 6. На Фиг. 11 показано то же облако точек с другого ракурса. Приведенный метод позволяет вычислить облако точек, однако его масштаб остается неизвестным, так как, в общем случае, изображения не содержат метрической информации. Для корректного вычисления масштаба можно использовать различные методы, в частности добавления таргетов, содержащих метрическую информацию в одну или более исходных панорам. В частном случае, если фотокамеры были размещены на штативе фиксированной длины (к примеру, 1.5 метра от уровня пола или земли), то можно использовать эти данные для вычисления масштаба модели, и приведения ее единиц измерения в метры.
[0061] На этапе (104) происходит формирование облака точек сцены путем совмещения полученных облаков точек в единую систему координат сцены, с помощью построенного графа G, а также матрицы R векторов , вычисленных для каждого ребра графа G.
[0062] На данном этапе, все облака точек, получившиеся в результате выполнения этапа (103), приводятся в единую систему координат, таким образом формируя облако точек всей сцены. Для этого используется построенный ранее граф G, а также матрицы R и вектора Т, вычисленные для каждого ребра графа. В результате получается объединенное облако точек всей сцены.
[0063] Далее на этапе (105) осуществляют многоэтапную фильтрацию облака точек сцены каскадом фильтров.
[0064] На данном этапе, облако точек сцены фильтруется многоуровневым каскадом фильтров. Необходимость этого обусловлена тем, что облако может содержать шумы, расслоения и другие артефакты. Это может происходить из-за следующих факторов:
- использование панорамных фотоснимков с геометрическими искажениями, например, из-за плохой калибровки панорамной фотокамеры, искажений изображений при сшивке панорам и пр.;
- неверного вычисления оптического потока, к примеру для отдаленных, плохо видимых поверхностей, либо поверхностей, видимых под острым углом, а также для стеклянных и зеркальных поверхностей;
- низкого контраста, шумов, бликов, засветов и прочих проблем с исходными панорамными изображениями;
- перемещения отдельных объектов или людей во время съемки сцены.
- резкого изменения освещенности в процессе съемки, и др.;
- нахождения точек близко к полюсам на исходных либо на развернутых панорамах, вблизи линии сшивки на панорамах, и т.п.;
- погрешности в вычислении матриц поворота R и векторов смещения .
[0065] Для устранения всех вышеперечисленных проблем используется каскад (более 10) фильтров облаков точек. Фильтры предназначены для фильтрации «проблемных» участков на облаке точек, при этом каждый фильтр отвечает строго за одну из перечисленных проблем. Каждый фильтр устроен следующим образом: он детектирует потенциально «проблемный» участок либо в облаке точек, либо на исходных панорамных изображениях, и понижает вес соответствующих этому участку точек облака. Некоторые фильтры могут также повышать веса точек.
[0066] Схема каскада линейных регрессов приведена на Фиг. 12. Каждой из точек облака присваивается вес. Изначально веса всех точек облака равняются единице. Каждый фильтр представляют собой линейный регрессор, использующий определенный математический критерий, например, близость точки к полюсу развернутых панорам, к линиям сшивки, угол между направлением обзора и нормалью к поверхности, и др. Каждый регрессор либо понижает вес каждой точки, либо повышает его, сообразно своему критерию фильтрации. При этом параметры каждого регрессора могут быть либо фиксированными (в простом случае), либо обучаемыми, с использованием эталонного набора панорам и трехмерных данных. После обработки облака точек всем каскадом фильтров на основании результирующих весов принимается решение либо об оставлении точки в облаке (при значении веса больше 0.5), либо удалении ее из облака (например, при значении веса менее 0.5).
[0067] Далее на этапе (106) создают 3D-модель в виде треугольной сетки из отфильтрованного облака точек сцены. На Фиг. 13 показан пример созданной 3D-модели в виде треугольной сетки из отфильтрованного облака точек сцены.
[0068] И на этапе (107) формируют виртуальную 3D-сцену на основании треугольной сетки, снимков СФ и вычисленных значений матрицы R и вектора для каждой пары снимков СФ. На Фиг. 14 представлен пример 3D-модели, сгенерированной заявленным способом из шести фотопанорам. На Фиг. 15 представлен пример 3D-модели, сгенерированной заявленным способом из 164 фотопанорам. На Фиг. 16 представлен пример 3D-модели, сгенерированной заявленным способом из 300 фотопанорам.
[0069] Кроме того, заявленный способ выполняется с помощью системы автоматизированного построения виртуальной 3D-сцены на основании двумерных СФ, содержащей: по меньшей мере одну панорамную фотокамеру, связанную с по меньшей мере одним вычислительным устройством.
[0070] На Фиг. 17 представлена общая схема взаимодействия пользователя с виртуальным туром. Генерация виртуального тура (200) осуществляется системой (210), к которой подключаются пользователи (220) с помощью различного вида вычислительных устройств (221-223). Система (210) может представлять собой, например, сервер, облачный сервер, кластер серверов и т.д. В качестве устройств могут выступать, например, смартфон, компьютер, ноутбук, планшет, смарт ТВ, средство виртуальной реальности и прочие устройства, которые функционально могут воспроизводить и формировать интерфейс для пользовательского взаимодействия с виртуальным туром (200), независимо от принципа его отображения (дисплей устройства, виртуальная реальность) и взаимодействия с объектами внутри тура (с помощью средств ввода или контроллеров, предназначенных для виртуальной реальности).
[0071] Система (210) представляет собой стандартное вычислительное компьютерное устройство и может являться как сервером или серверным кластером, так и облачным сервером. Основная задача системы (210) осуществлять обработку получаемых с 3D-камеры (240) данных для генерирования виртуальных туров (200) и построения навигационных маршрутов в таких турах в соответствии с заявленным способом (100). Так, система (210), например, сервер, может генерировать виртуальный тур (200) путем обработки данных (облака точек, фотопанорамы, изображения), поступающих со специализированной 3D-камеры (240) и осуществлять дальнейшие этапы способа (100) для построения маршрута для пользователя. Кроме того, система (210) выполнена с возможностью осуществлять обработку данных для предоставления виртуальных туров (200) для передачи на пользовательские устройства (220).
[0072] Обмен информацией между пользователями (220) и системой (210) осуществляется посредством канала передачи данных (230), который представляет собой глобальную сеть «Интернет». Протокол реализации канала передачи данных (230) может выбираться из любого известного типа протоколов, таких как: LAN, WAN, PAN, WLAN, IEEE 802.11, GSM и т.п. Соответствующий протокол и тип подключения конкретного устройства (221 - 223) к системе (210) определяется исходя из технического воплощения такого типа устройства и соответствующего аппаратного оснащения для выполнения связи с сетью «Интернет».
[0073] В качестве 3D-камеры (240) для съемки трехмерных виртуальных туров (200) может применяться, например, 3D-камера FilinCam V6/V7/X1 и др. 3D-камера 3D-камера (240) предназначена для съемки помещений и открытых пространств для дальнейшего создания их фотореалистичных цифровых моделей и виртуальных туров. Процесс съемки включает сбор и предварительную обработку сырых данных с 3D-камеры (240), которая также содержит по меньшей мере: вычислительный модуль (процессор или микроконтроллер), память, лидар, акселерометр датчик IMU и энкодер (датчик угла поворота), которые необходимы для формирования набора данных для последующего формирования виртуальных туров (200). Управление камерой (240) осуществляется через программное приложение, установленное на мобильном устройстве оператора, например, планшете, смартфоне или ноутбуке. По окончании съемки полученные данные выгружаются с 3D-камеры (240) в систему (210), где происходит их хранение, обработка, создание 3D-моделей отсканированного пространства, виртуальных туров (200) и построение навигационных маршрутов для пользователя по указанным турам. Готовые виртуальные туры (200), со сгенерированными возможными навигационными маршрутами для пользователя далее могут предоставляться пользователям (220), путем получения доступа вычислительным устройством пользователя (221-223) по каналу передачи данных (230) к указанной системе.
[0074] Соответственно, после создания 3D-модели отсканированного пространства, строится навигационный маршрут для пользователя по указанной модели. В качестве набора точек, которые соответствуют точкам навигации по виртуальному туру, на этапе (110), система (210) получает точки с заданными координатами в формате (х, у, z), которые являются координатами точки расположения камеры (240) на объекте, которому соответствует построенная 3D-модель. Так, координаты точки навигации в трехмерной модели, соответствующие расположению камеры в пространстве могут быть получены из метаданных снимка, который был сделан камерой (240) в процессе съемки объекта для последующего построения на его основе виртуального труа (200).
[0075] На Фиг. 18 представлен пример общего вида вычислительного устройства (300), на базе которого может быть реализована система (210), выполняющая заявленный способ (100), указанное устройство также может являться, например, сервером, персональным компьютером, частью вычислительного кластера, обрабатывающим необходимые данные для осуществления заявленного технического решения.
[0076] В общем случае устройство (300) содержит такие компоненты, как: один или более процессоров (301), по меньшей мере одну память (302), средство хранения данных (303), интерфейсы ввода/вывода (304), средство В/В (305), средство сетевого взаимодействия (706), которые объединяются посредством универсальной шины.
[0077] Процессор (301) выполняет основные вычислительные операции, необходимые для обработки данных при выполнении способа (100). Процессор (301) исполняет необходимые машиночитаемые команды, содержащиеся в оперативной памяти (302).
[0078] Память (302), как правило, выполнена в виде ОЗУ и содержит необходимую программную логику, обеспечивающую требуемый функционал.
[0079] Средство хранения данных (303) может выполняться в виде HDD, SSD дисков, рейд массива, флэш-памяти, оптических накопителей информации (CD, DVD, MD, Blue-Ray дисков) и т.п. Средства (303) позволяют выполнять долгосрочное хранение различного вида информации, например полученные координаты точек навигации, построенные навигационные маршруты и навигационные пути и т.п.
[0080] Для организации работы компонентов устройства (300) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (304). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: PCI, AGP, PS/2, IrDa, FireWire, LPT, COM, SATA, IDE, Lightning, USB (2.0, 3.0, 3.1, micro, mini, type C), TRS/Audio jack (2.5, 3.5, 6.35), HDMI, DVI, VGA, Display Port, RJ45, RS232 и т.п.
[0081] Выбор интерфейсов (304) зависит от конкретного исполнения устройства (700), которое может быть реализовано на базе широко класса устройств, например, персональный компьютер, мейнфрейм, ноутбук, серверный кластер, тонкий клиент, смартфон, сервер и т.п.
[0082] В качестве средств В/В данных (305) может использоваться: клавиатура, джойстик, дисплей (сенсорный дисплей), монитор, сенсорный дисплей, тачпад, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п.
[0083] Средства сетевого взаимодействия (306) выбираются из устройств, обеспечивающий сетевой прием и передачу данных, например, Ethernet карту, WLAN/Wi-Fi модуль, Bluetooth модуль, BLE модуль, NFC модуль, IrDa, RFID модуль, GSM модем и т.п. С помощью средств (306) обеспечивается организация обмена данными между, например, системой (210), представленной в виде сервера и камерой (240), а также пользовательскими устройствами (221-223) по проводному или беспроводному каналу передачи данных, например, WAN, PAN, ЛВС (LAN), Интранет, Интернет, WLAN, WMAN или GSM.
[0084] Конкретный выбор элементов устройства (300) для реализации различных программно-аппаратных архитектурных решений может варьироваться с сохранением обеспечиваемого требуемого функционала.
[0085] Данный подход к съемке позволяет существенно повысить точность построения виртуальной сцены на основе двумерных фотопанорам.
[0086] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники.
Список источников информации:
1. Lowe, G., 2004. Sift-the scale invariant feature transform. Int. J, 2(91-110), p. 2.
2. Bay, H., Tuytelaars, T. and Van Gool, L., 2006. Surf: Speeded up robust features. In Computer Vision-ECCV 2006: 9th European Conference on Computer Vision, Graz, Austria, May 7-13, 2006. Proceedings, Part 19 (pp. 404-417). Springer Berlin Heidelberg
3. Rublee, E., Rabaud, V., Konolige, K. and Bradski, G., 2011, November. ORB: An efficient alternative to SIFT or SURF. In 2011 International conference on computer vision (pp. 2564-2571). Ieee
4. DeTone, D., Malisiewicz, T. and Rabinovich, A., 2018. Superpoint: Self-supervised interest point detection and description, hi Proceedings of the IEEE conference on computer vision and pattern recognition workshops (pp. 224-236).
5. Muja, M. and Lowe, D.G., 2009. Fast approximate nearest neighbors with automatic algorithm configuration. VISAPP (1), 2(331-340), p. 2
6. FISCHLER, M. A.; BOLLES, R. C. Random sample consensus: a paradigm for model fitting with applications to image analysis and automated cartography. Communications of the ACM, v. 24, n. 6, p. 381-395, 1981.
7. D. Nister, "An efficient solution to the five-point relative pose problem," IEEE Computer Vision and Pattern Recognition (CVPR), vol. 2, pp. 195-202, 2003
8. Lucas, B. and Kanade, T. 1981. An iterative image registration technique with an application to stereo vision. In Proc. Seventh International Joint Conferen
9. Horn, B. and Schunck, B. 1981. Determining optical flow. Artificial Intelligence, 17:185-203
10. Teed, Z. and Deng, J., 2020. Raft: Recurrent all-pairs field transforms for optical flow. In Computer Vision-ECCV2020:16th European Conference, Glasgow, UK, August 23-28, 2020, Proceedings, Part II 16 (pp. 402-419). Springer International Publishing
11. Lipson, L., Teed, Z. and Deng, J., 2021, December. Raft-stereo: Multilevel recurrent field transforms for stereo matching. In 2021 International Conference on 3D Vision (3DV) (pp. 218-227). IEEE.
12. ABDEL-AZIZ, Y.; KARARA, H. Direct Linear Transformation from Comparator Coordinates into Object Space Coordinates in Close-Range Photogrammetry. Urbana, IL: American Society of Photogrammetry, p. 1-18, 1971
13. Bernardini, F., Mittleman, J., Rushmeier, H., Silva, C. and Taubin, G., 1999. The ball-pivoting algorithm for surface reconstruction. IEEE transactions on visualization and computer graphics, 5(4), pp. 349-359
14. Kazhdan, M., Bolitho, M. and Hoppe, H., 2006, June. Poisson surface reconstruction. In Proceedings of the fourth Eurographics symposium on Geometry processing (Vol. 7, p. 0).
название | год | авторы | номер документа |
---|---|---|---|
СПОСОБ И СИСТЕМА АВТОМАТИЗИРОВАННОГО ПОСТРОЕНИЯ ВИРТУАЛЬНОЙ СЦЕНЫ НА ОСНОВАНИИ ТРЕХМЕРНЫХ ПАНОРАМ | 2022 |
|
RU2779245C1 |
СПОСОБ И СИСТЕМА УПРАВЛЕНИЯ ОТОБРАЖЕНИЕМ ВИРТУАЛЬНЫХ ТУРОВ В МНОГОПОЛЬЗОВАТЕЛЬСКОМ РЕЖИМЕ | 2022 |
|
RU2783218C1 |
СПОСОБ И СИСТЕМА ПОСТРОЕНИЯ НАВИГАЦИОННЫХ МАРШРУТОВ В ТРЕХМЕРНОЙ МОДЕЛИ ВИРТУАЛЬНОГО ТУРА | 2022 |
|
RU2783231C1 |
СПОСОБ АВТОМАТИЗИРОВАННОГО СОЗДАНИЯ ТРЕХМЕРНЫХ СИСТЕМ ГОРОДСКИХ ПАНОРАМ НА ОСНОВЕ ДАННЫХ ЛАЗЕРНОГО СКАНИРОВАНИЯ | 2015 |
|
RU2601165C2 |
СПОСОБ ВИЗУАЛИЗАЦИИ 3D ПОРТРЕТА ЧЕЛОВЕКА С ИЗМЕНЕННЫМ ОСВЕЩЕНИЕМ И ВЫЧИСЛИТЕЛЬНОЕ УСТРОЙСТВО ДЛЯ НЕГО | 2021 |
|
RU2757563C1 |
СПОСОБ ПОСТРОЕНИЯ ФРОНТАЛЬНОЙ ПАНОРАМЫ СТЕЛЛАЖА ИЗ ПРОИЗВОЛЬНОЙ СЕРИИ КАДРОВ ПО 3D-МОДЕЛИ СТЕЛЛАЖА | 2022 |
|
RU2791291C1 |
СПОСОБ И СИСТЕМА РАСПОЗНАВАНИЯ ГОРОДСКИХ ОБЪЕКТОВ | 2015 |
|
RU2612571C1 |
СПОСОБ АВТОМАТИЧЕСКОЙ КОМПОНОВКИ ЛАНДШАФТНЫХ ПАНОРАМНЫХ ИЗОБРАЖЕНИЙ | 2008 |
|
RU2384882C1 |
СПОСОБ УЛУЧШЕНИЯ ПЛОТНОЙ И РАЗРЕЖЕННОЙ КАРТ ДИСПАРАНТНОСТИ, ТОЧНОСТИ РЕКОНСТРУИРУЕМОЙ ТРЕХМЕРНОЙ МОДЕЛИ И УСТРОЙСТВО ДЛЯ РЕАЛИЗАЦИИ СПОСОБА | 2012 |
|
RU2479039C1 |
СПОСОБ И УСТРОЙСТВО СОЗДАНИЯ ПАНОРАМНОГО ИЗОБРАЖЕНИЯ | 2020 |
|
RU2759965C1 |
Изобретение относится к вычислительной технике. Технический результат заключается в повышении точности построения виртуальной сцены на основании двумерных сферических фотопанорам с помощью 3D-камеры. Технический результат достигается за счет этапов, на которых: осуществляют съемку по меньшей мере двух СФ окружающего пространства с помощью панорамной фотокамеры; формируют древовидный ациклический граф G с единственным начальным узлом в первой точке съемки СФ, а каждая последующая точка съемки является вершиной графа G, связанной ребром с одной из ранее отснятых точек СФ; формируют облако точек на основании полученных данных съемки СФ для каждой пары точек, связанных ребрами графа G; формируют облако точек сцены путем совмещения полученных облаков точек в единую систему координат сцены, с помощью построенного графа G, а также матрицы R векторов , вычисленных для каждого ребра графа G; осуществляют многоэтапную фильтрацию облака точек сцены каскадом фильтров; создают 3D модель в виде треугольной сетки из отфильтрованного облака точек сцены; и формируют виртуальную 3D сцену на основании треугольной сетки, снимков СФ и вычисленных значений матрицы R и вектора для каждой пары снимков СФ. 2 н. и 3 з.п. ф-лы, 18 ил.
1. Способ автоматизированного построения виртуальной 3D-сцены на основании двумерных сферических фотопанорам (СФ), содержащий этапы, на которых:
осуществляют съемку по меньшей мере двух СФ окружающего пространства с помощью панорамной фотокамеры, при этом получают первую СФ в начальной точке съемки, а точка съемки каждой последующей СФ находится в прямой видимости камеры от одной из предыдущих точек съемки;
формируют древовидный ациклический граф G с единственным начальным узлом в первой точке съемки СФ, а каждая последующая точка съемки является вершиной графа G, связанной ребром с одной из ранее отснятых точек СФ;
формируют облако точек на основании полученных данных съемки СФ для каждой пары точек, связанных ребрами графа G, при этом выполняют:
вычисление взаимного положения точек съемки СФ в трехмерном пространстве, причем:
- осуществляют поиск ключевых точек и выявление дескрипторов на обоих панорамных изображениях;
- осуществляют сопоставление дескрипторов;
- осуществляют фильтрацию ложных соответствий положения точек съемки и вычисление соответствия взаимного положения точек съемки в виде матрицы поворота R и направления вектора смещения ;
выравнивание панорамных изображений вдоль вектора смещения ;
расчет плотного векторного поля перемещения пикселей между панорамными изображениями; и
построение 3D-облака точек из векторного поля перемещения пикселей методом триангуляции;
формируют облако точек сцены путем совмещения полученных облаков точек в единую систему координат сцены, с помощью построенного графа G, а также матрицы R векторов , вычисленных для каждого ребра графа G;
осуществляют многоэтапную фильтрацию облака точек сцены каскадом фильтров;
создают 3D-модель в виде треугольной сетки из отфильтрованного облака точек сцены; и
формируют виртуальную 3D-сцену на основании треугольной сетки, снимков СФ и вычисленных значений матрицы R и вектора для каждой пары снимков СФ.
2. Способ по п.1, в котором точка съемки каждой последующей СФ находится в прямой видимости камеры от предыдущей точки съемки на расстоянии 0,5-5 метров.
3. Способ по п.1, в котором каскад фильтров содержит каскад линейных регрессоров.
4. Способ по п.1, в котором расчет плотного векторного поля перемещения пикселей между панорамными изображениями выполняется с помощью нейронной сети.
5. Система автоматизированного построения виртуальной 3D сцены на основании двумерных СФ, содержащая: по меньшей мере одну панорамную фотокамеру, связанную с по меньшей мере одним вычислительным устройством, при этом
панорамная фотокамера выполнена с возможностью осуществлять съемку по меньшей мере двух СФ в заданных точках съемки окружающего пространства, и передавать данные съемки на вычислительное устройство, при этом съемка первой СФ осуществляется в начальной точке съемки, а точка съемки каждой последующей СФ находится в прямой видимости камеры от одной из предыдущих точек съемки;
вычислительное устройство выполнено с возможностью:
получать данные съемки от панорамной фотокамеры;
формировать древовидный ациклический граф G с единственным начальным узлом в первой точке съемки СФ, а каждая последующая точка съемки является вершиной графа G, связанной ребром с одной из ранее отснятых точек СФ;
формировать облако точек на основании полученных данных съемки СФ для каждой пары точек, связанных ребрами графа G, при этом выполняется:
вычисление взаимного положения точек съемки СФ в трехмерном пространстве, причем:
- осуществляется поиск ключевых точек и выявление дескрипторов на обоих панорамных изображениях;
- осуществляется сопоставление дескрипторов;
- осуществляется фильтрацию ложных соответствий положения точек съемки и вычисление соответствия взаимного положения точек съемки в виде матрицы поворота R и направления вектора смещения ;
выравнивание панорамных изображений вдоль вектора смещения ;
расчет плотного векторного поля перемещения пикселей между панорамными изображениями; и
построение 3D-облака точек из векторного поля перемещения пикселей методом триангуляции;
формировать облако точек сцены путем совмещения полученных облаков точек в единую систему координат сцены, с помощью построенного графа G, а также матрицы R и вектора , вычисленных для каждого ребра графа G;
осуществлять многоэтапную фильтрацию облака точек сцены каскадом фильтров;
создавать 3D-модель в виде треугольной сетки из отфильтрованного облака точек сцены;
и
формировать виртуальную 3D-сцену на основании треугольной сетки, снимков СФ и вычисленных значений матрицы R и вектора для каждой пары снимков СФ.
Изложница с суживающимся книзу сечением и с вертикально перемещающимся днищем | 1924 |
|
SU2012A1 |
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз | 1924 |
|
SU2014A1 |
Многоступенчатая активно-реактивная турбина | 1924 |
|
SU2013A1 |
Способ защиты переносных электрических установок от опасностей, связанных с заземлением одной из фаз | 1924 |
|
SU2014A1 |
СПОСОБ И СИСТЕМА АВТОМАТИЗИРОВАННОГО ПОСТРОЕНИЯ ВИРТУАЛЬНОЙ СЦЕНЫ НА ОСНОВАНИИ ТРЕХМЕРНЫХ ПАНОРАМ | 2022 |
|
RU2779245C1 |
Авторы
Даты
2024-09-09—Публикация
2024-05-06—Подача