Linear object detection device, linear object detection method, and linear object detection program
The linear object detection device accurately identifies linear objects by projecting point clouds onto a horizontal plane and filtering based on angle thresholds, addressing inaccuracies in high-density point cloud environments.
Patent Information
- Application Number
- JP2024536615
- Authority / Receiving Office
- JP · JP
- Patent Type
- Patents
- Current Assignee / Owner
- Filing Date
- 2022-07-26
- Publication Date
- 2025-11-12
- Estimated Expiration
- 2042-07-26
AI Technical Summary
Existing technologies struggle to accurately detect linear objects such as cables in high-density three-dimensional point clouds due to errors in point cloud coordinates, leading to inaccurate detection.
A linear object detection device and method that projects three-dimensional point clouds onto a horizontal plane, detects straight lines, extracts projection points within a predetermined distance, and calculates line segments with angles less than a threshold to identify linear objects.
Enables accurate detection of linear objects even in high-density point clouds by filtering noise and separating linear structures from other features.
Smart Images

Figure 0007768392000001 
Figure 0007768392000002 
Figure 0007768392000003
Abstract
Description
[Technical Field]
[0001] The disclosed technology relates to a linear object detection device, a linear object detection method, and a linear object detection program. [Background technology]
[0002] Conventionally, a technology (Mobile Mapping System: MMS) has been developed to create a 3D model of an outdoor structure using an on-board 3D laser scanner. For example, Patent Document 1 describes a technology in which a point cloud acquired during one rotation of the laser scanner is treated as a cluster called a scan line, and by detecting whether adjacent clusters are in a catenary shape, 3D model data representing a structure such as a cable is created. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] Patent No. 6531051 Summary of the Invention [Problem to be solved by the invention]
[0004] However, in the technology described in Patent Document 1, if an error occurs in the point cloud coordinates in a high-density point cloud, for example, when the intervals between scan lines of a laser scanner are short, the error may cause the line to not be determined as a catenary line. As a result, there is a problem that linear objects such as cables cannot be detected with high accuracy.
[0005] The disclosed technology has been made in consideration of the above points, and aims to provide a linear object detection device, a linear object detection method, and a linear object detection program that can accurately detect linear objects even when the three-dimensional point cloud representing the three-dimensional coordinates is high density. [Means for solving the problem]
[0006] A first aspect of the present disclosure is a linear object detection device comprising: a line detection unit that projects a three-dimensional point cloud representing the three-dimensional coordinates of points on the surface of a structure onto a horizontal plane to generate a projection point cloud, detects straight lines based on the two-dimensional coordinates of the projection point cloud on the horizontal plane, and extracts projection points within a predetermined distance from the detected straight lines from the projection point cloud; and an extraction unit that calculates multiple line segments connecting each of the three-dimensional points included in the three-dimensional point cloud corresponding to the extracted projection point cloud, and extracts a set of three-dimensional points of the line segments whose angles with the horizontal plane are equal to or smaller than a predetermined angle as a three-dimensional point cloud constituting the linear object.
[0007] A second aspect of the present disclosure is a linear object detection method, in which a line detection unit projects a three-dimensional point cloud representing the three-dimensional coordinates of points on the surface of a structure onto a horizontal plane to generate a projection point cloud, detects straight lines based on the two-dimensional coordinates of the projection point cloud on the horizontal plane, and extracts projection points within a predetermined distance from the detected straight lines from the projection point cloud, and an extraction unit calculates multiple line segments connecting each of the three-dimensional points included in the three-dimensional point cloud corresponding to the extracted projection point cloud, and extracts a set of three-dimensional points of the line segments whose angles with the horizontal plane are less than or equal to a predetermined angle as the three-dimensional point cloud constituting the linear object.
[0008] A third aspect of the present disclosure is a linear object detection program for causing a computer to function as each part of the linear object detection device of the first aspect. [Effects of the Invention]
[0009] According to the disclosed technology, linear objects can be detected with high accuracy even if the three-dimensional point cloud representing three-dimensional coordinates has a high density. [Brief explanation of the drawings]
[0010] [Figure 1] FIG. 1 is a configuration diagram illustrating an example of a configuration of a linear object model generation system according to an embodiment. [Figure 2] 1 is a schematic diagram illustrating an example of a detection target by a linear object detection device according to an embodiment. [Figure 3]FIG. 1 is a schematic diagram illustrating an example of a hardware configuration of a linear object detection device according to an embodiment. [Figure 4] 1 is a block diagram illustrating an example of a functional configuration of a linear object detection device according to an embodiment. [Figure 5] FIG. 1 is a schematic diagram illustrating an example of a three-dimensional point cloud of a roadside tree having a missing portion according to an embodiment. [Figure 6] FIG. 10 is a diagram for explaining a process performed by an exclusion unit. [Figure 7] FIG. 10 is a diagram for explaining a process performed by an exclusion unit. [Figure 8] 10A and 10B are diagrams for explaining processing performed by a line detection unit. [Figure 9] 10A and 10B are diagrams for explaining processing performed by a line detection unit. [Figure 10] FIG. 10 is a diagram for explaining a process performed by an extraction unit. [Figure 11A] FIG. 10 is a diagram for explaining a process performed by an extraction unit. [Figure 11B] FIG. 10 is a diagram for explaining a process performed by an extraction unit. [Figure 12] FIG. 10 is a diagram for explaining a process performed by an extraction unit. [Figure 13] 10A and 10B are diagrams for explaining processing performed by a linear object model generating unit. [Figure 14] 10A and 10B are diagrams for explaining processing performed by a linear object model generating unit. [Figure 15] 10A and 10B are diagrams for explaining processing performed by a linear object model generating unit. [Figure 16] 10 is a flowchart illustrating an example of a linear object detection process in the linear object detection device according to the embodiment. [Figure 17] FIG. 2 is a diagram illustrating an example of a linear object model generated by the linear object detection device according to the embodiment. DETAILED DESCRIPTION OF THE INVENTION
[0011] An example of an embodiment of the disclosed technology will be described below with reference to the drawings. Note that the same or equivalent components and parts in each drawing are given the same reference numerals. Also, the dimensional proportions in the drawings are exaggerated for the convenience of explanation and may differ from the actual proportions.
[0012] First, an example of the configuration of a linear object model generation system 1 according to the technology of this embodiment will be described. As shown in Fig. 1, the linear object model generation system 1 according to this embodiment includes a point cloud measurement instrument 20 and a linear object detection device 30. The point cloud measurement instrument 20 and the linear object detection device 30 are connected via a network 9 by wired communication or wireless communication.
[0013] The point cloud measuring device 20 includes a scanner 22, a storage medium 24, and a communication I / F (Interface) 26. The scanner 22 is a three-dimensional laser scanner that scans the surface of a structure with a laser to obtain three-dimensional (X, Y, Z) coordinates of points on the surface of the structure as point cloud data.
[0014] The point cloud data acquired by the scanner 22 is stored in a non-transitory storage medium, that is, a storage medium 24. Examples of the storage medium 24 include a USB (Universal Serial Bus) memory, an HDD (Hard Disk Drive), and an SSD (Solid State Drive).
[0015] The communication I / F 26 communicates various data such as point cloud data stored in the storage medium 24 with the linear object detection device 30 via the network 9 by wired communication or wireless communication.
[0016] For example, the scanner 22 of the point cloud measuring device 20 acquires point cloud data representing the three-dimensional coordinates of points on the surfaces of the utility poles 101-103 and the cables 121-124 shown in Fig. 2 by using a laser. Note that, hereinafter, when the utility poles 101-103 are referred to collectively without distinguishing between them, the reference numerals 1-3 used to distinguish between them will be omitted, and they will simply be referred to as utility pole 10. Similarly, when the cables 121-124 are referred to collectively without distinguishing between them, the reference numerals 1-4 used to distinguish between them will be omitted, and they will simply be referred to as cable 12. The scanner 22 of this embodiment is capable of measuring, for example, one rotation (360°) with the vertical direction, which is the Z-axis direction in Fig. 2, as the scan line.
[0017] The linear object detection device 30 is a device that extracts a three-dimensional point cloud that constitutes a linear object among structures from the point cloud data acquired by the scanner 22 of the point cloud measuring device 20 and stored in the storage medium 24, and generates a linear object model that represents the linear object.
[0018] The hardware configuration of the linear object detection device 30 of this embodiment will be described. As shown in Fig. 3, the linear object detection device 30 includes a CPU (Central Processing Unit) 31, a ROM (Read Only Memory) 32, a RAM (Random Access Memory) 33, a storage 34, a display unit 37, and a communication I / F 38. Each component is connected to each other so as to be able to communicate with each other via a bus 39 such as a system bus or a control bus.
[0019] The CPU 31 is a central processing unit, and executes various programs such as a linear object detection program 35 stored in a storage 34, and controls each part.
[0020] The ROM 32 stores various programs and various data to be executed by the CPU 31. The RAM 33 temporarily stores programs or data as a work area when the CPU 31 executes the various programs. That is, the CPU 31 reads a program from the storage 34 and executes the program using the RAM 33 as a work area.
[0021] The storage 34 of this embodiment stores a linear object detection program 35. The linear object detection program 35 may be a single program or a group of programs made up of multiple programs or modules. The storage 34 is configured with an HDD or SSD. The storage 34 also stores various programs including an operating system and various data (neither of which is shown). The storage 34 also stores a linear object model 36 generated by executing the linear object detection program 35.
[0022] The display unit 37 displays a linear object model and various information. The display unit 37 is not particularly limited, and various displays may be used.
[0023] The communication I / F 38 is an interface for communicating with the point cloud measuring instrument 20 via the network 9, and uses standards such as Ethernet (registered trademark), FDDI, and Wi-Fi (registered trademark).
[0024] Next, a description will be given of the functional configuration of the linear object detection device 30. As shown in Fig. 4, the linear object detection device 30 includes a reading unit 40, a parameter setting unit 42, a linear object model calculation unit 44, a storage control unit 46, and a display control unit 48. The CPU 31 executes the linear object detection program 35 stored in the storage 34, causing the CPU 31 to function as the reading unit 40, the parameter setting unit 42, the linear object model calculation unit 44, the storage control unit 46, and the display control unit 48.
[0025] The reading unit 40 reads the point cloud data stored in the storage medium 24 of the point cloud measuring device 20 via the network 9. The reading unit 40 outputs the read point cloud data to the linear object model calculation unit 44. Fig. 5 shows an example of a group of 3D points 14 read by the reading unit 40. The following describes, as an example, a case where the reading unit 40 reads the group of 3D points 14 shown in Fig. 5.
[0026] The parameter setting unit 42 stores various parameters used when the linear object model calculation unit 44 calculates a linear object model, and outputs the parameters to the linear object model calculation unit 44 .
[0027] The linear object model calculation unit 44 includes an exclusion unit 50 , a line detection unit 52 , an extraction unit 54 , and a linear object model generation unit 56 .
[0028] The exclusion unit 50 excludes 3D points that can be considered to be points on the surface of a structure other than the linear object to be detected from the 3D point cloud represented by the point cloud data read by the reading unit 40 (hereinafter referred to as the 3D point cloud read by the reading unit 40). As an example, the linear object detection device 30 of this embodiment detects a cable 12 as a linear object. Therefore, the exclusion unit 50 excludes 3D points that can be considered to be points on the surface of the utility poles 101 to 103 from the 3D point cloud read by the reading unit 40.
[0029] Specifically, if the vertical length of a partial point group consisting of multiple three-dimensional points 14 arranged in a vertical direction (Z-axis direction in the figure) that intersects with a horizontal plane (corresponding to the XY plane in the figure) and whose spacing between the three-dimensional points 14 is less than a predetermined spacing is greater than a predetermined length, the exclusion unit 50 excludes the three-dimensional points included in the partial point group from the targets to be projected onto the horizontal plane.
[0030] The processing performed by the exclusion unit 50 will be described in detail with reference to FIGS. 6 and 7. First, as shown in FIG. 6, the exclusion unit 50 groups, from the acquired group of 3D points 14, 3D points 14 arranged in the vertical direction (the Z-axis direction in FIG. 6) whose spacing between the 3D points 14 is equal to or less than a predetermined spacing, to form partial point groups. In this embodiment, the scan line of the scanner 22 extends in the vertical direction. Therefore, this processing corresponds to grouping the 3D points 14 from the group of 3D points 14 according to the scan line. In the example shown in FIG. 6, two partial point groups 60 are formed from the group of 3D points 14 corresponding to utility pole 101, and two partial point groups 60 are formed from the group of 3D points 14 corresponding to utility pole 102. Furthermore, seven partial point groups 60 are formed from the group of 3D points 14 corresponding to cable 121, seven partial point groups 60 are formed from the group of 3D points 14 corresponding to cable 122, and seven partial point groups 60 are formed from the group of 3D points 14 corresponding to cable 123. Furthermore, four partial point groups 60 are formed from the group of 3D points 14 corresponding to cable 124.
[0031] Next, the exclusion unit 50 detects, for each partial point group 60, whether the vertical length 62 of the partial point group is equal to or greater than a predetermined length. Generally, the vertical length 62 of a utility pole 10 is longer than that of a cable 12. Therefore, a threshold length for distinguishing between the cable 12 and the utility pole 10 is determined in advance as a predetermined length. If the vertical length 62 of the partial point group 60 is equal to or greater than the predetermined length, the exclusion unit 50 determines that the 3D points 14 included in the partial point group 60 are 3D points 14 corresponding to the utility pole 10. Therefore, the exclusion unit 50 excludes these 3D points 14 from a group of 3D points 14 that are candidates for the cable 12 (hereinafter referred to as a candidate point group) and does not use them in subsequent processing. In other words, if the vertical length 62 of the partial point group 60 is less than the predetermined length, the exclusion unit 50 determines that the 3D points 14 included in the partial point group 60 are 3D points 14 corresponding to the cable 12, and sets them as a candidate point group for use in subsequent processing. The predetermined length used as the threshold value here is set in the parameter setting unit 42.
[0032] In this way, by excluding 3D points 14 included in the partial point cloud 60 whose vertical length 62 is equal to or greater than a predetermined length, it is possible to exclude from the candidate point cloud not only utility poles 10 but also 3D points 14 on the surface of walls, the ground, etc. This reduces the processing load required for subsequent processing. Note that when 3D points 14 on the surface of walls, the ground, etc. are excluded from the candidate point cloud, the above-mentioned predetermined length may be set appropriately.
[0033] The exclusion unit 50 also excludes 3D points 14 that exist at or below a given height from the candidate point cloud. As described above, in this embodiment, the detection target is the cable 12, which is laid at a relatively high position (approximately 5 m or higher). Therefore, the exclusion unit 50 excludes 3D points 14 that exist at a low position, such as near the ground, from the candidate point cloud. Specifically, the exclusion unit 50 excludes 3D points 14 whose Z coordinate value is less than a threshold value from the candidate point cloud. This reduces the processing load required for subsequent processing and shortens the processing time. Note that even if the Z coordinate value of a 3D point 14 is the same, the height in real space of the 3D point 14 differs depending on the location of the scanner 22. For example, even if the Z coordinate value of the 3D point 14 is 0, the height in real space of the 3D point 14 will differ depending on whether the scanner 22 is located near the ground surface or on a tripod. Therefore, the given height used here varies depending on the vertical position of the scanner 22, i.e., the height.
[0034] Furthermore, the exclusion unit 50 groups candidate point groups whose distance between the partial point groups 60 is equal to or less than a predetermined distance into the same group, as shown in Fig. 7. In the example shown in Fig. 7, the exclusion unit 50 groups the candidate point groups into group 641 including the partial point groups 60 corresponding to cables 121 to 123 and group 642 including the partial point group 60 corresponding to cable 124.
[0035] The exclusion unit 50 outputs information on the candidate points grouped into the group 64 to the line detection unit 52 .
[0036] The straight line detection unit 52 projects the candidate point group onto a horizontal plane (corresponding to the XY plane in the figure) to obtain a projected point group, detects a straight line based on the two-dimensional coordinates of the projected point group on the horizontal plane, and extracts projected points within a predetermined distance from the detected straight line from the projected point group to obtain a candidate point group.
[0037] Specifically, as shown in FIG. 8 , the line detection unit 52 converts the 3D points 14 into projected points 15 by projecting the candidate point group onto a horizontal plane (the XY plane in FIG. 8 ). Therefore, the projected points 15 are points that exist on the XY plane, and have a Z-axis coordinate value of 0. Furthermore, the line detection unit 52 performs line detection for the projected points 15 in units of groups 64. The method by which the line detection unit 52 detects lines from the projected points 15 is not particularly limited, and for example, a known Hough transform may be used. In the example shown in FIG. 8 , lines 661 and 662 are detected from the projected points 15 corresponding to the 3D points 14 included in group 641 (see FIG. 7 ). This separates the branch cable 12. Specifically, the branch cable 12 is separated into cables 121, 122, and 123. Cables 12 that are laid in the same direction but have different heights (positions in the Z-axis direction), such as cables 121 and 122, are not separated by this process.
[0038] Next, the line detection unit 52 excludes detected lines (lines 661 and 662 in FIG. 8) that are equal to or shorter than an arbitrary length. The candidate point group may include, for example, 3D points 14 corresponding to trees and the like in addition to the 3D points 14 corresponding to the cable 12. In this case, a line 66 is detected according to the projection points 15 corresponding to the trees and the like. Trees and the like are often relatively short compared to the cable 12. Therefore, the line 66 corresponding to the projection points 15 corresponding to the trees and the like is shorter than the line 66 (lines 661 and 662 in FIG. 8) corresponding to the projection points 15 corresponding to the cable 12. Therefore, the lines 66 that are shorter than an arbitrary length are excluded, and the projection points 15 included in the line 66 are excluded from the candidate point group.
[0039] 9, the line detection unit 52 extracts the projection points 15 within a predetermined distance from the detected line 66 from the group of projection points 15. In other words, the line detection unit 52 extracts the projection points 15 that exist within an area of width H centered on the line 66. This results in the projection points 15 being grouped according to each line 66. This process makes it possible to exclude from the group of candidate projection points projection points 15 that exist as noise and projection points 15 that correspond to other structures such as trees and utility poles 10 adjacent to the cable 12.
[0040] The line detection unit 52 outputs a group of projection points 15 made up of the extracted projection points 15 to the extraction unit 54 as a group of candidate points.
[0041] The extraction unit 54 calculates multiple line segments connecting each of the three-dimensional points 14 included in the three-dimensional point group corresponding to the extracted group of projection points 15, and extracts a set of three-dimensional points 14 of the line segments whose angle with the horizontal plane (corresponding to the XY plane in the figure) is less than a predetermined angle as a group of three-dimensional points 14 that make up the cable 12.
[0042] The operation of the extraction unit 54 will be specifically described using, as an example, a group of projection points 15 included in a group corresponding to a straight line 661. The group of projection points 15 included in the group corresponding to the straight line 661 includes a plurality of projection points 15 corresponding to a cable 121 and a plurality of projection points 15 corresponding to a cable 122. As shown in Fig. 10, the extraction unit 54 detects a partial point group 60 to which a group of 3D points 14 corresponding to the extracted group of projection points 15 belongs, and performs coordinate transformation on the coordinates of each of the 3D points 14 included in the detected partial point group 60 so that the straight line 66 is parallel to the X-axis.
[0043] The extraction unit 54 also calculates a plurality of line segments connecting the 3D points 14 included in the 3D point group made up of the 3D points 14 whose coordinates have been converted. The extraction unit 54 then calculates the angle between the calculated line segment and the X-axis, in other words, the angle between the line segment and a horizontal plane (corresponding to the XY plane). The extraction unit 54 then connects the 3D points 14 of the line segment whose calculated angle is equal to or smaller than a predetermined angle.
[0044] In other words, the extraction unit 54 determines whether or not the line segment obtained by connecting each of the three-dimensional points 14 is parallel to the straight line 661 (see FIG. 9).
[0045] For example, in the example shown in FIG. 11A, the angle between the X axis and the line segment 671 connecting the 3D point 141 and the 3D point 142 is a predetermined angle or less. The angle between the X axis and the line segment 672 connecting the 3D point 141 and the 3D point 143 is a predetermined angle or less. Therefore, the 3D point 141 is connected to the 3D point 142 and the 3D point 143. On the other hand, the angle between the 3D point 141 and the 3D point 143 is not a predetermined angle or less. 11 The angle formed by the line segment 673 connecting the three-dimensional point 141 and the X-axis exceeds a predetermined angle. 12 The angle formed by the line segment 674 connecting the three-dimensional point 141 and the X-axis exceeds a predetermined angle. 11 and 3D point 14 12 It is not connected to.
[0046] Also, for example, in the example shown in FIG. 11B, the angle formed by the line segment 675 connecting the 3D point 143 and the 3D point 144 and the X axis is a predetermined angle or less. The angle formed by the line segment 676 connecting the 3D point 143 and the 3D point 145 and the X axis is a predetermined angle or less. The angle formed by the line segment 677 connecting the 3D point 143 and the 3D point 146 and the X axis is a predetermined angle or less. Therefore, the 3D point 143 is connected to the 3D point 144, the 3D point 145, and the 3D point 146. On the other hand, the angle formed by the line segment 676 connecting the 3D point 143 and the 3D point 145 and the X axis is a predetermined angle or less. 11 The angle formed by the line segment 678 connecting the three-dimensional point 143 and the X-axis exceeds a predetermined angle. 12 The angle formed by the line segment 679 connecting the three-dimensional points 143 and 144 and the X-axis exceeds a predetermined angle. 11 and 3D point 14 12 It is not connected to.
[0047] Furthermore, the extraction unit 54 detects the group of 3D points 14 connected by the above process as a set of 3D points 14 (hereinafter referred to as a linear object set) corresponding to the cable 12 (linear object) to be detected. In the example shown in Fig. 12, a linear object set 68A and a linear object set 68B are detected. The group of 3D points 14 included in the linear object set 68A is a point group corresponding to the cable 121, and the group of 3D points 14 included in the linear object set 68B is a point group corresponding to the cable 122.
[0048] In this way, the extractor 54 separates groups of 3D points 14 corresponding to cables 12 that are oriented in the same direction but at different heights.
[0049] For each extracted linear object set 68, the extraction unit 54 extracts the three-dimensional points 14 included in the linear object set 68 as a group of three-dimensional points 14 that make up the cable 12, and outputs them to the linear object model generation unit 56.
[0050] The linear object model generation unit 56 performs principal component analysis on the group of three-dimensional points 14 extracted by the extraction unit 54, derives a first principal component axis, and generates a linear object model representing the cable 12 using the intersection of a plane (corresponding to the YZ plane) perpendicular to the derived first principal component axis and the line segments connecting the three-dimensional points 14.
[0051] 13, the linear object model generation unit 56 performs principal component analysis for each linear object set 68 to calculate first principal component axes 69. Then, the linear object model generation unit 56 performs coordinate transformation so that each of the calculated first principal component axes 69 becomes parallel to the X-axis.
[0052] 14, the linear object model generation unit 56 sets a plurality of YZ planes 70 spaced apart at regular intervals in the X-axis direction. Furthermore, as shown in Fig. 15, the linear object model generation unit 56 derives intersections 80 between line segments connecting the three-dimensional points 14 and the YZ planes 70. In the example shown in Fig. 15, the linear object model generation unit 56 derives, for the YZ plane 701, coordinates of an intersection 801 with the line segment connecting the three-dimensional point 141 and the three-dimensional point 142, an intersection 802 with the line segment connecting the three-dimensional point 141 and the three-dimensional point 143, an intersection 803 with the line segment connecting the three-dimensional point 145 and the three-dimensional point 142, and an intersection 804 with the line segment connecting the three-dimensional point 145 and the three-dimensional point 143.
[0053] When multiple intersections 80 are derived for one YZ plane 70, the linear object model generation unit 56 approximates a circle using the coordinates of each intersection 80 as shown in Fig. 15, and derives the center and radius of the circle. This process obtains the three-dimensional coordinates of the cable 12.
[0054] Furthermore, the linear object model generating unit 56 generates a linear object model 36 representing the cable 12 by connecting the derived intersection points 80 for each linear object set 68 in ascending order of the X coordinate value.
[0055] The storage control unit 46 stores the generated linear object model 36 in the storage 34. The display control unit 48 causes the display unit 37 to display the linear object model 36.
[0056] Next, the operation of the linear object detection device 30 will be described.
[0057] Fig. 16 shows a flowchart of an example of linear object detection processing executed by the linear object detection device 30 of this embodiment. The linear object detection device 30 executes the linear object detection processing shown in Fig. 16 by executing a linear object detection program 35 stored in the storage 34. Note that the linear object detection processing shown in Fig. 16 is executed at a predetermined timing, such as when an execution instruction is received from a user.
[0058] In step S100 of FIG. 16, the reading unit 40 reads the point cloud data stored in the storage medium 24 of the point cloud measuring instrument 20 via the network 9, as described above.
[0059] In the next step S102, the exclusion unit 50 groups, as described above, the multiple 3D points 14 arranged in the vertical direction into a partial point group consisting of 3D points 14 whose spacing between each other is less than a predetermined spacing (see Figure 6).
[0060] In the next step S104, the exclusion unit 50 excludes from the candidate point group the 3D points 14 included in the partial point group whose vertical length 62 is equal to or greater than a predetermined length, as described above (see FIGS. 6 and 7).
[0061] In the next step S106, the exclusion unit 50 excludes the 3D points 14 that exist at or below an arbitrary height from the candidate point group, as described above.
[0062] In the next step S108, the exclusion unit 50 groups candidate points whose distance between the partial point groups 60 is equal to or less than an arbitrary distance into the same group 64 (see FIG. 7), as described above.
[0063] In the next step S110, the line detection unit 52 projects the candidate point group onto a horizontal plane, as described above, and detects a line 66 for the projected points 15 in units of groups 64 (see FIG. 8).
[0064] In the next step S112, the line detection unit 52 excludes, from the detected lines 66, those that are equal to or shorter than an arbitrary length, as described above.
[0065] In the next step S114, the line detection unit 52 extracts the projection points 15 within a predetermined distance from the detected line 66, as described above (see FIG. 9).
[0066] In the next step S116, the extraction unit 54 detects the partial point group 60 to which the group of 3D points 14 corresponding to the group of extracted projection points 15 belongs, as described above.
[0067] In the next step S118, the extraction unit 54 performs coordinate transformation on the coordinates of the group of 3D points 14 included in the detected partial point group 60 so that the straight line 66 is parallel to the X axis, as described above (see FIG. 10).
[0068] In the next step S120, the extraction unit 54 calculates the angle between the X-axis and the line segment 67 connecting each of the 3D points 14 included in the group of 3D points 14 consisting of the coordinate-transformed 3D points 14, as described above (see Figures 11A and 11B).
[0069] In the next step S122, the extraction unit 54 connects the 3D points 14 of the line segments 67 whose angles with respect to the X axis are equal to or smaller than a predetermined angle, as described above (see FIGS. 11A and 11B).
[0070] In the next step S124, as described above, the extraction unit 54 detects the group of connected 3D points 14 as a linear object set 68. As shown in Fig. 12, a linear object set 68 is detected for each linear object to be detected (cable 12 in this embodiment).
[0071] In the next step S126, the linear object model generating unit 56 performs principal component analysis for each linear object set 68 as described above, and derives a first principal component axis 69 (see FIG. 13).
[0072] In the next step S128, the linear object model generating unit 56 performs coordinate transformation so that the first principal component axis 69 becomes parallel to the X axis, as described above (see FIG. 13).
[0073] In the next step S130, the linear object model generation unit 56 sets YZ planes 70 spaced at regular intervals as described above, and calculates the intersection 80 between the YZ planes 70 and the line segment connecting the projection point 15 (see Figures 14 and 15).
[0074] In the next step S132, the linear object model generating unit 56 generates the linear object model 36 by connecting the intersections 80 in ascending order of the X coordinate, as described above.
[0075] In the next step S134, the storage control unit 46 stores the linear object model 36 in the storage 34 as described above.
[0076] In the next step S136, the display control unit 48 displays the linear object model 36 on the display unit 37 as described above. When the processing of step S136 ends, the linear object detection processing shown in Fig. 16 ends. Fig. 17 shows an example of a linear object model 36 generated from a group of 3D points 14 by the linear object detection device 30 of this embodiment. Fig. 17 shows that the linear object detection device 30 of this embodiment can detect linear objects with high accuracy.
[0077] As described above, the linear object detection device 30 of this embodiment projects a group of 3D points 14 representing the three-dimensional coordinates of points on the surface of a structure onto a horizontal plane to generate a group of projection points 15, detects a straight line 66 based on the two-dimensional coordinates of the group of projection points 15 on the horizontal plane, and extracts from the group of projection points 15 those projection points 15 that are within a predetermined distance from the detected straight line 66. The linear object detection device 30 also calculates a plurality of line segments 67 connecting between the 3D points 14 included in the group of 3D points 14 corresponding to the extracted group of projection points 15, detects a set of 3D points 14 on the line segments 67 that form an angle with the horizontal plane that is equal to or smaller than a predetermined angle as a linear object set 68, and extracts the group of 3D points 14 included in the detected linear object set 68 as a group of 3D points 14 constituting the linear object.
[0078] In this way, in the linear object detection device 30 of this embodiment, linear objects are detected based on projection points 15 obtained by projecting three-dimensional points 14 having three-dimensional coordinates onto a horizontal plane (XY plane), so that linear objects can be detected with high accuracy even if the three-dimensional point cloud representing the three-dimensional coordinates is dense.
[0079] Furthermore, the various processes executed by the CPU after reading software (programs) in the above embodiments may be executed by various processors other than the CPU. Examples of such processors include programmable logic devices (PLDs) such as field-programmable gate arrays (FPGAs), whose circuit configuration can be changed after manufacture, and dedicated electrical circuits such as application-specific integrated circuits (ASICs), which are processors having circuit configurations specifically designed to execute specific processes. The position estimation process may be executed by one of these various processors, or by a combination of two or more processors of the same or different types (e.g., multiple FPGAs, or a combination of a CPU and an FPGA). The hardware structure of these various processors is, more specifically, an electrical circuit that combines circuit elements such as semiconductor devices.
[0080] In addition, in each of the above embodiments, the linear object detection program 35 is described as being pre-stored (installed) in the storage 34, but this is not limiting. The linear object detection program 35 may be provided in a form stored in a non-transitory storage medium such as a CD-ROM (Compact Disk Read Only Memory), a DVD-ROM (Digital Versatile Disk Read Only Memory), or a USB (Universal Serial Bus) memory. Furthermore, the linear object detection program 35 may be downloaded from an external device via a network.
[0081] The following additional notes are provided regarding the above-described embodiments.
[0082] (Additional note 1) Memory and at least one processor coupled to said memory; Including, The processor: projecting a three-dimensional point cloud representing the three-dimensional coordinates of points on the surface of the structure onto a horizontal plane to generate a projected point cloud, detecting a straight line based on the two-dimensional coordinates of the projected point cloud on the horizontal plane, and extracting projected points within a predetermined distance from the detected straight line from the projected point cloud; calculating a plurality of line segments connecting each of the three-dimensional points included in the three-dimensional point cloud corresponding to the extracted projected point cloud, and extracting a set of three-dimensional points of the line segments whose angles with the horizontal plane are equal to or smaller than a predetermined angle as a three-dimensional point cloud constituting a linear object; A linear object detection device configured as follows.
[0083] (Additional note 2) A non-transitory storage medium storing a program executable by a computer to perform linear object detection processing, The linear object detection process includes: projecting a three-dimensional point cloud representing the three-dimensional coordinates of points on the surface of the structure onto a horizontal plane to generate a projected point cloud, detecting a straight line based on the two-dimensional coordinates of the projected point cloud on the horizontal plane, and extracting projected points within a predetermined distance from the detected straight line from the projected point cloud; calculating a plurality of line segments connecting each of the three-dimensional points included in the three-dimensional point cloud corresponding to the extracted projected point cloud, and extracting a set of three-dimensional points of the line segments whose angles with the horizontal plane are equal to or smaller than a predetermined angle as a three-dimensional point cloud constituting a linear object; Non-transitory storage medium. [Explanation of symbols]
[0084] 20 point cloud measuring device 22 Scanner 30 Linear object detection device 31 CPU 32 ROM 33 RAM 34 Storage 37 Display section 38 Communication I / F 39 Bus 40 Reading section 42 Parameter setting section 44 Linear object model calculation unit 46 Storage control section 48 Display control unit 50 Exclusion section 52 Line detector 54 Extraction part 56 Linear object model generation unit
Claims
1. a line detection unit that projects a three-dimensional point cloud representing the three-dimensional coordinates of points on the surface of a structure onto a horizontal plane to generate a projected point cloud, detects a straight line based on the two-dimensional coordinates of the projected point cloud on the horizontal plane, and extracts projected points within a predetermined distance from the detected straight line from the projected point cloud; an extraction unit that calculates a plurality of line segments connecting each of the three-dimensional points included in the three-dimensional point cloud corresponding to the extracted projected point cloud, and extracts a set of three-dimensional points of the line segments that form an angle with the horizontal plane that is equal to or smaller than a predetermined angle as a three-dimensional point cloud constituting a linear object; A linear object detection device comprising:
2. When the extraction unit extracts a plurality of sets, it extracts a three-dimensional point cloud constituting a different linear object for each set. The linear object detection device according to claim 1 .
3. The present invention further includes an exclusion unit that excludes a partial point cloud from a target to be projected onto the horizontal plane when the partial point cloud has a vertical length equal to or greater than a predetermined length, the vertical length being such that the interval between the plurality of three-dimensional points aligned in a vertical direction intersecting the horizontal plane is equal to or less than a predetermined interval, The linear object detection device according to claim 1 .
4. The apparatus further includes a linear object model generation unit that performs principal component analysis on the extracted three-dimensional point cloud, derives a first principal component axis, and generates a linear object model representing the linear object using an intersection between a plane perpendicular to the derived first principal component axis and a line segment connecting three-dimensional points included in the extracted three-dimensional point cloud. The linear object detection device according to claim 1 .
5. a straight line detection unit projects a three-dimensional point cloud representing three-dimensional coordinates of points on the surface of the structure onto a horizontal plane to generate a projected point cloud, detects straight lines based on the two-dimensional coordinates of the projected point cloud on the horizontal plane, and extracts projected points within a predetermined distance from the detected straight lines from the projected point cloud; an extraction unit calculates a plurality of line segments connecting each of the three-dimensional points included in the three-dimensional point cloud corresponding to the extracted projected point cloud, and extracts a set of three-dimensional points of the line segments that form an angle with the horizontal plane that is equal to or smaller than a predetermined angle as a three-dimensional point cloud constituting a linear object; Linear object detection method.
6. A linear object detection program for causing a computer to function as each part of the linear object detection device according to claim 1.
Citation Information
Patent Citations
Facility state detection method and device therefor
JP2015078849A
Laser measurement method, laser measurement marker and coordinate calculation program
JP2016206178A
Information processing apparatus, information processing method, and program
JP2021177144A
Equipment status detection method and device
JP6531051B2
JPP7231036B