WO2023158344A1 - Способ и система автоматизированного построения виртуальной сцены на основании трехмерных панорам - Google Patents
Способ и система автоматизированного построения виртуальной сцены на основании трехмерных панорам Download PDFInfo
- Publication number
- WO2023158344A1 WO2023158344A1 PCT/RU2023/050015 RU2023050015W WO2023158344A1 WO 2023158344 A1 WO2023158344 A1 WO 2023158344A1 RU 2023050015 W RU2023050015 W RU 2023050015W WO 2023158344 A1 WO2023158344 A1 WO 2023158344A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- point
- points
- data
- sweep
- virtual scene
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
Definitions
- the claimed technical solution generally relates to the field of computer technology, and in particular to digital information processing tools designed for automated construction of virtual scenes for virtual tours.
- a virtual tour is a method of realistically displaying a three-dimensional multi-element space on a user's tool, which can be a computer device (computer, tablet or smartphone) or a virtual reality tool.
- the elements of a virtual tour are spherical panoramas, interconnected by interactive transition links (also transition points or hotspots).
- Virtual tours can also include cylindrical panoramas, virtual 3D objects, ordinary photos, video, sound, etc.
- panoramas in a virtual tour are linked to the map by the coordinates of the shooting location.
- virtual tour generally refers to a generated environment model built, for example, by capturing the environment and generating a three-dimensional model of it based on data from point clouds and spherical panoramas, or a triangular mesh (triangle mesh or polygon mesh)" connected into a single object for display using hotspots, which can be virtually “navigated” during browsing through user interaction with a graphical interface
- Other interactive elements can be included in virtual tours: pop-up information windows, explanatory labels, graphical keys management, etc.
- the claimed technical solution solves the technical problem of effectively and accurately building a virtual scene based on three-dimensional panoramas using an 3D camera in low light conditions.
- the main technical result is to improve the accuracy of constructing a virtual scene based on three-dimensional panoramas using an 3D camera in low light conditions.
- the specified technical result is achieved through the implementation of a method for automated construction of a virtual scene based on three-dimensional panoramas using an 3D camera that captures photographic images and point clouds of the surrounding space, while the method is performed using the 3D camera processor and contains the steps at which: receiving data at survey points, containing photographic images of the surrounding space and a point cloud characterizing the geometry of space, at each of said survey points; determine for each shooting point the degree of illumination of photographic images, characterized by a threshold value T ; linking the received survey data at each of the points, and linking the data of each subsequent point to the data of the previous point, and for points, the degree of illumination of the photographic images of which is below the threshold value T, linking to the previous point is carried out only on the basis of their point clouds data; constructing a virtual scene based on the binding of the shooting points.
- the point binding mode automatically changes depending on the illumination of the shooting point.
- point binding is carried out by forming a tree-like acyclic graph with a single initial node.
- the claimed solution is implemented using a device for automated construction of a virtual scene based on three-dimensional panoramas, containing: at least one processor and at least one memory connected to the processor, which contains machine-readable instructions that, when executed, at least at least one processor ensure the implementation of the claimed method.
- FIG. 1 illustrates the tree of sweeps obtained during the survey.
- FIG. 2 illustrates the raw data obtained during the survey.
- FIG. 3 illustrates an example of an HDR image.
- FIG. 4 illustrates a block diagram of the claimed method.
- FIG. 5 illustrates an example of a lidar slice
- FIG. 6 illustrates an example of a lidar slice.
- a virtual tour is a method of realistically visualizing a room or open space on a computer screen, allowing the end user to virtually “move” around the room with an “out of sight” view.
- a descriptor is a vector describing the neighborhood of a key point in an image or point cloud.
- Key point - key points in the image are considered to be points that stand out significantly, for example, with a sharp difference in brightness.
- Key points in a point cloud are points with characteristic geometry, such as corners.
- Sweep - a set of data obtained as a result of shooting from one point of the device.
- the sweep contains a set of HDR images, from which a 3D panorama of the survey point is subsequently formed, as well as a cloud of lidar points and metadata.
- Matching - the process of finding matches between descriptors in two sweeps and determining their relative position. Allows you to determine the coordinates of the surveyed sweep relative to the parent sweep.
- a match is a found match between two descriptors in two different sweeps.
- Point cloud - a set of points in three-dimensional space obtained during laser scanning of an object and representing the surface of this object.
- Parent survey point the point at which the device was located when the parent sweep was surveyed.
- the parent sweep is the sweep with which the next sweep to be removed will be matched.
- a lidar slice is a flat point cloud obtained in a single lidar pulse. At the end of the shooting, a cloud of points is formed from the captured slices, which describes the geometry of the scanned area.
- Three-dimensional panorama (ZP-panorama) - an interactive photo image that allows you to show the surrounding space around the shooting point from all sides.
- 3D virtual tour camera for example, FilinCam V6/V7/X1 and other 3D cameras can be used.
- the 3D camera is designed for shooting indoors and outdoors for further creation of their photorealistic digital models and virtual tours.
- the shooting process includes the collection and pre-processing of raw data from the CP camera, which also contains at least: a computing module (processor or microcontroller), memory, lidar, accelerometer, IMU sensor, encoder (rotation angle sensor), a camera rotation mechanism, including includes a gearbox and a stepper motor, a high-resolution camera for shooting photo panoramas, which are necessary to form a data set for the subsequent formation of virtual tours.
- the camera is controlled through a software application (browser) installed on the operator's device, such as a tablet, smartphone, laptop or PC.
- a software application browser
- the received data is uploaded from the 3D camera to the post-processing server, where they are stored, processed, and 3D models of the scanned space and virtual tours are created based on them. Ready-made virtual tours are transferred from the post-processing server to the server for subsequent access to them by users.
- FIG. Figure 1 shows an example of a tree of sweeps obtained in the process of surveying with a 3D camera.
- the shooting process begins with the installation of the camera, mounted on a tripod, at the starting point of the shooting (points 1-6 in Fig. 1).
- the camera makes a complete rotation around the axis, scanning the surrounding area with lidar and stopping several times to take a series of photographs.
- the so-called "sweep" (from the English. Sweep) is formed, i.e. a dataset consisting of multiple HDR images, a lidar point cloud, and metadata.
- a set of lidar slices to create a point cloud A lidar with a high frequency (40 Hz) generates pulses of laser radiation that scan the surrounding space. Each impulse scans space in the vertical plane with a coverage of 270°.
- the point cloud resulting from a single pulse is called a "lidar slice".
- An example of such a cut (marked in red in Fig. 5). Since the lidar constantly rotates around the vertical axis during the survey, for a complete revolution it collects several hundred such vertical slices, each of which is rotated by a small angle relative to the previous one. From these slices, at the end of scanning, a single point cloud is formed that describes the geometry of the surrounding space. On FIG. 6 this point cloud, consisting of many individual slices, is shown in yellow, with the first slice still highlighted in red;
- sweeps in a scene are always organized into a tree-like acyclic graph with a single starting node.
- a so-called "parent" sweep is defined for each sweep in the scene, except for the first one.
- the last sweep taken is considered the parent sweep, but if necessary, any of the previously captured sweeps can be assigned as the parent sweep.
- the parent of sweep #4 is not sweep #3, as it would be by default, but sweep #2.
- Each sweep has its own coordinate system, which coincides with the coordinate system of the 3D camera at the start of the survey of this sweep.
- the coordinate system of the first sweep also serves as the scene coordinate system.
- a binding algorithm is used that analyzes point clouds and photo panoramas of two neighboring (i.e., connected by one graph edge) sweeps in the tree, searches for matching sections, based on them determines the relative position and orientation of these sweeps in the scene and calculates the matrix transition between them.
- the anchoring algorithm calculates transition matrices Tu for each pair of neighboring sweeps Si and Sj. To convert the point cloud Pi of the sweep Si into the coordinate system of the sweep Sj, it is sufficient to multiply it by Tu.
- Si - sweep number i For example, S3 is sweep #3.
- Pi - sweep point cloud Si in own coordinate system For example, Pz is a point cloud of sweep No. 3.
- Pi J - point cloud of the sweep Si converted to the coordinate system of the sweep Sj.
- Pz 5 is the point cloud of sweep #3 in the coordinate system of sweep #5.
- T35 is a transition matrix that transforms the cloud of points Ps into Ps 5 .
- the task is divided into several consecutive steps. For example, so that in FIG. 1 to convert the sweep point cloud Se to the sweep coordinate system Si, it must first be translated to the sweep coordinate system S5, then S2, and finally Si. To do this, it is necessary to successively multiply the cloud of points of the sweep Se by the transition matrices Tb5, T52 and T21:
- the tree structure of the graph guarantees the uniqueness of the path between any two sweeps in the scene. In the way that to bring all sweeps to a single coordinate system, on the graph it is necessary to determine the only possible path from each sweep to the initial sweep Si and successively apply multiplication by the corresponding transition matrices. As a result of this procedure, a scene is formed that contains all the captured panoramas and point clouds in a single coordinate system.
- the survey of the sweep consists of two main stages: the survey itself and pre-processing of the captured raw data.
- the SI camera makes a full rotation around its axis, scanning the surrounding space with a lidar at a frequency of 40 Hz, making several stops during the shooting (for example, 3 stops) to take a series of photographs with different exposures.
- several series of images from the camera, a set of lidar slices, as well as auxiliary metadata, including timestamps and rotation angles of the 3D camera at the time of acquisition of each image and each lidar slice, are stored in the memory of the 3D camera.
- the processing of the received raw data includes the following operations:
- each slice is multiplied by the rotation matrix around the vertical Y axis by the angle specified by the SI camera encoder readings at the time the slice was taken, and by the lidar calibration matrix.
- the dynamic range of the sensor (the range of brightness reproduced without distortion) is significantly inferior to human vision.
- a narrow dynamic range means that the sensor is not able to simultaneously capture very light and very dark areas of the image without loss of information. As a result, either the light area is displayed as a white spot, or the dark area is displayed as black.
- HDR imaging technology is used.
- An HDR image is formed from a series of normal shots taken at different exposures. Short-exposure shots show brighter areas well, while long-exposure shots show darker areas well.
- the resulting HDR image contains all the details from all original shots, both in the darkest and in the brightest areas. Such an image is as close as possible to the perception of the surrounding world by the human eye.
- a situation may arise when part of the room is in complete darkness (in conditions where the degree of illumination is below the threshold value T) and cannot be illuminated. Then the camera analyzes the received image and if the number of dark pixels (i.e. pixels with a brightness below the threshold value) exceeds 20%, then the low-light shooting mode is activated.
- FIG. 4 shows the main stages of the method (100) for automated construction of a virtual scene based on three-dimensional panoramas using an 3D camera that captures photographic images and point clouds of the surrounding space, while the method is performed using the 3D camera processor.
- step (101) survey point data is obtained containing photographic images of the surrounding space and a point cloud characterizing the geometry of space at each of said survey points. This stage was described in detail above in the materials of the declared solution.
- the degree of illumination of photographic images is determined, characterized by a threshold value T (the number of dark pixels in the image exceeds 20%).
- the received survey data is linked at each of the points, and the data of each subsequent point is linked to the data of the previous point, and for points whose photo image illumination level is below the threshold value T, the link to the previous point is carried out only on point cloud data.
- the search for key points and descriptors on the point clouds of sweeps Si and Sj is performed using algorithms from the open library PCL (Point cloud library).
- the descriptors found on the point clouds of both sweeps are compared in pairs using algorithms from the FLANN open library. The most accurate of the found matches are stored in the camera's memory for further use.
- a search is performed for possible transition matrices Tu using the RANSAC algorithm.
- the algorithm takes several randomly selected matches as a basis (for example, 4-5 matches) and calculates the transition matrix for them, after which it checks how many matches correspond to the found matrix. The process is repeated until a transition matrix is found that corresponds to a sufficiently large number of matches, or the maximum number of search iterations is reached.
- step (104) a virtual scene is built based on the completed mapping of the shooting points. This stage was described in detail above in the materials of the declared solution.
- This approach to shooting in conditions of illumination below the threshold value (low illumination) can significantly improve the accuracy of constructing a virtual scene based on three-dimensional panoramas using a 3D camera.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
Abstract
Способ автоматизированного построения виртуальной сцены на основании трехмерных панорам с помощью 3D-камеры выполняется с помощью процессора 3D-камеры и содержит этапы, на которых: получают данные в точках съемки (101), содержащие фотоизображения окружающего пространства и облако точек, характеризующее геометрию пространства; определяют для каждой точки степень освещенности фотоизображений (102), которая характеризуется пороговым значением Т; осуществляют привязку полученных данных съемки в каждой из точек (103), причем привязка данных каждой последующей точки выполняется к данным предыдущей точки, и для точек, степень освещенности фотоизображений которых ниже порогового значения Т, привязка к предыдущей точке осуществляется только на основании данных их облаков точек; осуществляют построение виртуальной сцены (104) на основании выполненной привязки точек съемки. Изобретение направлено на повышение точности построения виртуальной сцены на основании трехмерных панорам с помощью 3D-камеры в условиях недостаточной освещенности.
Description
СПОСОБ И СИСТЕМА АВТОМАТИЗИРОВАННОГО ПОСТРОЕНИЯ ВИРТУАЛЬНОЙ СЦЕНЫ НА ОСНОВАНИИ ТРЕХМЕРНЫХ ПАНОРАМ
ОБЛАСТЬ ТЕХНИКИ
[ООО 1 ] Заявленное техническое решение в общем относится к области вычислительной техники, а в частности к средствам обработки цифровой информации, предназначенным для автоматизированного построения виртуальных сцен для виртуальных туров.
УРОВЕНЬ ТЕХНИКИ
[0002] Виртуальный тур представляет собой способ реалистичного отображения трехмерного многоэлементного пространства на средстве пользователя, которым может выступать компьютерное устройство (компьютер, планшет или смартфон) или средство виртуальной реальности. Элементами виртуального тура, как правило, являются сферические панорамы, соединенные между собой интерактивными ссылками-переходами (также точки перехода или хотспоты). Виртуальные туры могут также включать цилиндрические панорамы, виртуальные ЗВ-объекты, обыкновенные фотографии, видео, звук и т. д. При этом панорамы в виртуальном туре имеют привязку к карте по координатам места съемки.
[0003] Термин "виртуальный тур", как правило, обозначает сгенерированную модель окружения, построенную, например, с помощью съемки окружения и формирования его трехмерной модели на основании данных облаков точек и сферических панорам, или треугольной сетки (triangle mesh or polygon mesh)", связанных в единый объект для отображения с помощью точек перехода, по которым в процессе просмотра можно виртуально «перемещаться» с помощью взаимодействия пользователя с графическим интерефейсом. В виртуальные туры могут включаться и другие интерактивные элементы: всплывающие информационные окна, поясняющие надписи, графически оформленные клавиши управления и т.п.
[0004] В ходе съемки помещения может возникнуть ситуация, когда часть помещения находится в полной темноте и не может быть освещена.
[0005] Из уровня техники известно решение с использованием Lidar для осуществления съемки в отсутствие освещения, раскрытое в патенте US 20130169668 Al (Here Global BV 04.07.2013).
[0006] Недостатком известных решений в данной области техники является отсутствие возможности привязки точки в случае, если хотя бы одна или обе из привязываемых точек сняты в условиях недостаточной освещенности, что приводит к снижению точности построения ЗВ-панорамы помещения.
РАСКРЫТИЕ ИЗОБРЕТЕНИЯ
[0007] Заявленное техническое решение решает техническую проблему, заключающуюся в эффективном и точном построении виртуальной сцены на основании трёхмерных панорам с помощью ЗВ-камеры в условиях недостаточной освещенности.
[0008] Основным техническим результатом является повышение точности построения виртуальной сцены на основании трёхмерных панорам с помощью ЗВ-камеры в условиях недостаточной освещенности.
[0009] Указанный технический результат достигается благодаря осуществлению способа автоматизированного построения виртуальной сцены на основании трехмерных панорам с помощью ЗВ-камеры, обеспечивающей захват фотоизображений и облаков точек окружающего пространства, при этом способ выполняется с помощью процессора ЗВ- камеры и содержит этапы, на которых: получают данные в точках съемки, содержащие фотоизображения окружающего пространства и облако точек, характеризующее геометрию пространства, в каждой из упомянутых точек съемки; определяют для каждой точки съемки степень освещенности фотоизображений, характеризующуюся пороговым значением Т ; осуществляют привязку полученных данных съемки в каждой из точек, причем привязка данных каждой последующей точки выполняется к данным предыдущей точки, и для точек, степень освещенности фотоизображений которых ниже порогового значения Т, привязка к предыдущей точке осуществляется только на основании данных их облаков точек; осуществляют построение виртуальной сцены на основании выполненной привязки точек съемки.
[0010] В одном из частных вариантов реализации способа режим привязки точек автоматически изменяется в зависимости от освещенности точки съемки.
[0011] В другом частном варианте реализации способа привязка точек осуществляется с помощью формирования древовидного ациклического графа с единственным начальным узлом.
[0012] Кроме того, заявленное решение реализуется с помощью устройства автоматизированного построения виртуальной сцены на основании трехмерных панорам, содержащего: по меньшей мере один процессор и по меньшей мере одну память, соединенную с процессором, которая содержит машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают выполнение заявленного способа.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ
[0013] Признаки и преимущества настоящего изобретения станут очевидными из приводимого ниже подробного описания изобретения и прилагаемых чертежей.
[0014] Фиг. 1 иллюстрирует дерево свипов, полученных в процессе съемки.
[0015] Фиг. 2 иллюстрирует сырые данные, получаемые в процессе съемки.
[0016] Фиг. 3 иллюстрирует пример HDR-изображения.
[0017] Фиг. 4 иллюстрирует блок-схему заявленного способа.
[0018] Фиг. 5 иллюстрирует пример среза лидара
[0019] Фиг. 6 иллюстрирует пример среза лидара.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ
[0020] В настоящем описании будут использоваться следующие термины для определения.
[0021] Виртуальный тур - способ реалистичной визуализации помещения или открытого пространства на экране компьютера, позволяющий конечному пользователю виртуально "перемещаться" по помещению с видом "из глаз".
[0022] Дескриптор - вектор, описывающий окрестность ключевой точки на изображении или облаке точек.
[0023] Ключевая точка - ключевыми точками на изображении считаются существенно выделяющиеся точки, например, с резким перепадом яркости. Ключевыми точками в облаке точек считаются точки с характерной геометрией, например, углы.
[0024] Свип - набор данных, полученных в результате съемки из одной точки расположения устройства. Свип содержит набор HDR-изображений, из которых впоследствии формируется ЗО-панорама точки съемки, а также облако точек лидара и метаданные.
[0025] Мэтчинг (привязка) - процесс поиска соответствий между дескрипторами в двух свипах и определения их взаимного расположения. Позволяет определить координаты снятого свипа относительно родительского свипа.
[0026] Мэтч - найденное соответствие между двумя дескрипторами в двух разных свипах.
[0027] Облако точек - набор точек в трехмерном пространстве, полученный в ходе лазерного сканирования объекта и представляющий поверхность этого объекта.
[0028] Постобработка - автоматическое преобразование данных сцены в виртуальный тур.
[0029] Родительская точка съемки - точка, в которой было расположено устройство при съемке родительского свипа.
[0030] Родительский свип - свип, с которым будет осуществляться мэтчинг следующего снимаемого свипа.
[0031] Сырые данные - данные, полученные с камеры, лидара, энкодера и датчика IMU устройства, до их обработки.
[0032] Срез лидара - лежащее в плоскости облако точек, полученное за один импульс лидара. По окончании съемки из отснятых срезов формируется облако точек, описывающее геометрию отсканированной области.
[0033] Трехмерная панорама (ЗП-панорама) - интерактивное фотоизображение позволяющее показать окружающее пространство вокруг точки съемки со всех сторон.
[0034] Точка съемки - точка, в которой расположено устройство при съемке свипа.
[0035] В качестве ЗП-камеры для съемки трехмерных виртуальных туров может применяться, например, ЗП-камера FilinCam V6/V7/X1 и др. ЗП-камера предназначена для
съемки помещений и открытых пространств для дальнейшего создания их фотореалистичных цифровых моделей и виртуальных туров. Процесс съемки включает сбор и предварительную обработку сырых данных с ЗП-камеры, которая также содержит по меньшей мере: вычислительный модуль (процессор или микроконтроллер), память, лидар, акселерометр, датчик IMU, энкодер (датчик угла поворота), механизм вращения камеры, включающий в себя редуктор и шаговый двигатель, камеру высокого разрешения для съемки фотопанорам, которые необходимы для формирования набора данных для последующего формирования виртуальных туров. Управление камерой осуществляется через программное приложение (браузер), установленное на устройстве оператора, например, планшете, смартфоне, ноутбуке или ПК. По окончании съемки полученные данные выгружаются с ЗП-камеры на сервер постобработки, где происходит их хранение, обработка, создание ЗП-моделей отсканированного пространства и виртуальных туров на их основе. Готовые виртуальные туры передаются с сервера постобработки на сервер для последующего доступа к ним со стороны пользователей.
[0036] На Фиг. 1 представлен пример дерева свипов, полученных в процессе съемки с помощью ЗП-камеры. Процесс съемки начинается с установки камеры, закрепленной на штативе, в начальную точку съемки (точки 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] Каждый свип имеет свою систему координат, которая совпадает с системой координат ЗП-камеры на момент начала съемки данного свипа. Система координат первого свипа также служит системой координат сцены. Таким образом, чтобы построить из свипов сцену, необходимо решить задачу перевода облака точек каждого свипа из собственной системы координат в систему координат сцены.
[0041 ] Для этого используется алгоритм привязки, который анализирует облака точек и фотопанорамы двух соседних (т.е. соединенных одним ребром графа) свипов в дереве, ищет совпадающие участки, на их основе определяет взаимное расположение и ориентацию этих свипов в сцене и рассчитывает матрицу перехода между ними.
[0042] Алгоритм привязки рассчитывает матрицы перехода Ту для каждой пары соседних свипов Si и Sj. Чтобы перевести облако точек Pi свипа Si в систему координат свипа Sj, достаточно умножить его на Ту.
Р,1 = Pi * Ту
Здесь и далее используется следующая нотация:
• Si - свип с номером i. Например, S3 - свип №3.
• Pi - облако точек свипа Si в собственной системе координат. Например, Рз - облако точек свипа №3.
• PiJ - облако точек свипа Si, переведенное в систему координат свипа Sj. Например, Рз5 - облако точек свипа №3 в системе координат свипа №5.
• Ту - матрица перехода, служащая для преобразования облака точек свипа Si в систему координат свипа Sj. Например, Т35 - матрица перехода, переводящая облако точек Рз в Рз5.
[0043] Чтобы перевести облако точек Pj свипа Sj в систему координат свипа Si, достаточно умножить это облако точек на матрицу Tji, обратную к Ту.
Т = (Ту)4
Р? = Pj * (Ту)’1
[0044] Если свипы не являются соседними в дереве, задача разделяется на несколько последовательных шагов. Например, чтобы на Фиг. 1 перевести облако точек свипа Se в систему координат свипа Si, его следует сначала перевести в систему координат свипа S5, затем S2, и наконец Si. Для этого необходимо последовательно умножить облако точек свипа Se на матрицы перехода Тб5, Т52 и Т21:
Р6 5 = Р6 * Т65
Р6 2 = Р6 5 * Т52
Ре1 = Ре2 * Т21
Или, более кратко:
Рб1 = Рб * Тб5 * Т52 * Т21
[0045] Следует отметить, что древовидная структура графа гарантирует единственность пути между любыми двумя свипами в сцене. Таким образом, чтобы
привести все свипы к единой системе координат, на графе необходимо определить единственно возможный путь от каждого свипа до начального свипа Si и последовательно применять умножение на соответствующие матрицы перехода. В результате этой процедуры формируется сцена, содержащая все отснятые панорамы и облака точек в единой системе координат.
[0046] Съемка свипа состоит из двух основных этапов: непосредственно съемка и предварительная обработка отснятых сырых данных. При съемке ЗИ-камера совершает полный оборот вокруг оси, сканируя окружающее пространство лидаром с частотой 40 Г ц, совершая в процессе съемки несколько остановок (например, 3 остановки), чтобы сделать серию фотоснимков с различной экспозицией. В результате этого процесса в памяти 3D- камеры сохраняется несколько серий снимков с камеры, набор срезов лидара, а также вспомогательные метаданные, включая временные метки и углы поворота ЗИ-камеры на момент получения каждого снимка и каждого среза лидара.
[0047] Обработка полученных сырых данных включает следующие операции:
- Из каждой серии снимков (пример серии представлен на Фиг. 2) формируется HDR- изображение (пример представлен на Фиг. 3);
- Из срезов лидара формируется единое облако точек. Для этого каждый срез умножается на матрицу поворота вокруг вертикальной оси Y на угол, заданный показаниями энкодера ЗИ-камеры на момент съемки среза, и на матрицу калибровки лидара.
[0048] Полученные HDR-изображения и облака точек затем используются как исходные данные для расчета попарной привязки свипов.
[0049] В большинстве цифровых фотокамер динамический диапазон матрицы (диапазон яркостей, воспроизводимый без искажений) существенно уступает человеческому зрению. Узкий динамический диапазон означает, что матрица не способна одновременно зафиксировать очень светлый и очень темный участки изображения без потерь информации. В результате либо светлый участок отображается как белое пятно, либо темный - как черное.
[0050] Для решения этой проблемы используется технология создания HDR- изображений. HDR-изображение формируется из серии обычных снимков, выполненных с разной экспозицией. На снимках с короткой экспозицией хорошо отображаются более светлые участки, а с длинной - более темные. В получаемом HDR-изображении содержатся
все детали из всех исходных снимков, как в наиболее темных, так и в максимально светлых участках. Такое изображение максимально приближено к восприятию окружающего мира человеческим глазом.
[0051] В процессе съемки может возникнуть ситуация, когда часть помещения находится в полной темноте (в условиях, когда степень освещенности ниже порогового значения Т) и не может быть освещена. Тогда камера анализирует полученное изображение и если количество темных пикселей (т.е. пикселей с яркостью ниже порогового значения) превышает 20%, то включается режим съемки при недостаточной освещенности.
[0052] На Фиг. 4 показаны основные этапы способа (100) автоматизированного построения виртуальной сцены на основании трёхмерных панорам с помощью ЗВ-камеры, обеспечивающей захват фотоизображений и облаков точек окружающего пространства, при этом способ выполняется с помощью процессора ЗВ-камеры.
[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-изображениям не производится, и из 20-источника не поступает ни одного мэтча. В этом случае берется набор мэтчей только из ЗО-источника.
[0061] Затем на основе набора лучших мэтчей из доступных источников выполняется поиск возможных матриц перехода Ту при помощи алгоритма RANSAC. Алгоритм берет за основу несколько случайно выбранных мэтчей (например, 4-5 мэтчей) и рассчитывает для них матрицу перехода, после чего осуществляет проверку того, какое количество мэтчей соответствует найденной матрице. Процесс повторяется до тех пор, пока не будет найдена матрица перехода, которой соответствует достаточно большое число мэтчей, либо будет достигнуто максимальное число итераций поиска.
[0062] На этапе (104) осуществляют построение виртуальной сцены на основании выполненной привязки точек съемки. Данный этап был подробно описан выше в материалах заявленного решения.
[0063] Данный подход к съемке в условиях освещенности ниже порогового значения (недостаточной освещенности) позволяет существенно повысить точность построения виртуальной сцены на основе трёхмерных панорам с помощью ЗО-камеры.
[0064] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники.
Claims
1. Способ автоматизированного построения виртуальной сцены на основании трехмерных панорам с помощью ЗВ-камеры, обеспечивающей захват фотоизображений и облаков точек окружающего пространства, при этом способ выполняется с помощью процессора ЗО-камеры и содержит этапы, на которых: получают данные в точках съемки, содержащие фотоизображения окружающего пространства и облако точек, характеризующее геометрию пространства, в каждой из упомянутых точек съемки; определяют для каждой точки степень освещенности фотоизображений, характеризующийся пороговым значением Т ; осуществляют привязку полученных данных съемки в каждой из точек, причем привязка данных каждой последующей точки выполняется к данным предыдущей точки, и для точек, степень освещенности фотоизображений которых ниже порогового значения Т, привязка к предыдущей точке осуществляется только на основании данных облаков точек; осуществляют построение виртуальной сцены на основании выполненной привязки точек съемки.
2. Способ по п. 1, в котором режим привязки точек автоматически изменяется в зависимости от освещенности точки съемки.
3. Способ по п. 1, в котором привязка точек осуществляется с помощью формирования древовидного ациклического графа с единственным начальным узлом.
4. Устройство автоматизированного построения виртуальной сцены на основании трехмерных панорам, содержащее: по меньшей мере один процессор и по меньшей мере одну память, соединенную с процессором, которая содержит машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают выполнение способа по п.1-3.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
RU2022103824A RU2779245C1 (ru) | 2022-02-15 | Способ и система автоматизированного построения виртуальной сцены на основании трехмерных панорам | |
RU2022103824 | 2022-02-15 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2023158344A1 true WO2023158344A1 (ru) | 2023-08-24 |
Family
ID=87578857
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/RU2023/050015 WO2023158344A1 (ru) | 2022-02-15 | 2023-02-09 | Способ и система автоматизированного построения виртуальной сцены на основании трехмерных панорам |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2023158344A1 (ru) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU80602U1 (ru) * | 2007-11-09 | 2009-02-10 | Вадим Николаевич Шулин | Система виртуальной демонстрации проектируемого объекта |
CN102054289A (zh) * | 2009-11-04 | 2011-05-11 | 沈阳隆惠科技有限公司 | 一种基于全景实景和地理信息的3d虚拟社区构建方法 |
US20110112934A1 (en) * | 2008-06-10 | 2011-05-12 | Junichi Ishihara | Sensory three-dimensional virtual real space system |
US20120099804A1 (en) * | 2010-10-26 | 2012-04-26 | 3Ditize Sl | Generating Three-Dimensional Virtual Tours From Two-Dimensional Images |
US20200175760A1 (en) * | 2017-08-23 | 2020-06-04 | Tencent Technology(Shenzhen) Company Limited | Information interaction method based on virtual space scene, computer equipment and computer-readable storage medium |
-
2023
- 2023-02-09 WO PCT/RU2023/050015 patent/WO2023158344A1/ru unknown
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
RU80602U1 (ru) * | 2007-11-09 | 2009-02-10 | Вадим Николаевич Шулин | Система виртуальной демонстрации проектируемого объекта |
US20110112934A1 (en) * | 2008-06-10 | 2011-05-12 | Junichi Ishihara | Sensory three-dimensional virtual real space system |
CN102054289A (zh) * | 2009-11-04 | 2011-05-11 | 沈阳隆惠科技有限公司 | 一种基于全景实景和地理信息的3d虚拟社区构建方法 |
US20120099804A1 (en) * | 2010-10-26 | 2012-04-26 | 3Ditize Sl | Generating Three-Dimensional Virtual Tours From Two-Dimensional Images |
US20200175760A1 (en) * | 2017-08-23 | 2020-06-04 | Tencent Technology(Shenzhen) Company Limited | Information interaction method based on virtual space scene, computer equipment and computer-readable storage medium |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106971403B (zh) | 点云图像处理方法及装置 | |
JP6883608B2 (ja) | 深度マップに対して画像位置合せを行って深度データを最適化することができる深度データ処理システム | |
US10545215B2 (en) | 4D camera tracking and optical stabilization | |
WO2023280038A1 (zh) | 一种三维实景模型的构建方法及相关装置 | |
EP1074943A2 (en) | Image processing method and apparatus | |
KR102200299B1 (ko) | 3d-vr 멀티센서 시스템 기반의 도로 시설물 관리 솔루션을 구현하는 시스템 및 그 방법 | |
CN109118581A (zh) | 图像处理方法和装置、电子设备、计算机可读存储介质 | |
JP2010109783A (ja) | 電子カメラ | |
JP2016537901A (ja) | ライトフィールド処理方法 | |
US10354399B2 (en) | Multi-view back-projection to a light-field | |
Samaan et al. | Close-range photogrammetric tools for small 3D archeological objects | |
WO2021249401A1 (zh) | 模型生成方法、图像透视图确定方法、装置、设备及介质 | |
CN110634138A (zh) | 一种基于视觉感知的桥梁变形的监测方法、装置及设备 | |
CN114943773A (zh) | 相机标定方法、装置、设备和存储介质 | |
JP2023546739A (ja) | シーンの3次元モデルを生成するための方法、装置、およびシステム | |
JP2024114712A (ja) | 撮像装置、撮像方法、及び、プログラム | |
RU2779245C1 (ru) | Способ и система автоматизированного построения виртуальной сцены на основании трехмерных панорам | |
WO2023158344A1 (ru) | Способ и система автоматизированного построения виртуальной сцены на основании трехмерных панорам | |
CN116245734A (zh) | 全景图像生成方法、装置、设备和存储介质 | |
CN112312041B (zh) | 基于拍摄的图像校正方法、装置、电子设备及存储介质 | |
JP2008203991A (ja) | 画像処理装置 | |
CN114387532A (zh) | 边界的识别方法及其装置、终端、电子设备和无人设备 | |
Lech et al. | Novel active-SfM solution for three-dimensional crime scene documentation | |
CN112672134A (zh) | 基于移动终端三维信息采集控制设备及方法 | |
CN111402314A (zh) | 材质属性参数获取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23756713 Country of ref document: EP Kind code of ref document: A1 |