Point cloud data processing device, point cloud data processing method, and point cloud data processing program
10810699 ยท 2020-10-20
Assignee
Inventors
Cpc classification
G06T19/20
PHYSICS
G06T7/30
PHYSICS
International classification
G06T19/20
PHYSICS
G06T7/30
PHYSICS
Abstract
Working efficiency in position matching of multiple point cloud data displayed on a display is improved. A point cloud data processing device includes a highlight controlling part. In a condition in which a first point cloud containing multiple markers for position matching and a second point cloud containing multiple markers for position matching are displayed on a display, when a marker of one of the first point cloud and the second point cloud is specified, the highlight controlling part highlights a corresponding marker of the other point cloud.
Claims
1. A point cloud data processing device comprising: a highlight controlling part that, in a condition in which a first point cloud containing multiple markers for position matching and a second point cloud containing multiple markers for position matching are displayed on a display, when one of the multiple markers of one of the first point cloud and the second point cloud is specified as a first marker, highlights a corresponding marker among the multiple markers of the other point cloud as a second marker a corresponding marker calculating part that, when a marker is specified among the multiple markers of one of the first point cloud and the second point cloud, calculates a corresponding marker among the multiple markers of the other point cloud, wherein the corresponding marker calculating part identifies the corresponding marker on the basis of a relative positional relationship between the specified marker and at least one of the multiple markers of the one of the first point cloud and the second point cloud.
2. The point cloud data processing device according to claim 1, further comprising: a rotation display controlling part that controls, at a stage in which the first marker and the second marker are made to coincide with each other on the display, rotation of the first point cloud or the second point cloud around the first marker or the second marker on the display.
3. The point cloud data processing device according to claim 1, further comprising: a coinciding processing part that, when a distance between the first marker and the second marker is a predetermined value or less on the display, executes processing for making the first marker and the second marker coincide with each other on the display.
4. The point cloud data processing device according to claim 1, wherein the relative positional relationship is determined by using a figure having the specified marker and the at least one of the multiple markers of the one of the first point cloud and the second point cloud as apexes.
5. The point cloud data processing device according to claim 1, wherein the relative positional relationship is determined by a distance between the specified marker and the at least one of the multiple markers of the one of the first point cloud and the second point cloud.
6. The point cloud data processing device according to claim 1, further comprising: a separation display controlling part that displays the first point cloud and the second point cloud separately from each other.
7. A point cloud data processing method comprising: in a condition in which a first point cloud containing multiple markers for position matching and a second point cloud containing multiple markers for position matching are displayed on a display, when one of the multiple markers of one of the first point cloud and the second point cloud is specified, highlighting a corresponding marker among the multiple markers of the other point cloud; when a marker is specified among the multiple markers of one of the first point cloud and the second point cloud, calculating a corresponding marker among the multiple markers of the other point cloud, and identifying the corresponding marker on a basis of a relative positional relationship between the specified marker and at least one of the multiple markers of the one of the first point cloud and the second point cloud.
8. A non-transitory computer recording medium storing computer executable instructions that, when executed by a computer processor, cause the computer processor to: operate as a highlight controlling part that, in a condition in which a first point cloud containing multiple markers for position matching and a second point cloud containing multiple markers for position matching are displayed on a display, when one of the multiple markers of one of the first point cloud and the second point cloud is specified, highlights a corresponding marker among the multiple markers of the other point cloud; when a marker is specified among the multiple markers of one of the first point cloud and the second point cloud, calculating a corresponding marker among the multiple markers of the other point cloud, and identifying the corresponding marker on a basis of a relative positional relationship between the specified marker and at least one of the multiple markers of the one of the first point cloud and the second point cloud.
Description
BRIEF DESCRIPTION OF DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
(14)
(15)
(16)
DETAILED DESCRIPTION OF THE EMBODIMENTS
(17)
(18) The two point clouds as viewed downwardly from a vertical direction are shown in
(19) The points, each indicated by a double circle in
(20) The following describes an example of a procedure for matching (matching positions of) two point clouds displayed on a display of a PC as shown in
(21) Then, a user operates the PC and specifies one of the three markers of one of the point clouds. In this embodiment, one of the three markers of the second point cloud is specified. After being specified, the marker is highlighted so as to be easily visually recognized. Here, the user specifies a marker 11 (refer to
(22) Next, identification information of the specified marker 11 is obtained. Thereafter, a corresponding marker 21 of the first point cloud is identified (refer to
(23) In some cases, there may exist a marker that can be scanned by one laser scanner, but cannot be scanned by another laser scanner due to the difference in the point of view. In such cases, not all of the markers correspond between the first point cloud and the second point cloud. The example in
(24) There may be cases in which predetermined identification data is not obtained. In one example, obtained point cloud data may contain a marker that can be discriminated from other points as a dedicated target, but location information and identification information of this marker are not known. In another example, in a case in which point cloud data is obtained by using a laser scanner in a construction site and is processed in a distant office or another place at a later date by an operator different from the operator using the laser scanner, the above situation may occur.
(25) In such cases, a relative positional relationship of a target marker with other markers is used as identification information of the target marker. An example of using three markers as shown in
(26) In the case shown in
(27) In the case of having four or more markers, a polygon having these markers as apexes is generated in each of the two point clouds. Then, these polygons are compared to each other to determine each of the correspondence relationships between the apexes of the two point clouds, and a marker in the other point cloud corresponding to a marker specified in one of the two point clouds is identified. Alternatively, since each point of two point clouds is distributed in a three-dimensional space, a polyhedron having apexes at positions of four or more markers is generated with respect to each of a first point cloud and a second point cloud. Then, the correspondence relationship between these polyhedrons of the first point cloud and the second point cloud is examined to identify a marker in the other point cloud corresponding to a marker specified in one of the first point cloud and the second point cloud.
(28) In the case of having markers that do not correspond to each other between two point clouds, a polygon or a polyhedron is generated in each of the two point clouds by using some markers in the respective two point clouds, and polygons or polyhedrons coinciding with each other between the two point clouds are searched for. Then, when polygons or polyhedrons that coincide with each other is found, a marker in the other point cloud corresponding to a marker specified in one of the two point clouds is identified.
(29) As a result, as shown in
(30) After the state shown in
(31) This processing for making these markers coincide with each other on the display is performed by forcing one marker to be moved to the other marker or by bringing the two markers close to each other.
(32) The symbol 30 in
(33) Hereinafter, the operation of the rotation is described with reference to
(34) At this time, a marker 22 of the first point cloud corresponding to the marker 12 is identified and is highlighted on the display. The processing relating to determination of the correspondence relationship is the same as in the case of determining the correspondence relationship between the markers 11 and 12.
(35) As shown in
(36) As a result of the processing, the markers 12 and 22 are also superposed one on another while the markers 11 and 21 are already superposed one on another, and the state shown in
(37) The points other than the markers may not coincide with each other in the first point cloud and in the second point cloud. There may be a point that can be viewed from a point of view for obtaining the first point cloud, but cannot be viewed from a point of view for obtaining the second point cloud, and vice versa. Thus, as shown in
(38) As described above, the positions of the first point cloud and the second point cloud as shown in
(39) In a case in which predetermined identification information of markers of the first point cloud and the second point cloud are not available, a polygon or a polyhedron having the markers as apexes is generated in each of the two point clouds. Then, the correspondence relationship between the polygons or the polyhedrons of the two point clouds is examined, whereby the correspondence relationship between corresponding markers of the two point clouds is determined.
(40)
(41) When a PC is used, each functional part shown in
(42) Whether each of the functional parts is to be constructed of dedicated hardware or is to be constructed of software so that programs are executed by a CPU is selected in consideration of necessary operating speed, cost, amount of electricity consumed, and other factors. Constructing the functional part by dedicated hardware and constructing the functional part by software differ from each other, as described above, but are equivalent to each other from the viewpoint of obtaining a specific function.
(43) The point cloud data processing device 100 shown in
(44) The point cloud data receiving part 101 receives point cloud data obtained by using a laser scanner. Details of such a laser scanner may be found in Japanese Unexamined Patent Applications Laid-Open Nos. 2010-151682 and 2008-268004, and U.S. Pat. Nos. 8,767,190 and 7,969,558. Point cloud data generated on the basis of stereoscopic photograph images may also be used. The technique relating to generation of point cloud data may be found in Japanese Unexamined Patent Applications Laid-Open Nos. 2013-186816 and 2013-178656, for example. The specified marker receiving part 110 receives information of a marker specified by a user. For example, when a user specifies the marker 11 in
(45) The point cloud display controlling part 120 controls display of a point cloud displayed on the image display 160. An example of the image display 160 includes a liquid crystal display. For example, the control of the point clouds displayed on a display shown in
(46) The separation display controller 121 separates two point clouds on the display as shown in
(47) When the marker of one of the point clouds specified by the user comes close to a marker of the other point cloud corresponding to the specified marker on the display, at a stage in which the distance between these markers becomes a predetermined value or less, the coinciding processor 123 forces these markers to coincide.
(48) In an exemplary case shown in
(49) In another exemplary case shown in
(50) The rotation display controller 124 controls to enable rotation operation for rotating the second point cloud around a rotation axis in the vertical direction on the display in the state shown in
(51) The corresponding marker obtaining part 130 obtains a marker of the other point cloud corresponding to a marker specified in one of the point clouds. A corresponding marker can be obtained by each of two methods. In a first method, identification information such as a number that is associated with every marker is retrieved from a database and is used to obtain a corresponding marker from among the other point cloud. In this method, the identification information of each marker is preliminarily obtained and is associated with each marker in a database.
(52) A second method is performed when the identification information of the marker is not prepared. In this case, a polygon or a polyhedron having each marker as an apex is generated in each of the point clouds as described above. Then, the similarity or the correspondence relationship between the polygons or the polyhedrons of the point clouds is used to determine a marker in the other point cloud corresponding to a marker specified in the one of the point clouds.
(53) When a marker is specified in one of the point clouds, the corresponding marker calculating part 140 identifies a corresponding marker in the other point cloud by using a relative relationship between the specified marker and another marker of the one of the point clouds. In this embodiment, a polygon or a polyhedron having each marker as an apex is generated in each of the point clouds. Then, the similarity or the correspondence relationship between the polygons or the polyhedrons of the point clouds is used to determine a marker in the other point cloud corresponding to a marker specified in the one of the point clouds.
(54) The coinciding condition judging part 150 judges the condition for the above-described processing, that is, for forcing the markers to coincide on the display. The image display 160 may be a liquid crystal display equipped on or connected to the PC that implements the point cloud data processing device 100. The process controlling part 170 manages and executes the processing shown in
(55)
(56) After the processing starts, first, two point clouds (first point cloud and second point cloud) are displayed separately from each other on a display as shown in
(57) Then, a marker of the other point cloud corresponding to the specified marker is obtained (step S104). For example, a marker 21 of the second point cloud corresponding to the marker 11 of the first point cloud specified by the user is obtained by using predetermined identification information (refer to
(58) In a case in which the identification information prepared beforehand cannot be available, a polygon or a polyhedron having the markers as apexes is generated in each of the point clouds. Then, the correspondence relationship between the polygons or the polyhedrons is used to identify a marker of the other point cloud by the corresponding marker calculating part 140. Then, this marker of the other point cloud identified in calculation by the corresponding marker calculating part 140 is obtained as a marker of the other point cloud corresponding to the specified marker by the corresponding marker obtaining part 130.
(59) After the corresponding marker (for example, the marker 21) is obtained, this marker is highlighted (step S105). The processing in this step is performed by the highlight controller 122. Next, one of the point clouds is brought close to the other point cloud by an operation by the user (refer to
(60) When the distance between the two corresponding markers is a predetermined value or less, one of the two markers is brought to the other marker so that the two markers are superposed by force one on another on the display (step S107). For example, the marker 11 may be brought to the marker 21, as shown in
(61) Next, the processing advances to step S108. When a second marker (for example, a marker 12 in
(62) Then, a marker of the other point cloud corresponding to the second marker highlighted in step S109 is obtained (step S110). For example, a marker 22 corresponding to the marker 12 is obtained. The processing in this step is performed by the corresponding marker obtaining part 130. As necessary, the corresponding marker calculating part 140 may identify a corresponding marker.
(63) After the corresponding marker, for example, the marker 22 corresponding to the marker 12, is obtained, the corresponding marker is highlighted (step S111). Then, the state of the point clouds is shifted to a rotation operable state (step S112). In the rotation operable state, rotation can be performed around the markers that are already superposed one on another in step S107, for example, the superposed marker 30 generated by superposing the markers 11 and 21 one on another. The processing in this step is performed by the rotation display controller 124.
(64) After one of the point clouds is rotated by the user as shown in
(65) After a point cloud is obtained, a marker may be added to the point cloud. In this case, a marker is added to a point that is easy to discriminate as a feature point, such as of an edge of a building, in post-processing.
(66) In the invention disclosed in this specification, to determine a corresponding marker of the other point cloud without using identification information when a marker is specified in one of the point clouds, a relative positional relationship between a specified marker and another marker of the one of the point clouds is used. The relative positional relationship is used by a first method or a second method, in addition to the method using a figure having markers as apexes as described in the above embodiment. The first method uses a distance between a target marker and another marker. The second method uses an angle formed between multiple straight lines connecting a target marker and other markers.
(67) For example, the first method is described. First, it is assumed that two point clouds are obtained from the same object from different points of view, as shown in
(68) Typically, a triangle having the markers M1 to M3 as apexes is not a regular triangle and not an isosceles triangle, and therefore, the values L.sub.M1-M2+L.sub.M1-M3, L.sub.m1-M2+L.sub.M2-M3, and L.sub.M1-M3+L.sub.M2-M3 are not the same. Thus, the marker M1 is characterized by the value L.sub.M1-M2+L.sub.M1-M3 and can be discriminated from the other markers. Similarly, the marker M2 is characterized by the value L.sub.M1-M2+L.sub.M2-M3.sup. and can be discriminated from the other markers. Also, the marker M3 is characterized by the value L.sub.M1-M3+L.sub.M2-M3.sup. and can be discriminated from the other markers.
(69) On the basis of this principle, by extracting a marker that is characterized by the value L.sub.M1-M2+L.sub.M1-M3.sup. from each of the point clouds, a marker M1 of one of the point clouds is made to correspond to a marker M1 of the other point cloud. Similarly, by extracting a marker that is characterized by the value L.sub.M1-M2+L.sub.M2-M3.sup. from each of the point clouds, a marker M2 of one of the point clouds is made to correspond to a marker M2 of the other point cloud. Also, by extracting a marker that is characterized by the value L.sub.M1-M3+L.sub.M2-M3.sup. from each of the point clouds, a marker M3 of one of the point clouds is made to correspond to a marker M3 of the other point cloud.
(70) The first method and the second method may be used together to characterize markers of point clouds. In this case, for example, under the above assumption, a line segment connecting the markers M1 and M2 is represented as a line segment L.sub.M1-M2 and a line segment connecting the markers M1 and M3 is represented as a line segment L.sub.M1-M2. The value L.sub.M1-M2+L.sub.M1-M3.sup. and an angle AO formed between the line segment L.sub.M1-M2 and the line segment L.sub.M1-M3 are used as parameters that characterize the marker M1. The combination of the value L.sub.M1-M2+L.sub.M1-M3 and the angle AO is specific to the marker M1. On the basis of this function, by searching for a marker having a combination similar to the combination for the marker M1 from the other point cloud, the marker M1 of one of the point clouds and the marker M1 of the other point cloud are made to correspond with each other.
(71) The point of view for describing two point clouds is not limited to the point for downwardly viewing in the vertical direction. For example, two point clouds may be viewed downwardly from an oblique direction at an angle, such as one of 45 or 60 degrees. Then, the two point clouds in this state may be displayed on a display and are set to be movable in parallel and be rotatable around an axis in the vertical direction. In this example, also, the processing is performed as in the case described above. That is, a marker 1 of one of the two point clouds is specified, a corresponding marker 1 of the other point cloud is identified, the marker 1 is moved to the marker 1, and the marker 1 is the marker 1 in a condition in which the markers 1 and 1 are close to each other. Then, a marker 2 of one of the two point clouds is specified in a condition in which the markers 1 and 1 coincide with each other, the one of the two point clouds is rotated around the coincided markers 1 and 1 by moving the marker 2, and the marker 2 is brought to the marker 2 of the other point cloud corresponding to the marker 2.
(72) When the scales of the two point clouds do not agree with each other, the scale of one of the point clouds is changed, and the scale is adjusted by force in the final state. In this case, the configuration in
(73) In the exemplary case shown in
(74) For example, at a stage in which the markers 12 and 22 come closest to each other, the scale of the second point cloud is increased. Then, if the distance between the markers 12 and 22 is increased, conversely, the scale of the second point cloud is reduced to make the markers 12 and 22 coincide with each other on the display. Otherwise, at a stage in which the scale of the second point cloud is enlarged, if the distance between the markers 12 and 22 is decreased, the enlargement is continued to make the markers 12 and 22 coincide with each other on the display. In another case, when the markers 12 and 22 do not coincide with each other on the display only by increasing scale or reducing scale, the forced rotation of the second point cloud is also performed to try to make the markers 12 and 22 coincide with each other.
(75)
(76)
(77)
(78)