Learning device, classification judgment device, learning method, classification judgment method, and program

A discriminant function using three-dimensional coordinates classifies utility poles and scaffolding bolts in 3D point cloud data, addressing the challenge of selective data processing and reducing data size by distinguishing between these structures.

JP7609289B2Active Publication Date: 2025-01-07NIPPON TELEGRAPH & TELEPHONE CORP
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
JP2023546670
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Filing Date
2021-09-10
Publication Date
2025-01-07
Estimated Expiration
2041-09-10

AI Technical Summary

Technical Problem

Existing technologies face challenges in selectively identifying and processing data corresponding to desired structures within 3D point cloud data, particularly in distinguishing between utility poles and surrounding structures like scaffolding bolts, due to difficulties in data reduction and analysis.

Method used

A discriminant function is developed using three-dimensional coordinates to classify points in point cloud data, learned through a process involving weight updates based on errors calculated from teacher signals, allowing precise identification of utility poles and scaffolding bolts.

Benefits of technology

Enables efficient detection and extraction of data corresponding to desired structures, reducing data size by separating utility pole data from surrounding structures, facilitating effective data storage and analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007609289000004
    Figure 0007609289000004
  • Figure 0007609289000005
    Figure 0007609289000005
  • Figure 0007609289000006
    Figure 0007609289000006
Patent Text Reader

Abstract

A learning device according to one embodiment of this invention comprises: an acquisition unit that acquires first point group data relating to a first structure corresponding to a first classification, and second point group data relating to a second structure corresponding to a second classification; an identification function calculation unit that, for each point included in the first point group data, calculates a first identification function value by applying three-dimensional coordinates representing each point to an identification function, and that, for each point included in the second point group data, calculates a second identification function value by applying three-dimensional coordinates representing each point to an identification function; an error calculation unit that, for each point included in the first point group data, calculates the difference between the first identification function and a first value, as a first error, and that, for each point included in the second point group data, calculates the difference between the second identification function and a second value which differs from the first value, as a second error; and an updating unit that updates a weight included in the identification functions on the basis of the first error and the second error.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] An embodiment of the present invention relates to a learning device, a classification determination device, a learning method, a classification determination method, and a program. [Background technology]

[0002] 3D (three-dimensional) laser scanners are known as a means of measuring the three-dimensional shape of structures such as roads and houses. 3D laser scanners emit laser light from a laser and obtain the three-dimensional coordinates of points on the surface of the structure based on the light returned from the structure. 3D laser scanners can measure the three-dimensional shape of the surrounding environment centered on the 3D laser scanner by rotating the laser horizontally and / or vertically. Information that can be obtained includes three-dimensional position (X coordinates, Y coordinates, Z coordinates) and reflection intensity.

[0003] When equipped with an imaging device such as a camera, the 3D laser scanner can obtain color information in addition to the three-dimensional position and reflection intensity. Patent Document 1 extracts three-dimensional point cloud data corresponding to a utility pole from three-dimensional point cloud data based on the color information, generates a three-dimensional model of the utility pole from the three-dimensional point cloud data corresponding to the utility pole, and measures the deflection of the utility pole from the three-dimensional model.

[0004] In general, the data size of a 3D model is smaller than that of point cloud data. Therefore, handling point cloud data as a 3D model is more suitable for analysis processing and data storage. However, when an abnormality is found in the deflection of a utility pole, it is desirable to analyze the point cloud data.

[0005] In addition, when reducing the data size of point cloud data, the entire point cloud data is subjected to processing such as compression, making it difficult to selectively retain data corresponding to structures of interest such as utility poles. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] Japanese Patent Application Publication No. 2020-153687 Summary of the Invention [Problem to be solved by the invention]

[0007] The present invention aims to provide a technique that enables detection of data corresponding to a desired structure in 3D point cloud data. [Means for solving the problem]

[0008] According to one aspect of the present invention, a learning device for learning a discriminant function for identifying whether each point included in point cloud data belongs to a first classification, the discriminant function including three weights multiplied by three coordinate values ​​constituting a three-dimensional coordinate, includes an acquisition unit that acquires first point cloud data indicating a three-dimensional shape of a first structure corresponding to the first classification, and second point cloud data indicating a three-dimensional shape of a second structure corresponding to a second classification different from the first classification, and a learning device for learning the first discriminant function by applying, for each point included in the first point cloud data, three-dimensional coordinates representing each point to the discriminant function. the discriminant function calculation unit calculating a numerical value and applying three-dimensional coordinates representing each point included in the second point cloud data to the discriminant function to calculate a second discriminant function value for each point included in the first point cloud data; an error calculation unit calculating a difference between the first discriminant function and a first value for each point included in the first point cloud data as a first error and calculating a difference between the second discriminant function and a second value different from the first value as a second error for each point included in the second point cloud data; and an update unit updating the three weights based on the first error and the second error. Effect of the Invention

[0009] According to the present invention, it is possible to provide a technique that makes it possible to detect data corresponding to a desired structure in 3D point cloud data. [Brief description of the drawings]

[0010] [Figure 1]FIG. 1 is a diagram for explaining the basic concept of a machine learning algorithm according to an embodiment. [Diagram 2] FIG. 2 is a block diagram showing a classification determination device according to an embodiment. [Diagram 3] FIG. 3 is a diagram showing a discrimination function according to the embodiment. [Figure 4] FIG. 4 is a diagram for explaining the discrimination function values ​​of the utility pole and the scaffolding bolt according to the embodiment. [Diagram 5] FIG. 5 is a diagram showing an output of a classification result according to the embodiment. [Figure 6] FIG. 6 is a block diagram showing a hardware configuration of the classification determination device according to the embodiment. [Figure 7] FIG. 7 is a flowchart showing a method for determining weights to be included in a discriminant function according to an embodiment. [Figure 8] FIG. 8 is a flow chart illustrating a method for classifying 3D point cloud data according to an embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0011] Hereinafter, an embodiment of the present invention will be described with reference to the drawings. In the embodiment, 3D point cloud data includes position information indicating the positions of multiple points as information indicating a three-dimensional shape, and the positions are expressed in a three-dimensional Cartesian coordinate system (XYZ coordinate system). The XYZ coordinate system is defined so that the X-axis and Y-axis are parallel to the horizontal plane, and the Z-axis is perpendicular to the horizontal plane.

[0012] The basic concept of a machine learning algorithm according to an embodiment of the present invention will be described with reference to Fig. 1. Fig. 1 shows a point cloud 11 of a structure A, a point cloud 12 of a structure B, and a discrimination circle 13. Here, for ease of explanation, the point clouds are expressed in a two-dimensional coordinate system (XY coordinate system).

[0013] Consider classifying two point groups 11 into the same class (class 1) and classifying two point groups 12 into the same class (class 2 different from class 1). One point group 11 and one point group 12 are located in the first quadrant of the XY coordinate system, and the other point group 11 and the other point group 12 are located in the third quadrant of the XY coordinate system. In this case, two-class classification is not possible with one linear formula (discrimination surface). By finding the discrimination circle 13 using a general formula for a circle, two-class classification becomes possible with one calculation formula. In the machine learning algorithm according to the embodiment, a discrimination function for finding the discrimination circle 13 is calculated.

[0014] 2 is a schematic diagram of a classification determination device 20 according to an embodiment of the present invention. As shown in FIG. 2, the classification determination device 20 includes a 3D laser scanner 21, a storage unit 22, a learning unit 23, and a recognition unit 24.

[0015] The 3D laser scanner 21 generates 3D point cloud data that indicates the three-dimensional shape of the environment including the utility pole 29 that is an object of interest. The 3D laser scanner 21 is an example of a three-dimensional measuring device that generates 3D point cloud data. Scaffolding bolts are attached to the utility pole 29 so that workers can work on the top of the utility pole 29. The utility pole 29 is an example of a columnar structure that is to be digitized as 3D point cloud data, and the scaffolding bolts are an example of structures surrounding the columnar structure.

[0016] 2, the 3D laser scanner 21 is attached to a tripod and is fixed in position. Alternatively, the 3D laser scanner 21 may be mounted on a moving object such as a vehicle.

[0017] The storage unit 22 includes a 3D point cloud data storage unit 221 and a learning data storage unit 222. The 3D point cloud data storage unit 221 stores the 3D point cloud data generated by the 3D laser scanner 21. The learning data storage unit 222 stores learning data used to learn a discriminant function used when the identification unit 24 performs classification judgment of the 3D point cloud data. The learning data includes first learning data which is 3D point cloud data showing the three-dimensional shape of the utility pole, and second learning data which is 3D point cloud data showing the three-dimensional shape of the scaffolding bolt. The learning data is prepared in advance, for example, by acquiring 3D point cloud data of an environment including a utility pole similar to the utility pole 29 using a three-dimensional measuring device, extracting 3D point cloud data corresponding to the utility pole from the 3D point cloud data by a known method or manually, and extracting 3D point cloud data corresponding to the scaffolding bolt from the 3D point cloud data by a known method or manually. The learning data may be generated from CAD (Computer-Aided Design) data.

[0018] The learning unit 23 learns a discriminant function by using the learning data stored in the learning data storage unit 222. Specifically, the learning unit 23 determines weight information included in the discriminant function by using the learning data. The weight information includes three weights by which three coordinate values ​​constituting the three-dimensional coordinates are multiplied. The learning unit 23 includes a first learning data acquisition unit 231, a second learning data acquisition unit 232, a center coordinate calculation unit 233, a coordinate conversion unit 234, a discriminant function calculation unit 235, an error calculation unit 236, a teacher signal 237, an error sum of squares calculation unit 238, and a weight vector update unit 239.

[0019] The first learning data acquisition unit 231 acquires the first learning data from the learning data storage unit 222, and sends the first learning data to the center coordinate calculation unit 233. The second learning data acquisition unit 232 acquires learning data (specifically, both the first learning data and the second learning data) from the learning data storage unit 222, and sends the learning data to the coordinate conversion unit 234.

[0020] The center coordinate calculation unit 233 receives the first learning data from the first learning data acquisition unit 231, and calculates the center coordinates of the utility pole based on the first learning data. The center of the utility pole may be any point on the central axis of the utility pole. The center of the utility pole is, for example, the center of the bottom surface of the utility pole. The center coordinate calculation unit 233 sends center coordinate information indicating the center coordinates of the utility pole to the coordinate conversion unit 234 and the identification unit 24.

[0021] The coordinate conversion unit 234 receives the learning data from the second learning data acquisition unit 232, and receives the center coordinate information from the coordinate conversion unit 234. The coordinate conversion unit 234 converts the learning data into a three-dimensional coordinate system with the coordinates indicated by the center coordinate information as the origin. The coordinate conversion can be performed by parallel translation. For example, if the center coordinates are (X, Y, Z), the coordinate conversion unit 234 moves each point included in the learning data by -X in the X-axis direction, -Y in the Y-axis direction, and -Z in the Z-axis direction. The coordinate conversion unit 234 sends the coordinate-converted learning data to the discriminant function calculation unit 235 and the weight vector update unit 239.

[0022] The discriminant function calculation unit 235 receives the coordinate-converted learning data from the coordinate conversion unit 234. Furthermore, the discriminant function calculation unit 235 receives a weight vector as weight information from the weight vector update unit 239. The weight vector is a vector having, as elements, a weight by which the X coordinate value is multiplied, a weight by which the Y coordinate value is multiplied, a weight by which the Z coordinate value is multiplied, and a weight by which the auxiliary coordinate value is multiplied. As will be described later, the weight vector update unit 239 sends the updated weight vector to the discriminant function calculation unit 235 every time it updates the weight vector.

[0023] The discriminant function calculation unit 235 calculates a discriminant function value for each point of the point group included in the coordinate-transformed learning data, and sends the discriminant function value of each point to the error calculation unit 236. If the coordinates of each point are (x1, x2, x3), the auxiliary coordinate value is x0, and the weight vector is (w0', w1', w2', w3'), the discriminant function g(x) can be expressed by the following formula (1).

number

[0024] The error calculation unit 236 receives the discrimination function value g(x) for each point from the discrimination function calculation unit 235. The error calculation unit 236 calculates the difference between the discrimination function value g(x) for each point and the teacher signal 237, and sends the calculated difference as an error to the error square sum calculation unit 238 and the weight vector update unit 239. The error calculation unit 236 calculates the difference between the discrimination function value g(x) for each point and the teacher signal 237. The teacher signal 237 has a different value when the point belongs to the first learning data (telegraph pole) and when the point belongs to the second learning data (scaffolding bolt). In one example, when the point belongs to the first learning data, the teacher signal 237 has a value of "1", and when the point belongs to the second learning data, the teacher signal 237 has a value of "2". The error can be expressed as the following formula (2) or (3). Error of points belonging to the first training data = g(x)-1 (2) Error of points belonging to the second training data = g(x)-2 (3)

[0025] The error sum of squares calculation unit 238 receives the point-by-point error from the error calculation unit 236. The error sum of squares calculation unit 238 calculates the sum of squares of the error and sends the error sum of squares to the weight vector update unit 239. The error sum of squares is an example of an index indicating the degree of error (the difference between the discrimination function and the learning data to which the teacher signal is added). The error sum of squares calculation unit 238 calculates the error sum of squares, for example, according to the following formula (4).

number

[0026] Equation (4) corresponds to an example where the training data includes coordinates of N=100 points, 50 points belong to the first training data (telegraph poles) and the remaining 50 points belong to the second training data (scaffolding bolts).

[0027] The weight vector update unit 239 receives the error for each point from the error calculation unit 236, and receives the coordinate-converted learning data from the coordinate conversion unit 234. The weight vector update unit 239 updates the weight vector based on the error for each point and the coordinate-converted learning data. If the weight vector before the update is (w0, w1, w2, w3) and the weight vector after the update is (w0', w1', w2', w3'), the weight vector update unit 239 updates the weight vector according to, for example, the following formulas (5) to (8).

number

[0028] Furthermore, the weight vector update unit 239 receives the error sum of squares from the error sum of squares calculation unit 238. The weight vector update unit 239 uses the error sum of squares to determine whether or not to end the update of the weight vector. The weight vector update unit 239 updates the weight vector, for example, until the error sum of squares is minimized. When the weight vector update unit 239 determines to continue the update of the weight vector, it updates the weight vector and sends the updated weight vector to the discriminant function calculation unit 235. The discriminant function calculation unit 235 calculates the discriminant function value g(x) again based on the weight vector received from the discriminant function calculation unit 235. Until the error sum of squares is minimized, the update process including the process of calculating the discriminant function value g(x), the process of calculating the error, and the process of updating the weight vector is repeated. When the weight vector update unit 239 determines to end the update of the weight vector, it outputs the weight vector. For example, the weight vector update unit 239 may send the weight vector to the discrimination unit 24. The weight vector update unit 239 may store the weight vector in the storage unit 22 .

[0029] The classification unit 24 processes the 3D point cloud data obtained by the 3D laser scanner 21, using the weight vector generated by the learning unit 23. The classification unit 24 includes a 3D point cloud data acquisition unit 241, a coordinate conversion unit 242, a classification function calculation unit 243, a classification determination unit 244, and an output unit 245.

[0030] The 3D point cloud data acquisition unit 241 acquires the 3D point cloud data generated by the 3D laser scanner 21. Specifically, the 3D point cloud data acquisition unit 241 reads the 3D point cloud data from the 3D point cloud data storage unit 221.

[0031] The coordinate conversion unit 242 receives the 3D point cloud data from the 3D point cloud data acquisition unit 241, and receives the center coordinate information from the learning unit 23. The coordinate conversion unit 242 converts the 3D point cloud data into a coordinate system with the coordinates indicated by the center coordinate information as the origin. The coordinate conversion can be performed by translation. The coordinate conversion unit 242 sends the coordinate-converted 3D point cloud data to the discriminant function calculation unit 243.

[0032] The discriminant function calculation unit 243 receives the coordinate-converted 3D point cloud data from the coordinate conversion unit 242. Furthermore, the discriminant function calculation unit 243 receives a weight vector from the weight vector update unit 239 of the learning unit 23, and uses the received weight vector for the discriminant function. The discriminant function calculation unit 243 calculates a discriminant function value for each point of the point cloud included in the coordinate-converted 3D point cloud data. The calculation process by the discriminant function calculation unit 235 is similar to the calculation process by the discriminant function calculation unit 235. The discriminant function calculation unit 235 applies the coordinates (x1, x2, x3) of each point to the discriminant function shown in the above formula (1) including the weight vector (w0', w1', w2', w3') determined by the learning unit 23, to find the discriminant function value g(x) of each point.

[0033] The discriminant function calculation unit 243 adds the discriminant function value g(x) of each point to the 3D point cloud data. The data of each point includes the position (x1, x2, x3) and the discriminant function value g(x). The discriminant function calculation unit 243 sends the 3D point cloud data to the classification determination unit 244.

[0034] The classification determination unit 244 receives the 3D point cloud data from the discriminant function calculation unit 243. The classification determination unit 244 determines the classification of each point based on the discriminant function value g(x) of each point. In the example described here, the classification includes utility poles and scaffolding bolts. In the weight vector determination stage, a teacher signal of "1" is assigned to the first learning data, and a teacher signal of "2" is assigned to the second learning data. If the discriminant function value g(x) of each point is 1, the classification determination unit 244 classifies each point as a utility pole, and if the discriminant function value g(x) of each point is 2, the classification determination unit 244 classifies each point as a scaffolding bolt. Cases in which the discriminant function value g(x) is equal to 1 or 2 are rare. For this reason, in practice, a classification decision is made using a preset threshold value, such that if the discrimination function value g(x) of each point is in the range of 0.5 to 1.5 (0.5≦g(x)<1.5), the point is classified as a utility pole, and if the discrimination function value g(x) of each point is in the range of 1.5 to 2.5 (1.5≦g(x)<2.5), the point is classified as a scaffolding bolt.

[0035] The classification determination unit 244 sends the 3D point cloud data and classification result information indicating the classification result of each point to the output unit 245. The classification result may include information indicating whether or not each point belongs to a utility pole.

[0036] The output unit 245 receives the 3D point cloud data and the classification result information from the classification determination unit 244, and outputs the 3D point cloud data and the classification result information. The output unit 245 may process the 3D point cloud data based on the classification result information. For example, the output unit 245 may extract utility pole data (data corresponding to utility poles) and scaffolding bolt data (data corresponding to scaffolding bolts) from the 3D point cloud data, compress the scaffolding bolt data, combine the utility pole data and the compressed scaffolding bolt data, and generate 3D point cloud data. The output unit 245 may transmit the generated 3D point cloud data to a data server. For example, the output unit 245 may extract the utility pole data and the scaffolding bolt data from the 3D point cloud data, and display the utility pole data and the scaffolding bolt data separately on a display device.

[0037] 2, the classification determination device 20 is shown as one device. The classification determination device 20 may be implemented by multiple devices. For example, the learning unit 23 may be implemented as a learning device, and the identification unit 24 may be implemented as a classification determination device.

[0038] FIG. 3 shows a discrimination function according to the embodiment. The discrimination function shown in FIG. 3 corresponds to the above formula (1). The above formula (1) makes it possible to calculate the length based on the X coordinate value and the Y coordinate value and to determine the classification of a structure based on the length. By using the length as a feature vector, it is possible to determine the classification of each point based on the radius centered on the utility pole. This makes it possible to perform classification determination without depending on the installation orientation of the three-dimensional measuring device relative to the utility pole.

[0039] The discriminant function values ​​of the utility pole and the scaffolding bolts will be described with reference to Fig. 4. Fig. 4 shows a schematic diagram of a point cloud obtained by measuring a utility pole with three scaffolding bolts attached by the 3D laser scanner 21. The point cloud includes a point cloud 41 of the utility pole and a point cloud 42 of the scaffolding bolts. Arrow 43 indicates the discriminant function value g(x) of the point cloud 41 of the utility pole, and arrow 44 indicates the discriminant function value g(x) of the point cloud 42 of the scaffolding bolts.

[0040] The telegraph pole point cloud 41 is regarded as a cylinder with a constant radius, and a point cloud with a discriminant function value g(x) of 1 is determined to belong to the classification "telegraph pole". If the telegraph pole is a tapered cylinder whose radius varies depending on the height, the w3'x3 term can be corrected so that the discriminant function value g(x) of the telegraph pole point cloud 41 is approximately 1 regardless of height. The scaffolding bolt point cloud 42 is located outside the telegraph pole, and a point cloud with a discriminant function value g(x) of approximately 2 is determined to belong to the classification "scaffolding bolt".

[0041] Fig. 5 is a schematic diagram showing an example of displaying 3D point cloud data by the output unit 245. As shown in Fig. 5, the output unit 245 extracts utility pole data and scaffolding bolt data from the 3D point cloud data and displays the utility pole data and the scaffolding bolt data separately.

[0042] Fig. 6 shows an outline of an example of a hardware configuration of the classification determination device 20. As shown in Fig. 6, the classification determination device 20 includes, as hardware elements, a 3D laser scanner 21 and a computer 250. The computer 250 includes a processor 251, a RAM (Random Access Memory) 252, a program memory 253, a storage device 254, and an input / output interface 255. The processor 251 is connected to the RAM 252, the program memory 253, the storage device 254, and the input / output interface 255 so as to be able to communicate with them.

[0043] The processor 251 includes a general-purpose circuit such as a CPU (Central Processing Unit). The RAM 252 includes a volatile memory such as an SDRAM. The RAM 252 is used by the processor 251 as a working memory. The program memory 253 stores programs executed by the processor 251, such as a classification determination program and a learning program. The programs include computer-executable instructions. For example, a ROM is used as the program memory 253. A portion of the storage device 254 may be used as the program memory 253.

[0044] The processor 251 expands the program stored in the program memory 253 into the RAM 252, and interprets and executes the program. When the learning program is executed by the processor 251, the processor 251 performs a series of processes described with respect to the learning unit 23. In other words, the processor 251 implements the first learning data acquisition unit 231, the second learning data acquisition unit 232, the center coordinate calculation unit 233, the coordinate conversion unit 234, the discriminant function calculation unit 235, the error calculation unit 236, the error square sum calculation unit 238, and the weight vector update unit 239 according to the learning program. When the classification determination program is executed by the processor 251, the processor 251 performs a series of processes described with respect to the identification unit 24. In other words, the processor 251 implements the 3D point cloud data acquisition unit 241, the coordinate conversion unit 242, the discriminant function calculation unit 243, the classification determination unit 244, and the output unit 245 according to the classification determination program.

[0045] The program may be provided to the classification determination device 20 in a state where it is stored in a computer-readable recording medium. In this case, the computer 250 is provided with a drive for reading data from the recording medium and acquires the program from the recording medium. Examples of the recording medium include magnetic disks, optical disks (CD-ROM, CD-R, DVD-ROM, DVD-R, etc.), magneto-optical disks (MO, etc.), and semiconductor memories. The program may also be distributed through a network. Specifically, the program may be stored in a server on the network, and the computer 250 may download the program from the server.

[0046] The storage device 254 includes a non-volatile memory such as a hard disk drive (HDD) or a solid state drive (SSD), etc. The storage device 254 stores data such as the 3D point cloud data, the first learning data, the second learning data, and the weight vector.

[0047] The input / output interface 255 is an interface for communicating with an external device. Examples of the external device include the 3D laser scanner 21, a display device, and a data server. The processor 251 may receive 3D point cloud data from the 3D laser scanner 21 via the input / output interface 255. The processor 251 may transmit the 3D point cloud data to the data server via the input / output interface 255. The processor 251 may display the 3D point cloud data on the display device via the input / output interface 255.

[0048] FIG. 7 illustrates a schematic diagram of an example method for training a discriminant function according to an embodiment.

[0049] 7, the learning unit 23 acquires learning data. For example, the learning unit 23 reads the learning data from the learning data storage unit 222. The learning data includes first learning data which is 3D point cloud data corresponding to a utility pole, and second learning data which is 3D point cloud data corresponding to a scaffolding bolt.

[0050] In step S702, the center coordinate calculation unit 233 calculates the coordinates of the center of the bottom surface of the utility pole based on the first learning data to generate center coordinate information. In step S703, the coordinate conversion unit 234 converts each of the first learning data and the second learning data into a coordinate system whose origin is the coordinates indicated by the center coordinate information.

[0051] In step S704, the discriminant function calculation unit 235 calculates a discriminant function value for each point of the point group included in the coordinate-transformed learning data based on the current weight vector. In the first discriminant function calculation, the initial value of the weight vector is used as the current weight vector. The discriminant function calculation unit 235 calculates the discriminant function value g(x) of each point by inputting the coordinates (x1, x2, x3) of each point to the discriminant function shown in the above formula (1) in which the current weight vector (w0', w1', w2', w3') is set.

[0052] In step S705, the error calculation unit 236 calculates the difference between the discrimination function value g(x) and the teacher signal 237 for each point of the point group included in the coordinate-transformed learning data as an error. The error calculation unit 236 calculates the error for all points of the point group included in the coordinate-transformed learning data. The error calculation unit 236 calculates the error for each point by, for example, the above formula (2) or formula (3). Specifically, the error calculation unit 236 calculates the difference between the discrimination function value g(x) and the teacher signal 237 of "1" for each point included in the first learning data, and calculates the difference between the discrimination function value g(x) and the teacher signal 237 of "2" for each point included in the second learning data.

[0053] In step S706, the error sum of squares calculation unit 238 calculates the sum of squares of the errors calculated in step S705. The error sum of squares calculation unit 238 calculates the error sum of squares, for example, by the above formula (4).

[0054] In step S707, the weight vector update unit 239 determines whether the termination condition is satisfied. For example, the weight vector update unit 239 determines that the termination condition is satisfied when the difference between the currently obtained error sum of squares and the immediately previous error sum of squares is below a predetermined threshold, and determines that the termination condition is not satisfied when the difference between the currently obtained error sum of squares and the immediately previous error sum of squares is equal to or greater than the predetermined threshold. When the termination condition is satisfied, the error sum of squares is substantially minimized.

[0055] If the termination condition is not satisfied (step S707; No), the process proceeds to step S708. In step S708, the weight vector update unit 239 updates the weight vector. For example, the weight vector update unit 239 updates the weight vector based on the error calculated in step S705, as shown in the above formulas (5) to (8).

[0056] After the weight vector is updated, the process returns to step S704. In step S704, the discriminant function calculation unit 235 calculates a discriminant function value for each point of the point group included in the coordinate-transformed learning data based on the current weight vector. In the second or subsequent discriminant function calculations, the weight vector updated in step S708 is used as the current weight vector.

[0057] A series of processes shown in steps S704 to S708 is repeated until the end condition is satisfied. If the end condition is satisfied (step S707; Yes), the process proceeds to step S709.

[0058] In step S709, the discriminant function calculation unit 235 outputs the current weight vector. For example, the discriminant function calculation unit 235 stores the current weight vector in the storage unit 22 as a weight vector to be used for classification determination.

[0059] Fig. 8 is a schematic diagram showing an example of a method for performing classification judgment on 3D point cloud data according to the embodiment. In the judgment process shown in Fig. 8, the center coordinate information and the weight vector obtained in the flow shown in Fig. 7 are used.

[0060] 8, the 3D point cloud data acquisition unit 241 acquires 3D point cloud data to be processed. For example, the 3D laser scanner 21 measures a utility pole to which a scaffolding bolt is attached to generate 3D point cloud data, and the 3D point cloud data is stored in the 3D point cloud data storage unit 221. The 3D point cloud data acquisition unit 241 reads the 3D point cloud data from the 3D point cloud data storage unit 221.

[0061] In step S802, the coordinate conversion unit 242 converts the 3D point cloud data into a coordinate system that has the coordinates indicated by the center coordinate information as the origin.

[0062] In step S803, the discriminant function calculation unit 243 calculates a discriminant function value for each point of the point group included in the coordinate-converted 3D point group data. For example, the discriminant function calculation unit 243 obtains a discriminant function value g(x) by applying the coordinates of each point to the discriminant function shown in the above formula (1) in which the weight vector determined by the learning unit 23 is set.

[0063] In step S804, the classification determination unit 244 determines the classification of each point included in the 3D point cloud data based on the discrimination function value g(x). For example, the classification determination unit 244 determines points whose discrimination function value g(x) is in the range of 0.5 to 1.5 as utility poles, points whose discrimination function value g(x) is in the range of 1.5 to 2.5 as scaffolding bolts, and the remaining points as other structures.

[0064] In step S805, the classification determination unit 244 outputs the 3D point cloud data and classification result information indicating the classification result.

[0065] As described above, the classification determination device 20 includes a learning unit 23 that learns a discrimination function for identifying whether each point included in the point cloud data belongs to a predetermined classification (e.g., a utility pole), the discrimination function including three weights to be multiplied with three coordinate values ​​constituting a three-dimensional coordinate. The learning unit 23 acquires learning data including first learning data that is point cloud data indicating the three-dimensional shape of a structure (e.g., a utility pole) corresponding to the predetermined classification, and second learning data that is point cloud data indicating the three-dimensional shape of another structure (e.g., a scaffolding bolt) corresponding to another classification, and applies the coordinates of each point included in the first learning data to the discrimination function to obtain a first discrimination function value, and applies the coordinates of each point included in the second learning data to the discrimination function to obtain a second discrimination function value. The learning unit 23 calculates the difference between the first discrimination function value and the teacher signal of "1" for each point included in the first learning data as a first error, calculates the difference between the second discrimination function value and the teacher signal of "2" for each point included in the second learning data as a second error, and updates the weight vector based on the first error and the second error. The learning unit 23 updates the weight vector so that the sum of squared errors calculated from the first error and the second error is minimized. The discrimination function using the weight vector determined in this way outputs a value of about 1 when the point belongs to a predetermined classification (e.g., a utility pole), and outputs a value of about 2 when the point belongs to another classification (e.g., a scaffolding bolt). This makes it possible to perform classification judgment for judging whether or not a point belongs to a predetermined classification based on the point coordinates included in the 3D point cloud data alone. This enables efficient storage of the 3D point cloud data. For example, it becomes possible to separately extract data corresponding to utility poles and data corresponding to other structures from the 3D point cloud data, and reduce the data size of data corresponding to other structures without making any changes to the data corresponding to utility poles.

[0066] The classification determination device 20 performs classification determination of the 3D point cloud data obtained by the 3D laser scanner 21, using the discriminant function learned by the learning unit 23. This makes it possible to identify desired structures from the 3D point cloud data and reduce the storage capacity required to store the 3D point cloud data.

[0067] [Variations] The learning data stored in the learning data storage unit 222 may be pre-processed so that the center of the utility pole is located at the origin of a three-dimensional coordinate system. In this case, the center coordinate calculation unit 233 and the coordinate conversion unit 234 may be deleted from the learning unit 23. In addition, the coordinate conversion unit 242 may be deleted from the identification unit 24.

[0068] The present invention is not limited to the above-mentioned embodiment, and various modifications can be made in the implementation stage without departing from the gist of the invention. The embodiments may be implemented in appropriate combination, and in that case, the combined effect can be obtained. Furthermore, the above-mentioned embodiment includes various inventions, and various inventions can be extracted by combinations selected from the multiple components disclosed. For example, if the problem can be solved and the effect can be obtained even if some components are deleted from all the components shown in the embodiment, the configuration from which the components are deleted can be extracted as an invention. [Explanation of symbols]

[0069] 20...Classification judgment device 21...3D laser scanner 22...Storage section 221...3D point cloud data storage unit 222...Learning data storage unit 23…Learning Department 231...First learning data acquisition unit 232...Second learning data acquisition unit 233...Center coordinate calculation unit 234... Coordinate conversion section 235...Discrimination function calculation unit 236...Error calculation section 237…Teacher signal 238...Error sum of squares calculation unit 239…Weight vector update unit 24…Identification section 241…3D point cloud data acquisition section 242... Coordinate conversion section 243...Discrimination function calculation unit 244...Classification judgment section 245…Output section 250…Computer 251…Processor 252…RAM 253…Program memory 254…Storage device 255... Input / Output Interface

Claims

1. A learning device that learns a discriminant function for discriminating whether or not each point included in point cloud data belongs to a first class, the discriminant function including three weights that are multiplied by three coordinate values ​​that constitute a three-dimensional coordinate system, an acquisition unit that acquires first point cloud data indicating a three-dimensional shape of a first structure corresponding to the first classification, and second point cloud data indicating a three-dimensional shape of a second structure corresponding to a second classification different from the first classification; a discriminant function calculation unit that calculates a first discriminant function value for each point included in the first point cloud data by applying three-dimensional coordinates representing each point to the discriminant function, and calculates a second discriminant function value for each point included in the second point cloud data by applying three-dimensional coordinates representing each point to the discriminant function; an error calculation unit that calculates, for each point included in the first point cloud data, a difference between the first discriminant function value and a first value as a first error, and that calculates, for each point included in the second point cloud data, a difference between the second discriminant function value and a second value different from the first value as a second error; an update unit that updates the three weights based on the first error and the second error; A learning device comprising:

2. the update unit determines, based on the first error and the second error, whether to continue or end the update process including the process of calculating the first discriminant function value and the second discriminant function value, the process of calculating the first error and the second error, and the process of updating the three weights. The learning device according to claim 1 .

3. a center coordinate calculation unit that calculates center coordinates of the first structure based on the first point cloud data; a coordinate conversion unit that converts the first point cloud data and the second point cloud data into a coordinate system having the center coordinate as an origin; Further equipped with the discriminant function calculation unit calculates the first discriminant function value for each point included in the converted first point cloud data by applying three-dimensional coordinates representing each point to the discriminant function, and calculates the second discriminant function value for each point included in the converted second point cloud data by applying three-dimensional coordinates representing each point to the discriminant function; the error calculation unit calculates, for each point included in the converted first point cloud data, a difference between the first discriminant function value and the first value as the first error, and calculates, for each point included in the converted second point cloud data, a difference between the second discriminant function value and the second value as the second error. The learning device according to claim 1 or 2.

4. a first acquisition unit that acquires first point cloud data indicating a three-dimensional shape of an environment including a first structure corresponding to a first classification; a first discriminant function calculation unit that calculates a first discriminant function value by applying, for each point included in the first point cloud data, three-dimensional coordinates representing the each point to a discriminant function including three predetermined weights by which three coordinate values ​​constituting the three-dimensional coordinates are multiplied; a classification determination unit that determines, for each of the points included in the first point cloud data, whether or not the each of the points belongs to the first classification based on the first discriminant function value calculated for the each of the points; A classification determination device comprising:

5. A learning unit that determines the three weights is further provided, The learning unit is a second acquisition unit that acquires second point cloud data indicating a three-dimensional shape of a second structure corresponding to the first classification, and third point cloud data indicating a three-dimensional shape of a third structure corresponding to a second classification different from the first classification; a second discriminant function calculation unit that calculates a second discriminant function value for each point included in the second point cloud data by applying three-dimensional coordinates representing each point to the discriminant function, and calculates a third discriminant function value for each point included in the third point cloud data by applying three-dimensional coordinates to the discriminant function; an error calculation unit that calculates, for each point included in the second point cloud data, a difference between the second discriminant function value and a first value as a first error, and that calculates, for each point included in the third point cloud data, a difference between the third discriminant function value and a second value different from the first value as a second error; an update unit that updates the three weights based on the first error and the second error; Equipped with The classification determination device according to claim 4 .

6. A learning method for learning a discriminant function for discriminating whether or not each point included in point cloud data belongs to a first class, the discriminant function including three weights to be multiplied by three coordinate values ​​constituting a three-dimensional coordinate, the method comprising: Obtaining first point cloud data indicating a three-dimensional shape of a first structure corresponding to the first classification, and second point cloud data indicating a three-dimensional shape of a second structure corresponding to a second classification different from the first classification; calculating a first discriminant function value for each point included in the first point cloud data by applying three-dimensional coordinates representing each point to the discriminant function, and calculating a second discriminant function value for each point included in the second point cloud data by applying three-dimensional coordinates representing each point to the discriminant function; calculating, for each point included in the first point cloud data, a difference between the first discriminant function value and a first value as a first error, and calculating, for each point included in the second point cloud data, a difference between the second discriminant function value and a second value different from the first value as a second error; updating the three weights based on the first error and the second error; A learning method that provides:

7. Obtaining point cloud data indicative of a three-dimensional shape of an environment including structures corresponding to a predetermined classification; calculating a discriminant function value for each point included in the point cloud data by applying three-dimensional coordinates representing each point to a discriminant function including three predetermined weights to be multiplied by three coordinate values ​​constituting the three-dimensional coordinates; determining, for each of the points included in the point cloud data, whether or not each of the points belongs to the predetermined classification based on the discriminant function value calculated for each of the points; A classification determination method comprising:

8. A program for causing a computer to function as each unit of the learning device according to any one of claims 1 to 3 or the classification determination device according to claim 4 or 5.

Citation Information

Patent Citations

  • Object recognition device and object recognition method

    JP2019185347A

  • Structure detection device, structure detection method, and structure detection processing program

    JP2020153687A