Способ и система автоматизированного построения виртуальной сцены на основании трехмерных панорам

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

 

ОБЛАСТЬ ТЕХНИКИ

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

УРОВЕНЬ ТЕХНИКИ

[0002] Виртуальный тур представляет собой способ реалистичного отображения трехмерного многоэлементного пространства на средстве пользователя, которым может выступать компьютерное устройство (компьютер, планшет или смартфон) или средство виртуальной реальности. Элементами виртуального тура, как правило, являются сферические панорамы, соединенные между собой интерактивными ссылками-переходами (также точки перехода или хотспоты). Виртуальные туры могут также включать цилиндрические панорамы, виртуальные 3D-объекты, обыкновенные фотографии, видео, звук и т.д. При этом панорамы в виртуальном туре имеют привязку к карте по координатам места съемки.

[0003] Термин "виртуальный тур", как правило, обозначает сгенерированную модель окружения, построенную, например, с помощью съемки окружения и формирования его трехмерной модели на основании данных облаков точек и сферических панорам, или треугольной сетки (triangle mesh or polygon mesh)", связанных в единый объект для отображения с помощью точек перехода, по которым в процессе просмотра можно виртуально «перемещаться» с помощью взаимодействия пользователя с графическим интерефейсом. В виртуальные туры могут включаться и другие интерактивные элементы: всплывающие информационные окна, поясняющие надписи, графически оформленные клавиши управления и т.п.

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

[0005] Из уровня техники известно решение с использованием Lidar для осуществления съемки в отсутствие освещения, раскрытое в патенте US 20130169668 A1 (Here Global BV 04.07.2013).

[0006] Недостатком известных решений в данной области техники является отсутствие возможности привязки точки в случае, если хотя бы одна или обе из привязываемых точек сняты в условиях недостаточной освещенности, что приводит к снижению точности построения 3D-панорамы помещения.

РАСКРЫТИЕ ИЗОБРЕТЕНИЯ

[0007] Заявленное техническое решение решает техническую проблему, заключающуюся в эффективном и точном построении виртуальной сцены на основании трехмерных панорам с помощью 3D-камеры в условиях недостаточной освещенности.

[0008] Основным техническим результатом является повышение точности построения виртуальной сцены на основании трехмерных панорам с помощью 3D-камеры в условиях недостаточной освещенности.

[0009] Указанный технический результат достигается благодаря осуществлению способа автоматизированного построения виртуальной сцены на основании трехмерных панорам с помощью 3D-камеры, обеспечивающей захват фотоизображений и облаков точек окружающего пространства, при этом способ выполняется с помощью процессора 3D-камеры и содержит этапы, на которых:

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

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

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

осуществляют построение виртуальной сцены на основании выполненной привязки точек съемки.

[0010] В одном из частных вариантов реализации способа режим привязки точек автоматически изменяется в зависимости от освещенности точки съемки.

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

[0012] Кроме того, заявленное решение реализуется с помощью устройства автоматизированного построения виртуальной сцены на основании трехмерных панорам, содержащего:

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

КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ

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

[0014] Фиг. 1 иллюстрирует дерево свипов, полученных в процессе съемки.

[0015] Фиг. 2 иллюстрирует сырые данные, получаемые в процессе съемки.

[0016] Фиг. 3 иллюстрирует пример HDR-изображения.

[0017] Фиг. 4 иллюстрирует блок-схему заявленного способа.

[0018] Фиг. 5 иллюстрирует пример среза лидара

[0019] Фиг. 6 иллюстрирует пример среза лидара.

ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ

[0020] В настоящем описании будут использоваться следующие термины для определения.

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

[0022] Дескриптор - вектор, описывающий окрестность ключевой точки на изображении или облаке точек.

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

[0024] Свип набор данных, полученных в результате съемки из одной точки расположения устройства. Свип содержит набор HDR-изображений, из которых впоследствии формируется 3D-панорама точки съемки, а также облако точек лидара и метаданные.

[0025] Мэтчинг (привязка) - процесс поиска соответствий между дескрипторами в двух свипах и определения их взаимного расположения. Позволяет определить координаты снятого свипа относительно родительского свипа.

[0026] Мэтч - найденное соответствие между двумя дескрипторами в двух разных свипах.

[0027] Облако точек - набор точек в трехмерном пространстве, полученный в ходе лазерного сканирования объекта и представляющий поверхность этого объекта.

[0028] Постобработка - автоматическое преобразование данных сцены в виртуальный тур.

[0029] Родительская точка съемки точка, в которой было расположено устройство при съемке родительского свипа.

[0030] Родительский свип - свип, с которым будет осуществляться мэтчинг следующего снимаемого свипа.

[0031] Сырые данные - данные, полученные с камеры, лидара, энкодера и датчика IMU устройства, до их обработки.

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

[0033] Трехмерная панорама (3D-панорама) - интерактивное фотоизображение позволяющее показать окружающее пространство вокруг точки съемки со всех сторон.

[0034] Точка съемки - точка, в которой расположено устройство при съемке свипа.

[0035] В качестве 3D-камеры для съемки трехмерных виртуальных туров может применяться, например, 3D-камера FilinCam V6/V7/X1 и др. 3D-камера предназначена для съемки помещений и открытых пространств для дальнейшего создания их фотореалистичных цифровых моделей и виртуальных туров. Процесс съемки включает сбор и предварительную обработку сырых данных с 3D-камеры, которая также содержит по меньшей мере: вычислительный модуль (процессор или микроконтроллер), память, лидар, акселерометр, датчик IMU, энкодер (датчик угла поворота), механизм вращения камеры, включающий в себя редуктор и шаговый двигатель, камеру высокого разрешения для съемки фотопанорам, которые необходимы для формирования набора данных для последующего формирования виртуальных туров. Управление камерой осуществляется через программное приложение (браузер), установленное на устройстве оператора, например, планшете, смартфоне, ноутбуке или ПК. По окончании съемки полученные данные выгружаются с 3D-камеры на сервер постобработки, где происходит их хранение, обработка, создание 3D-моделей отсканированного пространства и виртуальных туров на их основе. Готовые виртуальные туры передаются с сервера постобработки на сервер для последующего доступа к ним со стороны пользователей.

[0036] На Фиг. 1 представлен пример дерева свипов, полученных в процессе съемки с помощью 3D-камеры. Процесс съемки начинается с установки камеры, закрепленной на штативе, в начальную точку съемки (точки 1-6 на Фиг. 1). Камера совершает полный оборот вокруг оси, сканируя окружающее пространство лидаром и несколько раз останавливаясь, чтобы выполнить серию фотоснимков. В результате формируется так называемый "свип" (от англ. Sweep), т.е. набор данных, состоящий из нескольких HDR-изображений, л ид арного облака точек и метаданных.

[0037] Пример данных, хранимых в свипе:

- 3 серии по 6 или 7 (в зависимости от выбранного режима) снимков с камеры (140), которые используются для создания HDR-изображений;

- Набор срезов лидара для создания облака точек. Лидар с высокой частотой (40 Гц) генерирует импульсы лазерного излучения, сканирующие окружающее пространство. Каждый импульс сканирует пространство в вертикальной плоскости с охватом 270°. Облако точек, полученное в результате одного импульса, называется "срезом лидара". Пример такого среза (отмечен красным на Фиг. 5). Поскольку лидар во время съемки постоянно вращается вокруг вертикальной оси, за полный оборот он собирает несколько сотен таких вертикальных срезов, каждый из которых повернут на небольшой угол относительно предыдущего. Из этих срезов по окончании сканирования формируется единое облако точек, описывающее геометрию окружающего пространства. На Фиг. 6 это облако точек, состоящее из множества отдельных срезов, изображено желтым, а первый срез по-прежнему выделен красным;

- Кватернионы и углы отклонения камеры от горизонта на момент начала и окончания съемки свипа, рассчитанные на основе данных акселерометра и гироскопа IMU;

- Данные энкодера (временные метки, углы поворота камеры);

- Метаданные (например, режим съемки свипа: разрешение съемки, время и прочее).

[0038] После получения данных в рамках съемки первого свипа в точке №1 камера перемещается в новую точку съемки (например, точка №2) и выполняется съемка следующего свипа. Набор отснятых свипов, приведенный к единой системе координат, называется "сценой".

[0039] Как показано на Фиг. 1, свипы в сцене всегда организованы в древовидный ациклический граф с единственным начальным узлом. Для каждого свипа в сцене, кроме первого, определен так называемый "родительский" свип. По умолчанию родительским считается последний снятый свип, но при необходимости родительским свипом может быть назначен любой из ранее отснятых свипов. Например, на Фиг. 1 родительским для свипа №4 является не свип №3, как было бы назначено по умолчанию, а свип №2.

[0040] Каждый свип имеет свою систему координат, которая совпадает с системой координат 3D-камеры на момент начала съемки данного свипа. Система координат первого свипа также служит системой координат сцены. Таким образом, чтобы построить из свипов сцену, необходимо решить задачу перевода облака точек каждого свипа из собственной системы координат в систему координат сцены.

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

[0042] Алгоритм привязки рассчитывает матрицы перехода Tij для каждой пары соседних свипов Si и Sj. Чтобы перевести облако точек Pi свипа Si в систему координат свипа Sj, достаточно умножить его на Tij.

Pij=Pi*Tij

Здесь и далее используется следующая нотация:

• Si - свип с номером i. Например, S3 - свип №3.

• Pi - облако точек свипа Si в собственной системе координат. Например, Р3 - облако точек свипа №3.

• Pij - облако точек свипа Si, переведенное в систему координат свипа Sj. Например, Р35 - облако точек свипа №3 в системе координат свипа №5.

• Tij - матрица перехода, служащая для преобразования облака точек свипа Si в систему координат свипа Sj. Например, Т35 - матрица перехода, переводящая облако точек Р3 в Р35.

[0043] Чтобы перевести облако точек Pj свипа Sj в систему координат свипа Si, достаточно умножить это облако точек на матрицу Tji, обратную к Tij.

Tji=(Tij)-1

Pji=Pj*(Tij)-1

[0044] Если свипы не являются соседними в дереве, задача разделяется на несколько последовательных шагов. Например, чтобы на Фиг. 1 перевести облако точек свипа S6 в систему координат свипа S1, его следует сначала перевести в систему координат свипа S5, затем S2, и наконец S1. Для этого необходимо последовательно умножить облако точек свипа S6 на матрицы перехода T65, Т52 и Т21:

Р65665

Р626552

Р616221

Или, более кратко:

Р616655221

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

[0046] Съемка свипа состоит из двух основных этапов: непосредственно съемка и предварительная обработка отснятых сырых данных. При съемке 3D-камера совершает полный оборот вокруг оси, сканируя окружающее пространство лидаром с частотой 40 Гц, совершая в процессе съемки несколько остановок (например, 3 остановки), чтобы сделать серию фотоснимков с различной экспозицией. В результате этого процесса в памяти 3D-камеры сохраняется несколько серий снимков с камеры, набор срезов лидара, а также вспомогательные метаданные, включая временные метки и углы поворота 3D-камеры на момент получения каждого снимка и каждого среза лидара.

[0047] Обработка полученных сырых данных включает следующие операции:

- Из каждой серии снимков (пример серии представлен на Фиг. 2) формируется HDR-изображение (пример представлен на Фиг. 3);

- Из срезов лидара формируется единое облако точек. Для этого каждый срез умножается на матрицу поворота вокруг вертикальной оси Y на угол, заданный показаниями энкодера 3D-камеры на момент съемки среза, и на матрицу калибровки лидара.

[0048] Полученные HDR-изображения и облака точек затем используются как исходные данные для расчета попарной привязки свипов.

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

[0050] Для решения этой проблемы используется технология создания HDR-изображений. HDR-изображение формируется из серии обычных снимков, выполненных с разной экспозицией. На снимках с короткой экспозицией хорошо отображаются более светлые участки, ас длинной - более темные. В получаемом HDR-изображении содержатся все детали из всех исходных снимков, как в наиболее темных, так и в максимально светлых участках. Такое изображение максимально приближено к восприятию окружающего мира человеческим глазом.

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

[0052] На Фиг. 4 показаны основные этапы способа (100) автоматизированного построения виртуальной сцены на основании трехмерных панорам с помощью 3D-камеры, обеспечивающей захват фотоизображений и облаков точек окружающего пространства, при этом способ выполняется с помощью процессора 3D-камеры.

[0053] На этапе (101) получают данные в точках съемки, содержащие фотоизображения окружающего пространства и облако точек, характеризующее геометрию пространства, в каждой из упомянутых точек съемки. Данный этап был подробно описан выше в материалах заявленного решения.

[0054] На этапе (102) определяют для каждой точки степень освещенности фотоизображений, характеризующийся пороговым значением Т (количество темных пикселей на изображении превышает 20%).

[0055] На этапе (103) осуществляют привязку полученных данных съемки в каждой из точек, причем привязка данных каждой последующей точки выполняется к данным предыдущей точки, и для точек, степень освещенности фотоизображений которых ниже порогового значения Т, привязка к предыдущей точке осуществляется только на основании данных облаков точек.

[0056] Рассмотрим принцип привязки соседних свипов на примере свипов Si и Sj в процессе генерирования сцены виртуального тура с соответствующими точками обзора (точками съемки).

[0057] Вначале на HDR-изображениях свипов Si и Sj выполняется поиск ключевых точек и дескрипторов (векторов, описывающих окрестность найденных ключевых точек). Поиск ключевых точек и расчет их дескрипторов выполняется при помощи алгоритмов из открытой библиотеки OpenCV. Дескрипторы, найденные на HDR-изображениях обоих свипов, попарно сопоставляются при помощи алгоритмов из открытой библиотеки FLANN. Совпадение двух дескрипторов называется "мэтч" (от англ. "to match" - совпадать). Наиболее точные из найденных мэтчей проецируются с HDR-изображений на облака точек и сохраняются в памяти камеры для дальнейшего использования.

[0058] Параллельно выполняется поиск ключевых точек и дескрипторов на облаках точек свипов Si и Sj при помощи алгоритмов из открытой библиотеки PCL (Point cloud library). Найденные дескрипторы на облаках точек обоих свипов попарно сопоставляются при помощи алгоритмов из открытой библиотеки FLANN. Наиболее точные из найденных мэтчей сохраняются в памяти камеры для дальнейшего использования.

[0059] Таким образом формируется объединенный набор лучших мэтчей из двух источников: 2D (HDR-изображения) и 3D (облака точек).

[0060] Когда съемка свипа производится в режиме недостаточной освещенности, поиск ключевых точек и дескрипторов по его HDR-изображениям не производится, и из 2D-источника не поступает ни одного мэтча. В этом случае берется набор мэтчей только из 3D-источника.

[0061] Затем на основе набора лучших мэтчей из доступных источников выполняется поиск возможных матриц перехода Ту при помощи алгоритма RANSAC. Алгоритм берет за основу несколько случайно выбранных мэтчей (например, 4-5 мэтчей) и рассчитывает для них матрицу перехода, после чего осуществляет проверку того, какое количество мэтчей соответствует найденной матрице. Процесс повторяется до тех пор, пока не будет найдена матрица перехода, которой соответствует достаточно большое число мэтчей, либо будет достигнуто максимальное число итераций поиска.

[0062] На этапе (104) осуществляют построение виртуальной сцены на основании выполненной привязки точек съемки. Данный этап был подробно описан выше в материалах заявленного решения.

[0063] Данный подход к съемке в условиях освещенности ниже порогового значения (недостаточной освещенности) позволяет существенно повысить точность построения виртуальной сцены на основе трехмерных панорам с помощью 3D-камеры.

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

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

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

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

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

осуществляют построение виртуальной сцены на основании выполненной привязки точек съемки.

2. Способ по п. 1, в котором режим привязки точек автоматически изменяется в зависимости от освещенности точки съемки.

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

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



 

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

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

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

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

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

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

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

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

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

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

Настоящее изобретение относится к области захвата и обработки изображений, в частности к корректировке ошибок измерения глубины трехмерной (3D) ToF-камеры. Технический результат заключается в обеспечении упрощенного решения для формирования карты глубины, повышающего быстродействие обработки и качество компенсации ошибок измерения дальности ToF-камеры.

Изобретение относится к вычислительной технике. Технический результат заключается в улучшении эффективности переключения глобальных специальных эффектов.
Наверх