Filtering method, device and equipment of point cloud data and medium

By identifying and filtering occluded 3D points in point cloud data, the problem of moving objects affecting the accuracy of point cloud maps is solved, and higher-precision point cloud map construction is achieved.

CN115018699BActive Publication Date: 2026-04-14AUTONAVI SOFTWARE CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-04-22
Publication Date
2026-04-14

AI Technical Summary

Technical Problem

In the high-precision map acquisition process, the point cloud data of moving objects causes inconsistencies between the point cloud map and the real environment, reducing map accuracy.

Method used

By acquiring multiple point cloud data frames, and based on the relative positional relationship between the observation position and the 3D points in each frame, the occluded target 3D points are identified and filtered to obtain filtered point cloud data.

Benefits of technology

It improves the accuracy of point cloud maps, reduces the impact of moving objects on point cloud maps, and enhances map accuracy.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115018699B_ABST
    Figure CN115018699B_ABST
Patent Text Reader

Abstract

Embodiments of the present disclosure relate to a point cloud data filtering method, device, equipment and medium. The method comprises: obtaining point cloud data, the point cloud data being obtained by splicing a plurality of point cloud data frames; determining target three-dimensional points in the point cloud data that are blocked from observing other three-dimensional points based on a relative position relationship between an observation position of each point cloud data frame and the three-dimensional points in the point cloud data; and filtering the target three-dimensional points in the point cloud data to obtain filtered target point cloud data. The scheme provided by the embodiments of the present disclosure can efficiently and accurately filter out three-dimensional points on moving objects from point cloud data, thereby improving the accuracy of point cloud map construction.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This disclosure relates to the field of point cloud processing technology, and in particular to a method, apparatus, device, and medium for filtering point cloud data. Background Technology

[0002] In the high-precision map acquisition process, constructing the surface positions of the real environment is a fundamental and crucial step. However, the constructed point cloud map contains point cloud data of moving objects at different times and locations, causing inconsistencies between the point cloud map and the real environment, thus reducing the map's accuracy. Therefore, how to eliminate the influence of moving objects on the point cloud map is a technical problem that needs to be solved. Summary of the Invention

[0003] To address the aforementioned technical problems, this disclosure provides a method, apparatus, device, and medium for filtering point cloud data.

[0004] A first aspect of this disclosure provides a method for filtering point cloud data. The method includes: acquiring point cloud data, which is obtained by stitching together multiple point cloud data frames; determining target three-dimensional points in the point cloud data that occlude the observation of other three-dimensional points based on the relative positional relationship between the observation position of each point cloud data frame and the three-dimensional points in the point cloud data; and filtering the target three-dimensional points in the point cloud data to obtain filtered target point cloud data.

[0005] A second aspect of this disclosure provides a point cloud data filtering device, the filtering device comprising:

[0006] The acquisition module is used to acquire point cloud data, which is obtained by stitching together multiple point cloud data frames.

[0007] The determination module is used to determine the target 3D point in the point cloud data that occludes the observation of other 3D points based on the relative positional relationship between the observation position of each point cloud data frame and the 3D point in the point cloud data.

[0008] The filtering module is used to filter the target 3D points in the point cloud data to obtain filtered target point cloud data.

[0009] A third aspect of this disclosure provides a computer device including a memory and a processor, wherein the memory stores a computer program that, when executed by the processor, can implement the method of the first aspect described above.

[0010] A fourth aspect of this disclosure provides a computer-readable storage medium storing a computer program that, when executed by a computer device, causes the computer device to perform the method described in the first aspect.

[0011] The technical solution provided in this disclosure has the following advantages compared with the prior art:

[0012] In this embodiment of the disclosure, by stitching together multiple point cloud data frames, the target three-dimensional point in the point cloud data that obstructs the observation of other three-dimensional points is determined based on the relative position between the observation position of each point cloud data frame and the three-dimensional point in the stitched point cloud data. Then, the target point cloud data is obtained by filtering the target three-dimensional point in the point cloud data. Because moving objects exist in actual point cloud acquisition scenarios, and the positions of these moving objects are constantly changing, a moving object may not be occluding an object one moment but may be occluding it the next. Thus, the point cloud data acquired at the previous moment includes the point cloud of that object, while the point cloud data acquired at the next moment does not. However, by stitching the point cloud data from the previous and next moments together, the stitched data will simultaneously include the point clouds of both the occluded object and the moving object. According to perspective rules, an occluded object cannot be seen through another object. In other words, under normal circumstances, 3D points in point cloud data will not obstruct the observation of other 3D points in the point cloud data. If obstruction occurs, it indicates that the 3D point is on a moving object. Therefore, this embodiment of the present disclosure can determine the 3D points of moving objects contained in the point cloud data based on perspective rules. Furthermore, by filtering these 3D points, the point cloud data of the real environment can be obtained. Constructing a point cloud map based on this point cloud data can improve the accuracy of the point cloud map. Attached Figure Description

[0013] The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments consistent with this disclosure and, together with the description, serve to explain the principles of this disclosure.

[0014] To more clearly illustrate the technical solutions in the embodiments of this disclosure or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, those skilled in the art can obtain other drawings based on these drawings without creative effort.

[0015] Figure 1 This is a schematic diagram of an application scenario provided by an embodiment of this disclosure;

[0016] Figure 2 This is a flowchart of a point cloud data filtering method provided in an embodiment of this disclosure;

[0017] Figure 3 This is a schematic diagram of a method for determining target three-dimensional points provided in an embodiment of this disclosure;

[0018] Figure 4 This is a flowchart of a method for determining target three-dimensional points provided in an embodiment of this disclosure;

[0019] Figure 5 This is a schematic diagram of a scene for determining target three-dimensional points according to an embodiment of this disclosure;

[0020] Figure 6 This is a flowchart of a point cloud data filtering method provided in an embodiment of this disclosure;

[0021] Figure 7 This is a schematic diagram of the structure of a point cloud data filtering device provided in an embodiment of this disclosure;

[0022] Figure 8 This is a schematic diagram of the structure of a computer device according to an embodiment of this disclosure. Detailed Implementation

[0023] To better understand the above-mentioned objectives, features, and advantages of this disclosure, the solutions disclosed herein will be further described below. It should be noted that, unless otherwise specified, the embodiments and features described herein can be combined with each other.

[0024] Numerous specific details are set forth in the following description in order to provide a full understanding of this disclosure, but this disclosure may also be implemented in other ways different from those described herein; obviously, the embodiments in the specification are only some, and not all, of the embodiments of this disclosure.

[0025] Figure 1 This is a schematic diagram illustrating an application scenario provided by an embodiment of this disclosure. Figure 1 In this context, the data source can be understood as the origin of point cloud data. For example, it could be point cloud data acquisition devices such as LiDAR, cameras, or point cloud acquisition vehicles, or storage devices such as databases or distributed storage nodes that store point cloud data. In practice, there can be multiple data sources, and this embodiment does not impose any limitations.

[0026] Figure 1 Computer equipment in this context can be understood as a device with data processing and computing capabilities. This includes devices such as desktop computers, laptops, and servers, but is not limited to those listed here. Figure 1The computer device in the present disclosure carries computer-executable program code or computer software product. When the computer device executes the program code or runs the software product, it can perform the point cloud data filtering method provided in the embodiments of the present disclosure.

[0027] Specifically, in one embodiment, the data source sent to the computer device may be multiple unstitched point cloud data frames, at least some of which share a common view (i.e., include point cloud data of a common environment or region). After receiving these point cloud data frames, the computer device stitches them together to obtain stitched point cloud data. The stitched point cloud data is then used as a filtering object to remove at least some three-dimensional points on moving objects. There are many methods for stitching point cloud data frames in related technologies, which will not be elaborated upon in this embodiment.

[0028] In another implementation, the data source sent to the computer device can also be stitched point cloud data. After receiving the point cloud data, the computer device filters out at least some of the three-dimensional points on the moving object from the point cloud data to obtain filtered point cloud data.

[0029] The point cloud data filtering method provided in this disclosure will be described below with reference to exemplary embodiments.

[0030] Example, Figure 2 This is a flowchart illustrating a point cloud data filtering method provided in an embodiment of this disclosure. This method can be exemplarily derived from... Figure 1 The computer device in the scene shown is executing.

[0031] like Figure 2 As shown, the method includes:

[0032] Step 201: Obtain point cloud data, which is obtained by stitching together multiple point cloud data frames.

[0033] In one embodiment of this disclosure, the point cloud data frame can be point cloud data directly acquired by a point cloud acquisition device such as a lidar. A point cloud data frame can be understood as point cloud data acquired by a point cloud acquisition device at a certain time, location, and orientation during a single point cloud acquisition operation.

[0034] In another embodiment of this disclosure, the point cloud data frame can be understood as the point cloud data corresponding to a certain image obtained by 3D reconstruction of multiple images. In this disclosure, these images can be acquired by image acquisition devices such as cameras. There are various methods for 3D reconstruction of images. For example, in some embodiments, simultaneous localization and mapping (SLAM) can be used to reconstruct the images. Of course, SLAM is only one possible method, not the only one. In fact, in other embodiments, any existing 3D reconstruction method can be used as needed, without being limited to one or a few specific methods.

[0035] In the multiple point cloud data frames mentioned in the embodiments of this disclosure, at least some of the point cloud data frames share a common viewing portion. For example, having a common viewing portion between two point cloud data frames can be understood as the two point cloud data frames containing point cloud data of the same environment or region. The object processed in the embodiments of this disclosure can be understood as point cloud data obtained by stitching together multiple point cloud data frames in the embodiments of this disclosure.

[0036] In this embodiment of the disclosure, stitched point cloud data can be obtained directly from the data source, or multiple unstitched point cloud data frames can be obtained from the data source, and then the stitched point cloud data can be obtained by stitching the multiple point cloud data frames.

[0037] Step 202: Based on the relative positional relationship between the observation position of each point cloud data frame and the 3D points in the point cloud data, determine the target 3D points in the point cloud data that occlude the observation of other 3D points.

[0038] In this embodiment of the disclosure, the observation position of the point cloud data frame can be understood as the position of the acquisition device such as lidar or camera when the point cloud data frame is acquired.

[0039] Example, Figure 3 This is a schematic diagram of a method for determining target three-dimensional points provided in an embodiment of this disclosure. Figure 3 In this context, observation position A can be understood as the observation position of a certain point cloud data frame. The point cloud data obtained in this embodiment includes point clouds collected at observation position A. Three-dimensional points B and C are two three-dimensional points in the point cloud data. For example... Figure 3As shown, when observing point cloud data from observation position A towards 3D point B, not only 3D point B but also 3D point C can be observed. However, 3D point B and 3D point C are located in the same line of sight in the point cloud data. That is, in a real scene, 3D point C should be occluded by 3D point B. In reality, if 3D point C is located behind 3D point B, i.e., occluded by 3D point B, then 3D point C should not be acquired. Since 3D point C exists, it means that 3D point B may be a 3D point on a moving object. That is, in one or more point cloud data frames, the moving object does not occlude 3D point C, but in some point cloud data frames, 3D point B occludes 3D point C. Therefore, after stitching together multiple point cloud data frames, both 3D point B and 3D point C occluded by 3D point B exist simultaneously. Therefore, based on the relative positional relationship between the observation position and the 3D points in the point cloud data, the 3D point that occludes the observation of other 3D points can be identified as a 3D point on a moving object, and this point can be taken as the target 3D point.

[0040] Reference Figure 3 In one embodiment of this invention, the target three-dimensional point in the three-dimensional point cloud can be determined based on the relative position between each observation position and each three-dimensional point.

[0041] in, Figure 4 This is a flowchart of a method for determining target three-dimensional points provided in an embodiment of this disclosure, such as... Figure 4 As shown. In some embodiments of this disclosure, target 3D points in point cloud data can be determined according to the following method:

[0042] Step 401: For each observation location, draw a line between the observation location and each three-dimensional point in the point cloud data, and determine the three-dimensional point through which the line passes as a preliminary three-dimensional point.

[0043] Step 402: For each prepared 3D point, determine the number of 3D points occluded by the prepared 3D point.

[0044] Step 403: Determine the target 3D point based on the number of 3D points occluded by each preparatory 3D point.

[0045] exist Figure 4 The embodiments shown can be referred to Figure 5 Understand the scenario shown.

[0046] like Figure 5 As shown, Figure 5 This is a schematic diagram of a scene for determining target three-dimensional points according to an embodiment of this disclosure. Figure 5 In the diagram, observation position A1 represents the observation position of a specific point cloud data frame, and 3D points B1, C1, D1, B2, and C2 are the 3D points contained within the point cloud data. Figure 5In the scenario shown, connect A1 and C1, A1 and D1, and A1 and C2 respectively, as follows: Figure 5 As shown, the line connecting A1 and C1 passes through B1, the line connecting A1 and D1 passes through both B1 and C1, and the line connecting A1 and C2 passes through B2. Therefore, based on these lines, we can determine that B1 occludes C1 and D1, with 2 3D points occluded by B1; C1 occludes D1, with 1 3D point occluded by C1; and B2 occludes C2, with 1 3D point occluded by B2. Therefore, in Figure 5 In the scenario shown, B1, C1, and B2 can be identified as preliminary 3D points. Then, based on the number of 3D points occluded by each of B1, C1, and B2, those exceeding a first preset number are identified as target 3D points, where the first preset number can be set as needed. Alternatively, in other embodiments, B1, C1, and B2 can be sorted according to the number of 3D points occluded by each of B1, C1, and B2. Then, those B1, C1, and B2 that conform to the preset sorting are identified as target 3D points. For example, when sorting in descending order, the top N preliminary 3D points can be identified as target 3D points, where the value of N can be set as needed.

[0047] based on Figure 4 The method determines the target 3D point based on the relative positional relationship between each observation location and each 3D point in the point cloud data, which can find the target 3D point in the point cloud data to the greatest extent and avoid omissions.

[0048] certainly Figure 4 The method shown is not the only one; other feasible methods can also be used to determine the target 3D point in point cloud data in other embodiments. For example, in one feasible implementation, the common viewing portion between two adjacent point cloud data frames can be determined first based on the acquisition range information of the acquisition device corresponding to each point cloud data frame. Then, based on the relative positional relationship between the observation position of each point cloud data frame and the 3D points in the common viewing portion, the 3D points in the common viewing portion that occlude the observation of other 3D points can be determined as the target 3D point. Alternatively, one can refer to... Figure 4 The method shown first determines the preliminary three-dimensional points, and then determines the target three-dimensional points from the preliminary three-dimensional points.

[0049] Step 203: Filter the target 3D points in the point cloud data to obtain the filtered target point cloud data.

[0050] In this embodiment, all identified target 3D points can be filtered out of the point cloud data, or only a portion of the target 3D points can be filtered out. For example, in one feasible implementation, an upper limit for the number of 3D points to be filtered out can be set. When the number of identified target 3D points exceeds the upper limit, only a portion of the target 3D points are filtered out, such that the number of filtered target 3D points is less than or equal to the upper limit. Of course, this is only an illustrative example and not the only limitation.

[0051] In this embodiment of the disclosure, by stitching together multiple point cloud data frames, the target three-dimensional point in the point cloud data that obstructs the observation of other three-dimensional points is determined based on the relative position between the observation position of each point cloud data frame and the three-dimensional point in the stitched point cloud data. Then, the target point cloud data is obtained by filtering the target three-dimensional point in the point cloud data. Because moving objects exist in actual point cloud acquisition scenarios, and the positions of these moving objects are constantly changing, a moving object may not be occluding an object one moment but may be occluding it the next. Thus, the point cloud data acquired at the previous moment includes the point cloud of that object, while the point cloud data acquired at the next moment does not. However, by stitching the point cloud data from the previous and next moments together, the stitched data will simultaneously include the point clouds of both the occluded object and the moving object. According to perspective rules, an occluded object cannot be seen through another object. In other words, under normal circumstances, 3D points in point cloud data will not obstruct the observation of other 3D points in the point cloud data. If obstruction occurs, it indicates that the 3D point is on a moving object. Therefore, this embodiment of the present disclosure can determine the 3D points of moving objects contained in the point cloud data based on perspective rules. Furthermore, by filtering these 3D points, the point cloud data of the real environment can be obtained. Generating a point cloud map based on this point cloud data can improve the accuracy of the point cloud map. Furthermore, compared with model-based methods and local detection and filtering methods provided by related technologies, the filtering method provided in this disclosure not only does not require a large amount of labeled training data, but can also combine information from multiple point cloud data frames to comprehensively determine the three-dimensional points on the moving object, i.e., the target three-dimensional points, thereby improving the accuracy of point cloud data filtering.

[0052] Figure 6 This is a flowchart of a point cloud data filtering method provided in an embodiment of this disclosure, such as... Figure 6 As shown, after determining the target 3D points based on the method of the above embodiments, the target 3D points can be filtered based on the following method:

[0053] Step 601: Based on the correspondence between 3D points and point cloud data frames, determine the number of target 3D points contained in each point cloud data frame.

[0054] See Figure 1 In the scenario shown, if the point cloud data transmitted from the data source to the computer device is stitched point cloud data, then the data source must also send the correspondence between the 3D points in the point cloud data and the point cloud data frames to the computer device along with the point cloud data itself, that is, informing the computer device which 3D points belong to the same point cloud data frame. If the data source sends multiple unstitched point cloud data frames to the computer device, then the computer device must also record the point cloud data frame to which each 3D point belongs when receiving multiple point cloud data frames, that is, record the correspondence between the 3D points and the point cloud data frames.

[0055] After determining the target 3D points contained in the point cloud data based on the method of the above embodiments, the correspondence between the 3D points and the point cloud data frames can be used to determine which point cloud data frame each target 3D point originally belonged to. Then, by statistically analyzing the determination results, the number of target 3D points contained in each point cloud data frame can be obtained.

[0056] Step 602: Based on the number of target 3D points contained in each point cloud data frame, determine the first point cloud data frame in which the number of target 3D points is greater than the second preset number.

[0057] In practice, to avoid the loss of too many 3D points in a single point cloud data frame, which could negatively impact the accuracy of the point cloud map, a maximum deletion limit can be preset for each point cloud data frame, i.e., the second preset limit mentioned above. After determining the number of target 3D points in each point cloud data frame, it is possible to first identify which point cloud data frames contain more target 3D points than the second preset limit. These point cloud data frames with more target 3D points than the second preset limit are the ones that may lose too many 3D points, i.e., the first point cloud data frames mentioned above.

[0058] Step 603: Filter out some target 3D points from the first point cloud data frame, so that the number of target 3D points filtered out is less than or equal to the second preset number.

[0059] In this embodiment of the disclosure, to avoid losing too many 3D points in the point cloud data frame, after determining the first point cloud data frame, some target 3D points can be randomly deleted from the first point cloud data frame, such that the number of deleted target 3D points is less than or equal to a second preset number. Alternatively, in other embodiments, some target 3D points can be deleted from the first point cloud data frame according to a pre-set deletion rule. For example, based on the number of 3D points occluded by each target 3D point in the first point cloud data frame, the N target 3D points with the most occluded 3D points can be filtered out from the first point cloud data frame, where N is an integer less than or equal to the second preset number. Alternatively, the target 3D points in the first point cloud data frame that meet the preset sorting conditions can be filtered out based on the sorting of each target 3D point in the first point cloud data frame among all target 3D points in the stitched point cloud data, and the sorting of each target 3D point in the first point cloud data frame among all target 3D points in the first point cloud data frame. For example, the target 3D points that are all sorted in the top 20 and ranked in the top 10 in their own point cloud data frames can be filtered out. Of course, this is only an example and not the only limitation.

[0060] Similarly, for point cloud data frames containing no more than the second preset number of target 3D points, the filtering method of the first point cloud data frame described above can be used, or the above method can be skipped and all target 3D points in the point cloud data frame can be directly deleted. No limitation is made here.

[0061] In this embodiment of the disclosure, by counting the number of target 3D points contained in each point cloud data frame, when filtering point cloud data frames containing a large number of target 3D points, only some of the target 3D points are filtered out. This avoids deleting too many 3D points from a single point cloud data frame, thereby ensuring the accuracy of point cloud map construction.

[0062] Figure 7 This is a schematic diagram of a point cloud data filtering device provided in an embodiment of this disclosure. This filtering device can be understood as the computer device or a functional module within the computer device described in the above embodiments. Figure 7 As shown, the filter device 70 includes:

[0063] The acquisition module 71 is used to acquire point cloud data, which is obtained by splicing multiple point cloud data frames.

[0064] The determination module 72 is used to determine the target three-dimensional point in the point cloud data that occludes the observation of other three-dimensional points based on the relative positional relationship between the observation position of each point cloud data frame and the three-dimensional point in the point cloud data.

[0065] The filtering module 73 is used to filter the target 3D points in the point cloud data to obtain filtered target point cloud data.

[0066] In one implementation, the determining module 72 is used to determine the common viewing portion between two adjacent point cloud data frames based on the acquisition range information of the acquisition device corresponding to each point cloud data frame; and to determine the target three-dimensional point in the common viewing portion that obstructs the observation of other three-dimensional points based on the relative positional relationship between the observation position of each point cloud data frame and the three-dimensional point in the common viewing portion.

[0067] In one implementation, the determining module 72 includes:

[0068] A connecting unit is used to connect each observation location to each three-dimensional point in the point cloud data, and to determine the three-dimensional point through which the connecting line passes as a preliminary three-dimensional point.

[0069] The first determining unit is used to determine the number of three-dimensional points occluded by each preparatory three-dimensional point;

[0070] The second determining unit is used to determine the target 3D point based on the number of 3D points occluded by each preparatory 3D point.

[0071] In one embodiment, the second determining unit is used to determine the preparatory three-dimensional points whose number of occluded three-dimensional points exceeds a first preset number as target three-dimensional points.

[0072] In one embodiment, the second determining unit is used to sort the prospective 3D points based on the number of occluded 3D points; and to determine the prospective 3D points whose sorting conforms to a preset sorting as target 3D points.

[0073] In one embodiment, the filtering module 73 is used to determine the number of target 3D points contained in each point cloud data frame based on the correspondence between 3D points and point cloud data frames; to determine a first point cloud data frame in which the number of target 3D points is greater than a second preset number based on the number of target 3D points contained in each point cloud data frame; and to filter out some target 3D points from the first point cloud data frame, such that the number of filtered target 3D points is less than or equal to the second preset number.

[0074] In one embodiment, the filtering module 73 is specifically used to filter out the N target 3D points with the most occluded 3D points from the first point cloud data frame based on the number of 3D points occluded by each target 3D point contained in the first point cloud data frame, where N is an integer less than or equal to the second preset number.

[0075] The apparatus provided in this disclosure is capable of performing... Figure 1-6The implementation methods and beneficial effects of any of the methods are similar, and will not be elaborated here.

[0076] This disclosure also provides a computer device including a processor and a memory, wherein the memory stores a computer program that, when executed by the processor, can implement the method of any of the above method embodiments.

[0077] Example, Figure 8 This is a schematic diagram of the structure of a computer device according to an embodiment of this disclosure. See below for details. Figure 8 The diagram illustrates a structural schematic suitable for implementing the computer device 1400 in the embodiments of this disclosure. The computer device 1400 in the embodiments of this disclosure may include, but is not limited to, devices with computing and data processing capabilities such as laptops, tablets, and desktop computers. Figure 8 The computer device shown is merely an example and should not be construed as limiting the functionality and scope of the embodiments disclosed herein.

[0078] like Figure 8 As shown, computer device 1400 may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) 1401, which can perform various appropriate actions and processes according to a program stored in read-only memory (ROM) 1402 or a program loaded from storage device 1408 into random access memory (RAM) 1403. The RAM 1403 also stores various programs and data required for the operation of computer device 1400. The processing unit 1401, ROM 1402, and RAM 1403 are interconnected via bus 1404. Input / output (I / O) interface 1405 is also connected to bus 1404.

[0079] Typically, the following devices can be connected to I / O interface 1405: input devices 1406 including, for example, a touchscreen, touchpad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; output devices 1407 including, for example, a liquid crystal display (LCD), speaker, vibrator, etc.; storage devices 1408 including, for example, magnetic tape, hard disk, etc.; and communication devices 1409. Communication device 1409 allows computer device 1400 to communicate wirelessly or wiredly with other devices to exchange data. Although Figure 8 A computer device 1400 with various devices is shown, but it should be understood that it is not required to implement or have all of the devices shown. More or fewer devices may be implemented or have instead.

[0080] In particular, according to embodiments of this disclosure, the processes described above with reference to the flowcharts can be implemented as computer software programs. For example, embodiments of this disclosure include a computer program product comprising a computer program carried on a non-transitory computer-readable medium, the computer program containing program code for performing the methods shown in the flowcharts. In such embodiments, the computer program can be downloaded and installed from a network via communication device 14014, or installed from storage device 1408, or installed from ROM 1402. When the computer program is executed by processing device 1401, it performs the functions defined in the methods of embodiments of this disclosure.

[0081] It should be noted that the computer-readable medium described in this disclosure can be a computer-readable signal medium or a computer-readable storage medium, or any combination thereof. A computer-readable storage medium can be, for example,—but not limited to—an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any combination thereof. More specific examples of a computer-readable storage medium may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard disk, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination thereof. In this disclosure, a computer-readable storage medium can be any tangible medium containing or storing a program that can be used by or in connection with an instruction execution system, apparatus, or device. In this disclosure, a computer-readable signal medium can include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code. Such propagated data signals can take various forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination thereof. A computer-readable signal medium can be any computer-readable medium other than a computer-readable storage medium, which can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device. The program code contained on the computer-readable medium can be transmitted using any suitable medium, including but not limited to: wires, optical fibers, RF (radio frequency), etc., or any suitable combination thereof.

[0082] The aforementioned computer-readable medium may be included in the aforementioned computer device; or it may exist independently and not assembled into the computer device.

[0083] The aforementioned computer-readable medium carries one or more programs that, when executed by the computer device, cause the computer device to: acquire point cloud data, the point cloud data being obtained by stitching together multiple point cloud data frames; determine target 3D points in the point cloud data that occlude the observation of other 3D points based on the relative positional relationship between the observation position of each point cloud data frame and the 3D points in the point cloud data; and filter the target 3D points in the point cloud data to obtain filtered target point cloud data.

[0084] Computer program code for performing the operations of this disclosure can be written in one or more programming languages ​​or a combination thereof, including but not limited to object-oriented programming languages ​​such as Java, Smalltalk, and C++, as well as conventional procedural programming languages ​​such as the "C" language or similar programming languages. The program code can be executed entirely on the user's computer, partially on the user's computer, as a standalone software package, partially on the user's computer and partially on a remote computer, or entirely on a remote computer or server. In cases involving remote computers, the remote computer can be connected to the user's computer via any type of network—including a local area network (LAN) or a wide area network (WAN)—or can be connected to an external computer (e.g., via the Internet using an Internet service provider).

[0085] The flowcharts and block diagrams in the accompanying drawings illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of this disclosure. In this regard, each block in a flowchart or block diagram may represent a module, segment, or portion of code containing one or more executable instructions for implementing a specified logical function. It should also be noted that in some alternative implementations, the functions indicated in the blocks may occur in a different order than those indicated in the drawings. For example, two consecutively indicated blocks may actually be executed substantially in parallel, and they may sometimes be executed in reverse order, depending on the functions involved. It should also be noted that each block in the block diagrams and / or flowcharts, and combinations of blocks in the block diagrams and / or flowcharts, can be implemented using a dedicated hardware-based system that performs the specified function or operation, or using a combination of dedicated hardware and computer instructions.

[0086] The units described in the embodiments of this disclosure can be implemented in software or hardware. The names of the units are not, in some cases, intended to limit the specific unit.

[0087] The functions described above in this document can be performed, at least in part, by one or more hardware logic components. For example, exemplary types of hardware logic components that can be used, without limitation, include: Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), Application Standard Products (ASSPs), System-on-Chip (SoCs), Complex Programmable Logic Devices (CPLDs), and so on.

[0088] In the context of this disclosure, a machine-readable medium can be a tangible medium that may contain or store a program for use by or in conjunction with an instruction execution system, apparatus, or device. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can be, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination of the foregoing. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination of the foregoing.

[0089] This disclosure also provides a computer-readable storage medium storing a computer program that, when executed by a processor, can perform the above-described functions. Figures 1-6 The methods in any of the embodiments are similar in execution and beneficial effects, and will not be described again here.

[0090] This disclosure also provides a computer program product stored in a storage medium, which, when executed by a processor of a computer device, causes the processor to perform... Figures 1-6 The methods in any of the embodiments are similar in execution and beneficial effects, and will not be described again here.

[0091] It should be noted that, in this document, relational terms such as "first" and "second" are used merely to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0092] The above description is merely a specific embodiment of this disclosure, enabling those skilled in the art to understand or implement it. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the general principles defined herein may be implemented in other embodiments without departing from the spirit or scope of this disclosure. Therefore, this disclosure is not to be limited to the embodiments described herein, but is to be accorded the widest scope consistent with the principles and novel features disclosed herein.

Claims

1. A method for filtering point cloud data, wherein, include: Acquire point cloud data, wherein the point cloud data is obtained by stitching together multiple point cloud data frames, and at least some of the point cloud data frames have a common viewing portion; Based on the acquisition range information of the acquisition device corresponding to each point cloud data frame, the common viewing part between two adjacent point cloud data frames is determined. Based on the relative positional relationship between the observation position of each point cloud data frame and the 3D points in the shared view portion, the target 3D points in the shared view portion that occlude the observation of other 3D points are determined. The target 3D points in the point cloud data are filtered to obtain filtered target point cloud data.

2. The method according to claim 1, wherein, The determination of target 3D points in the point cloud data that occlude the observation of other 3D points based on the relative positional relationship between the observation position of each point cloud data frame and the 3D points in the point cloud data includes: For each observation location, a line is drawn between the observation location and each three-dimensional point in the point cloud data, and the three-dimensional point through which the line passes is determined as a preliminary three-dimensional point. For each preparatory 3D point, determine the number of 3D points that the preparatory 3D point occludes; The target 3D point is determined based on the number of 3D points occluded by each preparatory 3D point.

3. The method according to claim 2, wherein, The determination of the target 3D point based on the number of 3D points occluded by each pre-selected 3D point includes: Preparatory 3D points whose number of occluded 3D points exceeds a first preset number are identified as target 3D points.

4. The method according to claim 2, wherein, The determination of the target 3D point based on the number of 3D points occluded by each pre-selected 3D point includes: The prepared 3D points are sorted based on the number of occluded 3D points; Select the preliminary 3D points whose sorting matches the preset sorting as the target 3D points.

5. The method according to any one of claims 1-4, wherein, The step of filtering the target 3D points in the point cloud data to obtain filtered target point cloud data includes: Based on the correspondence between 3D points and point cloud data frames, the number of target 3D points contained in each point cloud data frame is determined. Based on the number of target 3D points contained in each point cloud data frame, a first point cloud data frame is determined to have a number of target 3D points greater than a second preset number. Some target 3D points are filtered out from the first point cloud data frame, such that the number of filtered target 3D points is less than or equal to the second preset number.

6. The method according to claim 5, wherein, Filtering out a portion of the target 3D points from the first point cloud data frame, such that the number of filtered target 3D points is less than or equal to the second preset number, includes: Based on the number of 3D points occluded by each target 3D point contained in the first point cloud data frame, the N target 3D points with the most occluded 3D points are filtered out from the first point cloud data frame, where N is an integer less than or equal to the second preset number.

7. A point cloud data filtering device, wherein, include: An acquisition module is used to acquire point cloud data, wherein the point cloud data is obtained by stitching together multiple point cloud data frames, and at least some of the point cloud data frames have a common viewing portion. The determination module is used to determine the common viewing portion between two adjacent point cloud data frames based on the acquisition range information of the acquisition device corresponding to each point cloud data frame. Based on the relative positional relationship between the observation position of each point cloud data frame and the 3D points in the shared view portion, the target 3D points in the shared view portion that occlude the observation of other 3D points are determined. The filtering module is used to filter the target 3D points in the point cloud data to obtain filtered target point cloud data.

8. A computer device, characterized in that, include: A memory and a processor, wherein the memory stores a computer program that, when executed by the processor, implements the method as described in any one of claims 1-6.

9. A computer-readable storage medium, wherein, The storage medium stores a computer program that, when executed by a computer device, causes the computer device to perform the method as described in any one of claims 1-6.

Citation Information

Patent Citations

  • Map creation method, device, and equipment and computer storage medium

    CN113256595A

  • Shielding prediction method and device for moving target, equipment and storage medium

    CN114066927A

  • Point cloud analysis device, method, and program

    US20220215572A1

  • Three-dimensional measurement method and apparatus, and storage medium and electronic apparatus

    WO2025066619A1