Three-dimensional data optimization method and non-transitory computer readable medium

By optimizing 3D data using multiple virtual rays and the DBSCAN clustering algorithm, the problem of noise generated by the ray intersection method in software with limited precision is solved, thus improving the accuracy and quality of 3D data.

CN121169728APending Publication Date: 2025-12-19INVENTEC PUDONG TECH CORPOARTION +1
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202410783330.6
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-06-17
Publication Date
2025-12-19

AI Technical Summary

Technical Problem

Existing technologies using the ray intersection method to identify 3D objects in software with limited precision are prone to generating noise, affecting the accuracy of 3D data, especially in spline-drawn objects.

Method used

The intersection points of the rays are calculated by using multiple virtual rays in different directions, and the DBSCAN clustering algorithm is used to eliminate noise and generate optimized 3D data.

Benefits of technology

It effectively removed noise, improved the accuracy and quality of 3D data, and ensured the correctness of subsequent applications.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121169728A_ABST
    Figure CN121169728A_ABST
Patent Text Reader

Abstract

The invention provides a three-dimensional data optimization method and a non-instantaneous computer readable medium. The three-dimensional data optimization method is suitable for being executed by a processor and comprises the following steps: obtaining initial three-dimensional data corresponding to a three-dimensional object, performing ray intersection calculation on the initial three-dimensional data by utilizing a plurality of virtual rays to generate a plurality of groups of intersection coordinates, and executing a clustering algorithm on the plurality of groups of intersection point coordinates to exclude noisy points in the plurality of groups of intersection point coordinates, and generating optimized three-dimensional data based on the plurality of groups of intersection point coordinates after the noisy points are excluded.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application belongs to the technical field of three-dimensional data processing, and relates to three-dimensional data describing a three-dimensional object, and in particular to a method for optimizing three-dimensional data and a non-transitory computer readable medium for executing the method. BACKGROUND

[0002] Ray crossing number method is often used to determine whether a specified point is located inside a geometric shape. From the specified point as the starting point, a virtual ray is emitted in any direction, and the number of intersections between the virtual ray and the geometric shape is checked. If the number of intersections is even, the specified point is located outside the geometric shape; if the number of intersections is odd, the specified point is located inside the geometric shape.

[0003] However, when the above operation is performed by software with limited precision, the error generated may cause the ray crossing number method to calculate an incorrect result, especially when used in a three-dimensional object drawn with a spline (or cloud line). In the area where the virtual ray is tangent to the curve, the phenomenon of column overflow is prone to occur, and column noise points are generated. These noise points will affect the correctness of the three-dimensional data generated subsequently. SUMMARY

[0004] The present application aims to provide a method for optimizing three-dimensional data and a non-transitory computer readable medium for executing the method, thereby solving the above problems.

[0005] According to an embodiment of the present application, a method for optimizing three-dimensional data includes, with a processor: obtaining initial three-dimensional data corresponding to a three-dimensional object; performing ray crossing number calculation on the initial three-dimensional data using a plurality of virtual rays to generate a plurality of sets of intersection coordinates, wherein the plurality of virtual rays respectively have different directions; and performing a grouping algorithm on the plurality of sets of intersection coordinates to exclude noise points in the plurality of sets of intersection coordinates, and generating optimized three-dimensional data based on the plurality of sets of intersection coordinates after excluding the noise points.

[0006] According to an embodiment of the present application, a non-transitory computer readable medium is used to store a plurality of instructions, which when executed by a processor, cause a plurality of operations, including: obtaining initial three-dimensional data corresponding to a three-dimensional object; performing ray crossing number calculation on the initial three-dimensional data using a plurality of virtual rays to generate a plurality of sets of intersection coordinates, wherein the plurality of virtual rays respectively have different directions; and performing a grouping algorithm on the plurality of sets of intersection coordinates to exclude noise points in the plurality of sets of intersection coordinates, and generating optimized three-dimensional data based on the plurality of sets of intersection coordinates after excluding the noise points.

[0007] In summary, the three-dimensional data optimization method and the non-transient computer readable medium for executing the method according to an embodiment of the present application can convert the three-dimensional model constructed by the computer-aided design software into high-quality three-dimensional data, and eliminate the noise points caused by the software precision. The effect of the present application is to find the possible noise points and retain the correct three-dimensional data, which is helpful for the subsequent application of the optimized three-dimensional data. BRIEF DESCRIPTION OF DRAWINGS

[0008] Figure 1 is a flow chart of the three-dimensional data optimization method according to an embodiment of the present application.

[0009] Figure 2 is an example schematic diagram of a three-dimensional object drawn by a spline.

[0010] Figure 3 is Figure 2 is a schematic diagram of a three-dimensional object scanned by a virtual ray.

[0011] Figure 4 is an example schematic diagram of integrating the scanning results of multiple directions.

[0012] Figure 5 is the result schematic diagram based on Figure 4 is the result schematic diagram after using the clustering algorithm.

[0013] Figure 6 is the result schematic diagram after separating the noise points.

[0014] ELEMENT NUMBER EXPLANATION

[0015] S1-S3 steps DETAILED DESCRIPTION

[0016] The detailed features and advantages of the present application are described in detail in the embodiments below, which are sufficient for any person skilled in the relevant art to understand the technical content of the present application and implement it, and according to the content disclosed in the present specification, the scope of the patent application and the drawings, any person skilled in the relevant art can easily understand the related purposes and advantages of the present application. The following examples are further detailed to illustrate the concept of the present application, but do not limit the scope of the present application in any way.

[0017] Figure 1is a flowchart illustrating a method of optimizing three-dimensional data according to an embodiment of the present application, comprising steps S1-S3. The method is suitable for execution by a processor. In an embodiment, the processor can be a Central Processing Unit (CPU), a Graphic Processing unit (GPU), or other programmable general purpose or special purpose microprocessors, Digital Signal Processors (DSPs), programmable controllers, Field Programmable Gate Arrays (FPGAs), Application-Specific Integrated Circuits (ASICs), neural network accelerators, or other similar components or combinations thereof, and the present application is not limited to the type of hardware of the processor.

[0018] In step S1, initial three-dimensional data corresponding to a three-dimensional object is obtained. The three-dimensional object is, for example, a modeling entity constructed by a Computer-Aided Design (CAD) software, such as Figure 2 as shown in Figure 2 is an example schematic diagram of a three-dimensional object drawn by a spline. The data format of the three-dimensional object stored by the CAD software is the initial three-dimensional data.

[0019] In step S2, the processor performs a ray intersection calculation on the initial three-dimensional data using a plurality of virtual rays to generate a plurality of sets of intersection coordinates. In an embodiment, the ray intersection calculation is an application programming interface Pro SolidRay Intersection Compute in a tool kit of a CAD software Creo, but the present application is not limited thereto.

[0020] The plurality of virtual rays respectively have different directions. In an embodiment, the virtual rays have three directions. In detail, three mutually perpendicular basis vectors e1, e2, e3 are first determined. The basis vectors can be determined randomly. In an embodiment, two basis vectors e1 and e2 are randomly generated, and the basis vector e2 is adjusted to be perpendicular to the basis vector e1, and then the basis vector e3 is calculated according to the basis vectors e1 and e2. In an embodiment, among the three basis vectors used this time, at least one is different from the three basis vectors used when the three-dimensional data optimization method of an embodiment of the present application is performed for another three-dimensional object last time. In an embodiment, a rotation operation of a random direction is performed according to the known three mutually perpendicular basis vectors e1, e2, e3, thereby generating new three basis vectors e1', e2', e3'. In addition, an embodiment of the present application achieves the effect of avoiding systematic errors caused by conventional basis by not using the common xyz coordinate system as the basis vectors e1, e2, e3.

[0021] The processor respectively emits a plurality of virtual rays along the directions of the basis vectors e1, e2, e3, by scanning the three-dimensional object. Figure 3 is Figure 2 A schematic diagram of a three-dimensional object scanned by virtual rays of three basis vectors e1, e2, e3 respectively. Figure 4 is the result of integrating the three schematic diagrams in Figure 3 Figure 4 Presented with the basis vector origin as the reference coordinate origin. From Figure 4 , the shape of the three-dimensional object shown in Figure 2 is vaguely visible, but surrounded by noise points (parts protruding out of the three-dimensional object) of three directions.

[0022] In step S3, a clustering algorithm is performed on the plurality of groups of intersection point coordinates to exclude noise points in the plurality of groups of intersection point coordinates, and optimized three-dimensional data is generated based on the plurality of groups of intersection point coordinates after the noise points are excluded.

[0023] In an embodiment, the clustering algorithm is DBSCAN (Density-based spatial clustering of applications with noise). In an embodiment, the optimized three-dimensional data is a voxel.

[0024] DBSCAN is a clustering algorithm based on data point density. In space, the higher the point density in a region, the more likely it is to be divided into the same cluster, and the lower the density, the more likely it is to be considered as noise. Using DBSCAN can well solve the problem of noise satellite cloud. Figure 5 is a schematic diagram of noise points after using the clustering algorithm based on Figure 4 ,​Figure 6 is based on Figure 4 The result after separating the noise points is shown in the schematic diagram.

[0025] The following is an experimental result of the optimization method of three-dimensional data according to an embodiment of the present application:

[0026] Detected noise Not detected noise Noise 17840 5193 Non-noise 0 412

[0027] Accuracy = (17840 + 5193) / (17840 + 5193 + 0 + 412) = 98%

[0028] Recall = 17840 / (17840 + 412) = 97%

[0029] Precision = 17840 / (17840 + 0) = 100%

[0030] Noise judgment rate: (412 + 5193) / 5193 = 103%

[0031] The noise judgment rate of the intersection point coordinates filtered by the method of the present application is as high as 103%. This means that all noise points are correctly classified. Although 3% of the geometric integrity is sacrificed, the impact on the whole is very small. Therefore, the effect of the present application on the spline geometry entity is very good.

[0032] In an embodiment of the present application, a non-transitory computer readable medium is provided for storing a plurality of instructions for causing a plurality of operations when executed by a processor, the operations comprising: obtaining initial three-dimensional data corresponding to a three-dimensional object; performing a ray intersection calculation on the initial three-dimensional data using a plurality of virtual rays to generate a plurality of sets of intersection point coordinates, wherein the plurality of virtual rays have different directions respectively; and performing a clustering algorithm on the plurality of sets of intersection point coordinates to exclude noise points in the plurality of sets of intersection point coordinates, and generating optimized three-dimensional data based on the plurality of sets of intersection point coordinates after excluding noise points.

[0033] In an embodiment, the plurality of operations further comprise: randomly generating the plurality of directions, wherein at least one of the plurality of directions is different from the plurality of directions used in a previous execution of the ray intersection calculation. In an embodiment, the plurality of directions are perpendicular to each other. In an embodiment, the clustering algorithm is DBSCAN. In an embodiment, the optimized three-dimensional data is a voxel.

[0034] In summary, the three-dimensional data optimization method and the non-transient computer readable medium for executing the method can convert the three-dimensional model constructed by the computer-aided design software into high-quality three-dimensional data, and exclude the noise points caused by the software precision. The effect of the present application is to find the possible noise points and retain the correct three-dimensional data, which is helpful for the subsequent application program using the optimized three-dimensional data.

[0035] Although the present application is disclosed above with the foregoing embodiments, it is not intended to limit the present application. Any changes and modifications made without departing from the spirit and scope of the present application shall fall within the scope of the patent protection of the present application. For the scope of protection of the present application, please refer to the appended patent claims.

Claims

1. A method for optimizing three-dimensional data, comprising executing on a processor: Obtain the initial three-dimensional data corresponding to a three-dimensional object; Multiple virtual rays are used to perform a ray intersection calculation on the initial three-dimensional data to generate multiple sets of intersection coordinates, wherein the multiple virtual rays each have different multiple directions; and A clustering algorithm is performed on the multiple sets of intersection point coordinates to eliminate noise points in the multiple sets of intersection point coordinates, and optimized 3D data is generated based on the multiple sets of intersection point coordinates after eliminating the noise points.

2. The method for optimizing three-dimensional data according to claim 1 further includes: The directions are randomly generated, wherein at least one of the directions is different from the multiple directions used in the previous ray intersection calculation.

3. The method for optimizing three-dimensional data according to claim 1, wherein the directions are perpendicular to each other.

4. The method for optimizing three-dimensional data according to claim 1, wherein the clustering algorithm is DBSCAN.

5. The method for optimizing three-dimensional data according to claim 1, wherein the optimized three-dimensional data is a voxel.

6. A non-transitory computer-readable medium for storing a plurality of instructions, said instructions being executed by a processor to cause a plurality of operations, said operations including: Obtain the initial three-dimensional data corresponding to a three-dimensional object; Multiple virtual rays are used to perform a ray intersection calculation on the initial three-dimensional data to generate multiple sets of intersection coordinates, wherein each virtual ray has multiple different directions; and A clustering algorithm is performed on the multiple sets of intersection point coordinates to eliminate noise points in the multiple sets of intersection point coordinates, and optimized 3D data is generated based on the multiple sets of intersection point coordinates after eliminating the noise points.

7. The non-transitory computer-readable medium of claim 6, wherein the operation further comprises: The directions are randomly generated, wherein at least one of the directions is different from the multiple directions used in the previous ray intersection calculation.

8. The non-transient computer-readable medium of claim 6, wherein the directions are perpendicular to each other.

9. The non-transient computer-readable medium according to claim 6, wherein the clustering algorithm is DBSCAN.

10. The non-transient computer-readable medium of claim 6, wherein the optimized three-dimensional data is voxels.