Point cloud preview method and point cloud generation system

By using block storage and index file comparison between laser scanning equipment and point cloud preview equipment, the problem of low efficiency in point cloud file transmission and preview after the SLAM scanning equipment is disconnected is solved, and efficient point cloud synchronous update and preview is achieved.

CN120017651BActive Publication Date: 2025-10-28REALSEE (BEIJING) TECHNOLOGY CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202510164087.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-02-13
Publication Date
2025-10-28
Estimated Expiration
2045-02-13

AI Technical Summary

Technical Problem

Large point cloud files generated by SLAM scanning equipment are inefficient during transmission and preview, especially after the equipment is disconnected, requiring data to be retrieved again, which leads to delays and inefficiency.

Method used

The laser scanning equipment and the point cloud preview equipment use the same data storage architecture for block storage. The missing data is determined by comparing index files, and only the missing and newly generated point cloud files are pulled for synchronous updates and previews.

Benefits of technology

It improves the efficiency and real-time performance of point cloud preview after device reconnection, and reduces data transmission volume and latency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120017651B_ABST
    Figure CN120017651B_ABST
Patent Text Reader

Abstract

This disclosure provides a point cloud preview method and a point cloud generation system. The laser scanning device and the point cloud preview device store point cloud data in blocks according to the same data storage architecture. The point cloud data of different point cloud blocks are stored in different point cloud files. After the point cloud preview device and the laser scanning device lose connection and re-establish connection, the missing files can be identified by comparing the first index file and the second index file. That is, the target point cloud file that was not updated synchronously due to the device disconnection. By pulling the target point cloud file and the subsequently updated point cloud file separately, the point cloud can be synchronously updated and previewed. Compared with the method of re-pulling the global point cloud file, the amount of data transmission is reduced, the data transmission latency is reduced, and the efficiency and real-time performance of point cloud preview after device reconnection can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to 3D reconstruction technology, point cloud processing technology, and in particular a point cloud preview method and a point cloud generation system. Background Technology

[0002] Simultaneous Localization and Mapping (SLAM) scanning equipment is a device capable of measuring distances to objects, locating itself, and building 3D maps. This equipment uses LiDAR to scan the surrounding environment and generate point clouds in real time. During environmental scanning, users can typically connect to the SLAM scanning device using mobile phones, tablets, computers, or other user terminals to view the point cloud in real time using applications or web pages, thus checking the integrity and stability of the environmental scan.

[0003] Currently, SLAM scanning devices typically package and send the point cloud data to the user terminal in real time in the form of network packets after generating the point cloud. At the same time, the point cloud data is also stored in a point cloud file by appending it to the end of the SLAM scanning device, so that the user can pull the point cloud file and preview the point cloud at any time through the user terminal.

[0004] However, when the scanning project is large, the point cloud files generated by the SLAM scanning device are also very large. For newly added user terminals, it takes a long time to retrieve the point cloud files. In addition, if the user terminal loses connection with the SLAM scanning device and then reconnects, the user terminal cannot obtain the data lost in the process and needs to retrieve the point cloud files again in order to preview the real-time point cloud, resulting in low efficiency in point cloud transmission and preview. Summary of the Invention

[0005] This disclosure provides a point cloud preview method and a point cloud generation system, which can improve the efficiency and real-time performance of point cloud preview.

[0006] One aspect of this disclosure provides a point cloud preview method applied to a point cloud preview device in a point cloud generation system. The point cloud generation system includes a laser scanning device and the point cloud preview device. The laser scanning device is used to generate point cloud data for a target scene, and the point cloud preview device is used to retrieve the point cloud data and display a point cloud preview effect. The laser scanning device and the point cloud preview device store the point cloud data in blocks according to the same data storage architecture, wherein point cloud data of different point cloud blocks are stored in different point cloud files. The method includes:

[0007] In response to receiving a device connection operation, a communication connection is established with the laser scanning device through a preset connection method;

[0008] Obtain a first index file and a second index file sent by the laser scanning device. The first index file is used to record file information of point cloud files already stored in the point cloud preview device, and the second index file is used to record file information of point cloud files already stored in the laser scanning device. The file information includes the data volume of each stored point cloud file.

[0009] The target point cloud file is determined by comparing the first index file with the second index file, and a supplementary point cloud acquisition request is sent to the laser scanning device based on the target point cloud file. The target point cloud file is a point cloud file that the point cloud preview device has not yet fully stored.

[0010] The system receives a point cloud supplementary file sent by the laser scanning device, and renders the stored point cloud file and the point cloud corresponding to the point cloud supplementary file through the point cloud preview interface. The point cloud supplementary file includes the target point cloud file and a point cloud file generated after the target point cloud file.

[0011] Optionally, the laser scanning device is used to send point cloud data to be stored to the point cloud preview device at a preset frequency, the point cloud data to be stored including the coordinate data of corresponding points; the method further includes:

[0012] Receive the point cloud data to be stored sent by the laser scanning device;

[0013] Based on the coordinate data, the point cloud layer and point cloud block to which each point to be stored belongs are determined. The point cloud corresponding to the target scene includes at least two point cloud layers. Different point cloud layers have the same spatial range but different point cloud densities. The point cloud layer with the highest density includes all points corresponding to the target scene. Each point cloud layer includes at least two point cloud blocks. Different point cloud blocks have different spatial ranges.

[0014] The point cloud data is written into the corresponding point cloud file based on the point cloud layer and point cloud block to which each point belongs.

[0015] Optionally, determining the point cloud layer and point cloud block to which each point to be stored belongs based on the coordinate data includes:

[0016] Based on the coordinate data corresponding to the point to be stored and the coordinate range of each point cloud block in each point cloud layer, the candidate point cloud block corresponding to the point to be stored in each point cloud layer is determined.

[0017] Determine the distance between the point to be stored and its neighboring points in the candidate point cloud block, as well as the distance threshold corresponding to the point cloud layer to which the candidate point cloud block belongs;

[0018] In response to the distance between the point to be stored and the neighboring points being greater than or equal to the distance threshold, the candidate point cloud block is determined as the point cloud block to which the point to be stored belongs, and the point cloud layer to which the candidate point cloud block belongs is determined as the point cloud layer to which the point to be stored belongs.

[0019] Optionally, the step of determining the target point cloud file by comparing the first index file and the second index file, and sending a supplementary point cloud acquisition request to the laser scanning device based on the target point cloud file, includes:

[0020] In response to the existence of the first index file, the target point cloud file is determined by comparing the first index file with the second index file, and the supplementary point cloud acquisition request is sent to the laser scanning device based on the target point cloud file;

[0021] The method further includes:

[0022] In response to the absence of the first index file, an initial preview request is sent to the laser scanning device. The laser scanning device is used to send the first point cloud file of the point cloud block corresponding to the first point cloud layer to the point cloud preview device based on the initial preview request. The first point cloud layer is the point cloud layer with the lowest point cloud density.

[0023] Receive the first point cloud file and render the point cloud corresponding to the first point cloud file through the point cloud preview interface.

[0024] Optionally, the method further includes:

[0025] Continue to receive and store point cloud files corresponding to other point cloud layers sent by the laser scanning device;

[0026] or,

[0027] In response to receiving a point cloud magnification operation, a magnification preview request is sent to the laser scanning device based on the magnification ratio indicated by the point cloud magnification operation. The laser scanning device is used to determine a second point cloud layer based on the magnification ratio and send a second point cloud file corresponding to the second point cloud layer to the point cloud preview device; receive and store the second point cloud file, and render the point cloud corresponding to the second point cloud file through the point cloud preview interface.

[0028] Another aspect of this disclosure provides a point cloud preview method applied to a laser scanning device in a point cloud generation system. The point cloud generation system includes the laser scanning device and a point cloud preview device. The laser scanning device is used to generate point cloud data for a target scene, and the point cloud preview device is used to retrieve the point cloud data and display a point cloud preview effect. The laser scanning device and the point cloud preview device store the point cloud data in blocks according to the same data storage architecture, wherein point cloud data of different point cloud blocks are stored in different point cloud files. The method includes:

[0029] In response to establishing a communication connection with the point cloud preview device via a preset connection method, a second index file is sent to the point cloud preview device so that the point cloud preview device can determine the target point cloud file through the first index file and the second index file. The first index file is used to record the file information of the point cloud files already stored in the point cloud preview device, and the second index file is used to record the file information of the point cloud files already stored in the laser scanning device. The file information includes the data volume of each stored point cloud file, and the target point cloud file is the point cloud file that the point cloud preview device has not yet fully stored.

[0030] In response to receiving a supplementary point cloud acquisition request from the point cloud preview device, a supplementary point cloud file is sent to the point cloud preview device. The supplementary point cloud acquisition request is used to request the acquisition of the target point cloud file that has not been fully stored and the point cloud file that has not been received. The supplementary point cloud file includes the target point cloud file and the point cloud file generated after the target point cloud file. The point cloud preview device is used to render the point cloud corresponding to the stored point cloud file and the supplementary point cloud file through the point cloud preview interface.

[0031] The target scene is laser-scanned to generate point cloud data to be stored, and the point cloud data to be stored is sent to the point cloud preview device at a preset frequency so that the point cloud preview device can render the point cloud corresponding to the point cloud data to be stored through the point cloud preview interface.

[0032] Optionally, the point cloud data to be stored includes the coordinate data of the corresponding points, and the method further includes:

[0033] Based on the coordinate data, the point cloud layer and point cloud block to which each point to be stored belongs are determined. The point cloud corresponding to the target scene includes at least two point cloud layers. Different point cloud layers have the same spatial range but different point cloud densities. The point cloud layer with the highest density includes all points corresponding to the target scene. Each point cloud layer includes at least two point cloud blocks. Different point cloud blocks have different spatial ranges.

[0034] The point cloud data is written into the corresponding point cloud file based on the point cloud layer and point cloud block to which each point to be stored belongs.

[0035] Optionally, determining the point cloud layer and point cloud block to which each point to be stored belongs based on the coordinate data includes:

[0036] Based on the coordinate data corresponding to the point to be stored and the coordinate range of each point cloud block in each point cloud layer, the candidate point cloud block corresponding to the point to be stored in each point cloud layer is determined.

[0037] Determine the distance between the point to be stored and its neighboring points in the candidate point cloud block, as well as the distance threshold corresponding to the point cloud layer to which the candidate point cloud block belongs;

[0038] In response to the distance between the point to be stored and the neighboring points being greater than or equal to the distance threshold, the candidate point cloud block is determined as the point cloud block to which the point to be stored belongs, and the point cloud layer to which the candidate point cloud block belongs is determined as the point cloud layer to which the point to be stored belongs.

[0039] Optionally, the method further includes:

[0040] In response to receiving an initial preview request from the point cloud preview device, the point cloud preview device sends a first point cloud file of the point cloud block corresponding to the first point cloud layer, so that the point cloud preview device can render the point cloud corresponding to the first point cloud file through the point cloud preview interface. The first point cloud layer is the point cloud layer with the lowest point cloud density.

[0041] Optionally, the method further includes:

[0042] In response to the completion of the first point cloud file transmission, continue to send point cloud files corresponding to other point cloud layers to the point cloud preview device;

[0043] or,

[0044] In response to receiving a zoom-in preview request from the point cloud preview device, a second point cloud layer is determined based on the zoom ratio indicated by the zoom-in preview request, and a second point cloud file corresponding to the second point cloud layer is sent to the point cloud preview device so that the point cloud preview device can render the point cloud corresponding to the second point cloud file through the point cloud preview interface.

[0045] Another aspect of this disclosure provides a point cloud preview device, which is applied to a point cloud preview device in a point cloud generation system. The point cloud generation system includes a laser scanning device and the point cloud preview device. The laser scanning device is used to generate point cloud data for a target scene, and the point cloud preview device is used to retrieve the point cloud data and display a point cloud preview effect. The laser scanning device and the point cloud preview device store the point cloud data in blocks according to the same data storage architecture, wherein the point cloud data of different point cloud blocks are stored in different point cloud files. The device includes:

[0046] The first connection module is used to establish a communication connection with the laser scanning device through a preset connection method in response to receiving a device connection operation;

[0047] The acquisition module is used to acquire a first index file and a second index file sent by the laser scanning device. The first index file is used to record file information of point cloud files already stored in the point cloud preview device, and the second index file is used to record file information of point cloud files already stored in the laser scanning device. The file information includes the data volume of each stored point cloud file.

[0048] The first sending module is used to determine a target point cloud file by comparing the first index file with the second index file, and to send a supplementary point cloud acquisition request to the laser scanning device based on the target point cloud file, wherein the target point cloud file is a point cloud file that the point cloud preview device has not yet fully stored;

[0049] The first receiving module is used to receive the point cloud supplementary file sent by the laser scanning device, and render the stored point cloud file and the point cloud corresponding to the point cloud supplementary file through the point cloud preview interface. The point cloud supplementary file includes the target point cloud file and the point cloud file generated after the target point cloud file.

[0050] Another aspect of this disclosure provides a point cloud preview device, which is applied to a laser scanning device in a point cloud generation system. The point cloud generation system includes the laser scanning device and a point cloud preview device. The laser scanning device is used to generate point cloud data for a target scene, and the point cloud preview device is used to retrieve the point cloud data and display a point cloud preview effect. The laser scanning device and the point cloud preview device store the point cloud data in blocks according to the same data storage architecture, wherein the point cloud data of different point cloud blocks are stored in different point cloud files. The device includes:

[0051] The second connection module is used to respond to establishing a communication connection with the point cloud preview device through a preset connection method, and to send a second index file to the point cloud preview device so that the point cloud preview device can determine the target point cloud file through the first index file and the second index file. The first index file is used to record the file information of the point cloud files already stored in the point cloud preview device, and the second index file is used to record the file information of the point cloud files already stored in the laser scanning device. The file information includes the data volume of each stored point cloud file, and the target point cloud file is the point cloud file that the point cloud preview device has not yet finished storing.

[0052] The second sending module is used to send a supplementary point cloud file to the point cloud preview device in response to receiving a supplementary point cloud acquisition request sent by the point cloud preview device. The supplementary point cloud acquisition request is used to request the acquisition of the target point cloud file that has not been fully stored and the point cloud file that has not been received. The supplementary point cloud file includes the target point cloud file and the point cloud file generated after the target point cloud file, so that the point cloud preview device can render the point cloud corresponding to the stored point cloud file and the supplementary point cloud file through the point cloud preview interface.

[0053] The third sending module is used to generate point cloud data to be stored by performing laser scanning on the target scene, and send the point cloud data to be stored to the point cloud preview device at a preset frequency, so that the point cloud preview device can render the point cloud corresponding to the point cloud data to be stored through the point cloud preview interface.

[0054] In another aspect of this disclosure, a point cloud generation system is provided, comprising: a laser scanning device and a point cloud preview device, wherein the point cloud preview device is used to perform the steps in the point cloud preview method described in the first aspect above, and the laser scanning device is used to perform the steps in the point cloud preview method described in the second aspect above.

[0055] In another aspect of this disclosure, an electronic device is provided, comprising:

[0056] memory for storing computer programs;

[0057] A processor is configured to execute a computer program stored in the memory, wherein, when the computer program is executed, it implements the methods described above.

[0058] In another aspect of this disclosure, a computer-readable storage medium is provided having a computer program stored thereon, which, when executed by a processor, implements the methods described above.

[0059] In another aspect of this disclosure, a computer program is provided, including computer program instructions that, when executed by a processor, implement the method described above.

[0060] Based on the embodiments of this disclosure, the laser scanning device and the point cloud preview device store point cloud data in blocks according to the same data storage architecture. The point cloud data of different point cloud blocks are stored in different point cloud files. The point cloud preview device records the file information of its stored point cloud files through a first index file, and the laser scanning device records the file information of its stored point cloud files through a second index file. After the point cloud preview device and the laser scanning device lose connection and re-establish connection, the missing files can be identified by comparing the first index file and the second index file. That is, the target point cloud file that failed to be updated synchronously due to the device disconnection. By pulling the target point cloud file and the subsequently updated point cloud file separately, the point cloud can be synchronously updated and previewed. Compared with the method of re-pulling the global point cloud file, the amount of data transmission is reduced, the data transmission latency is reduced, and the efficiency and real-time performance of point cloud preview after device reconnection can be improved.

[0061] The technical solutions of this disclosure will be further described in detail below with reference to the accompanying drawings and embodiments. Attached Figure Description

[0062] The accompanying drawings, which form part of this specification, illustrate embodiments of this disclosure and, together with the description, serve to explain the principles of this disclosure.

[0063] This disclosure will become clearer with reference to the accompanying drawings and the following detailed description, wherein:

[0064] Figure 1 This is a flowchart of one embodiment of the point cloud preview method disclosed herein;

[0065] Figure 2 This is a flowchart of another embodiment of the point cloud preview method of this disclosure;

[0066] Figure 3 This is a flowchart of another embodiment of the point cloud preview method of this disclosure;

[0067] Figure 4 This is a schematic diagram of the structure of one embodiment of the point cloud preview device disclosed herein;

[0068] Figure 5 This is a schematic diagram of another embodiment of the point cloud preview device disclosed herein;

[0069] Figure 6 This is a schematic diagram of the structure of an application embodiment of the electronic device disclosed herein. Detailed Implementation

[0070] Various exemplary embodiments of the present disclosure will now be described in detail with reference to the accompanying drawings. It should be noted that, unless otherwise specifically stated, the relative arrangement, numerical expressions, and values ​​of the components and steps set forth in these embodiments do not limit the scope of the present disclosure.

[0071] Those skilled in the art will understand that the terms "first," "second," etc., in the embodiments of this disclosure are only used to distinguish different steps, devices, or modules, and do not represent any specific technical meaning, nor do they indicate a necessary logical order between them.

[0072] It should also be understood that in the embodiments disclosed herein, "a plurality of" may refer to two or more, and "at least one" may refer to one, two or more.

[0073] It should also be understood that any component, data or structure mentioned in the embodiments of this disclosure can generally be understood as one or more unless expressly defined or given to the contrary in the context.

[0074] Furthermore, the term "and / or" in this disclosure is merely a description of the relationship between related objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, or B existing alone. Additionally, the character " / " in this disclosure generally indicates that the preceding and following related objects have an "or" relationship.

[0075] It should also be understood that the description of the various embodiments in this disclosure emphasizes the differences between the various embodiments, and the similarities or similarities can be referred to each other. For the sake of brevity, they will not be described in detail.

[0076] At the same time, it should be understood that, for ease of description, the dimensions of the various parts shown in the accompanying drawings are not drawn according to actual scale.

[0077] The following description of at least one exemplary embodiment is merely illustrative and is in no way intended to limit this disclosure or its application or use.

[0078] Techniques, methods, and equipment known to those skilled in the art may not be discussed in detail, but where appropriate, such techniques, methods, and equipment should be considered part of the specification.

[0079] It should be noted that similar labels and letters in the following figures indicate similar items; therefore, once an item is defined in one figure, it does not need to be discussed further in subsequent figures.

[0080] Figure 1This is a flowchart illustrating an exemplary embodiment of the present disclosure, showing a point cloud preview method. The point cloud preview method of this embodiment can be implemented using a point cloud preview device within a point cloud generation system. The point cloud generation system includes a laser scanning device and a point cloud preview device. The laser scanning device generates point cloud data for a target scene. The laser scanning device may include, but is not limited to, SLAM devices, Visual SLAM (VSLAM), and 3D scanners. This disclosure uses a SLAM device as an example. The point cloud preview device retrieves point cloud data from the laser scanning device in real time and displays a point cloud preview effect based on the point cloud data. The point cloud preview device may include, but is not limited to, computer devices with rendering capabilities such as smartphones, tablets, laptops, and desktop computers. A point cloud is a dataset of points in three-dimensional space, capable of representing the shape of objects in that three-dimensional space. The laser scanning device uses a lidar to emit a large number of laser signals into the target scene. These laser signals are reflected by the surfaces of objects in the target scene, generating reflected signals which are received by the lidar. Based on these reflected signals, the lidar can calculate point cloud data such as coordinate data, color information, and signal reflection intensity information for each point on the object's surface within the target scene.

[0081] like Figure 1 As shown, the method includes the following steps:

[0082] Step 101: In response to receiving a device connection operation, establish a communication connection with the laser scanning device through a preset connection method.

[0083] In one possible implementation, a device connection operation can be received through point cloud preview software or a point cloud preview webpage. This device connection operation can be a selection operation of a target device control in a list of laser scanning devices, and a connection establishment request can be sent to the laser scanning device corresponding to the target device control through a preset connection method to establish a communication connection.

[0084] Optionally, the preset connection methods may include, but are not limited to, Bluetooth connection, Universal Serial Bus (USB) connection, mobile hotspot connection, etc.

[0085] Step 102: Obtain the first index file and the second index file sent by the laser scanning device.

[0086] The first index file is used to record the file information of the point cloud files stored in the point cloud preview device, and the second index file is used to record the file information of the point cloud files stored in the laser scanning device. The file information includes the data volume and file identifier of each stored point cloud file. The point cloud file corresponding to the same point cloud block in the laser scanning device and the point cloud file in the point cloud preview device have the same file identifier. The data volume of the point cloud file may include, for example, the number of points in the corresponding point cloud block and the memory size occupied by the point cloud file.

[0087] In one possible implementation, the point cloud preview device and the laser scanning device use the same data storage structure to store the point cloud data in blocks. That is, the point cloud is divided into at least two point cloud blocks according to the same point cloud partitioning method (e.g., both blocks are 3m*3m*3m in size), and the point cloud data corresponding to each block is stored separately in a point cloud file. When the point cloud preview device receives point cloud data from the laser scanning device and updates the point cloud file, it also updates the first index file in real time. After establishing a communication connection with the laser scanning device, the point cloud preview device can first check whether the point cloud file and the first index file corresponding to the point cloud data generated by the laser scanning device exist. If they do not exist, it means that the point cloud preview device is connecting to the laser scanning device for the first time during the laser scanning process and needs to obtain the complete point cloud data of the target scene for point cloud preview. If they exist, it means that the point cloud preview device established a communication connection with the laser scanning device and then lost connection during the laser scanning process, and this connection is a reconnection after the loss. In this case, it is only necessary to supplement the point cloud data missing during the period of disconnection.

[0088] Step 103: Determine the target point cloud file by comparing the first index file and the second index file, and send a supplementary point cloud acquisition request to the laser scanning device based on the target point cloud file.

[0089] The target point cloud file is the point cloud file that the point cloud preview device has not yet fully stored.

[0090] In one possible implementation, since the point cloud preview device and the laser scanning device use the same data storage structure to store point cloud data, the target point cloud file can be found by comparing the differences in the amount of data in each point cloud file recorded in the first index file and the second index file.

[0091] Optionally, the first index file records the number of points written in each point cloud file stored in the point cloud preview device, and the second index file records the number of points written in each point cloud file stored in the laser scanning device. If the number of points written in one or more point cloud files in the point cloud preview device is less than the number of points written in the corresponding point cloud file in the laser scanning device, it indicates that there is data missing in one or more point cloud files, and it is necessary to re-fetch one or more point cloud files and the newly generated point cloud files by the laser scanning device.

[0092] For illustrative purposes, each point cloud file corresponds to a unique file identifier, such as a file handle. The supplementary point cloud acquisition request includes the file identifier corresponding to the target point cloud file.

[0093] Step 104: Receive the point cloud supplementary file sent by the laser scanning device, and render the stored point cloud file and the point cloud corresponding to the point cloud supplementary file through the point cloud preview interface.

[0094] The point cloud supplementary files include the target point cloud file and the point cloud file generated after the target point cloud file.

[0095] After receiving a supplementary point cloud acquisition request, the laser scanning device determines a supplementary point cloud file based on the target point cloud file indicated in the request and sends the supplementary point cloud file to the point cloud preview device.

[0096] After receiving the supplementary point cloud file from the laser scanning device, the point cloud preview device combines its own stored point cloud file with the supplementary file to render and display the point cloud. During the reconnection process, based on the point cloud data storage scheme of synchronous and block storage between the two devices, the point cloud preview device only needs to retrieve the part of the point cloud file that was missing due to the device disconnection, without having to retrieve the global point cloud data again.

[0097] Based on the embodiments of this disclosure, the laser scanning device and the point cloud preview device store point cloud data in blocks according to the same data storage architecture. The point cloud data of different point cloud blocks are stored in different point cloud files. The point cloud preview device records the file information of its stored point cloud files through a first index file, and the laser scanning device records the file information of its stored point cloud files through a second index file. After the point cloud preview device and the laser scanning device lose connection and re-establish connection, the missing files can be identified by comparing the first index file and the second index file. That is, the target point cloud file that failed to be updated synchronously due to the device disconnection. By pulling the target point cloud file and the subsequently updated point cloud file separately, the point cloud can be synchronously updated and previewed. Compared with the method of re-pulling the global point cloud file, the amount of data transmission is reduced, the data transmission latency is reduced, and the efficiency and real-time performance of point cloud preview after device reconnection can be improved.

[0098] In one possible implementation, after the point cloud preview device and the laser scanning device establish a communication connection, the laser scanning device also needs to send point cloud data to be stored to the point cloud preview device at a preset frequency. This point cloud data includes the coordinate data of the corresponding points, and may also include color information, reflection intensity information, etc., of the corresponding points. The point cloud data to be stored refers to the point cloud data generated in real time by the laser scanning device based on information scanned by the lidar, which is to be written into the point cloud file. After generating the point cloud data, the laser scanning device and the point cloud preview device store the point cloud data in layers and blocks according to the same data storage architecture. Regarding the data storage process, as follows... Figure 2 As shown, the point cloud preview method provided in this embodiment further includes the following steps:

[0099] Step 201: Receive the point cloud data to be stored sent by the laser scanning device.

[0100] The lidar in the laser scanning device performs laser scanning at a preset scanning frequency to collect information and obtain point cloud data to be stored. The laser scanning device then sends the point cloud data to be stored to a point cloud preview device at a preset transmission frequency. Optionally, the preset scanning frequency and the preset transmission frequency can be the same, for example, both 1Hz; or, the preset transmission frequency can be lower than the preset scanning frequency, sending all the accumulated point cloud data to be stored over a period of time to the point cloud preview device.

[0101] Step 202: Determine the point cloud layer and point cloud block to which each point to be stored belongs based on the coordinate data.

[0102] The point cloud corresponding to the target scene includes at least two point cloud layers. Different point cloud layers have the same spatial range but different point cloud densities. The point cloud layer with the highest density includes all points corresponding to the target scene. Each point cloud layer includes at least two point cloud blocks, and different point cloud blocks have different spatial ranges.

[0103] Laser scanning equipment and point cloud preview equipment store point cloud data in layers and blocks. Layering refers to dividing the point cloud within the same area into point cloud layers of different densities, while blocking refers to dividing the same point cloud layer into multiple smaller point cloud blocks. The bottom point cloud layer includes all points corresponding to the target scene, the point cloud density of the upper layer is less than that of the lower layer, and the top point cloud layer has the lowest density. For example, if the number of point cloud layers is preset to 3, the first layer is the bottom layer with a distance of no less than 0.1 meters between adjacent points, the second layer has a distance of no less than 0.2 meters between adjacent points, and the third layer has a distance of no less than 0.4 meters between adjacent points. Within the same spatial range, each point cloud layer can be divided into the same number of point cloud blocks (e.g., each layer is divided into 8 blocks), or it can be divided into different numbers of point cloud blocks (e.g., a higher density point cloud layer is divided into more point cloud blocks to prevent the data volume in a single point cloud file from becoming too large).

[0104] Optionally, for target scenes with a small spatial area, such as indoor scenes like bedrooms and living rooms, a fixed layered and block-based approach can be used for point cloud data storage. For example, the point cloud can be fixedly divided into 3 layers, with each layer consisting of 8 point cloud blocks. For target scenes with a large spatial area, such as outdoor scenes like streets and parks, a dynamic layered and block-based approach can be used for point cloud storage. For example, initially, the point cloud can be divided into 3 layers, with each layer consisting of 8 point cloud blocks within the initial spatial area. As the scanning range and the amount of stored point cloud data increase, point cloud extraction can be performed on the current topmost point cloud layer to obtain a lower density point cloud layer, and point cloud blocks corresponding to the newly added spatial area can be added to each layer.

[0105] In one possible implementation, step 202 may specifically include the following steps:

[0106] Step 202a: Based on the coordinate data corresponding to the point to be stored and the coordinate range of each point cloud block in each point cloud layer, determine the candidate point cloud block corresponding to the point to be stored in each point cloud layer.

[0107] Step 202b: Determine the distance between the point to be stored and its neighboring points in the candidate point cloud block, as well as the distance threshold corresponding to the point cloud layer to which the candidate point cloud block belongs.

[0108] Step 202c: In response to the distance between the point to be stored and its neighboring points being greater than or equal to a distance threshold, the candidate point cloud block is determined as the point cloud block to which the point to be stored belongs, and the point cloud layer to which the candidate point cloud block belongs is determined as the point cloud layer to which the point to be stored belongs.

[0109] Optionally, since the lowest point cloud layer contains all points, the candidate point cloud data can be directly written into the point cloud file corresponding to the point cloud block in the lowest point cloud layer.

[0110] For other point cloud layers, firstly, determine the candidate point cloud blocks corresponding to the point to be stored in each point cloud layer (the coordinates of the point to be stored fall within the coordinate range of the candidate point cloud blocks). Then, determine whether the distance between the point to be stored and its neighboring points in the point cloud block meets the point cloud density corresponding to that layer, that is, whether the distance between the point to be stored and its neighboring points is greater than or equal to the distance threshold of that layer (for example, the distance threshold for the first layer is 0.1 meters, the distance threshold for the second layer is 0.2 meters, and the distance threshold for the third layer is 0.4 meters). If it meets the requirement, write the point cloud data of the point to be stored into the point cloud file corresponding to the candidate point cloud block. If it does not meet the requirement, determine that the point to be stored does not belong to the point cloud layer corresponding to the candidate point cloud block.

[0111] As an illustration, each point cloud file can store point cloud data through a tree-like data structure for proximity detection and data storage. For example, octrees, kd-trees (k-dimensional trees), or other tree structures can be used. The point cloud preview device can store a first index file, which records information such as the number of point cloud layers, the point cloud density corresponding to each point cloud layer, the point cloud file identifier corresponding to each point cloud block in each layer, the point cloud coordinate range, and the number of points written.

[0112] Step 203: Write the point cloud data into the corresponding point cloud file based on the point cloud layer and point cloud block to which each point to be stored belongs.

[0113] Optionally, if a candidate point cloud block exists and the point to be stored belongs to that candidate point cloud block, then the point cloud data corresponding to the point to be stored is written to the point cloud file of the candidate point cloud block; if the candidate point cloud block does not exist, that is, the coordinates of the point to be stored are outside the coordinate range of each point cloud block, then a new point cloud block whose coordinate range includes the coordinates of the point to be stored is added and a point cloud file corresponding to the new point cloud block is created, and it is determined whether the point to be stored belongs to the new point cloud block.

[0114] Based on the embodiments of this disclosure, point cloud data is stored in a hierarchical and block-based storage manner. At the same time, a first index file is used to record file information such as the point cloud file identifier, point cloud coordinate range, and number of points written to each point cloud block in each point cloud layer. The point cloud preview device and the laser scanning device adopt the same data storage structure, so that after the device disconnects and reconnects to the laser scanning device, the point cloud preview device can determine the point cloud file where the missing data is located by comparing the file information. Thus, only the point cloud file with missing data needs to be retrieved for point cloud preview.

[0115] Figure 1 The process of retrieving supplementary point cloud data and performing point cloud rendering and previewing after the point cloud preview device loses connection with the laser scanning device and re-establishes communication connection is shown. In one possible implementation, based on the above-mentioned hierarchical and block-based data storage architecture, when the point cloud preview device connects to the laser scanning device for the first time during the scanning of the target scene, it can first retrieve the point cloud file corresponding to the point cloud layer with the lowest density for global preview, so as to improve the efficiency and real-time performance of point cloud preview.

[0116] Step 103 above may specifically include the following steps:

[0117] Step 103a: In response to the existence of the first index file, the target point cloud file is determined by the first index file and the second index file, and a supplementary point cloud acquisition request is sent to the laser scanning device based on the target point cloud file.

[0118] The first index file is a file created by the point cloud preview device for the point cloud file corresponding to the currently scanned target scene. It is used to store relevant information about point cloud blocks (such as the number of points, the coordinate range of the point cloud blocks, etc.). If the first index file exists in the point cloud preview device, it means that the point cloud preview device has established a communication connection with the laser scanning device and received some point cloud data during the target scene scanning process. Therefore, it is only necessary to identify the target point cloud file with missing data and re-retrieve that part of the point cloud file and the subsequently generated point cloud file.

[0119] The method provided in this disclosure may further include the following steps:

[0120] Step 1: In response to the absence of a first index file, an initial preview request is sent to the laser scanning device. The laser scanning device is used to send the first point cloud file of the point cloud block corresponding to the first point cloud layer to the point cloud preview device based on the initial preview request. The first point cloud layer is the point cloud layer with the lowest point cloud density.

[0121] Step 2: Receive the first point cloud file and render the point cloud corresponding to the first point cloud file through the point cloud preview interface.

[0122] If the first index file is not present in the point cloud preview device, it means that during the scanning process of the target scene, the point cloud preview device is connecting to the laser scanning device for the first time and needs to pull global point cloud data for point cloud preview.

[0123] In one possible implementation, when the first index file is not available, an initial preview request can be sent to the laser scanning device to retrieve the first point cloud file corresponding to the point cloud block of the first point cloud layer. When a user previews the point cloud of a target scene for the first time, the point cloud preview device first retrieves the first point cloud file corresponding to the point cloud layer with the highest density, displaying the global point cloud of the target scene. This satisfies the global preview requirement, reduces the point cloud retrieval time, and thus reduces the latency of the initial point cloud preview. Since users typically only need to view the general overall situation of the target scene when previewing the point cloud for the first time, without needing to view details, the point cloud preview device first retrieves and renders the first point cloud file with the lowest point cloud density and the least amount of point cloud data, which can shorten the point cloud file transmission time.

[0124] For point cloud files corresponding to other point cloud layers, the point cloud preview device can continue to retrieve them after successfully receiving the first point cloud file, or it can retrieve and render them when the user needs to zoom in to view details. Optionally, the method provided in this disclosure embodiment may further include the following step three or step four:

[0125] Step 3: Continue to receive and store point cloud files corresponding to other point cloud layers sent by the laser scanning device.

[0126] In one possible implementation, after the point cloud preview device successfully receives the first point cloud file, it can continue to receive and store point cloud files corresponding to other point cloud layers while rendering and displaying the point cloud corresponding to the first point cloud file through the point cloud preview interface, thereby completing the storage of all point cloud data.

[0127] Step 4: In response to receiving the point cloud magnification operation, a magnification preview request is sent to the laser scanning device based on the magnification ratio indicated by the point cloud magnification operation. The laser scanning device is used to determine the second point cloud layer based on the magnification ratio and send the second point cloud file corresponding to the second point cloud layer to the point cloud preview device; the second point cloud file is received and stored, and the point cloud corresponding to the second point cloud file is rendered through the point cloud preview interface.

[0128] In another possible implementation, after successfully receiving the first point cloud file, the point cloud preview device may temporarily withhold files from other point cloud layers, only receiving the latest point cloud data generated in real-time by the laser scanning device after the device connection. When a point cloud zoom-in operation is received, it indicates that the user needs to zoom in to view the point cloud details, thus requiring more detailed point cloud data to be provided.

[0129] Optionally, there is a preset correspondence between the magnification ratio and the point cloud layer. The laser scanning device is used to determine the second point cloud layer based on the magnification ratio and send the second point cloud file corresponding to the second point cloud layer to the point cloud preview device. The point cloud preview device renders the point cloud corresponding to the second point cloud file through the point cloud preview interface.

[0130] Based on the embodiments of this disclosure, after the point cloud preview device is first connected to the laser scanning device, it first pulls the point cloud file of the low-density point cloud layer for rendering and display. After the low-density point cloud layer is pulled, or when the point cloud zoom-in operation is received, the point cloud file corresponding to the high-density point cloud layer is pulled. The point cloud is transmitted in layers according to the point cloud preview requirements, which can reduce transmission delay and improve point cloud preview efficiency.

[0131] Optionally, for a point cloud preview device that reconnects to the laser scanning device after a disconnection, after determining the target point cloud file, it can first pull the point cloud file corresponding to the point cloud layer with the lowest density generated after the target point cloud file is updated, so as to render the point cloud layer with the lowest density first, and then pull the point cloud files of other point cloud layers.

[0132] Figure 3 A flowchart illustrating another exemplary embodiment of this disclosure provides a point cloud preview method. The point cloud preview method of this embodiment can be implemented using a laser scanning device in a point cloud generation system. The point cloud generation system includes a laser scanning device and a point cloud preview device. The point cloud preview device is used to retrieve point cloud data from the laser scanning device in real time and display a point cloud preview effect based on the point cloud data. Figure 3 As shown, the method includes the following steps:

[0133] Step 301: In response to establishing a communication connection with the point cloud preview device through a preset connection method, a second index file is sent to the point cloud preview device so that the point cloud preview device can determine the target point cloud file through the first index file and the second index file.

[0134] The point cloud preview device is used to determine the target point cloud file through the first index file and the second index file. The first index file is used to record the file information of the point cloud files already stored in the point cloud preview device, and the second index file is used to record the file information of the point cloud files already stored in the laser scanning device. The file information includes the data volume of each stored point cloud file. The target point cloud file is the point cloud file that the point cloud preview device has not yet fully stored.

[0135] In one possible implementation, the point cloud preview device and the laser scanning device use the same data storage structure to store the point cloud data in blocks. That is, the point cloud is divided into at least two point cloud blocks according to the same coordinate range, and the point cloud data corresponding to each point cloud block is stored separately in a point cloud file. When the laser scanning device receives the point cloud data sent by the laser scanning device and updates the point cloud file, it also updates the first index file in real time.

[0136] Optionally, after establishing a communication connection with the point cloud preview device, the laser scanning device can directly send the second index file to the point cloud preview device, or it can send the second index file to the point cloud preview device after receiving a request to obtain the second index file from the point cloud preview device.

[0137] Step 302: In response to receiving a supplementary point cloud acquisition request from the point cloud preview device, send a supplementary point cloud file to the point cloud preview device.

[0138] The supplementary point cloud acquisition request is used to request the acquisition of target point cloud files that have not been fully stored and point cloud files that have not been received. In one possible implementation, since the point cloud preview device and the laser scanning device use the same data storage structure to store point cloud data, the target point cloud file can be found by comparing the differences in the amount of data in each point cloud file recorded in the first index file and the second index file.

[0139] The supplementary point cloud file includes the target point cloud file and any point cloud files generated after the target point cloud file that have not yet been received. This allows the point cloud preview device to render the stored point cloud file and the corresponding point cloud file through the point cloud preview interface. After receiving the supplementary point cloud acquisition request, the laser scanning device determines the supplementary point cloud file based on the target point cloud file indicated in the request and sends the supplementary point cloud file to the point cloud preview device.

[0140] Step 303: Generate point cloud data to be stored by performing laser scanning on the target scene, and send the point cloud data to be stored to the point cloud preview device at a preset frequency so that the point cloud preview device can render the point cloud corresponding to the point cloud data to be stored through the point cloud preview interface.

[0141] The point cloud data to be stored includes the coordinate data of the corresponding points, and may also include the color information, reflection intensity information, etc. of the corresponding points. The point cloud data to be stored refers to the point cloud data generated in real time by the laser scanning device based on the information scanned by the lidar, which is to be written into the point cloud file.

[0142] The lidar in the laser scanning device performs laser scanning at a preset scanning frequency to collect information and obtain point cloud data to be stored. The laser scanning device then sends the point cloud data to be stored to a point cloud preview device at a preset transmission frequency. Optionally, the preset scanning frequency and the preset transmission frequency can be the same, for example, both 1Hz; or, the preset transmission frequency can be lower than the preset scanning frequency, sending all the accumulated point cloud data to be stored over a period of time to the point cloud preview device.

[0143] After establishing a communication connection with the point cloud preview device, the laser scanning device sends the real-time generated point cloud data to be stored to the point cloud preview device for data storage and point cloud updates. There is no strict sequential order between steps 303 and 202.

[0144] Based on the embodiments of this disclosure, the laser scanning device and the point cloud preview device store point cloud data in blocks according to the same data storage architecture. The point cloud data of different point cloud blocks are stored in different point cloud files. The point cloud preview device records the file information of its stored point cloud files through a first index file, and the laser scanning device records the file information of its stored point cloud files through a second index file. After the point cloud preview device and the laser scanning device lose connection and re-establish connection, the missing files can be identified by comparing the first index file and the second index file. That is, the target point cloud file that failed to be updated synchronously due to the device disconnection. By pulling the target point cloud file and the subsequently updated point cloud file separately, the point cloud can be synchronously updated and previewed. Compared with the method of re-pulling the global point cloud file, the amount of data transmission is reduced, the data transmission latency is reduced, and the efficiency and real-time performance of point cloud preview after device reconnection can be improved.

[0145] In one possible implementation, the laser scanning device and the point cloud preview device store the point cloud data in layers and blocks according to the same data storage architecture. The point cloud preview method provided in this disclosure also includes the following steps:

[0146] Step a: Determine the point cloud layer and point cloud block to which each point to be stored belongs based on the coordinate data.

[0147] Step b: Write the point cloud data into the corresponding point cloud file based on the point cloud layer and point cloud block to which each point belongs.

[0148] The point cloud corresponding to the target scene includes at least two point cloud layers. Different point cloud layers have the same spatial range but different point cloud densities. The point cloud layer with the highest density includes all points corresponding to the target scene. Each point cloud layer includes at least two point cloud blocks, and different point cloud blocks have different spatial ranges.

[0149] Layering refers to dividing a point cloud within the same area into point cloud layers of different densities, while block partitioning refers to dividing the same point cloud layer into multiple smaller point cloud blocks. The bottommost point cloud layer includes all points corresponding to the target scene, the point cloud density of the upper layer is less than that of the lower layer, and the topmost point cloud layer has the lowest density.

[0150] Optionally, for target scenes with a small spatial area, such as indoor scenes like bedrooms and living rooms, a fixed layered and block-based approach can be used for point cloud data storage. For example, the point cloud can be fixedly divided into 3 layers, with each layer consisting of 8 point cloud blocks. For target scenes with a large spatial area, such as outdoor scenes like streets and parks, a dynamic layered and block-based approach can be used for point cloud storage. For example, initially, the point cloud can be divided into 3 layers, with each layer consisting of 8 point cloud blocks within the initial spatial area. As the scanning range and the amount of stored point cloud data increase, point cloud extraction can be performed on the current topmost point cloud layer to obtain a lower density point cloud layer, and point cloud blocks corresponding to the newly added spatial area can be added to each layer.

[0151] In one possible implementation, step a may specifically include the following steps:

[0152] Based on the coordinate data corresponding to the point to be stored and the coordinate range of each point cloud block in each point cloud layer, the candidate point cloud blocks corresponding to the point to be stored in each point cloud layer are determined.

[0153] Determine the distance between the point to be stored and its neighboring points in the candidate point cloud block, as well as the distance threshold corresponding to the point cloud layer to which the candidate point cloud block belongs;

[0154] In response to the distance between the point to be stored and its neighboring points being greater than or equal to a distance threshold, the candidate point cloud block is determined as the point cloud block to which the point to be stored belongs, and the point cloud layer to which the candidate point cloud block belongs is determined as the point cloud layer to which the point to be stored belongs.

[0155] Optionally, since the lowest point cloud layer contains all points, the candidate point cloud data can be directly written into the point cloud file corresponding to the point cloud block in the lowest point cloud layer.

[0156] For other point cloud layers, firstly, determine the candidate point cloud blocks corresponding to the point to be stored in each point cloud layer (the coordinates of the point to be stored fall within the coordinate range of the candidate point cloud blocks). Then, determine whether the distance between the point to be stored and its neighboring points in the point cloud block meets the point cloud density corresponding to that layer, that is, whether the distance between the point to be stored and its neighboring points is greater than or equal to the distance threshold of that layer (for example, the distance threshold for the first layer is 0.1 meters, the distance threshold for the second layer is 0.2 meters, and the distance threshold for the third layer is 0.4 meters). If it meets the requirement, write the point cloud data of the point to be stored into the point cloud file corresponding to the candidate point cloud block. If it does not meet the requirement, determine that the point to be stored does not belong to the point cloud layer corresponding to the candidate point cloud block.

[0157] As an illustration, each point cloud file can store point cloud data through a tree-like data structure for proximity detection and data storage. For example, octrees, kd-trees, or other tree structures can be used. The laser scanning device can store a second index file, which records information such as the number of point cloud layers, the point cloud density corresponding to each layer, the point cloud file identifier corresponding to each point cloud block in each layer, the point cloud coordinate range, and the number of points written to the file.

[0158] Based on the embodiments of this disclosure, point cloud data is stored in a hierarchical and block-based storage manner. At the same time, a second index file is used to record file information such as the number of point cloud layers, the point cloud density corresponding to each point cloud layer, the point cloud file identifier corresponding to each point cloud block in each point cloud layer, the point cloud coordinate range, and the number of points written. The point cloud preview device and the laser scanning device adopt the same data storage structure, so that after the device disconnects and reconnects to the laser scanning device, the point cloud preview device can determine the point cloud file where the missing data is located by comparing the file information. Thus, only the point cloud file with missing data needs to be retrieved for point cloud preview.

[0159] In one possible implementation, based on the aforementioned hierarchical and block-based data storage architecture, for a point cloud preview device that connects to the laser scanning device for the first time during the target scene scanning process, the laser scanning device can first send the point cloud file corresponding to the point cloud layer with the lowest density to improve the efficiency and real-time performance of the point cloud preview, and then send the point cloud files of other point cloud layers. The method provided in this disclosure embodiment further includes the following steps:

[0160] In response to receiving the initial preview request from the point cloud preview device, the first point cloud file corresponding to the point cloud block of the first point cloud layer is sent to the point cloud preview device so that the point cloud preview device can render the point cloud corresponding to the first point cloud file through the point cloud preview interface. The first point cloud layer is the point cloud layer with the lowest point cloud density.

[0161] When a point cloud preview device first connects to a laser scanning device, it can send an initial preview request to the laser scanning device to retrieve the first point cloud file corresponding to the first point cloud layer. When a user previews the point cloud of a target scene for the first time, the point cloud preview device first retrieves the first point cloud file corresponding to the densest point cloud layer, displaying the global point cloud of the target scene. This satisfies the global preview requirement, reduces the point cloud retrieval time, and thus reduces the latency of the initial point cloud preview.

[0162] For point cloud files corresponding to other point cloud layers, the laser scanning device can continue sending after successfully sending the first point cloud file, or it can send the file after receiving a zoom-in preview request from the point cloud preview device. Optionally, the method provided in this disclosure embodiment may further include the following steps:

[0163] In response to the completion of the first point cloud file transfer, continue sending point cloud files corresponding to other point cloud layers to the point cloud preview device.

[0164] or,

[0165] In response to receiving a zoom-in preview request from the point cloud preview device, the device determines a second point cloud layer based on the zoom ratio indicated in the zoom-in preview request and sends the second point cloud file corresponding to the second point cloud layer to the point cloud preview device so that the point cloud preview device can render the point cloud corresponding to the second point cloud file through the point cloud preview interface.

[0166] In one possible implementation, after the laser scanning device successfully sends the first point cloud file, it can continue to automatically send point cloud files corresponding to other point cloud layers, thereby completing the transmission of all point cloud data.

[0167] In another possible implementation, after successfully sending the first point cloud file, the laser scanning device may temporarily withhold the files for other point cloud layers, sending only the latest point cloud data generated in real time. When a zoom-in preview request is received from the point cloud preview device, it indicates that the user needs to zoom in to view the point cloud details, thus requiring more detailed point cloud data. Optionally, there is a preset correspondence between the zoom level and the point cloud layers. The laser scanning device determines the second point cloud layer based on the zoom level and sends the second point cloud file corresponding to the second point cloud layer to the point cloud preview device. The point cloud preview device then renders the point cloud corresponding to the second point cloud file through the point cloud preview interface.

[0168] Based on the embodiments of this disclosure, after the point cloud preview device is first connected to the laser scanning device, it first pulls the point cloud file of the low-density point cloud layer for rendering and display. After the low-density point cloud layer is pulled, or when the point cloud zoom-in operation is received, the point cloud file corresponding to the high-density point cloud layer is pulled. The point cloud is transmitted in layers according to the point cloud preview requirements, which can reduce transmission delay and improve point cloud preview efficiency.

[0169] Figure 4A structural block diagram of a point cloud preview device provided in an exemplary embodiment of this disclosure is shown. This point cloud preview device is applied to a point cloud preview device in a point cloud generation system. The point cloud generation system includes a laser scanning device and a point cloud preview device. The laser scanning device is used to generate point cloud data for a target scene, and the point cloud preview device is used to retrieve the point cloud data and display the point cloud preview effect. The laser scanning device and the point cloud preview device store the point cloud data in blocks according to the same data storage architecture, wherein the point cloud data of different point cloud blocks are stored in different point cloud files. The point cloud preview device includes:

[0170] The first connection module 401 is used to establish a communication connection with the laser scanning device through a preset connection method in response to receiving a device connection operation;

[0171] The acquisition module 402 is used to acquire a first index file and a second index file sent by the laser scanning device. The first index file is used to record the file information of the point cloud files stored in the point cloud preview device, and the second index file is used to record the file information of the point cloud files stored in the laser scanning device. The file information includes the data volume of each stored point cloud file.

[0172] The first sending module 403 is used to determine the target point cloud file by comparing the first index file obtained by the acquisition module 402 with the second index file, and to send a supplementary point cloud acquisition request to the laser scanning device based on the target point cloud file. The target point cloud file is a point cloud file that the point cloud preview device has not yet fully stored.

[0173] The first receiving module 404 is used to receive the point cloud supplementary file sent by the laser scanning device, and render the stored point cloud file and the point cloud corresponding to the point cloud supplementary file through the point cloud preview interface. The point cloud supplementary file includes the target point cloud file and the point cloud file generated after the target point cloud file.

[0174] Optionally, in one possible implementation, the laser scanning device is used to send point cloud data to be stored to the point cloud preview device at a preset frequency, the point cloud data to be stored including the coordinate data of corresponding points; the point cloud preview device further includes:

[0175] The second receiving module is used to receive the point cloud data to be stored sent by the laser scanning device;

[0176] The first determining module is used to determine the point cloud layer and point cloud block to which each point to be stored belongs based on the coordinate data received by the second receiving module. The point cloud corresponding to the target scene includes at least two point cloud layers. Different point cloud layers have the same spatial range but different point cloud densities. The point cloud layer with the highest density includes all points corresponding to the target scene. Each point cloud layer includes at least two point cloud blocks. Different point cloud blocks have different spatial ranges.

[0177] The first writing module is used to write point cloud data into the corresponding point cloud file based on the point cloud layer and point cloud block to which each point to be stored belongs, as determined by the determining module.

[0178] Optionally, in one possible implementation, the first determining module described above can also be used to:

[0179] Based on the coordinate data corresponding to the point to be stored and the coordinate range of each point cloud block in each point cloud layer, the candidate point cloud blocks corresponding to the point to be stored in each point cloud layer are determined.

[0180] Determine the distance between the point to be stored and its neighboring points in the candidate point cloud block, as well as the distance threshold corresponding to the point cloud layer to which the candidate point cloud block belongs;

[0181] In response to the distance between the point to be stored and its neighboring points being greater than or equal to a distance threshold, the candidate point cloud block is determined as the point cloud block to which the point to be stored belongs, and the point cloud layer to which the candidate point cloud block belongs is determined as the point cloud layer to which the point to be stored belongs.

[0182] Optionally, in one possible implementation, the first transmitting module 403 described above can also be used for:

[0183] In response to the existence of a first index file, the target point cloud file is determined by comparing the first index file with a second index file, and a supplementary point cloud acquisition request is sent to the laser scanning device based on the target point cloud file;

[0184] The point cloud preview device also includes:

[0185] The fourth sending module is used to send an initial preview request to the laser scanning device in response to the absence of the first index file. The laser scanning device is used to send the first point cloud file of the point cloud block corresponding to the first point cloud layer to the point cloud preview device based on the initial preview request. The first point cloud layer is the point cloud layer with the lowest point cloud density.

[0186] The third receiving module is used to receive the first point cloud file and render the point cloud corresponding to the first point cloud file through the point cloud preview interface.

[0187] Optionally, in one possible implementation, the point cloud preview device further includes a fourth receiving module for:

[0188] Continue to receive and store point cloud files corresponding to other point cloud layers sent by the laser scanning device;

[0189] or,

[0190] In response to receiving a point cloud magnification operation, a magnification preview request is sent to the laser scanning device based on the magnification ratio indicated by the point cloud magnification operation. The laser scanning device is used to determine the second point cloud layer based on the magnification ratio and send the second point cloud file corresponding to the second point cloud layer to the point cloud preview device; the second point cloud file is received and stored, and the point cloud corresponding to the second point cloud file is rendered through the point cloud preview interface.

[0191] Figure 5 A structural block diagram of a point cloud preview device provided in another exemplary embodiment of this disclosure is shown. This point cloud preview device is applied to a laser scanning device in a point cloud generation system. The point cloud generation system includes a laser scanning device and a point cloud preview device. The laser scanning device is used to generate point cloud data for a target scene, and the point cloud preview device is used to retrieve the point cloud data and display the point cloud preview effect. The laser scanning device and the point cloud preview device store the point cloud data in blocks according to the same data storage architecture, wherein the point cloud data of different point cloud blocks are stored in different point cloud files. The point cloud preview device includes:

[0192] The second connection module 501 is used to send a second index file to the point cloud preview device in response to establishing a communication connection with the point cloud preview device through a preset connection method, so that the point cloud preview device can determine the target point cloud file through the first index file and the second index file. The first index file is used to record the file information of the point cloud files already stored in the point cloud preview device, and the second index file is used to record the file information of the point cloud files already stored in the laser scanning device. The file information includes the data volume of each stored point cloud file, and the target point cloud file is the point cloud file that the point cloud preview device has not yet finished storing.

[0193] The second sending module 502 is used to respond to receiving a supplementary point cloud acquisition request sent by the point cloud preview device, and send a supplementary point cloud file to the point cloud preview device. The supplementary point cloud acquisition request is used to request the acquisition of the target point cloud file that has not been fully stored and the point cloud file that has not been received. The supplementary point cloud file includes the target point cloud file and the point cloud file generated after the target point cloud file, so that the point cloud preview device can render the point cloud corresponding to the stored point cloud file and the supplementary point cloud file through the point cloud preview interface.

[0194] The third sending module 503 is used to generate point cloud data to be stored by performing laser scanning on the target scene, and send the point cloud data to be stored to the point cloud preview device at a preset frequency so that the point cloud preview device can render the point cloud corresponding to the point cloud data to be stored through the point cloud preview interface.

[0195] Optionally, in one possible implementation, the point cloud preview device further includes:

[0196] The second determining module is used to determine the point cloud layer and point cloud block to which each point to be stored belongs based on the coordinate data. The point cloud corresponding to the target scene includes at least two point cloud layers. Different point cloud layers have the same spatial range but different point cloud densities. The point cloud layer with the highest density includes all points corresponding to the target scene. Each point cloud layer includes at least two point cloud blocks. Different point cloud blocks have different spatial ranges.

[0197] The second writing module is used to write point cloud data into the corresponding point cloud file based on the point cloud layer and point cloud block to which each point belongs.

[0198] Optionally, in one possible implementation, the second determining module described above can also be used for:

[0199] Based on the coordinate data corresponding to the point to be stored and the coordinate range of each point cloud block in each point cloud layer, the candidate point cloud blocks corresponding to the point to be stored in each point cloud layer are determined.

[0200] Determine the distance between the point to be stored and its neighboring points in the candidate point cloud block, as well as the distance threshold corresponding to the point cloud layer to which the candidate point cloud block belongs;

[0201] In response to the distance between the point to be stored and the neighboring points being greater than or equal to a distance threshold, the candidate point cloud block is determined as the point cloud block to which the point to be stored belongs, and the point cloud layer to which the candidate point cloud block belongs is determined as the point cloud layer to which the point to be stored belongs.

[0202] Optionally, in one possible implementation, the point cloud preview device further includes:

[0203] The fifth sending module is used to respond to the initial preview request sent by the point cloud preview device and send the first point cloud file of the point cloud block corresponding to the first point cloud layer to the point cloud preview device so that the point cloud preview device can render the point cloud corresponding to the first point cloud file through the point cloud preview interface. The first point cloud layer is the point cloud layer with the lowest point cloud density.

[0204] Optionally, in one possible implementation, the point cloud preview device further includes a sixth transmitting module for:

[0205] In response to the completion of the first point cloud file transfer, continue to send point cloud files corresponding to other point cloud layers to the point cloud preview device;

[0206] or,

[0207] In response to receiving a zoom-in preview request from the point cloud preview device, the device determines a second point cloud layer based on the zoom ratio indicated in the zoom-in preview request and sends the second point cloud file corresponding to the second point cloud layer to the point cloud preview device so that the point cloud preview device can render the point cloud corresponding to the second point cloud file through the point cloud preview interface.

[0208] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar, identical, or corresponding parts between embodiments can be referred to mutually. Since the method, apparatus, system, and device embodiments are basically corresponding, relevant parts can be referred to the corresponding descriptions. The methods, apparatus, systems, and devices in the embodiments of this disclosure also correspond to each other in specific implementation and beneficial technical effects; related content can be referred to mutually and will not be repeated here.

[0209] In addition, this disclosure also provides an electronic device, including:

[0210] memory for storing computer programs;

[0211] A processor is configured to execute a computer program stored in the memory, wherein when the computer program is executed, it implements the point cloud preview method described in any of the above embodiments of the present disclosure.

[0212] Figure 6 This is a schematic diagram illustrating the structure of an application embodiment of the electronic device disclosed herein. Below, reference is made to… Figure 6 This describes an electronic device according to embodiments of the present disclosure. The electronic device may be either or both of a first device and a second device, or a standalone device independent of them, which may communicate with the first device and the second device to receive acquired input signals from them.

[0213] like Figure 6 As shown, the electronic device includes one or more processors and memory.

[0214] A processor can be a central processing unit (CPU) or other form of processing unit with data processing and / or instruction execution capabilities, and can control other components in an electronic device to perform desired functions.

[0215] The memory may include one or more computer program products, which may include various forms of computer-readable storage media, such as volatile memory and / or non-volatile memory. The volatile memory may include, for example, random access memory (RAM) and / or cache memory. The non-volatile memory may include, for example, read-only memory (ROM), hard disk, flash memory, etc. One or more computer program instructions may be stored on the computer-readable storage medium, and the processor may execute the program instructions to implement the point cloud preview methods of the various embodiments of this disclosure described above and / or other desired functions.

[0216] In one example, the electronic device may also include input devices and output devices, which are interconnected via a bus system and / or other forms of connection mechanism (not shown).

[0217] In addition, the input device may include, for example, a keyboard, a mouse, etc.

[0218] This output device can output various information to the outside, including determined distance information, direction information, etc. The output device may include, for example, a display, a speaker, a printer, and a communication network and its connected remote output devices, etc.

[0219] Of course, to simplify, Figure 6 Only some of the components of the electronic device relevant to this disclosure are shown, omitting components such as buses, input / output interfaces, etc. In addition, the electronic device may include any other suitable components depending on the specific application.

[0220] In addition to the methods and apparatus described above, embodiments of this disclosure may also be computer program products, including computer program instructions that, when executed by a processor, cause the processor to perform the steps in the point cloud preview methods according to various embodiments of this disclosure as described in the foregoing sections of this specification.

[0221] The computer program product can be written in any combination of one or more programming languages ​​to perform the operations of the embodiments of this disclosure. The programming languages ​​include object-oriented programming languages ​​such as Java and C++, as well as conventional procedural programming languages ​​such as C or similar languages. The program code can be executed entirely on a user's computing device, partially on a user's computing device, as a standalone software package, partially on a user's computing device and partially on a remote computing device, or entirely on a remote computing device or server.

[0222] Furthermore, embodiments of this disclosure may also be computer-readable storage media storing computer program instructions thereon, which, when executed by a processor, cause the processor to perform the steps in the point cloud preview methods according to various embodiments of this disclosure as described in the foregoing portion of this specification.

[0223] The computer-readable storage medium may be any combination of one or more readable media. A readable medium may be a readable signal medium or a readable storage medium. A readable storage medium may, for example, include, but is not limited to, electrical, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatuses, or devices, or any combination thereof. More specific examples of readable storage media (a non-exhaustive list) include: electrical connections having one or more wires, portable disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0224] Those skilled in the art will understand that all or part of the steps of the above method embodiments can be implemented by hardware related to program instructions. The aforementioned program can be stored in a computer-readable storage medium. When the program is executed, it performs the steps of the above method embodiments. The aforementioned storage medium includes various media that can store program code, such as ROM, RAM, magnetic disk, or optical disk.

[0225] The basic principles of the present disclosure have been described above in conjunction with specific embodiments. However, it should be noted that the advantages, strengths, and effects mentioned in this disclosure are merely illustrative and not restrictive, and should not be construed as necessarily possessed by each embodiment of the present disclosure. Furthermore, the specific details disclosed above are provided for illustrative purposes and to facilitate understanding, rather than as limitations. These details do not limit the present disclosure to necessarily being implemented using these specific details.

[0226] The various embodiments in this specification are described in a progressive manner, with each embodiment focusing on its differences from other embodiments. Similar or identical parts between embodiments can be referred to interchangeably. For system embodiments, since they largely correspond to method embodiments, the description is relatively simple; relevant parts can be referred to the descriptions in the method embodiments.

[0227] The block diagrams of devices, apparatuses, devices, and systems disclosed herein are merely illustrative examples and are not intended to require or imply that they must be connected, arranged, or configured in the manner shown in the block diagrams. As those skilled in the art will recognize, these devices, apparatuses, devices, and systems can be connected, arranged, and configured in any manner. Words such as “comprising,” “including,” “having,” etc., are open-ended terms meaning “including but not limited to,” and are used interchangeably with them. The terms “or” and “and” as used herein refer to the terms “and / or,” and are used interchangeably with them unless the context clearly indicates otherwise. The term “such as” as used herein refers to the phrase “such as but not limited to,” and is used interchangeably with it.

[0228] The methods and apparatus of this disclosure may be implemented in many ways. For example, they may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above-described order of steps for the methods is for illustrative purposes only, and the steps of the methods of this disclosure are not limited to the order specifically described above unless otherwise specifically stated. Furthermore, in some embodiments, this disclosure may also be implemented as a program recorded on a recording medium, the program including machine-readable instructions for implementing the methods according to this disclosure. Thus, this disclosure also covers recording media storing programs for performing the methods according to this disclosure.

[0229] It should also be noted that in the apparatus, devices, and methods of this disclosure, the components or steps can be disassembled and / or recombined. These disassemblies and / or recombinations should be considered as equivalent solutions to this disclosure.

[0230] The above description of the disclosed aspects is provided to enable any person skilled in the art to make or use the present disclosure. Various modifications to these aspects will be readily apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the present disclosure. Therefore, the present disclosure is not intended to be limited to the aspects shown herein, but rather to be accorded the widest scope consistent with the principles and novel features disclosed herein.

[0231] The above description has been provided for the purpose of illustration and description. In addition, this description is not intended to limit the embodiments of the present disclosure to the forms disclosed herein. Although a number of example aspects and embodiments have been discussed above, those skilled in the art will recognize certain variations, modifications, alterations, additions, and sub-combinations thereof.

Claims

1. A point cloud preview method, characterized in that, A point cloud preview device is applied to a point cloud generation system. The point cloud generation system includes a laser scanning device and the point cloud preview device. The laser scanning device is used to generate point cloud data for a target scene, and the point cloud preview device is used to retrieve the point cloud data and display a point cloud preview effect. The laser scanning device and the point cloud preview device store the point cloud data in blocks according to the same data storage architecture, wherein the point cloud data of different point cloud blocks are stored in different point cloud files. The method includes: In response to receiving a device connection operation, a communication connection is established with the laser scanning device through a preset connection method; Obtain a first index file and a second index file sent by the laser scanning device. The first index file is used to record file information of point cloud files already stored in the point cloud preview device, and the second index file is used to record file information of point cloud files already stored in the laser scanning device. The file information includes the data volume of each stored point cloud file. The target point cloud file is determined by comparing the first index file with the second index file, and a supplementary point cloud acquisition request is sent to the laser scanning device based on the target point cloud file. The target point cloud file is a point cloud file that the point cloud preview device has not yet fully stored. The system receives a point cloud supplementary file sent by the laser scanning device, and renders the stored point cloud file and the point cloud corresponding to the point cloud supplementary file through the point cloud preview interface. The point cloud supplementary file includes the target point cloud file and a point cloud file generated after the target point cloud file.

2. The method according to claim 1, characterized in that, The laser scanning device is used to send point cloud data to be stored to the point cloud preview device at a preset frequency, the point cloud data to be stored including coordinate data of corresponding points; the method further includes: Receive the point cloud data to be stored sent by the laser scanning device; Based on the coordinate data, the point cloud layer and point cloud block to which each point to be stored belongs are determined. The point cloud corresponding to the target scene includes at least two point cloud layers. Different point cloud layers have the same spatial range but different point cloud densities. The point cloud layer with the highest density includes all points corresponding to the target scene. Each point cloud layer includes at least two point cloud blocks. Different point cloud blocks have different spatial ranges. The point cloud data is written into the corresponding point cloud file based on the point cloud layer and point cloud block to which each point to be stored belongs.

3. The method according to claim 2, characterized in that, The step of determining the point cloud layer and point cloud block to which each point to be stored belongs based on the coordinate data includes: Based on the coordinate data corresponding to the point to be stored and the coordinate range of each point cloud block in each point cloud layer, the candidate point cloud block corresponding to the point to be stored in each point cloud layer is determined. Determine the distance between the point to be stored and its neighboring points in the candidate point cloud block, as well as the distance threshold corresponding to the point cloud layer to which the candidate point cloud block belongs; In response to the distance between the point to be stored and the neighboring points being greater than or equal to the distance threshold, the candidate point cloud block is determined as the point cloud block to which the point to be stored belongs, and the point cloud layer to which the candidate point cloud block belongs is determined as the point cloud layer to which the point to be stored belongs.

4. The method according to claim 2, characterized in that, The step of determining the target point cloud file by comparing the first index file and the second index file, and sending a supplementary point cloud acquisition request to the laser scanning device based on the target point cloud file, includes: In response to the existence of the first index file, the target point cloud file is determined by comparing the first index file with the second index file, and the supplementary point cloud acquisition request is sent to the laser scanning device based on the target point cloud file; The method further includes: In response to the absence of the first index file, an initial preview request is sent to the laser scanning device. The laser scanning device is used to send the first point cloud file of the point cloud block corresponding to the first point cloud layer to the point cloud preview device based on the initial preview request. The first point cloud layer is the point cloud layer with the lowest point cloud density. Receive the first point cloud file and render the point cloud corresponding to the first point cloud file through the point cloud preview interface.

5. The method according to claim 4, characterized in that, The method further includes: Continue to receive and store point cloud files corresponding to other point cloud layers sent by the laser scanning device; or, In response to receiving a point cloud magnification operation, a magnification preview request is sent to the laser scanning device based on the magnification ratio indicated by the point cloud magnification operation. The laser scanning device is used to determine a second point cloud layer based on the magnification ratio and send a second point cloud file corresponding to the second point cloud layer to the point cloud preview device; receive and store the second point cloud file, and render the point cloud corresponding to the second point cloud file through the point cloud preview interface.

6. A point cloud preview method, characterized in that, A laser scanning device is used in a point cloud generation system, the point cloud generation system including the laser scanning device and a point cloud preview device. The laser scanning device is used to generate point cloud data for a target scene, and the point cloud preview device is used to retrieve the point cloud data and display the point cloud preview effect. The laser scanning device and the point cloud preview device store the point cloud data in blocks according to the same data storage architecture, wherein the point cloud data of different point cloud blocks are stored in different point cloud files; the method includes: In response to establishing a communication connection with the point cloud preview device via a preset connection method, a second index file is sent to the point cloud preview device so that the point cloud preview device can determine the target point cloud file through the first index file and the second index file. The first index file is used to record the file information of the point cloud files already stored in the point cloud preview device, and the second index file is used to record the file information of the point cloud files already stored in the laser scanning device. The file information includes the data volume of each stored point cloud file, and the target point cloud file is the point cloud file that the point cloud preview device has not yet fully stored. In response to receiving a supplementary point cloud acquisition request from the point cloud preview device, a supplementary point cloud file is sent to the point cloud preview device. The supplementary point cloud acquisition request is used to request the acquisition of the target point cloud file that has not been fully stored and the point cloud file that has not been received. The supplementary point cloud file includes the target point cloud file and the point cloud file generated after the target point cloud file, so that the point cloud preview device can render the point cloud corresponding to the stored point cloud file and the supplementary point cloud file through the point cloud preview interface. The target scene is laser-scanned to generate point cloud data to be stored, and the point cloud data to be stored is sent to the point cloud preview device at a preset frequency so that the point cloud preview device can render the point cloud corresponding to the point cloud data to be stored through the point cloud preview interface.

7. The method according to claim 6, characterized in that, The point cloud data to be stored includes the coordinate data of the corresponding points, and the method further includes: Based on the coordinate data, the point cloud layer and point cloud block to which each point to be stored belongs are determined. The point cloud corresponding to the target scene includes at least two point cloud layers. Different point cloud layers have the same spatial range but different point cloud densities. The point cloud layer with the highest density includes all points corresponding to the target scene. Each point cloud layer includes at least two point cloud blocks. Different point cloud blocks have different spatial ranges. The point cloud data is written into the corresponding point cloud file based on the point cloud layer and point cloud block to which each point belongs.

8. The method according to claim 7, characterized in that, The step of determining the point cloud layer and point cloud block to which each point to be stored belongs based on the coordinate data includes: Based on the coordinate data corresponding to the point to be stored and the coordinate range of each point cloud block in each point cloud layer, the candidate point cloud block corresponding to the point to be stored in each point cloud layer is determined. Determine the distance between the point to be stored and its neighboring points in the candidate point cloud block, as well as the distance threshold corresponding to the point cloud layer to which the candidate point cloud block belongs; In response to the distance between the point to be stored and the neighboring points being greater than or equal to the distance threshold, the candidate point cloud block is determined as the point cloud block to which the point to be stored belongs, and the point cloud layer to which the candidate point cloud block belongs is determined as the point cloud layer to which the point to be stored belongs.

9. The method according to claim 7, characterized in that, The method further includes: In response to receiving an initial preview request from the point cloud preview device, a first point cloud file corresponding to the point cloud block of the first point cloud layer is sent to the point cloud preview device so that the point cloud preview device can render the point cloud corresponding to the first point cloud file through the point cloud preview interface. The first point cloud layer is the point cloud layer with the lowest point cloud density.

10. The method according to claim 9, characterized in that, The method further includes: In response to the completion of the first point cloud file transmission, continue to send point cloud files corresponding to other point cloud layers to the point cloud preview device; or, In response to receiving a zoom-in preview request from the point cloud preview device, a second point cloud layer is determined based on the zoom ratio indicated by the zoom-in preview request, and a second point cloud file corresponding to the second point cloud layer is sent to the point cloud preview device so that the point cloud preview device can render the point cloud corresponding to the second point cloud file through the point cloud preview interface.

11. A point cloud generation system, characterized in that, include: A laser scanning device and a point cloud preview device, wherein the point cloud preview device is used to perform the steps in the point cloud preview method according to any one of claims 1-5, and the laser scanning device is used to perform the steps in the point cloud preview method according to any one of claims 6-10.

Citation Information

Patent Citations

  • Method for dynamic browsing of vehicle-mounted mass point cloud data

    CN104391906A

  • Capturing three-dimensional representation of surroundings using mobile device

    US20230326053A1