Program, information processing device, and information processing method

The method addresses false positives in cylinder detection from point cloud data by verifying geometric consistency, enhancing accuracy and reliability for facility maintenance and digital twin construction.

JP7789447B1Active Publication Date: 2025-12-22BESTAT INC
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
JP2025120674
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2025-07-17
Publication Date
2025-12-22
Estimated Expiration
2045-07-17

AI Technical Summary

Technical Problem

Conventional methods for detecting cylindrical structures from point cloud data in noisy environments, such as plant facilities, suffer from high false positives due to measurement noise and proximity with other structures, leading to inaccurate cylinder detection.

Method used

A method involving data acquisition, candidate extraction, parameter calculation, point cloud re-extraction, and validity determination using statistical properties of geometric consistency between normal and axial vectors to verify the validity of cylinder candidates.

Benefits of technology

Significantly reduces false positives and enhances the accuracy and reliability of cylinder detection, even in noisy environments, improving the quality and efficiency of facility maintenance and digital twin construction.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007789447000001_ABST
    Figure 0007789447000001_ABST
Patent Text Reader

Abstract

This method reduces false positives of cylinder candidates extracted from point cloud data compared to when verification is not performed, improving the accuracy and reliability of cylinder detection. [Solution] An information processing device 1 extracts a cylinder candidate point cloud 122 from total point cloud data 121 and calculates its cylinder parameters 123. Next, the information processing device 1 re-extracts points within the area indicated by the calculated cylinder parameters 123 from the original total point cloud data 121 as a cylinder verification point cloud 124. The information processing device 1 then determines whether the cylinder candidate is valid based on a statistical property indicating the degree of geometric consistency between the normal vectors and the axial direction vectors in at least one of the cylinder candidate point cloud 122 and the cylinder verification point cloud 124.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present invention relates to a program, an information processing device, and an information processing method for detecting a cylindrical structure from three-dimensional point cloud data. [Background technology]

[0002] For the purpose of maintaining and renovating plant facilities, etc., the importance of technology that can automatically recognize cylindrical structures such as pipes and tanks from point cloud data measured by 3D laser scanners and generate 3D models is increasing.

[0003] For example, Patent Document 1 discloses a technology for identifying the three-dimensional positions of piping from point cloud data of a plant and generating an isometric drawing. This technology extracts candidates that are considered to be cross sections of piping from the point cloud and identifies the piping route by connecting their center lines.

[0004] Non-Patent Document 1 discloses a technique for detecting a cylinder from an unstructured point cloud. In this technique, the point cloud is projected in multiple candidate directions on a unit hemisphere, and a circular projection formed by the connected components in three-dimensional space is detected. Then, principal component analysis (PCA) is applied to the normal vectors of the candidate point cloud to refine the cylinder axis, and the cylinder is then fitted. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Patent No. 7690704 [Non-patent literature]

[0006] [Non-Patent Document 1] Abner MC Araujo, Manuel M. Oliveira, "Connectivity-based cylinder detection in unorganized point clouds" , Pattern Recognition, Volume 100, April 2020, 107161 Summary of the Invention [Problem to be solved by the invention]

[0007] However, the above-mentioned conventional technology had several issues, as follows: Point cloud data acquired from plant facilities and the like contains many outliers due to measurement noise and proximity or overlap with other structures. In such noisy environments, conventional methods had the problem of false positives, where planes or partial shapes of other structures were mistakenly detected as cylinders.

[0008] For example, the methods described in Patent Document 1 and Non-Patent Document 1 are effective in extracting cylindrical shape candidates, but there was a need for a more robust mechanism to verify whether the extracted candidates are actually cylindrical and to actively eliminate false positives.

[0009] The present invention aims to provide an information processing device, an information processing method, and a program that can reduce false detections of cylinder candidates extracted from point cloud data compared to when verification is not performed, and improve the accuracy and reliability of cylinder detection. [Means for solving the problem]

[0010] In one aspect, the present invention provides a program for causing a computer to execute the steps of: acquiring point cloud data representing the surface of an object in three-dimensional space, each point cloud data being associated with a position vector indicating a position and a normal vector indicating a normal to the surface; extracting a group of cylinder candidate points from the point cloud data; calculating cylinder parameters including the axial vector of the cylinder based on the extracted group of cylinder candidate points; re-extracting points located within a cylindrical region indicated by the calculated cylinder parameters from the point cloud data as a group of cylinder verification points; and determining whether the cylinder indicated by the cylinder parameters is valid based on statistical properties indicating the degree of geometric consistency between the normal vector and the axial vector in at least one of the group of cylinder candidate points and the group of cylinder verification points.

[0011] In one aspect, the present invention provides an information processing device comprising: a data acquisition unit that acquires point cloud data representing the surface of an object in three-dimensional space, each point cloud data being associated with a position vector indicating a position and a normal vector indicating a normal to the surface; a candidate extraction unit that extracts a cylinder candidate point cloud from the point cloud data; a parameter calculation unit that calculates cylinder parameters including an axial vector of the cylinder based on the extracted cylinder candidate point cloud; a point cloud re-extraction unit that re-extracts points located within a cylindrical area indicated by the calculated cylinder parameters from the point cloud data as a cylinder verification point cloud; and a validity determination unit that determines whether the cylinder indicated by the cylinder parameters is valid based on a statistical property that indicates the degree of geometric consistency between the normal vector and the axial vector in at least one of the cylinder candidate point cloud and the cylinder verification point cloud.

[0012] In one aspect, the present invention provides an information processing method executed by a computer, the information processing method including the steps of: acquiring point cloud data representing the surface of an object in three-dimensional space, each point cloud corresponding to a position vector indicating a position and a normal vector indicating a normal to the surface; extracting a cylinder candidate point cloud from the point cloud data; calculating cylinder parameters including an axial direction vector of the cylinder based on the extracted cylinder candidate point cloud; re-extracting points located within a cylindrical region indicated by the calculated cylinder parameters from the point cloud data as a cylinder verification point cloud; and determining whether the cylinder indicated by the cylinder parameters is valid based on statistical properties indicating the degree of geometric consistency between the normal vector and the axial direction vector in at least one of the cylinder candidate point cloud and the cylinder verification point cloud. [Brief explanation of the drawings]

[0013] [Figure 1] 1 is a diagram showing an example of the configuration of an information processing system 9 according to an embodiment of the present invention. [Figure 2] 1 is a block diagram showing an example of the hardware configuration of an information processing device 1 according to the present embodiment. [Figure 3] FIG. 2 is a diagram showing an example of the functional configuration of the information processing device 1. [Figure 4] FIG. 3 is a flowchart showing an example of the flow of operations of the information processing device 1. [Figure 5] FIG. 2 is a diagram showing an example of the data structure of point cloud data. [Figure 6] FIG. 10 is a conceptual diagram illustrating a candidate direction vector. [Figure 7] FIG. 10 is a diagram showing an example of a data structure of a cylinder parameter. [Figure 8] FIG. 1 is a diagram showing an example of a cylindrical object in three-dimensional space. [Figure 9] FIG. 10 is a diagram showing the principle of axis calculation using principal component analysis. [Figure 10] FIG. 1 is a perspective view illustrating the principle of point cloud re-extraction. [Figure 11]FIG. 10 is a cross-sectional view showing the geometric conditions for point cloud re-extraction. [Figure 12] 10 is a flow diagram illustrating an example of an operation for verifying the validity of a cylinder. [Figure 13] FIG. 10 is a flowchart showing an example of an operation for determining the validity of a cylinder in a modified example. DETAILED DESCRIPTION OF THE INVENTION

[0014] <Embodiment> <Configuration of information processing system> Unless otherwise specified, the coordinate system used in the following drawings is a right-handed Cartesian coordinate system consisting of mutually orthogonal x-, y-, and z-axes. Figure 1 illustrates an example of the configuration of an information processing system 9 according to an embodiment of the present invention. The information processing system 9 is a system for detecting cylindrical structures contained in an object, such as a plant facility, based on three-dimensional point cloud data acquired from the object. The object here includes, but is not limited to, plant facilities such as petrochemical plants and factories, as well as pipes and structures located in places that are difficult for people to access, such as underground utility conduits, building walls and ceilings, and large machinery and equipment. Furthermore, the present invention can accurately detect the existence and parameters of these cylindrical structures even when only a portion of their surface can be acquired as point cloud data. The system primarily comprises an information processing device 1 that executes the cylinder detection process according to the present invention; a surveying device 2 and a server device 4 that are external devices for acquiring point cloud data; and a communication line 3 connecting these devices.

[0015] The information processing device 1 is configured by, for example, a general-purpose personal computer or a dedicated server, and executes a cylinder detection process, which will be described later.

[0016] The surveying device 2 is a device such as a 3D laser scanner or LiDAR (Light Detection and Ranging) device that measures the three-dimensional shape of an object (body) existing in three-dimensional space and generates point cloud data. Note that the point cloud data used in the present invention is not limited to data directly acquired from such surveying devices. For example, it is also possible to convert 3D mesh data generated from multiple photographs into point cloud data by sampling its vertices and surfaces. The surveying device 2 is connected to the information processing device 1 via a communication line 3 or directly via an interface, and transmits the measured point cloud data.

[0017] The server device 4 is a computer equipped with a database and cloud storage constructed on a network, and stores point cloud data that has been measured and accumulated in the past. The information processing device 1 can access the server device 4 as needed and acquire the point cloud data.

[0018] The communication line 3 is a wired or wireless network, and includes, for example, a LAN (Local Area Network) or the Internet.

[0019] <Configuration of information processing device> 2 is a block diagram showing an example of the hardware configuration of an information processing device 1 according to this embodiment. The information processing device 1 is a device that detects cylindrical objects from point cloud data that represents the surfaces of objects in three-dimensional space, and is configured, for example, by a general-purpose computer. The information processing device 1 mainly includes a processor 11, a storage unit 12, an interface 13, an operation unit 14, and a display unit 15. These components are connected to each other so that they can communicate with each other, for example, by a bus.

[0020] The processor 11 reads and executes a computer program (hereinafter referred to as "program") stored in the storage unit 12, thereby controlling the overall operation of the information processing device 1. The processor 11 is not limited to a specific arithmetic device, and can be realized by various processing circuits, such as a CPU (Central Processing Unit), a GPU (Graphics Processing Unit), a DSP (Digital Signal Processor), or an SoC (System-on-a-Chip) that integrates the functions of these.

[0021] The interface 13 is a communication circuit for connecting the information processing device 1 to a communication line, an external device, or the like so that the information processing device 1 can communicate with each other via wire or wirelessly.

[0022] The storage unit 12 is a storage means for storing the operating system and various programs executed by the processor 11, as well as data used in processing. The storage unit 12 may include both a main storage device such as a random access memory (RAM) and an auxiliary storage device such as a solid state drive (SSD) or a hard disk drive (HDD). The storage unit 12 stores various data used in the processing of this embodiment, such as total point cloud data 121, a cylinder candidate point cloud 122, cylinder parameters 123, and a cylinder verification point cloud 124.

[0023] <Functional configuration of information processing device> Fig. 3 is a diagram illustrating an example of the functional configuration of the information processing device 1. By executing a program stored in the storage unit 12, the processor 11 of the information processing device 1 functions as a data acquisition unit 111, a candidate extraction unit 112, a parameter calculation unit 113, a point cloud re-extraction unit 114, a validity determination unit 115, and a cylinder integration unit 116, as shown in Fig. 3.

[0024] The data acquisition unit 111 acquires point cloud data from an external surveying device 2, server device 4, etc. (see FIG. 1) via the interface 13, and stores it in the storage unit 12 as total point cloud data 121. Therefore, this data acquisition unit 111 is an example of a data acquisition unit that acquires point cloud data that represents the surface of an object in three-dimensional space, and for each point cloud data, a position vector indicating the position and a normal vector indicating the normal to the surface are associated with each other.

[0025] The candidate extraction unit 112 reads all point cloud data 121 stored in the storage unit 12, extracts a cylinder candidate point cloud 122 that is a candidate for a cylinder from the entire point cloud data, and stores the extracted point cloud in the storage unit 12. Therefore, the candidate extraction unit 112 is an example of a candidate extraction unit that extracts a cylinder candidate point cloud from point cloud data.

[0026] The parameter calculation unit 113 reads the cylinder candidate point group 122 from the storage unit 12, calculates cylinder parameters 123 including the axial direction vector and radius of the cylinder based on the shape, and stores the calculated cylinder parameters in the storage unit 12. Therefore, the parameter calculation unit 113 is an example of a parameter calculation unit that calculates cylinder parameters including the axial direction vector of the cylinder based on the extracted cylinder candidate point group.

[0027] The point cloud re-extraction unit 114 reads the cylinder parameters 123 and the total point cloud data 121 from the storage unit 12. Then, the point cloud re-extraction unit 114 extracts points located within the cylindrical region indicated by the calculated cylinder parameters 123 from the total point cloud data 121, and stores the points as a cylinder verification point cloud 124 in the storage unit 12. Therefore, the point cloud re-extraction unit 114 is an example of a point cloud re-extraction unit that re-extracts points located within the cylindrical region indicated by the calculated cylinder parameters from the point cloud data as a cylinder verification point cloud.

[0028] The validity determination unit 115 reads out the cylinder candidate point cloud 122, the cylinder parameters 123, and the cylinder verification point cloud 124 from the storage unit 12. Then, using these, the validity determination unit 115 determines whether the cylinder candidate indicated by the cylinder parameters 123 is valid by, for example, comparing the statistical properties of the cylinder candidate point cloud 122 and the cylinder verification point cloud 124. The determination result is retained by, for example, updating the validity flag in the cylinder parameters 123.

[0029] The statistical property here refers to a property that indicates the degree of geometric consistency between the normal vectors of the point cloud and the axial vector included in the calculated cylinder parameters. Therefore, the validity determination unit 115 is an example of a validity determination unit that determines whether the cylinder indicated by the cylinder parameters is valid based on the statistical property that indicates the degree of geometric consistency between the normal vectors and the axial vectors in at least one of the cylinder candidate point cloud and the cylinder verification point cloud.

[0030] The cylinder integrating unit 116 reads out the parameters of the multiple cylinders determined to be valid from the cylinder parameters 123 in the storage unit 12 and evaluates the similarity between them. If there are similar cylinders that satisfy a predetermined condition, the cylinder integrating unit 116 performs a process of integrating the multiple cylinders into a single cylinder. Therefore, this cylinder integrating unit 116 is an example of a configuration that executes a step of integrating multiple cylinders determined to be valid into a single cylinder when the similarity calculated based on the respective cylinder parameters satisfies a predetermined condition.

[0031] <Operation of information processing device> 4 is a flow diagram showing an example of the flow of operations of the information processing device 1. First, the data acquisition unit 111 of the information processing device 1 acquires point cloud data to be processed (step S101). That is, step S101 is an example of a step of acquiring point cloud data that represents the surface of an object in three-dimensional space, and in which a position vector indicating the position and a normal vector indicating the normal to the surface are associated with each other.

[0032] Fig. 5 is a diagram showing an example of the data structure of point cloud data. As shown in Fig. 5, the acquired point cloud data is a collection of points representing the surface of an object in three-dimensional space, and each point is associated with a point ID for identifying that point, a position vector indicating that point's position, and a normal vector indicating the normal to the surface at that point. Note that this normal vector may already be associated with each point when the point cloud data is acquired, or it may be dynamically calculated by the information processing device 1 estimating a local plane based on the coordinate distribution of other points (neighboring point cloud) existing near each point and calculating a perpendicular line to that plane.

[0033] Next, the candidate extraction unit 112 sets multiple candidate direction vectors to comprehensively search for the orientation of the cylinder. FIG. 6 is a conceptual diagram illustrating candidate direction vectors. As shown in FIG. 6, the information processing device 1 assumes a unit hemisphere with a unit length radius and identifies multiple points on its surface. These points are arranged using, for example, a Fibonacci mapping algorithm so that the candidate direction vectors pointing from the origin to each point are spaced at approximately equal intervals on the hemisphere.

[0034] The candidate extraction unit 112 calculates the dot product of each candidate direction vector and the normal vector of each point included in the total point cloud data 121, and extracts points whose dot product is less than a predetermined threshold as primary point clouds (step S102).

[0035] Here, if the dot product of the candidate direction vector and the normal vector is less than a threshold, it means that the normal of the point indicated by the normal vector is approximately perpendicular to the candidate direction vector. Note that this process can be performed independently for each candidate direction vector, so it may be performed sequentially or by parallel processing using a multi-core processor, GPU, etc.

[0036] Next, the candidate extraction unit 112 identifies a set of points that satisfy a predetermined spatial condition, such as being close to each other, from the primary point cloud extracted in step S102 as a single "cylinder candidate point cloud 122" (step S103). In other words, steps S102 and S103 are examples of steps for extracting a cylinder candidate point cloud from point cloud data. Steps S102 and S103 are also examples of steps that include extracting a primary point cloud based on the relationship between multiple directional vectors and the normal vectors of points included in the point cloud data, and identifying a set of points that satisfy a predetermined spatial condition from the primary point cloud as a cylinder candidate point cloud.

[0037] Next, the parameter calculation unit 113 calculates the corresponding cylinder parameters 123 for each of the cylinder candidate point groups 122 identified in step S103 (step S104).

[0038] FIG. 7 is a diagram showing an example of the data structure of cylinder parameters. The cylinder parameters 123 calculated in step S104 include information for geometrically defining a cylinder. For example, as shown in FIG. 7, the cylinder parameters 123 are configured for each cylinder ID for identifying a cylinder, with parameter values ​​such as the center position vector, axial direction vector, inner and outer diameters, and height of the cylinder. Therefore, step S104 is an example of a step for calculating cylinder parameters including the axial direction vector of the cylinder based on the extracted cylinder candidate point group. Note that the cylinder parameters 123 may be stored in association with a validity flag, which is a flag indicating validity, for each cylinder ID, as shown in FIG. 7.

[0039] 8 is a diagram showing an example of a cylindrical object in a three-dimensional space. The cylinder parameters described in the cylinder parameter 123 represent cylindrical structures P1 to P5 of various orientations and sizes that exist in a plant facility or the like, as shown in FIG.

[0040] In particular, principal component analysis (PCA) is used to calculate the axial direction vector. Figure 9 is a diagram showing the principle of axis calculation using principal component analysis. Figure 9(a) shows how the projected shape changes depending on the relationship between the axis of the cylinder and the projection direction. With respect to the projection plane F shown in Figure 9(a), the true axis of the cylinder M1 coincides with the candidate direction vector d1 and is perpendicular to the projection plane F. In this case, the projected shape E1 of the cylinder M1 is a perfect circle.

[0041] On the other hand, the true axis d of the cylinder M2 is tilted with respect to the projection plane F. When the cylinder M2 is projected in this state, the projected shape E2 becomes an ellipse. When the projection becomes an ellipse due to the discreteness of the candidate direction vectors, there is a problem that the accuracy of circle detection decreases. This problem can be solved by refining the axes using principal component analysis, as shown in Figure 9(b).

[0042] Figure 9(b) shows a schematic diagram illustrating the principle of calculating the axial vector using principal component analysis. This diagram shows the state in which multiple normal vectors n contained in the cylinder candidate point cloud are arranged with their starting points all aligned with the origin. These normal vectors n are distributed in a circular (disk-like) shape on a single plane perpendicular to the true axis d of the cylinder.

[0043] If we perform a principal component analysis on these normal vectors, we find that the variance is greatest within the plane of the annulus, where the vectors point in many different directions, and the variance is smallest in the direction perpendicular to this plane, i.e., along the true axis d, where no vector has many components.

[0044] Therefore, by calculating the principal component direction with the smallest variance of the normal vector group, the true axial direction vector of the cylinder can be accurately estimated. That is, step S104 is an example of a step for calculating cylinder parameters, which includes applying principal component analysis to the normal vector group of multiple points included in the cylinder candidate point group, and calculating the principal component direction with the smallest variance as the axial direction vector.

[0045] Next, the point cloud re-extraction unit 114 extracts (re-extracts) a cylinder verification point cloud 124 based on the cylinder parameters 123 calculated in step S104 and the total point cloud data 121 (step S105).

[0046] Fig. 10 is a perspective view illustrating the principle of point cloud re-extraction. The cylinder M2a shown in this figure represents a volumetric region defined by confirmed cylinder parameters whose axis deviation has been corrected through the principal component analysis described in Fig. 9 and other processes. In other words, this cylinder M2a is a confirmed cylinder model obtained by refining the initial candidate cylinder M2 determined by the cylinder candidate point cloud 122 extracted through steps S102 and S103 using the cylinder parameters 123 calculated in step S104. In step S105, the point cloud re-extraction unit 114 extracts point x from all point cloud data present within the volumetric region of this cylinder M2a as a cylinder verification point cloud.

[0047] 11 is a cross-sectional view showing the geometric conditions for point cloud re-extraction. The point cloud re-extraction unit 114 determines whether each point x included in all point cloud data exists within the volumetric region of the cylinder M2a based on the following two conditions:

[0048] The first condition relates to the position of the point in the axial direction. First, the point cloud re-extraction unit 114 calculates the projection length p when a vector (xc) directed from point c on the center line of the cylinder to the target point x is orthogonally projected onto the axial direction vector d of the cylinder. This projection length p is calculated by the dot product (xc) · d. Then, the point cloud re-extraction unit 114 determines whether the absolute value of this projection length p is equal to or less than half (h / 2) of the height h of the cylinder. This comparison is performed because it is assumed in this embodiment that point c is located at the center of the cylinder in the height direction.

[0049] The second condition relates to the position of the point in the radial direction. The point cloud re-extraction unit 114 calculates the shortest distance from the target point x to the center line of the cylinder, i.e., the perpendicular distance. This perpendicular distance is calculated by the norm of a vector obtained by subtracting its axial component (pd) from a vector (xc). The point cloud re-extraction unit 114 then determines whether this perpendicular distance is between the inner radius r_m and the outer radius r_M of the cylinder.

[0050] The point cloud re-extraction unit 114 extracts all points x that satisfy both of the above conditions from the entire point cloud data 121 as points that belong to the cylinder verification point cloud 124. Therefore, step S105 is an example of a step of re-extracting points located within the cylindrical region indicated by the calculated cylinder parameters from the point cloud data as the cylinder verification point cloud.

[0051] Next, the validity determination unit 115 verifies the validity of the candidate cylinder using the cylinder verification point cloud 124 etc. (step S200). Fig. 12 is a flow diagram showing an example of the operation of verifying the validity of a cylinder.

[0052] The validity determination unit 115 first calculates statistics from the cylinder verification point cloud 124 (step S201). This statistics is, for example, the average value of the absolute values ​​of the dot products of the normal vectors of each point included in the cylinder verification point cloud 124 and the axial direction vectors included in the corresponding cylinder parameters 123. This average value serves as an index indicating how perpendicularly the normals of the verification point cloud are aligned overall with respect to the estimated axis.

[0053] Next, the validity determination unit 115 determines whether the statistics calculated in step S201 satisfy a predetermined criterion (step S202). This criterion is that "the calculated average value is less than a predetermined threshold value."

[0054] In step S202, if the statistics do not satisfy the criteria (step S202: NO), i.e., if the average absolute value of the dot products is equal to or greater than the threshold, the validity determining unit 115 determines that the cylinder candidate is invalid (step S203). This suggests a high possibility of a false positive, where the normals vary significantly and a noisy plane or other structure is mistakenly detected. On the other hand, if the statistics satisfy the criteria (step S202: YES), the cylinder candidate is determined to be valid, and the verification process ends. Therefore, step S202 is an example of a step in which, if the statistics calculated from the cylinder verification point cloud do not satisfy a predetermined criteria, the cylinder corresponding to the cylinder verification point cloud is determined to be invalid. Furthermore, step S202 is an example of a step in which, based on statistical properties indicating the degree of geometric consistency between the normal vectors and the axial direction vectors in the cylinder verification point cloud, the validity of the cylinder indicated by the cylinder parameters is determined.

[0055] After the verification of all candidate direction vectors is completed, the cylinder integration unit 116 determines whether there are any similar cylinders among the multiple cylinders determined to be valid in step S106 shown in Fig. 4 (step S106). Similar here means, for example, that the axial direction, radius, and position match within predetermined conditions.

[0056] If similar cylinders exist (step S106: YES), the cylinder integrating unit 116 performs a process of integrating them into a single cylinder (step S107). On the other hand, if similar cylinders do not exist (step S106: NO) or if the integration process is completed, the series of cylinder detection processes ends. Therefore, steps S106 and S107 are examples of steps of integrating multiple cylinders determined to be valid into a single cylinder when the similarity calculated based on the respective cylinder parameters satisfies a predetermined condition.

[0057] As described above, the information processing device 1 according to this embodiment can dramatically improve the accuracy of cylinder detection. In particular, the present invention provides a unique verification process in which, for a cylinder candidate that has been extracted once, a verification point cloud is re-extracted from the original point cloud using the candidate parameters, and the validity is determined based on the statistical properties of the re-extracted point cloud.

[0058] This verification process makes it possible to effectively reject false positives that mistakenly detect objects with low cylindrical resemblance, such as noisy planes or partial shapes of other structures. This enables robust detection even for point cloud data that contains a lot of measurement noise, and because it does not depend on a specific orientation or size, it demonstrates high versatility even in complex environments such as plant facilities.

[0059] As a result, reliable cylinder detection results with reduced false positives can be obtained, which can significantly improve the quality and efficiency of subsequent work such as facility maintenance planning, renovation design, or digital twin construction.

[0060] <Modification> The above is a description of the embodiment, but the contents of this embodiment can be modified as follows. In addition, the following modifications can be combined.

[0061] <Variation 1: Processor Configuration> In the above-described embodiment, the processor 11 is a CPU or a GPU, but may have other configurations. For example, the processor 11 may be or may include an FPGA (Field Programmable Gate Array). The processor 11 may also have an ASIC (Application Specific Integrated Circuit) or other programmable logic device. The information processing device 1 may also have multiple processors, multiple storage units, and multiple interfaces. The information processing device 1 may be, for example, a mobile terminal such as a smartphone or a slate PC. The information processing device 1 may also be, for example, a virtual machine realized by dynamic cooperation of multiple computing resources on a cloud via a communication line such as the Internet.

[0062] <Modification 2: Validity Determination Process> In the above-described embodiment, the validity determination process (S200) compares a single statistic calculated from the cylinder verification point cloud with a fixed threshold, but the determination method is not limited to this. Fig. 13 is a flow diagram showing an example of the operation for determining the validity of a cylinder in a modified example. In this modified example, the validity determination unit 115 determines the validity of a cylinder candidate by comparing the statistics of two point clouds, the "cylinder candidate point cloud" and the "cylinder verification point cloud," which should have different properties (S200a).

[0063] First, the validity determination unit 115 calculates statistics from the cylinder verification point cloud 124 (step S201). The validity determination unit 115 also calculates statistics from the cylinder candidate point cloud 122 (step S201a). Hereinafter, the statistics calculated from the cylinder candidate point cloud 122 will be referred to as the "first statistics." The statistics calculated from the cylinder verification point cloud 124 will be referred to as the "second statistics." These statistics may be, for example, the variance of the dot product of the normal vector and the axial direction vector in each point cloud. Note that the processing of steps S201 and S201a shown in FIG. 13 may be performed in reverse order or in parallel.

[0064] Next, the validity determination unit 115 compares the calculated first and second statistics and determines whether there is a predetermined or greater discrepancy between them (step S202a). This discrepancy can be determined, for example, by dividing the second statistics by the first statistics and calculating the ratio based on whether the ratio exceeds a predetermined threshold, as described in claim 3. If the shape is a true cylinder, the sparse candidate point cloud and the dense verification point cloud should have similar normal direction variances. On the other hand, in the case of a false positive, the verification point cloud contains many unrelated surrounding noise points, and its variance is significantly larger than that of the candidate point cloud. By detecting this discrepancy, the validity determination unit 115 effectively eliminates false positives. Therefore, the comparison of the two statistics in step S202a is an example of a comparison based on the ratio between the first and second statistics.

[0065] In step S202a, if a discrepancy of a predetermined value or more is found between the two statistics (step S202a: YES), the validity determination unit 115 determines that the cylinder candidate is invalid (step S203). On the other hand, if no discrepancy is found (step S202a: NO), the cylinder candidate is determined to be valid, and the verification process ends. Therefore, steps S202a and S203 are examples of steps that compare a first statistical value calculated from the cylinder candidate point cloud with a second statistical value calculated from the cylinder verification point cloud, and determine that the cylinder is invalid if a discrepancy of a predetermined value or more is found between the two. Furthermore, step S200 shown in FIG. 12 and step S200a shown in FIG. 13 are examples of steps that determine whether the cylinder indicated by the cylinder parameters is valid based on statistical properties that indicate the degree of geometric consistency between the normal vectors and the axial direction vectors in at least one of the cylinder candidate point cloud and the cylinder verification point cloud.

[0066] The validity determination process in this modified example also makes it possible to obtain highly reliable cylinder detection results in which false detections are suppressed.

[0067] <Modification 3: Effectiveness determination based on score ratio> In addition to the above-described embodiment and Modification 2, the validity determination unit 115 can also determine the validity of a cylinder candidate based on the ratio between the number of points in the cylinder candidate point cloud 122 and the number of points in the cylinder verification point cloud 124. In this approach, the validity determination unit 115 first calculates the ratio by dividing the "number of points in the cylinder verification point cloud" by the "number of points in the cylinder candidate point cloud." If this ratio exceeds a predetermined threshold, the cylinder candidate is determined to be invalid.

[0068] While the method of this modification has the advantage of being fast and low computational load, the robustness of the verification may not be sufficient compared to the statistical comparison method described in modification 2. This is because this method uses only a quantitative indicator, "the number of points omitted from the candidates," and therefore cannot distinguish qualitative differences, such as whether those points are "points with good properties that should have been included in the candidates but were omitted due to an error in initial extraction," or "totally unrelated noise points."

[0069] However, false positive candidates tend to have a significantly increased number of points in the verification point cloud. Therefore, the validity determination process of this modification can also effectively reject such false positive candidates. Therefore, the method of this modification 3 can also obtain highly reliable cylinder detection results with reduced false detections. [Explanation of symbols]

[0070] 1...information processing device, 11...processor, 111...data acquisition unit, 112...candidate extraction unit, 113...parameter calculation unit, 114...point cloud re-extraction unit, 115...validity determination unit, 116...cylinder integration unit, 12...storage unit, 121...total point cloud data, 122...cylinder candidate point cloud, 123...cylinder parameters, 124...cylinder verification point cloud, 13...interface, 14...operation unit, 15...display unit, 2...surveying device, 3...communication line, 4...server device, 9...information processing system, E1...projected shape, E2...projected shape, M1...cylinder, M2...cylinder, M2a...cylinder, P1 to P5...cylindrical structure, d1...candidate direction vector

Claims

1. On the computer, acquiring point cloud data representing a surface of an object in a three-dimensional space, each point cloud data being associated with a position vector indicating a position and a normal vector indicating a normal to the surface; extracting a group of cylinder candidate points from the point cloud data; calculating cylinder parameters including an axial vector of the cylinder based on the extracted group of cylinder candidate points; re-extracting points located within a cylindrical region indicated by the calculated cylinder parameters from the point cloud data as a cylinder verification point cloud; determining whether the cylinder indicated by the cylinder parameters is valid based on statistical properties indicating the degree of geometric consistency between the normal vectors and the axial direction vectors in the cylinder candidate point cloud and the cylinder verification point cloud or only in the cylinder verification point cloud; A program to execute.

2. the determining step includes comparing a first statistic calculated from the cylinder candidate point cloud with a second statistic calculated from the cylinder verification point cloud, and determining that the cylinder is invalid when a discrepancy equal to or greater than a predetermined value is found between the first statistic calculated from the cylinder candidate point cloud and the second statistic calculated from the cylinder verification point cloud.

2. The program according to claim 1 .

3. the first statistic and the second statistic are variances of dot products of the normal vector and the axial direction vector, respectively, and the comparison is performed based on a ratio of the first statistic to the second statistic.

3. The program according to claim 2.

4. the determining step includes determining that the cylinder is invalid when statistics calculated from the cylinder verification point cloud do not satisfy a predetermined determination criterion.

2. The program according to claim 1 .

5. The statistic is an average value of the absolute values ​​of the dot products of the normal vector and the axial direction vector, and the judgment criterion is that the average value is less than a predetermined threshold.

5. The program according to claim 4.

6. the step of extracting the cylinder candidate point group includes extracting a primary point group based on a relationship between a plurality of direction vectors and normal vectors of points included in the point group data, and identifying a set of points that spatially satisfy predetermined conditions from the primary point group as the cylinder candidate point group; 2. The program according to claim 1 .

7. the step of calculating the cylinder parameters includes applying principal component analysis to a group of normal vectors of a plurality of points included in the group of cylinder candidate points, and calculating a principal component direction with the smallest variance as the axial direction vector.

2. The program according to claim 1 .

8. a step of integrating the plurality of cylinders determined to be valid into a single cylinder when a similarity calculated based on the cylinder parameters of each of the plurality of cylinders determined to be valid satisfies a predetermined condition; The program according to any one of claims 1 to 7.

9. a data acquisition unit that acquires point cloud data representing a surface of an object in a three-dimensional space, each point cloud data being associated with a position vector indicating a position and a normal vector indicating a normal to the surface; a candidate extraction unit that extracts a cylinder candidate point group from the point cloud data; a parameter calculation unit that calculates cylinder parameters including an axial vector of the cylinder based on the extracted group of cylinder candidate points; a point cloud re-extraction unit that re-extracts points located within a cylindrical region indicated by the calculated cylinder parameters from the point cloud data as a cylinder verification point cloud; a validity determination unit that determines whether the cylinder indicated by the cylinder parameters is valid based on a statistical property that indicates the degree of geometric consistency between the normal vector and the axial direction vector in the cylinder candidate point cloud and the cylinder verification point cloud or only in the cylinder verification point cloud; An information processing device comprising:

10. 1. A computer-implemented information processing method, comprising: a step in which the computer acquires point cloud data representing a surface of an object in a three-dimensional space, each point cloud data being associated with a position vector indicating a position and a normal vector indicating a normal to the surface; extracting a cylinder candidate point cloud from the point cloud data by the computer; calculating, by the computer, cylinder parameters including an axial vector of a cylinder based on the extracted group of cylinder candidate points; a step of re-extracting points located within a cylindrical region indicated by the calculated cylinder parameters from the point cloud data as a cylinder verification point cloud; a step in which the computer determines whether the cylinder indicated by the cylinder parameters is valid based on a statistical property indicating the degree of geometric consistency between the normal vectors and the axial direction vectors in the cylinder candidate point cloud and the cylinder verification point cloud or only in the cylinder verification point cloud; An information processing method, including:

Citation Information

Patent Citations

  • Point group analysis processing apparatus, point group analysis processing method and program

    JP2014109555A

  • Point group analysis processing device and point group analysis processing program

    JP2014153336A

  • Information processing apparatus and information processing method

    JP7690704B1