WO2023158345A1 - Method and system for controlling the display of virtual tours in multi-user mode - Google Patents

Method and system for controlling the display of virtual tours in multi-user mode Download PDF

Info

Publication number
WO2023158345A1
WO2023158345A1 PCT/RU2023/050017 RU2023050017W WO2023158345A1 WO 2023158345 A1 WO2023158345 A1 WO 2023158345A1 RU 2023050017 W RU2023050017 W RU 2023050017W WO 2023158345 A1 WO2023158345 A1 WO 2023158345A1
Authority
WO
WIPO (PCT)
Prior art keywords
user
virtual
tour
display
virtual tour
Prior art date
Application number
PCT/RU2023/050017
Other languages
French (fr)
Russian (ru)
Inventor
Сергей Михайлович КАЗАДАЕВ
Дмитрий Александрович РОМАХИН
Original Assignee
Общество с ограниченной ответственностью "Биганто"
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from RU2022103828A external-priority patent/RU2783218C1/en
Application filed by Общество с ограниченной ответственностью "Биганто" filed Critical Общество с ограниченной ответственностью "Биганто"
Publication of WO2023158345A1 publication Critical patent/WO2023158345A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics

Definitions

  • 3D objects contain metadata that provides the ability to obtain additional information about the object, including at least one of: text information, video, a link to an external resource.
  • the interface of the virtual tour contains a function that provides a measurement of the size of objects.
  • the claimed solution is also implemented using a virtual tour display control system in a multi-user mode, which contains at least one processor operatively associated with at least one memory storing machine-readable instructions that, when executed by the processor, implement the above method.
  • FIG. 8 illustrates an example of a virtual tour display.
  • 3D camera (140) for shooting 3D virtual tours (200), for example, FilinCam V6/V7/X1 3D camera and others can be used.
  • 3D camera (140) is designed to capture indoor and outdoor spaces for further creation of their photorealistic digital models and virtual tours.
  • the survey process includes the acquisition and pre-processing of raw data from the 3D camera (140), which also contains at least: a computing module (processor or microcontroller), memory, lidar, an IMU accelerometer sensor and an encoder (rotation angle sensor), which are necessary for formation of a data set for the subsequent formation of virtual tours (200).
  • the camera (140) is controlled via a software application installed on the operator's mobile device, such as a tablet, smartphone or laptop.
  • Each sweep has its own coordinate system, which coincides with the coordinate system of the CP camera (140) at the time the survey of this sweep began.
  • the coordinate system of the first sweep also serves as the scene coordinate system.
  • 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.
  • Pz is a point cloud of sweep No. 3.
  • 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.
  • a scene is formed that contains all the captured panoramas and point clouds in a single coordinate system.
  • the processing of the received raw data includes the following operations:
  • 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.
  • a search is made for possible transition matrices Tc 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.
  • the sweep floor map is generated as follows: a horizontal plane is drawn through the origin of the sweep, cutting off all points above it. Cloud points lying below the clipping plane are projected onto the HDR panoramas of the sweep in accordance with a hard-coded "meters/pixels" ratio. Then, for each point, a display color is determined that corresponds to the color of the HDR panorama pixel onto which the point was projected. Finally, all points are displayed in the "top view” horizontal projection using the colors defined above.
  • the link (211) is a connection hyperlink that is transmitted from the device (111) to the connected devices (112, 113) using any suitable type of data exchange (SMS, messenger, e-mail, etc.).
  • the link may also encoded in a QR code, which is also transmitted from the master device (111) to the connected device.
  • FIG. 8 shows an example of displaying a virtual tour (300) on a user's device.
  • the virtual tour (300) contains a number of elements of the surrounding space (311), for example, furniture, interior items, etc. Each element is a virtual space object that the user can interact with.
  • the interface When moving inside the tour model (300), the interface also displays a minimap (310) showing a schematic floor plan and the point where the user is currently located.
  • the minimap (310) can display POV points for moving to them both in the current room and on the general tour model.
  • FIG. 10 shows an example of interface display when interacting with objects (311) of virtual tour (300).
  • objects (311) of virtual tour (300) When interacting with the object (311) using an input means, for example, clicking with the mouse or pressing the touch screen of a smartphone or tablet, an additional window (312) opens, displaying additional information about the object.
  • additional information can be: the name of the object (311), its cost, the possibility of ordering and the possibility of changing the texture (313) of the object (311).
  • 3D-objects of the tour (311) contain metadata that provide the possibility of obtaining additional information about the object, such as: text information with a description of the object, video, a link to an external resource.
  • Objects (311) are real photocopies of furniture, interior, etc.
  • the tour interface (300) allows you to change the texture of the object (311) by changing it through an additional interface (313). This allows you to change the color scheme of the object (311) within the current tour (300).
  • each of the users participating in the tour (300) can independently change the texture of objects (311), which provides a display of changes in objects (311) inside the tour (300) for each user separately.
  • the program logic implemented by the server (120) within the framework of generating a virtual tour display (300) allows not only changing the color/texture of objects (311), but their geometric dimensions, thereby allowing a unique tour display to be generated for each user, which can be applied when choosing the design of premises or real estate within the scope of virtual tours.
  • the virtual tour model (300) provides the possibility of decorating it (changing the color of the walls, adding objects, etc.), which can be carried out both by one user for display to all other participants, and individually by each participant separately.
  • FIG. 11 illustrates a schematic display of survey points P1-P7 (POV) that are generated based on sweeps.
  • the server (120) receives information about the current location within the tour (300) of the user (111), who is currently leading moment.
  • the user (111) is in P6.
  • users click on the link (112, FROM) they will generate a virtual tour display from the user's camera view area (111).
  • the display of the view area (1111) of the user (111) is duplicated, in which the camera quaternion of the participant’s view area (112, FROM) matches the camera quaternion of the view area of the leader (111).
  • users (112, FROM) duplicate the view of the user's camera (111), but can also select one of the modes of further participation in the virtual tour (300) using the tour interface.
  • modes There are several such modes: 1) Full copying of all movements, turns and current increase (zoom) of the leader's camera (111); 2) Copying all movements of the presenter (111), but the ability to control the rotation and zoom of the camera manually; 3) Full freedom mode for independent movement within the tour (300).
  • Each of the connected participants (112, FROM) can generate a command for other participants to follow, providing a repetition of moving around the tour and duplicating the camera view of such a user.
  • This kind of command may be transmitted by interacting with the virtual tour display interface (300).
  • the participant to whom this notification is sent can accept or reject it.
  • the leader's device (111) can also activate a command to gather tour participants at a single point where the leader (111) is currently located. This is implemented by moving the participants in the POV of finding the host (111). Additionally, a command to change the display area of the camera that duplicates the host's camera (111) can be forcibly generated.
  • the rights of the host can be transferred to another participant, this is done when the session of the virtual tour of the host device (111) exits, or when the host itself (111) directly transfers to another participant in this role.
  • the transfer of the role of the presenter means that another user receives similar functionality that was originally available to the presenter (111).
  • a new leader is appointed, other participants are automatically assigned to the designated leader's field of view in the respective POV in which they are located. Participants can change the view and navigation of the tour (300) at any time after the appointment of a new leader.
  • the virtual tour interface (300) can implement the function of repeating the route of movement along the POV of the leader (111) with displaying frames of the display area of his camera. This function allows you to repeat the path of the leader (111) along the POV points where the leader was before (1 AND).
  • the virtual tour interface (300) may include a virtual pointer function that provides a function for pointing to objects within the virtual tour (300).
  • the pointer may be a virtual beam, or a geometric primitive (for example, a circle), displayed in the interface on users' devices and allowing you to point to an object (311) or an element of the virtual tour.
  • hovering over an object (311) with a pointer it may be highlighted or otherwise highlighted inside tour display (300).
  • the host device (111) can also activate the "Object Pointer Broadcast" function, in which highlighting objects (311) using the host pointer (111) is displayed not only in the application window of the presenter, but also in the application windows of all participants in the room.
  • the pointer object (311) has a metadata tag, then when highlighted, this tag is displayed in the panorama for all participants who see the object highlighted.
  • the metadata tag may contain textual, visual, audio, and video information about the item, as well as hyperlinks and controls (such as "Buy” or "Add to Favorites” buttons) as described earlier in this application materials.
  • the interface provides a function for measuring the geometric dimensions between points in the tour (the so-called "roulette” function), which measures the distance between two or more points, because The ZP-model of the virtual tour is built on the real dimensions of the premises during their shooting. Dimensional measurement using the presenter's GUI (111) can be displayed not only in its application window, but also for all other users.
  • the tour display interface on the host device (111) has the function of drawing lines and shapes "on top" of the virtual tour panorama (300). All shapes drawn using this feature are displayed in a panorama in the application window for each participant.
  • a "Video Playback” tool is available, with which the host (111) can broadcast selected video materials to the participant interfaces (112, FROM). Also, the tool allows you to play the selected video material automatically, if predetermined conditions are met, for example, advertising video playback can start as soon as the presenter (111) enters a certain part of the tour (300) or points to a certain object (311) with a pointer. [0079] For all participants (112, OUT) of the tour, except for the leader (111), the "picture in picture” mode is available.
  • the user display interface (112, FROM) displays not only the panorama of the virtual tour from the camera display area of this participant, but also the presenter's camera display area (111), for example, in a separate window on top of the main window.
  • the location and size of the picture-in-picture window are configurable.
  • Participants of the tour (300) in addition to the chat session can communicate via videoconference.
  • this mode is activated, the user window displays not only the panorama of the virtual chat, but also the video stream from the participant's webcam, which currently speaking (in picture-in-picture mode).
  • the videoconference mode can also be activated via avatars.
  • this mode is active, the participant's avatar, like a video screen, displays the video stream from the participant's webcam. This feature is only available for geometric shape avatars.
  • Virtual tours can be widely used in real estate sales, tours, education, and the like.
  • FIG. 12 shows an example of a general view of a computing system (400) or a computing device that provides the implementation of the claimed method or is part of a computer system, for example, a server, a personal computer, a part of a computing cluster that processes the necessary data to implement the claimed technical solution.
  • a computing system 400
  • a computing device that provides the implementation of the claimed method or is part of a computer system
  • a server for example, a server, a personal computer, a part of a computing cluster that processes the necessary data to implement the claimed technical solution.
  • user devices 110
  • a server 120
  • a 3D camera 140
  • the system is a computer system (400) and contains one or more processors (401), memory facilities such as RAM (402) and ROM (403), input / output interfaces (404) connected by a common information exchange bus ), input/output devices (405), and a device for networking (406).
  • processors 401
  • memory facilities such as RAM (402) and ROM (403
  • input / output interfaces 404
  • common information exchange bus input/output devices
  • input/output devices 405
  • a device for networking 406
  • the processor (401) (or multiple processors, multi-core processor, etc.) can be selected from a range of devices currently widely used, for example, manufacturers such as: IntelTM, AMDTM, AppleTM, Samsung Exynos TM, MediaTEKTM, Qualcomm SnapdragonTM, etc. Under the processor or one of the processors used in the system (400), it is also necessary to take into account the graphics processor, for example, NVIDIA GPU or Graphcore, the type of which is also suitable for full or partial execution of the method, and can also be used to train and apply machine learning models in various information systems.
  • the graphics processor for example, NVIDIA GPU or Graphcore, the type of which is also suitable for full or partial execution of the method, and can also be used to train and apply machine learning models in various information systems.
  • RAM (402) is a random access memory and is designed to store machine-readable instructions executable by the processor (401) for execution necessary operations for logical data processing.
  • the RAM (402) typically contains the executable instructions of the operating system and associated software components (applications, program modules, etc.). In this case, the RAM (402) may be the available memory of the graphics card or graphics processor.
  • a ROM (403) is one or more persistent storage devices such as a hard disk drive (HDD), a solid state drive (SSD), flash memory (EEPROM, NAND, etc.), optical storage media ( CD-R/RW, DVD-R/RW, BlueRay Disc, MD), etc.
  • I / O information is used, for example, a keyboard, a display (monitor), a touch screen, a touchpad, a joystick, a mouse, a light pen, a stylus, touch panel, trackball, speakers, microphone, augmented reality, optical sensors, tablet, indicator lights, projector, camera, biometric identification tools (retinal scanner, fingerprint scanner, voice recognition module), etc.
  • a keyboard for example, a keyboard, a display (monitor), a touch screen, a touchpad, a joystick, a mouse, a light pen, a stylus, touch panel, trackball, speakers, microphone, augmented reality, optical sensors, tablet, indicator lights, projector, camera, biometric identification tools (retinal scanner, fingerprint scanner, voice recognition module), etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Processing Or Creating Images (AREA)

Abstract

The invention relates to computer technology. In a method for controlling the display of virtual tours in multi-user mode, a 3D model of a tour, textured by 360-degree photographic panoramas, comprises set points of view (POVs), each point containing three-dimensional coordinates. The virtual tour is displayed for a first user, said first user being designated the master user. Commands to connect new users to the virtual tour are received from user devices. New users receive the data of the POV at which the first user is located. Display of the virtual tour is carried out for each new user at the POV at which the master user is located, wherein display of the virtual tour for each new user upon connection duplicates the display for the first user. The virtual tour is displayed for users such that the user can view the tour and move among the set POVs. Associating the point of display of the model of the tour for the connected participant devices with the current point of display for the master device allows efficient user navigation of a virtual tour.

Description

СПОСОБ И СИСТЕМА УПРАВЛЕНИЯ ОТОБРАЖЕНИЕМ ВИРТУАЛЬНЫХ ТУРОВ В МНОГОПОЛЬЗОВАТЕЛЬСКОМ РЕЖИМЕ METHOD AND SYSTEM FOR CONTROL OF VIRTUAL TOURS DISPLAY IN MULTI-USER MODE
ОБЛАСТЬ ТЕХНИКИ FIELD OF TECHNOLOGY
[ООО 1 ] Настоящее решение относится к области компьютерной техники, в частности к методам управления взаимодействия пользователей в виртуальных турах. [OOO 1 ] This solution relates to the field of computer technology, in particular to methods for managing user interaction in virtual tours.
УРОВЕНЬ ТЕХНИКИ BACKGROUND OF THE INVENTION
[0002] Виртуальный тур представляет собой способ реалистичного отображения трехмерного многоэлементного пространства на средстве пользователя, которым может выступать компьютерное устройство (компьютер, планшет или смартфон) или средство виртуальной реальности. Элементами виртуального тура, как правило, являются сферические панорамы, соединенные между собой интерактивными ссылками-переходами (также точки перехода или хотспотами). Виртуальные туры могут также включать цилиндрические панорамы, виртуальные ЗВ-объекты, обыкновенные фотографии, видео, звук и т. д. При этом панорамы в виртуальном туре имеют привязку к карте по координатам места съемки и ориентированы по сторонам света. [0002] 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, as a rule, are spherical panoramas, interconnected by interactive transition links (also transition points or hotspots). Virtual tours can also include cylindrical panoramas, virtual 3D objects, ordinary photographs, video, sound, etc. At the same time, panoramas in a virtual tour are linked to the map by the coordinates of the shooting location and are oriented to the cardinal points.
[0003] Иными словами, виртуальный тур является общим обозначением для трехмерной модели окружения, сформированной с помощью нескольких сферических панорам, а также облаков точек, получаемых с помощью лазерной съемки Лидаром (англ. Lidar - Light Detection and Ranging), связанных в единый объект для отображения с помощью точек перехода, по которым в процессе просмотра можно виртуально «перемещаться». В виртуальные туры могут включаться и другие интерактивные элементы: всплывающие информационные окна, поясняющие надписи, графически оформленные клавиши управления и т. и. [0003] In other words, a virtual tour is a general term for a three-dimensional environment model formed using several spherical panoramas, as well as point clouds obtained using Lidar - Light Detection and Ranging laser shooting, connected into a single object for display using hotspots that you can virtually “navigate” while browsing. Other interactive elements may also be included in virtual tours: pop-up information windows, explanatory labels, graphically designed control keys, etc.
[0004] Существующие решения в части отображения и предоставления пользователям доступа к просмотру и взаимодействию с виртуальным туром, как правило, ограничиваются плеером, воспроизводящем окружение виртуального тура, и позволяющим нескольким пользователям коллаборативно просматривать модель окружения внутри тура. Примером такой технологии может являться технология, раскрытая в заявке WO 2021074924 Al (Mital, 22.04.2021), в которой описывается способ одновременного просмотра виртуального тура несколькими участниками, с возможностью живого общения и отслеживания перемещения курсора ведущего участника. [0004] Existing solutions for displaying and allowing users to view and interact with a virtual tour are typically limited to a player that renders the environment of the virtual tour and allows multiple users to collaboratively view the environment model within the tour. An example of such a technology can be the technology disclosed in the application WO 2021074924 Al (Mital, 04/22/2021), which describes a method for simultaneous viewing of a virtual tour by several participants, with the possibility of live communication and tracking the movement of the cursor of the leading participant.
[0005] Недостатком такого рода решений является принцип отображения интерфейса при подключении новых участников, который обеспечивает формирование отображение модели тура или в первоначальной точке начала тура, или в какой-либо случайной точке, что приводит к неэффективной навигации внутри тура подключаемых пользователей. [0005] The disadvantage of this kind of solutions is the principle of displaying the interface when connecting new participants, which provides the formation of a display tour model either at the original starting point of the tour, or at some random point, resulting in inefficient navigation within the tour for connected users.
СУЩНОСТЬ ИЗОБРЕТЕНИЯ SUMMARY OF THE INVENTION
[0006] Заявленное решение решает техническую проблему, заключающуюся в эффективном управлении отображением виртуального тура в многопользовательском режиме. [0006] The claimed solution solves the technical problem of effectively managing the display of a virtual tour in a multi-user mode.
[0007] Технический результат заключается в повышении эффективности навигации пользователей виртуального тура, за счет привязки точки отображения модели тура подключаемых устройств участников к текущей точке отображения устройства ведущего. [0007] The technical result consists in increasing the efficiency of virtual tour users' navigation by linking the display point of the tour model of the participants' connected devices to the current display point of the host device.
[0008] В предпочтительном варианте осуществления заявленного решения заявлен способ управления отображением виртуальных туров в многопользовательском режиме, выполняемый с помощью вычислительного устройства, содержащего по меньшей мере один процессор и память, хранящую машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают: получение команды от устройства первого пользователя на генерирование виртуального тура в многопользовательском режиме; генерирование виртуального тура, представляющего собой ЗД-модель, текстурированную 360-градусными фотопанорамами, при этом виртуальный тур отображается в интерфейсе пользовательского устройства, и ЗД-модель содержит заданные точки просмотра (POV), причем каждая точка содержит трехмерные координаты; отображение виртуального тура для первого пользователя, при этом первый пользователь назначается ведущим; получение команды от устройств пользователей на подключение к упомянутому виртуальному туру новых пользователей, при этом получают данные POV, в которой находится первый пользователь; осуществляют формирование отображения виртуального тура для каждого нового пользователя в POV, в которой находится первый пользователь, причем отображение виртуального тура для каждого нового пользователя после подключения дублирует отображение первого пользователя; отображают виртуальный тур для пользователей с возможностью его просмотра и перемещения по заданным POV. [0009] В одном из частных вариантов осуществления подключение пользователей к виртуальному туру осуществляется с помощью формирования гиперссылки на подключения первым пользователем. [0008] In a preferred embodiment of the claimed solution, a method is claimed for controlling the display of virtual tours in a multi-user mode, performed using a computing device containing at least one processor and a memory storing machine-readable instructions that, when executed by at least one processor, provide: commands from the device of the first user to generate a virtual tour in multi-user mode; generating a virtual tour that is a 3D model textured with 360-degree photo panoramas, wherein the virtual tour is displayed in a user device interface and the 3D model contains predetermined viewpoints (POVs), each point containing 3D coordinates; displaying the virtual tour for the first user, with the first user designated as the leader; receiving a command from user devices to connect to said virtual tour of new users, while receiving POV data in which the first user is located; forming a virtual tour display for each new user in the POV in which the first user is located, and the display of the virtual tour for each new user after connection duplicates the display of the first user; display a virtual tour for users with the ability to view and navigate through the specified POV. [0009] In one of the private embodiments, the connection of users to the virtual tour is carried out using the formation of a hyperlink to connections by the first user.
[0010] В другом частном варианте осуществления для каждого участника виртуального тура формируется виртуальный аватар. [0010] In another particular embodiment, a virtual avatar is formed for each participant in the virtual tour.
[0011] В другом частном варианте осуществления при подключении пользователей к виртуальному туру генерируется текстовая и/или голосовая чат-сессия. [0011] In another particular embodiment, when users connect to a virtual tour, a text and/or voice chat session is generated.
[0012] В другом частном варианте осуществления первый пользователь может передать права ведущего другому пользователю. [0012] In another particular embodiment, the first user may transfer the host rights to another user.
[0013] В другом частном варианте осуществления при передаче прав отображение виртуального тура устанавливается в соответствии с POV пользователя, назначенного ведущим. [0013] In another particular embodiment, when transferring rights, the display of the virtual tour is set in accordance with the POV of the user designated as host.
[0014] В другом частном варианте осуществления после момента подключения новых пользователей к POV первого пользователя, на устройствах новых подключенных пользователей, активируется функция ручного перемещения камеры обзора в POV или функция свободного перемещения по POV виртуального тура. [0014] In another particular embodiment, once new users connect to the POV of the first user, the function of manually moving the view camera in the POV or the free movement function of the virtual tour POV is activated on the devices of the new connected users.
[0015] В другом частном варианте осуществления ведущий пользователь управляет включением/отключением звука микрофона других пользователей в чат-сессии. [0015] In another particular embodiment, the host user controls the microphone mute/unmute of other users in the chat session.
[0016] В другом частном варианте осуществления отображение виртуального тура для каждого нового подключаемого пользователя начинается с повтора маршрут перемещения по POV первого пользователя. [0016] In another particular embodiment, the virtual tour display for each new connected user begins by repeating the first user's POV path.
[0017] В другом частном варианте осуществления аватар ведущего выполнен с возможностью формирования виртуальной указки. [0017] In another particular embodiment, the host avatar is configured to generate a virtual pointer.
[0018] В другом частном варианте осуществления ЗД-модель виртуального тура содержит ЗД-объекты и представляет собой модель помещения, выполненную с возможностью изменения по меньшей мере текстуры ЗД-модели и/или ЗД-объектов. [0018] In another particular embodiment, the virtual tour 3D model contains 3D objects and is a room model configured to change at least the texture of the 3D model and/or 3D objects.
[0019] В другом частном варианте осуществления ЗД-объекты содержат метаданные, обеспечивающие возможность получения дополнительной информации об объекте, включающей по меньшей мере одно из: текстовая информация, видео, ссылка на внешний ресурс. [0019] In another particular embodiment, 3D objects contain metadata that provides the ability to obtain additional information about the object, including at least one of: text information, video, a link to an external resource.
[0020] В другом частном варианте осуществления информация отображается в дополнительном окне, располагаемом поверх интерфейса виртуального тура. [0020] In another particular embodiment, the information is displayed in an additional window located on top of the virtual tour interface.
[0021] В другом частном варианте осуществления интерфейс виртуального тура содержит функцию, обеспечивающую измерение размеров объектов. [0022] Заявленное решение также осуществляется с помощью системы управления отображением виртуальных туров в многопользовательском режиме, которая содержит по меньшей мере один процессор, функционально связанный с по меньшей мере одной памятью, хранящей машиночитаемые инструкции, которые при их выполнении процессором реализуют вышеуказанный способ. [0021] In another particular embodiment, the interface of the virtual tour contains a function that provides a measurement of the size of objects. [0022] The claimed solution is also implemented using a virtual tour display control system in a multi-user mode, which contains at least one processor operatively associated with at least one memory storing machine-readable instructions that, when executed by the processor, implement the above method.
КРАТКОЕ ОПИСАНИЕ ЧЕРТЕЖЕЙ BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Фиг. 1 иллюстрирует общую схему подключения пользователей к виртуальному туру. [0023] FIG. 1 illustrates the general scheme for connecting users to a virtual tour.
[0024] Фиг. 2 иллюстрирует пример процесса съемки с помощью ЗВ-камеры. [0024] FIG. 2 illustrates an example of a shooting process using an 3D camera.
[0025] Фиг. 3 иллюстрирует сырые данные, получаемые в процессе съемки. [0025] FIG. 3 illustrates the raw data obtained during the survey.
[0026] Фиг. 4 иллюстрирует пример HDR изображения. [0026] FIG. 4 illustrates an example of an HDR image.
[0027] Фиг. 5 иллюстрирует пример карты полы свипа. [0027] FIG. 5 illustrates an example of a sweep floor map.
[0028] Фиг. 6 иллюстрирует карту пола этажа. [0028] FIG. 6 illustrates a floor map of a floor.
[0029] Фиг. 7 иллюстрирует схему взаимодействия устройств . [0029] FIG. 7 illustrates the device interaction diagram.
[0030] Фиг. 8 иллюстрирует пример отображения виртуального тура. [0030] FIG. 8 illustrates an example of a virtual tour display.
[0031] Фиг. 9 иллюстрирует миникарту виртуального тура. [0031] FIG. 9 illustrates a virtual tour minimap.
[0032] Фиг. 10 иллюстрирует окно изменения объектов виртуального тура. [0032] FIG. 10 illustrates the virtual tour object modification window.
[0033] Фиг. 11 иллюстрирует пример перемещения по точкам съемки внутри тура. [0033] FIG. 11 illustrates an example of moving through survey points within a tour.
[0034] Фиг. 12 иллюстрирует общий вид вычислительного устройства. [0034] FIG. 12 illustrates a general view of the computing device.
ОСУЩЕСТВЛЕНИЕ ИЗОБРЕТЕНИЯ IMPLEMENTATION OF THE INVENTION
[0035] На Фиг. 1 представлена общая схема взаимодействия пользователей при совместном участии и просмотре виртуальных туров. Генерация виртуального тура (200) осуществляется на сервере (120), к которому подключаются пользователи (110) с помощью различного вида вычислительных устройств (111-113). В качестве устройств могут выступать, например, смартфон, компьютер, ноутбук, планшет, смарт ТВ, средство виртуальной реальности и прочие устройства, которые функционально могут воспроизводить и формировать интерфейс для пользовательского взаимодействия с виртуальным туром (200), независимо от принципа его отображения (дисплей устройства, виртуальная реальность) и взаимодействия с объектами внутри тура (с помощью средств ввода или контроллеров, предназначенных для виртуальной реальности). [0035] In FIG. 1 shows the general scheme of user interaction with joint participation and viewing of virtual tours. The virtual tour (200) is generated on the server (120), to which users (110) connect using various types of computing devices (111-113). Devices can be, for example, a smartphone, computer, laptop, tablet, smart TV, virtual reality tool and other devices that can functionally reproduce and form an interface for user interaction with a virtual tour (200), regardless of the principle of its display (display devices, virtual reality) and interactions with objects within the tour (using inputs or controllers designed for virtual reality).
[0036] Сервер (120) представляет собой стандартное вычислительное компьютерное устройства и может представлять как серверный кластер, так и облачный сервер. Основная задача сервера (120) осуществлять обработку данных для предоставления виртуальных туров (200), обеспечивая последующую передачу данных на пользовательские устройства (110). Сервер (120) также может использоваться для непосредственного генерирования виртуальных туров (200) путем обработки данных (облака точек, фотопанорамы, изображения), поступающих со специализированной ЗВ-камеры (140). [0036] The server (120) is a standard computing computing device and can be either a server cluster or a cloud server. The main task of the server (120) is to process data to provide virtual tours (200), providing subsequent data transmission to user devices (110). The server (120) can also be used to directly generate virtual tours (200) by processing data (point clouds, photopanoramas, images) coming from a specialized 3D camera (140).
[0037] Обмен информацией между пользователями (110) и сервером (120) осуществляется посредством канала передачи данных (130), который представляет собой, как правило, глобальную сеть «Интернет». Протокол реализации канал передачи данных (130) может выбираться из любого известного типа протоколов, таких как: LAN, WAN, PAN, WLAN, IEEE 802.11, GSM и т.п. Соответствующий протокол и тип подключения конкретного устройства (111 - ИЗ) к серверу (120) определяется исходя из технического воплощения такого типа устройства и соответствующего аппаратного оснащения для выполнения связи с сетью «Интернет». [0037] The exchange of information between users (110) and the server (120) is carried out via a data link (130), which is, as a rule, the global network "Internet". The data link implementation protocol (130) may be selected from any known type of protocol such as: LAN, WAN, PAN, WLAN, IEEE 802.11, GSM, and the like. The appropriate protocol and type of connection of a specific device (111 - FROM) to the server (120) is determined based on the technical implementation of this type of device and the corresponding hardware for communicating with the Internet.
[0038] В качестве ЗВ-камеры (140) для съемки трехмерных виртуальных туров (200) может применяться, например, ЗВ-камера FilinCam V6/V7/X1 и др. ЗВ-камера (140) предназначена для съемки помещений и открытых пространств для дальнейшего создания их фотореалистичных цифровых моделей и виртуальных туров. Процесс съемки включает сбор и предварительную обработку сырых данных с ЗВ-камеры (140), которая также содержит по меньшей мере: вычислительный модуль (процессор или микроконтроллер), память, лидар, акселерометр датчик IMU и энкодер (датчик угла поворота), которые необходимы для формирования набора данных для последующего формирования виртуальных туров (200). Управление камерой (140) осуществляется через программное приложение, установленное на мобильном устройстве оператора, например, планшете, смартфоне или ноутбуке. По окончании съемки полученные данные выгружаются с ЗВ- камеры (140) на сервер постобработки, где происходит их хранение, обработка, создание ЗВ-моделей отсканированного пространства и виртуальных туров (200) на их основе. Готовые виртуальные туры (200) передаются с сервера постобработки на сервер (120) для последующего доступа к ним со стороны пользователей (110). [0038] As a 3D camera (140) for shooting 3D virtual tours (200), for example, FilinCam V6/V7/X1 3D camera and others can be used. 3D camera (140) is designed to capture indoor and outdoor spaces for further creation of their photorealistic digital models and virtual tours. The survey process includes the acquisition and pre-processing of raw data from the 3D camera (140), which also contains at least: a computing module (processor or microcontroller), memory, lidar, an IMU accelerometer sensor and an encoder (rotation angle sensor), which are necessary for formation of a data set for the subsequent formation of virtual tours (200). The camera (140) is controlled via a software application installed on the operator's mobile device, such as a tablet, smartphone or laptop. Upon completion of the survey, the obtained data are uploaded from the 3D camera (140) to the post-processing server, where they are stored, processed, and 3D models of the scanned space and virtual tours (200) are created based on them. Ready-made virtual tours (200) are transferred from the post-processing server to the server (120) for subsequent access to them by users (110).
[0039] На Фиг. 2 представлен пример процесса съёмки области с помощью ЗВ-камеры для последующего построения на его основе виртуального тура (200). Процесс съемки начинается с установки камеры (140), закрепленной на штативе, в начальную точку съемки (точки 1 - 6 на Фиг. 2). Камера (140) совершает полный оборот вокруг оси, сканируя окружающее пространство лидаром и несколько раз останавливаясь, чтобы выполнить серию фотоснимков. В результате формируется так называемый "свип" (от англ. Sweep), т.е. набор данных, состоящий из нескольких HBR-снимков, лидарного облака точек и метаданных. [0040] Пример данных, хранимых в свипе. [0039] In FIG. Figure 2 shows an example of the process of surveying an area using an 3D camera for subsequent construction of a virtual tour (200) based on it. The shooting process begins with the installation of the camera (140), mounted on a tripod, at the starting point of the shooting (points 1 - 6 in Fig. 2). The camera (140) makes a full rotation around the axis, scanning the surrounding area with lidar and stops several times to take a series of photographs. As a result, the so-called "sweep" (from the English. Sweep) is formed, i.e. a dataset consisting of several HBR images, a lidar point cloud, and metadata. [0040] An example of data stored in a sweep.
- три серии по 6 или 7 (в зависимости от выбранного режима) снимков с камеры (140), которые используются для создания HDR-изображений; - three series of 6 or 7 (depending on the selected mode) camera shots (140), which are used to create HDR images;
- Набор срезов лидара для создания облака точек; - A set of lidar slices to create a point cloud;
- Кватернионы и углы отклонения камеры (140) от горизонта на момент начала и окончания съемки свипа, рассчитанные на основе данных акселерометра и гироскопа IMU; - Quaternions and angles of camera deviation (140) from the horizon at the start and end of the sweep survey, calculated on the basis of IMU accelerometer and gyroscope data;
- Данные энкодера (временные метки, углы поворота камеры). - Encoder data (time stamps, camera angles).
- Метаданные (например, режим съемки свипа: разрешение съемки, время и прочее). - Metadata (for example, sweep shooting mode: shooting resolution, time, etc.).
[0041] После получения данных в рамках съемки первого свипа в точке №1 камера (140) перемещается в новую точку съемки (например, точка №2) и выполняется съемку следующего свипа. Набор отснятых свипов, приведенный к единой системе координат, называется "сценой". [0041] Upon acquisition of data from the first sweep at point #1, the camera (140) moves to a new survey point (eg, point #2) and the next sweep is taken. A set of captured sweeps, reduced to a single coordinate system, is called a "scene".
[0042] Как показано на Фиг. 2, свипы в сцене всегда организованы в древовидный ациклический граф с единственным начальным узлом. Для каждого свипа в сцене, кроме первого, определен так называемый "родительский" свип. По умолчанию родительским считается последний снятый свип, но при необходимости родительским свипом может быть назначен любой из отснятых свипов. Например, на Фиг. 2 родительским для свипа №4 является не свип №3, как было бы назначено по умолчанию, а свип №2. [0042] As shown in FIG. 2, sweeps in a scene are always organized into a tree-like acyclic graph with a single starting node. For each sweep in the scene, except for the first one, a so-called "parent" sweep is defined. By default, the last sweep taken is considered the parent, but if necessary, any of the captured sweeps can be assigned as the parent sweep. For example, in FIG. 2, the parent of sweep #4 is not sweep #3, as it would be by default, but sweep #2.
[0043] Каждый свип имеет свою систему координат, которая совпадает с системой координат ЗП-камеры (140) на момент начала съемки данного свипа. Система координат первого свипа также служит системой координат сцены. Таким образом, чтобы построить из свипов сцену, необходимо решить задачу перевода облака точек каждого свипа из собственной системы координат в систему координат сцены. [0043] Each sweep has its own coordinate system, which coincides with the coordinate system of the CP camera (140) at the time the survey of this sweep began. The coordinate system of the first sweep also serves as the scene coordinate system. Thus, in order to build a scene from sweeps, it is necessary to solve the problem of transferring the point cloud of each sweep from its own coordinate system to the scene coordinate system.
[0044] Для этого используется алгоритм привязки, который анализирует облака точек и фотопанорамы двух соседних (т.е. соединенных одним ребром графа) свипов в дереве, ищет совпадающие участки, на их основе определяет взаимное расположение и ориентацию этих свипов в сцене и рассчитывает матрицу перехода между ними. [0044] For this, 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.
[0045] Алгоритм привязки рассчитывает матрицы перехода Ту для каждой пары соседних свипов Si и Sj. Чтобы перевести облако точек Pi свипа Si в систему координат свипа Sj, достаточно умножить его на Ту. [0045] 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.
Р,1 = Pi * Ту P, 1 = Pi * Tu
Здесь и далее используется следующая нотация: Here and below, the following notation is used:
• Si - свип с номером i. Например, S3 - свип №3. Pi - облако точек свипа Si в собственной системе координат. Например, Рз - облако точек свипа №3. • 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.
• PiJ - облако точек свипа Si, переведенное в систему координат свипа Sj. Например, Рз5 - облако точек свипа №3 в системе координат свипа №5. • Pi J - point cloud of the sweep Si, converted to the coordinate system of the sweep Sj. For example, Pz 5 is the point cloud of sweep #3 in the coordinate system of sweep #5.
• Ту — матрица перехода, служащая для преобразования облака точек свипа Si в систему координат свипа Sj. Например, Т35 - матрица перехода, переводящая облако точек Рз в Рз5. • Tu is the transition matrix used to transform the sweep point cloud Si into the sweep coordinate system Sj. For example, T35 is a transition matrix that transforms the cloud of points Ps into Ps 5 .
[0046] Чтобы перевести облако точек Pj свипа Sj в систему координат свипа Si, достаточно умножить это облако точек на матрицу Tji, обратную к Ту.
Figure imgf000009_0001
[0046] To translate the point cloud Pj of the sweep Sj into the coordinate system of the sweep Si, it is sufficient to multiply this point cloud by the inverse matrix Tji of Tu.
Figure imgf000009_0001
[0047] Если свипы не являются соседними в дереве, задача разделяется на несколько последовательных шагов. Например, чтобы на Фиг. 1 перевести облако точек свипа Se в систему координат свипа Si, его следует сначала перевести в систему координат свипа S5, затем S2, и наконец Si. Для этого необходимо последовательно умножить облако точек свипа Se на матрицы перехода Тб5, Т52 и Т21: [0047] If the sweeps are not adjacent in the tree, 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:
Р6 5 = Р6 * Т65 R 6 5 \u003d R 6 * T 65
Р6 2 = Р6 5 * Т52 R 6 2 \u003d R 6 5 * T 52
Ре1 = Ре2 * Т21 Re 1 \u003d Re 2 * T21
Или, более кратко: Or, more succinctly:
Рб1 = Рб * Тб5 * Т52 * Т21 Rb 1 \u003d Rb * Tb5 * T 5 2 * T21
[0048] Следует отметить, что древовидная структура графа гарантирует единственность пути между любыми двумя свипами в сцене. Таким образом, чтобы привести все свипы к единой системе координат, на графе необходимо определить единственно возможный путь от каждого свипа до начального свипа № 1 и последовательно применять умножение на соответствующие матрицы перехода. В результате этой процедуры формируется сцена, содержащая все отснятые панорамы и облака точек в единой системе координат. [0048] It should be noted that the tree structure of the graph guarantees the uniqueness of the path between any two sweeps in the scene. Thus, in order to bring all sweeps to a single coordinate system, it is necessary to determine the only possible path on the graph from each sweep to the initial sweep No. 1 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.
[0049] Съемка свипа состоит из двух основных этапов: непосредственно съемка и предварительная обработка отснятых сырых данных. При съемке 3 D-камера (140) совершает полный оборот вокруг оси, сканируя окружающее пространство лидаром с частотой 40 Гц, совершая в процессе съемки несколько остановок (например, три остановки), чтобы сделать серию фотоснимков с различной экспозицией. В результате этого процесса в памяти ЗВ-камеры (140) сохраняется несколько серий снимков с камеры, набор срезов лидара, а также вспомогательные метаданные, включая временные метки и углы поворота ЗВ-камеры (140) на момент получения каждого снимка и каждого среза лидара. [0049] The survey of the sweep consists of two main stages: the survey itself and pre-processing of the captured raw data. When shooting 3 D-camera (140) makes a full rotation around the axis, scanning the surrounding area with lidar at a frequency of 40 Hz, making several stops (for example, three stops) during the shooting to take a series of photographs with different exposures. As a result During this process, 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 (140) at the time of acquisition of each image and each lidar slice, are stored in the memory of the 3D camera (140).
[0050] Обработка полученных сырых данных включает следующие операции: [0050] The processing of the received raw data includes the following operations:
- Из каждой серии снимков, представленных на Фиг. 3, формируется HBR- изображение, представленное на Фиг. 4; - From each series of pictures shown in FIG. 3, the HBR image shown in FIG. 4;
- Из срезов лидара формируется единое облако точек. Для этого каждый срез умножается на матрицу поворота вокруг вертикальной оси Y на угол, заданный показаниями энкодера ЗВ-камеры (140) на момент съемки среза, и на матрицу калибровки лидара. - A single cloud of points is formed from the lidar slices. To do this, each slice is multiplied by the rotation matrix around the vertical Y axis by the angle specified by the 3D camera encoder readings (140) at the moment of slice acquisition, and by the lidar calibration matrix.
Полученные HBR-изображения и облака точек затем используются как исходные данные для расчета попарной привязки свипов. The resulting HBR images and point clouds are then used as input data to calculate pairwise sweeps.
[0051] В большинстве цифровых фотокамер динамический диапазон матрицы (диапазон яркостей, воспроизводимый без искажений) существенно уступает человеческому зрению. Узкий динамический диапазон означает, что матрица не способна одновременно зафиксировать очень светлый и очень темный участки изображения без потерь информации. В результате либо светлый участок отображается как белое пятно, либо темный - как черное. [0051] In most digital cameras, 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.
[0052] Для решения этой проблемы используется технология создания HBR- изображений. HBR-изображение формируется из серии обычных снимков, выполненных с разной экспозицией. На снимках с короткой экспозицией хорошо отображаются более светлые участки, а с длинной - более темные. В получаемом HBR-изображении содержатся все детали из всех исходных снимков, как в наиболее темных, так и в максимально светлых участках. Такое изображение максимально приближено к восприятию окружающего мира человеческим глазом. [0052] To solve this problem, HBR imaging technology is used. An HBR 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 HBR image contains all the details from all source images, both in the darkest and brightest areas. Such an image is as close as possible to the perception of the surrounding world by the human eye.
[0053] Далее рассмотрим принцип привязки соседствующих свипов на примере свипов Si и Sj в процессе генерирования сцены виртуального тура (200) с соответствующими точками обзора (точками съемки). Вначале на HDR-изображениях свипов Si и Sj выполняется поиск ключевых точек и дескрипторов (векторов, описывающих окрестность найденных ключевых точек). Ключевыми точками считаются точки с характерной геометрией, например, углы, или пересечения плоскостей. Поиск ключевых точек и расчет их дескрипторов выполняется при помощи алгоритмов из открытой библиотеки OpenCV. Дескрипторы, найденные на HDR-изображениях обоих свипов, попарно сопоставляются при помощи алгоритмов из открытой библиотеки FLANN. Совпадение двух дескрипторов называется "мэтч" (от англ, “to match” - совпадать). Наиболее точные из найденных мэтчей проецируются с HDR-изображений на облака точек и сохраняются в памяти камеры (140) для дальнейшего использования. [0053] Next, consider the principle of binding neighboring sweeps using the example of sweeps Si and Sj in the process of generating a virtual tour scene (200) with corresponding viewpoints (survey points). First, key points and descriptors (vectors describing the neighborhood of found key points) are searched on HDR images of sweeps Si and Sj. Key points are considered to be points with characteristic geometry, such as corners, or intersections of planes. The search for key points and the calculation of their descriptors is performed using algorithms from the OpenCV open library. The descriptors found on the HDR images of both sweeps are matched in pairs using algorithms from the FLANN open library. The coincidence of two descriptors is called "match" (from English, "to match" - to match). The most accurate matches found are projected from HDR images onto point clouds and stored in the camera's memory (140) for further use.
[0054] Параллельно выполняется поиск ключевых точек и дескрипторов на облаках точек свипов Si и Sj при помощи алгоритмов из открытой библиотеки PCL (Point cloud library). Найденные дескрипторы на облаках точек обоих свипов попарно сопоставляются при помощи алгоритмов из открытой библиотеки FLANN. Наиболее точные из найденных мэтчей сохраняются в памяти камеры (140) для дальнейшего использования. [0054] In parallel, key points and descriptors are searched on point clouds of sweeps Si and Sj 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 matches found are stored in the camera's memory (140) for further use.
[0055] Таким образом формируется объединенный набор лучших мэтчей из двух источников: 2D (HDR-изображения) и 3D (облака точек). Однако возможны и ситуации, когда один из источников отсутствует. Например, если хотя бы один из сопоставляемых свипов снят в режиме "в полной темноте", поиск ключевых точек и дескрипторов по его HDR-изображениям не производится, и из 2П-источника не поступает ни одного мэтча. Аналогично, возможны ситуации, когда геометрия отсканированного пространства не позволяет найти ни одной ключевой точки в облаке точек свипа (например, такое возможно на большом ровном футбольном поле). В этих случаях следует ограничиться набором мэтчей только из одного источника - 2D или 3D - что немного снижает итоговую точность привязки. [0055] Thus, a combined set of best matches from two sources is formed: 2D (HDR images) and 3D (point clouds). However, situations are also possible when one of the sources is missing. For example, if at least one of the matched sweeps was shot in the "total darkness" mode, the search for key points and descriptors in its HDR images is not performed, and not a single match is received from the 2P source. Similarly, situations are possible when the geometry of the scanned space does not allow finding any key points in the sweep point cloud (for example, this is possible on a large flat football field). In these cases, you should limit yourself to a set of matches from only one source - 2D or 3D - which slightly reduces the final binding accuracy.
[0056] Затем на основе набора лучших мэтчей из доступных источников выполняется поиск возможных матриц перехода Тц при помощи алгоритма RANSAC. Алгоритм берет за основу несколько случайно выбранных мэтча (например, 4-5 мэтчей) и рассчитывает для них матрицу перехода, после чего осуществляет проверку того, какое количество мэтчей соответствует найденной матрице. Процесс повторяется до тех пор, пока не будет найдена матрица перехода, которой соответствует достаточно большое число мэтчей, либо будет достигнуто максимальное число итераций поиска. [0056] Then, based on a set of best matches from available sources, a search is made for possible transition matrices Tc 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.
[0057] Возможны случаи, когда алгоритм RANSAC находит больше одной матрицы перехода. Как правило, это происходит в ситуациях однообразно чередующегося окружения (например, длинный коридор с одинаковыми окнами на равном расстоянии). В этом случае, найденные матрицы проходят проверку на соответствие показателям дополнительных датчиков 3 D-камеры (140), таких как IMU, магнитометр и т. д. Матрица, максимально точно соответствующая этим критериям, выбирается в качестве финальной матрицы перехода Тц. [0057] There may be cases where the RANSAC algorithm finds more than one transition matrix. Typically, this occurs in situations of uniformly interleaved environments (for example, a long corridor with identical windows at an equal distance). In this case, the found matrices are checked for compliance with the indicators of additional sensors of the 3 D-camera (140), such as IMU, magnetometer, etc. The matrix that most closely matches these criteria is selected as the final transition matrix Tc.
[0058] В зависимости от геометрии сканируемого объекта, сцена может содержать один или несколько этажей. Каждый этаж содержит группу свипов, привязанных друг к другу посредством мэтчинга. Каждый свип всегда принадлежит определенному этажу, т.к. свип не может располагаться вне этажа или на нескольких этажах одновременно. [0058] Depending on the geometry of the scanned object, the scene may contain one or more floors. Each floor contains a group of sweeps linked to each other through matching. Each sweep always belongs to a certain floor, because a sweep cannot be located outside a floor or on several floors at the same time.
[0059] Для каждого этажа формируется так называемая "карта пола", схематично отображающая облака точек свипов данного этажа в виде сверху. Карта пола этажа состоит из карт пола всех свипов, относящихся к данному этажу. [0059] For each floor, a so-called "floor map" is generated, schematically displaying the point clouds of the sweeps of that floor in a top view. The floor map of a floor consists of the floor maps of all sweeps related to the given floor.
[0060] Карта пола свипа формируется следующим образом: через точку начала координат свипа проводится горизонтальная плоскость, отсекающая все точки, лежащие выше нее. Точки облака, лежащие ниже плоскости отсечения, проецируются на HDR- панорамы свипа в соответствии с жестко заданным коэффициентом "метры/пиксели". Затем для каждой точки определяется цвет отображения, соответствующий цвету пикселя HDR- панорамы, на который спроецировалась данная точка. Наконец, все точки отображаются в горизонтальной проекции "вид сверху" с использованием цветов, определенных выше. [0060] The sweep floor map is generated as follows: a horizontal plane is drawn through the origin of the sweep, cutting off all points above it. Cloud points lying below the clipping plane are projected onto the HDR panoramas of the sweep in accordance with a hard-coded "meters/pixels" ratio. Then, for each point, a display color is determined that corresponds to the color of the HDR panorama pixel onto which the point was projected. Finally, all points are displayed in the "top view" horizontal projection using the colors defined above.
[0061] Пример карты пола свипа представлен на Фиг. 5. Карта пола этажа состоит из карт пола всех свипов данного этажа с учетом их взаимного расположения. Информация об относительном расположении свипов получается на этапе мэтчинга, что позволяет сформировать карту пола этажа, представленную на Фиг. 6. [0061] An example of a sweep floor map is shown in FIG. 5. Floor map of a floor consists of floor maps of all sweeps of a given floor, taking into account their relative position. Information about the relative position of the sweeps is obtained at the matching stage, which makes it possible to generate the floor map shown in FIG. 6.
[0062] Карта пола не является статичной и обновляется по мере съемки или удаления свипов. Как только камера (140) снимает свип и выполняет его мэтчинг с родительским свипом, этот свип сразу же отображается на карте пола соответствующего этажа сцены. При удалении одного или нескольких свипов карта пола также автоматически перерисовывается. [0062] The floor map is not static and is updated as sweeps are taken or removed. As soon as the camera (140) captures a sweep and matches it with the parent sweep, the sweep is immediately displayed on the floor map of the corresponding floor of the scene. When one or more sweeps are deleted, the floor map is also automatically redrawn.
[0063] На Фиг. 7 представлена общая схема работы заявленного решения при многопользовательском режиме. Как показано на примере, устройство (111) или устройство ведущего активирует создание комнаты многопользовательского режима для виртуального тура (210). Для этого с помощью устройства (111) пользователь активирует на сервере (120) выбор для генерирования соответствующего виртуального тру а (210) и далее осуществляется активация многопользовательского режима с помощью соответствующей функции графического интерфейса пользователя (GUI). Приглашение для участия в рамках единого виртуального тура (210) нескольких пользователей (например, пользователи 112, ИЗ) осуществляется с помощью формирования ссылки на подключение (211), которая создается сервером (120) на основании запроса от устройства ведущего (111). Ссылка (211) представляет собой гиперссылку на подключение, которая передается от устройства (111) на подключаемые устройства (112, 113) с помощью любого пригодного типа обмена данными (СМС, мессенджер, e-mail и т. и.). Ссылка может также кодироваться в QR-код, который также передается от устройства ведущего (111) на подключаемое устройство. [0063] In FIG. 7 shows the general scheme of operation of the claimed solution in a multi-user mode. As shown in the example, the device (111) or the host device activates the creation of a multi-user room for the virtual tour (210). To do this, using the device (111), the user activates on the server (120) the choice to generate the corresponding virtual pipe (210) and then the activation of the multi-user mode is carried out using the corresponding function of the graphical user interface (GUI). An invitation to participate in a single virtual tour (210) of several users (for example, users 112, FROM) is carried out by generating a connection link (211), which is created by the server (120) based on a request from the master device (111). The link (211) is a connection hyperlink that is transmitted from the device (111) to the connected devices (112, 113) using any suitable type of data exchange (SMS, messenger, e-mail, etc.). The link may also encoded in a QR code, which is also transmitted from the master device (111) to the connected device.
[0064] На Фиг. 8 представлен пример отображения виртуального тура (300) на устройстве пользователя. Виртуальный тур (300) содержит ряд элементов окружающего пространства (311), например, предметы мебели, интерьера и т. и. Каждый элемент представляет собой объект виртуального пространства, с которым может взаимодействовать пользователь. При перемещении внутри модели тура (300) интерфейс также отображает миникарту (310), на которой представлен схематичный план помещения и точка, в которой в текущий момент находится пользователь. На миникарте (310) могут отображаться точки POV для перемещения в них как в текущем помещении, так и на общей модели тура. При активации на миникарте (310) такой точки с помощью графического интерфейса обеспечивает перемещение пользователя в данную точку. [0064] In FIG. 8 shows an example of displaying a virtual tour (300) on a user's device. The virtual tour (300) contains a number of elements of the surrounding space (311), for example, furniture, interior items, etc. Each element is a virtual space object that the user can interact with. When moving inside the tour model (300), the interface also displays a minimap (310) showing a schematic floor plan and the point where the user is currently located. The minimap (310) can display POV points for moving to them both in the current room and on the general tour model. When activated on the minimap (310), such a point, using the graphical interface, moves the user to this point.
[0065] Как представлено на Фиг. 9, на миникарте (310) помимо местоположения пользователя (например, пользователь 111) отображается также направление его взгляда (1111), показывающее точку осмотра тура (300) с позиции его камеры. [0065] As shown in FIG. 9, on the minimap (310), in addition to the location of the user (for example, the user 111), the direction of his gaze (1111) is also displayed, showing the point of view of the tour (300) from the position of his camera.
[0066] На Фиг. 10 представлен пример отображения интерфейса при взаимодействии с объектами (311) виртуального тура (300). При взаимодействии с объектом (311) с помощью средства ввода, например, клика мышкой или нажатием на сенсорный дисплей смартфона или планшета, открывается дополнительное окно (312), отображающее дополнительную информации об объекте. Такой информацией может выступать: название объекта (311), его стоимость, возможность заказа и возможность изменения текстуры (313) объекта (311). ЗД- объекты тура (311) содержат метаданные, обеспечивающие возможность получения дополнительной информации об объекте, такой как: текстовая информацию с описанием объекта, видео, ссылка на внешний ресурс. [0066] In FIG. 10 shows an example of interface display when interacting with objects (311) of virtual tour (300). When interacting with the object (311) using an input means, for example, clicking with the mouse or pressing the touch screen of a smartphone or tablet, an additional window (312) opens, displaying additional information about the object. Such information can be: the name of the object (311), its cost, the possibility of ordering and the possibility of changing the texture (313) of the object (311). 3D-objects of the tour (311) contain metadata that provide the possibility of obtaining additional information about the object, such as: text information with a description of the object, video, a link to an external resource.
[0067] Объекты (311) являются реальными фотокопиями предметов мебели, интерьера и т. и. Интерфейс тура (300) позволяет изменять текстуру объекта (311) с помощью ее изменения посредством дополнительного интерфейса (313). Это позволяет изменить цветовую гамму объекта (311) в рамках текущего тура (300). При этом каждый из пользователей, принимающих участие в туре (300), могут независимо друг от друга изменять текстуру объектов (311), что обеспечивает отображение изменений объектов (311) внутри тура (300) для каждого пользователя отдельно. Также, программная логика, реализуемая сервером (120) в рамках генерирования отображения виртуального тура (300) позволяет не только менять цвет/текстуру объектов (311), но их геометрические размеры, позволяя тем самым сформировать уникальное отображение тура для каждого пользователя, что может применяться при подборе дизайна помещений или недвижимости в рамках применения виртуальных туров. Модель виртуального тура (300) обеспечивает возможность ее декора (изменения цвета стен, добавление объектов и т. п.), который может осуществляться как одним пользователем для отображения всем остальным участникам, так и индивидуально каждым участником отдельно. [0067] Objects (311) are real photocopies of furniture, interior, etc. The tour interface (300) allows you to change the texture of the object (311) by changing it through an additional interface (313). This allows you to change the color scheme of the object (311) within the current tour (300). At the same time, each of the users participating in the tour (300) can independently change the texture of objects (311), which provides a display of changes in objects (311) inside the tour (300) for each user separately. Also, the program logic implemented by the server (120) within the framework of generating a virtual tour display (300) allows not only changing the color/texture of objects (311), but their geometric dimensions, thereby allowing a unique tour display to be generated for each user, which can be applied when choosing the design of premises or real estate within the scope of virtual tours. The virtual tour model (300) provides the possibility of decorating it (changing the color of the walls, adding objects, etc.), which can be carried out both by one user for display to all other participants, and individually by each participant separately.
[0068] Фиг. 11 иллюстрирует схематичное отображение точек съемки Р1-Р7 (POV), которые формируется на основании свипов. В момент подключения новых участников (112, ИЗ) тура (300), при переходе по ссылке, направленной от устройства (111), сервер (120) получает информацию о текущем местоположении внутри тура (300) пользователя (111), который является в данный момент ведущим. Как представлено на Фиг. 11 в момент подключения пользователь (111) находится в Р6. При переходе по ссылке пользователями (112, ИЗ) для них будет осуществляют формирование отображения виртуального тура с области обзора камеры пользователя (111). По умолчанию, при первичном подключении к устройству ведущего (111) новых пользователей дублируется отображение области обзора (1111) пользователя (111), при котором кватернион камеры области обзора участника (112, ИЗ) совпадает с кватернионом камеры области отображения ведущего (111). [0068] FIG. 11 illustrates a schematic display of survey points P1-P7 (POV) that are generated based on sweeps. At the time of connection of new participants (112, FROM) of the tour (300), when following the link sent from the device (111), the server (120) receives information about the current location within the tour (300) of the user (111), who is currently leading moment. As shown in FIG. 11 at the time of connection, the user (111) is in P6. When users click on the link (112, FROM), they will generate a virtual tour display from the user's camera view area (111). By default, when new users first connect to the host (111) device, the display of the view area (1111) of the user (111) is duplicated, in which the camera quaternion of the participant’s view area (112, FROM) matches the camera quaternion of the view area of the leader (111).
[0069] После подключения пользователи (112, ИЗ) дублируют вид камеры пользователя (111), но могут и выбрать с помощью интерфейса тура один из режимов дальнейшего участия в виртуальном туре (300). Таких режимов несколько: 1) Полное копирование всех перемещений, поворотов и текущего увеличения (зума) камеры ведущего (111); 2) Копирование всех перемещений ведущего (111), но возможность управления поворотами и зумом камеры вручную; 3) Режим полной свободы для самостоятельного перемещения внутри тура (300). [0069] After connecting, users (112, FROM) duplicate the view of the user's camera (111), but can also select one of the modes of further participation in the virtual tour (300) using the tour interface. There are several such modes: 1) Full copying of all movements, turns and current increase (zoom) of the leader's camera (111); 2) Copying all movements of the presenter (111), but the ability to control the rotation and zoom of the camera manually; 3) Full freedom mode for independent movement within the tour (300).
[0070] Каждый из подключенных участников (112, ИЗ) может генерировать команду на следование за ним других участников, обеспечивая повторение перемещения по туру и дублирования обзора камеры такого пользователя. Такого рода команда может передаваться посредством взаимодействия с интерфейсом отображения виртуального тура (300). При этом участник, которому передается данное уведомление, может принять или отклонить его. [0070] Each of the connected participants (112, FROM) can generate a command for other participants to follow, providing a repetition of moving around the tour and duplicating the camera view of such a user. This kind of command may be transmitted by interacting with the virtual tour display interface (300). At the same time, the participant to whom this notification is sent can accept or reject it.
[0071] Устройство ведущего (111) также может активировать команду сбора участников тура в единой точке, в которой в текущий момент находится ведущий (111). Это реализуется с помощью перемещения участников в POV нахождения ведущего (111). Дополнительно может принудительно формироваться команда на изменение области отображения камеры, дублирующей камеру ведущего (111). [0071] The leader's device (111) can also activate a command to gather tour participants at a single point where the leader (111) is currently located. This is implemented by moving the participants in the POV of finding the host (111). Additionally, a command to change the display area of the camera that duplicates the host's camera (111) can be forcibly generated.
[0072] При подключении к туру нескольких пользователей (111-113) в многопользовательском режиме участия для каждого из пользователей может формироваться уникальный аватар, отображаемый, например, на миникарте (310) или в общем интерфейсе при обзоре тура (300). Интерфейс тура (300) обеспечивает также возможность общения пользователям (111-113) между собой посредством текстового и/или голосового чата. При подключении устройства ведущего (111) является основным устройством, осуществляющим управление и модерацию чата и позволяет включать/отключать микрофоны других участников, а также блокировать и текстовые сообщения от них в случае необходимости. Все пользователи, участвующие в рамках единого просмотра виртуального тура (300), имеют уникальные идентификаторы и указывают логин, под которым они присоединяются посредством ссылки (211). Функция чата может дополнительно содержать встроенный модуль перевода, обеспечивающий перевод текста или аудио с одного языка на другой. Каждый из участников тура может указать предпочтительный язык общения. В этом случае на сервере (120) для каждого идентификатора пользователя устанавливается маркер языка его общения, что позволяет с помощью модуля перевода автоматически переводить формируемый текст или аудиосообщения. При этом для каждого пользователя будет формироваться отдельный перевод чата в зависимости от выбранного им языка. [0072] When connecting to the tour of several users (111-113) in the multi-user mode of participation for each of the users may a unique avatar is formed, which is displayed, for example, on the minimap (310) or in the general interface when viewing the tour (300). The tour interface (300) also allows users (111-113) to communicate with each other via text and/or voice chat. When connected to the host device (111), it is the main device that manages and moderates the chat and allows you to turn on / off the microphones of other participants, as well as block text messages from them if necessary. All users participating in a single virtual tour viewing (300) have unique identifiers and indicate the login under which they join via a link (211). The chat function may further comprise a built-in translation module that provides translation of text or audio from one language to another. Each of the participants of the tour can indicate the preferred language of communication. In this case, a marker of the language of his communication is set on the server (120) for each user identifier, which allows using the translation module to automatically translate the generated text or audio messages. In this case, a separate chat translation will be generated for each user, depending on the language chosen by him.
[0073] Права ведущего могут передаваться другому участнику, это осуществляется при выходе из сессии виртуального тура устройства ведущего (111), или при непосредственном передачи самим ведущим (111) другому участнику данной роли. Передача роли ведущего означает получение другим пользователем аналогичного функционала, который был доступен изначально ведущему (111). В случае назначения нового ведущего другие участники автоматически привязываются к области обзора назначенного ведущего в соответствующего POV, в которой он находится. Участники могут изменить режим просмотра и навигации по туру (300) в любое время после назначения нового ведущего. [0073] The rights of the host can be transferred to another participant, this is done when the session of the virtual tour of the host device (111) exits, or when the host itself (111) directly transfers to another participant in this role. The transfer of the role of the presenter means that another user receives similar functionality that was originally available to the presenter (111). When a new leader is appointed, other participants are automatically assigned to the designated leader's field of view in the respective POV in which they are located. Participants can change the view and navigation of the tour (300) at any time after the appointment of a new leader.
[0074] При подключении новых пользователей (112, 113) интерфейс виртуального тура (300) может реализовать функция повтора маршрута перемещения по POV ведущего (111) с отображением кадров области отображения его камеры. Эта функция позволяет повторить путь перемещения ведущего (111) по точкам POV, в которых до этого находился ведущий (1 И). [0074] When new users (112, 113) are connected, the virtual tour interface (300) can implement the function of repeating the route of movement along the POV of the leader (111) with displaying frames of the display area of his camera. This function allows you to repeat the path of the leader (111) along the POV points where the leader was before (1 AND).
[0075] Дополнительно интерфейс виртуального тура (300) может содержать функцию виртуальной указки, обеспечивающей функцию указания на объекты внутри виртуального тура (300). Указка может представлять собой виртуальный луч, или геометрический примитив (например, круг), отображаемые в интерфейсе на устройствах пользователей и позволяющие указать на объект (311) или элемент виртуального тура. При наведении на объект (311) указки он может подсвечиваться или иным образом выделяться внутри отображения тура (300). Устройство ведущего (111) также может активировать функцию "Трансляция указки объекта", при которой подсветка объектов (311) при помощи указки ведущего (111) отображается не только в окне приложения самого ведущего, но и в окнах приложения всех участников комнаты. Если обозначенный указкой объект (311) имеет тэг метаданных, то при подсвечивании этот тэг отображается на панораме для всех участников, которые видят объект подсвеченным. Тэг метаданных может содержать текстовую, визуальную, аудио и видео информацию об объекте, а также гиперссылки и элементы управления (такие как кнопки "Купить" или "Добавить в избранное") как это было описано ранее в настоящих материалах заявки. [0075] Additionally, the virtual tour interface (300) may include a virtual pointer function that provides a function for pointing to objects within the virtual tour (300). The pointer may be a virtual beam, or a geometric primitive (for example, a circle), displayed in the interface on users' devices and allowing you to point to an object (311) or an element of the virtual tour. When hovering over an object (311) with a pointer, it may be highlighted or otherwise highlighted inside tour display (300). The host device (111) can also activate the "Object Pointer Broadcast" function, in which highlighting objects (311) using the host pointer (111) is displayed not only in the application window of the presenter, but also in the application windows of all participants in the room. If the pointer object (311) has a metadata tag, then when highlighted, this tag is displayed in the panorama for all participants who see the object highlighted. The metadata tag may contain textual, visual, audio, and video information about the item, as well as hyperlinks and controls (such as "Buy" or "Add to Favorites" buttons) as described earlier in this application materials.
[0076] Помимо функции указания на объекты внутри тура (300), интерфейс обеспечивает функцию измерения геометрических размеров между точками в туре (так называемая функция «рулетки»), которая измеряет расстояние между двумя и более точками, т.к. ЗП-модель виртуального тура построена на реальных размерах помещений в процессе их съемки. Измерение размеров с помощью графического интерфейса ведущего (111) может отображаться не только в окне его приложения, а также и для всех остальных пользователей. [0076] In addition to the function of pointing to objects within the tour (300), the interface provides a function for measuring the geometric dimensions between points in the tour (the so-called "roulette" function), which measures the distance between two or more points, because The ZP-model of the virtual tour is built on the real dimensions of the premises during their shooting. Dimensional measurement using the presenter's GUI (111) can be displayed not only in its application window, but also for all other users.
[0077] Интерфейс отображения тура на устройстве ведущего (111) имеет функцию рисования линий и фигур "поверх" панорамы виртуального тура (300). Все фигуры, нарисованные с помощью такой функции, отображаются на панораме в окне приложения для каждого участника. [0077] The tour display interface on the host device (111) has the function of drawing lines and shapes "on top" of the virtual tour panorama (300). All shapes drawn using this feature are displayed in a panorama in the application window for each participant.
[0078] Для устройства ведущего (111) доступен инструмент "Воспроизведение видео", при помощи которого ведущий (111) может транслировать в интерфейсы участников (112, ИЗ) выбранные видео материалы. Также инструмент позволяет воспроизводить выбранный видео материал автоматически, при выполнении заранее заданных условий, например, воспроизведение рекламного видео может начаться, как только ведущий (111) войдет в определенную часть тура (300) или укажет указкой на определенный объект (311). [0079] Для всех участников (112, ИЗ) тура, кроме ведущего (111), доступен режим "картинка в картинке". Когда этот режим активен, в интерфейсе отображения пользователя (112, ИЗ) отображается не только панорама виртуального тура с области отображения камеры данного участника, но и областью отображения камеры ведущего (111), например, в отдельном окне поверх основного окна. Местоположение и размер окна "картинка в картинке" являются настраиваемыми параметрами. [0078] For the host device (111), a "Video Playback" tool is available, with which the host (111) can broadcast selected video materials to the participant interfaces (112, FROM). Also, the tool allows you to play the selected video material automatically, if predetermined conditions are met, for example, advertising video playback can start as soon as the presenter (111) enters a certain part of the tour (300) or points to a certain object (311) with a pointer. [0079] For all participants (112, OUT) of the tour, except for the leader (111), the "picture in picture" mode is available. When this mode is active, the user display interface (112, FROM) displays not only the panorama of the virtual tour from the camera display area of this participant, but also the presenter's camera display area (111), for example, in a separate window on top of the main window. The location and size of the picture-in-picture window are configurable.
[0080] Участники тура (300) помимо чат-сессии могут общаться в режиме видеоконференции. При активации данного режима в окне пользователя отображается не только панорама виртуального чата, но и видеопоток с веб-камеры участника, который в данный момент говорит (в режиме "картинка в картинке"). Режим видеоконференции может активироваться также через аватары. Когда этот режим активен, на аватаре участника, как на видеоэкране, отображается видеопоток с веб-камеры данного участника. Эта функция доступна только для аватаров в виде геометрических фигур. [0080] Participants of the tour (300) in addition to the chat session can communicate via videoconference. When this mode is activated, the user window displays not only the panorama of the virtual chat, but also the video stream from the participant's webcam, which currently speaking (in picture-in-picture mode). The videoconference mode can also be activated via avatars. When this mode is active, the participant's avatar, like a video screen, displays the video stream from the participant's webcam. This feature is only available for geometric shape avatars.
[0081] Реализация вышеуказанных функций и возможностей в рамках генерирования и отображения виртуальных туров для нескольких участников позволяет не только повысить эффективность навигации пользователей за счет привязки в рамках их подключения к точке отображения основного пользователя (ведущего), но и расширить функциональные возможности, обеспечивая не только формирование отображения виртуальных туров для их просмотра с разных точек обзора, но и дополнительные возможности в части виртуального декора помещений и возможности выбора элементов декора, отображаемых на ЗЭ-модели тура. [0081] The implementation of the above functions and capabilities within the framework of generating and displaying virtual tours for several participants allows not only to improve the efficiency of user navigation by binding within their connection to the display point of the main user (master), but also to expand the functionality, providing not only the formation of a display of virtual tours for viewing them from different viewpoints, but also additional opportunities in terms of virtual decor of the premises and the ability to select decor elements displayed on the 3D tour model.
[0082] Виртуальные туры могут широко применяться как в сфере продажи недвижимости, проведении экскурсий, обучения и т.п. [0082] Virtual tours can be widely used in real estate sales, tours, education, and the like.
[0083] На Фиг. 12 представлен пример общего вида вычислительной системы (400) или вычислительного устройства, которая обеспечивает реализацию заявленного способа или является частью компьютерной системы, например, сервером, персональным компьютером, частью вычислительного кластера, обрабатывающим необходимые данные для осуществления заявленного технического решения. На базе системы (400) могут изготавливаться устройства пользователей (110), сервер (120) и ЗО-камера (140). [0083] In FIG. 12 shows an example of a general view of a computing system (400) or a computing device that provides the implementation of the claimed method or is part of a computer system, for example, a server, a personal computer, a part of a computing cluster that processes the necessary data to implement the claimed technical solution. Based on the system (400), user devices (110), a server (120) and a 3D camera (140) can be manufactured.
[0084] В общем случае система представляет собой компьютерную систему (400) и содержит объединенные общей шиной информационного обмена один или несколько процессоров (401), средства памяти, такие как ОЗУ (402) и ПЗУ (403), интерфейсы ввода/вывода (404), устройства ввода/вывода (405), и устройство для сетевого взаимодействия (406). [0084] In general, the system is a computer system (400) and contains one or more processors (401), memory facilities such as RAM (402) and ROM (403), input / output interfaces (404) connected by a common information exchange bus ), input/output devices (405), and a device for networking (406).
[0085] Процессор (401) (или несколько процессоров, многоядерный процессор и т.п.) может выбираться из ассортимента устройств, широко применяемых в настоящее время, например, таких производителей, как: Intel™, AMD™, Apple™, Samsung Exynos™, MediaTEK™, Qualcomm Snapdragon™ и т.п. Под процессором или одним из используемых процессоров в системе (400) также необходимо учитывать графический процессор, например, GPU NVIDIA или Graphcore, тип которых также является пригодным для полного или частичного выполнения способа, а также может применяться для обучения и применения моделей машинного обучения в различных информационных системах. [0085] The processor (401) (or multiple processors, multi-core processor, etc.) can be selected from a range of devices currently widely used, for example, manufacturers such as: Intel™, AMD™, Apple™, Samsung Exynos ™, MediaTEK™, Qualcomm Snapdragon™, etc. Under the processor or one of the processors used in the system (400), it is also necessary to take into account the graphics processor, for example, NVIDIA GPU or Graphcore, the type of which is also suitable for full or partial execution of the method, and can also be used to train and apply machine learning models in various information systems.
[0086] ОЗУ (402) представляет собой оперативную память и предназначено для хранения исполняемых процессором (401) машиночитаемых инструкций для выполнение необходимых операций по логической обработке данных. ОЗУ (402), как правило, содержит исполняемые инструкции операционной системы и соответствующих программных компонент (приложения, программные модули и т.п.). При этом, в качестве ОЗУ (402) может выступать доступный объем памяти графической карты или графического процессора. [0086] RAM (402) is a random access memory and is designed to store machine-readable instructions executable by the processor (401) for execution necessary operations for logical data processing. The RAM (402) typically contains the executable instructions of the operating system and associated software components (applications, program modules, etc.). In this case, the RAM (402) may be the available memory of the graphics card or graphics processor.
[0087] ПЗУ (403) представляет собой одно или более устройств постоянного хранения данных, например, жесткий диск (HDD), твердотельный накопитель данных (SSD), флэш- память (EEPROM, NAND и т.п.), оптические носители информации (CD-R/RW, DVD- R/RW, BlueRay Disc, MD) и др. [0087] A ROM (403) is one or more persistent storage devices such as a hard disk drive (HDD), a solid state drive (SSD), flash memory (EEPROM, NAND, etc.), optical storage media ( CD-R/RW, DVD-R/RW, BlueRay Disc, MD), etc.
[0088] Для организации работы компонентов системы (400) и организации работы внешних подключаемых устройств применяются различные виды интерфейсов В/В (404). Выбор соответствующих интерфейсов зависит от конкретного исполнения вычислительного устройства, которые могут представлять собой, не ограничиваясь: 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 и т.п. [0088] Various types of I/O interfaces (404) are used to organize the operation of system components (400) and organize the operation of external connected devices. The choice of appropriate interfaces depends on the particular design of the computing device, which can be, but not limited to: 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, etc.
[0089] Для обеспечения взаимодействия пользователя с вычислительной системой (400) применяются различные средства (405) В/В информации, например, клавиатура, дисплей (монитор), сенсорный дисплей, тач-пад, джойстик, манипулятор мышь, световое перо, стилус, сенсорная панель, трекбол, динамики, микрофон, средства дополненной реальности, оптические сенсоры, планшет, световые индикаторы, проектор, камера, средства биометрической идентификации (сканер сетчатки глаза, сканер отпечатков пальцев, модуль распознавания голоса) и т.п. [0089] To ensure user interaction with the computing system (400), various means (405) of I / O information are used, for example, a keyboard, a display (monitor), a touch screen, a touchpad, a joystick, a mouse, a light pen, a stylus, touch panel, trackball, speakers, microphone, augmented reality, optical sensors, tablet, indicator lights, projector, camera, biometric identification tools (retinal scanner, fingerprint scanner, voice recognition module), etc.
[0090] Средство сетевого взаимодействия (406) обеспечивает передачу данных посредством внутренней или внешней вычислительной сети, например, Интранет, Интернет, ЛВС и т.п. В качестве одного или более средств (406) может использоваться, но не ограничиваться: Ethernet карта, GSM модем, GPRS модем, LTE модем, 5G модем, модуль спутниковой связи, NFC модуль, Bluetooth и/или BLE модуль, Wi-Fi модуль и др. [0090] The network communication means (406) provides data transmission via an internal or external computer network, for example, an Intranet, the Internet, a LAN, and the like. As one or more means (406) can be used, but not limited to: Ethernet card, GSM modem, GPRS modem, LTE modem, 5G modem, satellite communication module, NFC module, Bluetooth and / or BLE module, Wi-Fi module and others
[0091] Представленные материалы заявки раскрывают предпочтительные примеры реализации технического решения и не должны трактоваться как ограничивающие иные, частные примеры его воплощения, не выходящие за пределы испрашиваемой правовой охраны, которые являются очевидными для специалистов соответствующей области техники. [0091] The submitted application materials disclose preferred examples of the implementation of the technical solution and should not be construed as limiting other, particular examples of its implementation that do not go beyond the scope of the requested legal protection, which are obvious to specialists in the relevant field of technology.

Claims

ФОРМУЛА FORMULA
1. Способ управления отображением виртуальных туров в многопользовательском режиме, выполняемый с помощью вычислительного устройства, содержащего по меньшей мере один процессор и память, хранящую машиночитаемые инструкции, которые при их выполнении по меньшей мере одним процессором обеспечивают: получение команды от устройства первого пользователя на генерирование виртуального тура в многопользовательском режиме; генерирование виртуального тура, представляющего собой ЗД-модель, текстурированную 360-градусными фотопанорамами, при этом виртуальный тур отображается в интерфейсе пользовательского устройства, и ЗД-модель содержит заданные точки просмотра (POV), причем каждая точка содержит трехмерные координаты; отображение виртуального тура для первого пользователя, при этом первый пользователь назначается ведущим; получение команды от устройств пользователей на подключение к упомянутому виртуальному туру новых пользователей, при этом получают данные POV, в которой находится первый пользователь; осуществляют формирование отображения виртуального тура для каждого нового пользователя в POV, в которой находится первый пользователь, причем отображение виртуального тура для каждого нового пользователя после подключения дублирует отображение первого пользователя; отображают виртуальный тур для пользователей с возможностью его просмотра и перемещения по заданным POV. 1. A method for controlling the display of virtual tours in a multi-user mode, performed using a computing device containing at least one processor and a memory storing machine-readable instructions, which, when executed by at least one processor, provide: receiving a command from the device of the first user to generate a virtual tour in multiplayer mode; generating a virtual tour that is a 3D model textured with 360-degree photo panoramas, wherein the virtual tour is displayed in a user device interface and the 3D model contains predetermined viewpoints (POVs), each point containing 3D coordinates; displaying the virtual tour for the first user, with the first user designated as the leader; receiving a command from user devices to connect to said virtual tour of new users, while receiving POV data in which the first user is located; forming a virtual tour display for each new user in the POV in which the first user is located, and the display of the virtual tour for each new user after connection duplicates the display of the first user; display a virtual tour for users with the ability to view and navigate through the specified POV.
2. Способ по п.1, характеризующийся тем, что подключение пользователей к виртуальному туру осуществляется с помощью формирования гиперссылки на подключения первым пользователем. 2. The method according to claim 1, characterized in that the connection of users to the virtual tour is carried out by forming a hyperlink to connections by the first user.
3. Способ по п.1, характеризующийся тем, что для каждого участника виртуального тура формируется виртуальный аватар. 3. The method according to claim 1, characterized in that a virtual avatar is formed for each participant of the virtual tour.
4. Способ по п.1, характеризующийся тем, что при подключении пользователей к виртуальному туру генерируется текстовая и/или голосовая чат-сессия. 4. The method according to claim 1, characterized in that when users connect to the virtual tour, a text and/or voice chat session is generated.
5. Способ по п.1, характеризующийся тем, что первый пользователь может передать права ведущего другому пользователю. 5. The method according to claim 1, characterized in that the first user can transfer the rights of the presenter to another user.
6. Способ по п.5, характеризующийся тем, что при передаче прав отображение виртуального тура устанавливается в соответствии с POV пользователя, назначенного ведущим. 6. The method according to claim 5, characterized in that when transferring the rights, the display of the virtual tour is set in accordance with the POV of the user designated as the host.
7. Способ по п.1, характеризующийся тем, что после момента подключения новых пользователей к POV первого пользователя, на устройствах новых подключенных пользователей, активируется функция ручного перемещения камеры обзора в POV или функция свободного перемещения по POV виртуального тура. 7. The method according to claim 1, characterized in that after the moment of connection of new users to the POV of the first user, on the devices of new connected users, the function of manually moving the view camera in the POV or the function of free movement on the POV of the virtual tour is activated.
8. Способ по и.4, характеризующийся тем, что ведущий пользователь управляет включением/отключением звука микрофона других пользователей в чат-сессии. 8. The method according to claim 4, characterized in that the host user controls the mute/unmute of the microphone of other users in the chat session.
9. Способ по п.1, характеризующийся тем, что отображение виртуального тура для каждого нового подключаемого пользователя начинается с повтора маршрут перемещения по POV первого пользователя. 9. The method according to claim 1, characterized in that the display of the virtual tour for each new connected user begins with repeating the route of movement along the POV of the first user.
10. Способ по п.1, характеризующийся тем, что аватар ведущего выполнен с возможностью формирования виртуальной указки. 10. The method according to claim 1, characterized in that the presenter's avatar is configured to form a virtual pointer.
11. Способ по и.1, характеризующийся тем, что ЗД-модель виртуального тура содержит ЗД-объекты и представляет собой модель помещения, выполненную с возможностью изменения по меньшей мере текстуры ЗД-модели и/или ЗД-объектов. 11. The method according to claim 1, characterized in that the virtual tour 3D model contains 3D objects and is a room model configured to change at least the texture of the 3D model and/or 3D objects.
12. Способ по и.11, характеризующийся тем, что ЗД-объекты содержат метаданные, обеспечивающие возможность получения дополнительной информации об объекте, включающей по меньшей мере одно из: текстовая информация, видео, ссылка на внешний ресурс. 12. The method according to claim 11, characterized in that the 3D objects contain metadata that makes it possible to obtain additional information about the object, including at least one of: text information, video, a link to an external resource.
13. Способ по и.12, характеризующийся тем, что информация отображается в дополнительном окне, располагаемом поверх интерфейса виртуального тура. 13. The method according to claim 12, characterized in that the information is displayed in an additional window located on top of the virtual tour interface.
14. Способ по и.1, характеризующийся тем, что интерфейс виртуального тура содержит функцию, обеспечивающую измерение размеров объектов. 14. The method according to claim 1, characterized in that the virtual tour interface contains a function that provides measurement of the size of objects.
15. Система управления отображением виртуальных туров в многопользовательском режиме, содержащая по меньшей мере один процессор, функционально связанный с по меньшей мере одной памятью, которая хранит машиночитаемые инструкции, которые при их выполнении процессором реализуют способ по любому из пи. 1-14. 15. A system for managing the display of virtual tours in a multi-user mode, comprising at least one processor operatively associated with at least one memory that stores machine-readable instructions that, when executed by the processor, implement the method according to any of pi. 1-14.
PCT/RU2023/050017 2022-02-15 2023-02-09 Method and system for controlling the display of virtual tours in multi-user mode WO2023158345A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
RU2022103828 2022-02-15
RU2022103828A RU2783218C1 (en) 2022-02-15 Method and system for controlling display of virtual tours in multi-user mode

Publications (1)

Publication Number Publication Date
WO2023158345A1 true WO2023158345A1 (en) 2023-08-24

Family

ID=87578842

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/RU2023/050017 WO2023158345A1 (en) 2022-02-15 2023-02-09 Method and system for controlling the display of virtual tours in multi-user mode

Country Status (1)

Country Link
WO (1) WO2023158345A1 (en)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU136911U1 (en) * 2012-07-12 2014-01-20 Общество с ограниченной ответственностью "Ростр" MOBILE COMPLEX FOR DEMONSTRATION OF REPRESENTATIVES IN ELECTRONIC (DIGITAL) FORM OF 3D-MODELS OF MUSEUM EXHIBITS
US20180034865A1 (en) * 2016-07-29 2018-02-01 Everyscape, Inc. Systems and Methods for Providing Individual and/or Synchronized Virtual Tours through a Realm for a Group of Users
US20190012833A1 (en) * 2013-10-25 2019-01-10 Appliance Computing III, Inc. Image-based rendering of real spaces
WO2021074924A1 (en) * 2019-10-14 2021-04-22 Mital Rohan Method and system for providing collaborative browsing across a plurality of user devices

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU136911U1 (en) * 2012-07-12 2014-01-20 Общество с ограниченной ответственностью "Ростр" MOBILE COMPLEX FOR DEMONSTRATION OF REPRESENTATIVES IN ELECTRONIC (DIGITAL) FORM OF 3D-MODELS OF MUSEUM EXHIBITS
US20190012833A1 (en) * 2013-10-25 2019-01-10 Appliance Computing III, Inc. Image-based rendering of real spaces
US20180034865A1 (en) * 2016-07-29 2018-02-01 Everyscape, Inc. Systems and Methods for Providing Individual and/or Synchronized Virtual Tours through a Realm for a Group of Users
WO2021074924A1 (en) * 2019-10-14 2021-04-22 Mital Rohan Method and system for providing collaborative browsing across a plurality of user devices

Similar Documents

Publication Publication Date Title
CN112243583B (en) Multi-endpoint mixed reality conference
US9584766B2 (en) Integrated interactive space
Ni et al. A survey of large high-resolution display technologies, techniques, and applications
JP2023036602A (en) Augmented and virtual reality
JP6627861B2 (en) Image processing system, image processing method, and program
EP2691938B1 (en) Selective hand occlusion over virtual projections onto physical surfaces using skeletal tracking
CN113168231A (en) Enhanced techniques for tracking movement of real world objects to improve virtual object positioning
US9881425B1 (en) Synchronized side-by-side display of real and virtual environments
CN102411783A (en) Automatically tracking user movement in a video chat application
CN102253711A (en) Enhancing presentations using depth sensing cameras
JP2010217719A (en) Wearable display device, and control method and program therefor
US9065972B1 (en) User face capture in projection-based systems
US11736802B2 (en) Communication management apparatus, image communication system, communication management method, and recording medium
JP7241812B2 (en) Information visualization system, information visualization method, and program
RU2783218C1 (en) Method and system for controlling display of virtual tours in multi-user mode
Ishigaki et al. Real-time 3D reconstruction for mixed reality telepresence using multiple depth sensors
WO2023158345A1 (en) Method and system for controlling the display of virtual tours in multi-user mode
Zhu et al. Synthesizing 360-degree live streaming for an erased background to study renovation using mixed reality
RU2826369C1 (en) Method and system for automated construction of virtual 3d scene based on two-dimensional spherical photo panoramas
US10216982B2 (en) Projecting a virtual copy of a remote object
US11776232B2 (en) Virtual 3D pointing and manipulation
US20240320904A1 (en) Tactile Copresence
JP2023134065A (en) Communication device, communication system, display method, and program
JP2023134220A (en) Communication system, communication management server, communication management method, and program
WO2023164084A1 (en) Systems and methods for generating dimensionally coherent training data

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: 23756714

Country of ref document: EP

Kind code of ref document: A1