Point cloud data processing device, point cloud data processing method, and point cloud data processing program

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.

CROSS-REFERENCE TO RELATED APPLICATION

This application is based upon and claims benefit of priority from Japanese Patent Application No. 2017-039043, filed Mar. 2, 2017, the entire contents of which are incorporated herein by reference

TECHNICAL FIELD

The present invention relates to a point cloud data processing technique.

BACKGROUND

Point cloud data that are obtained by using a laser scanner or by stereophotogrammetry are publicly known (for example, refer to WO 2011/070927 and Japanese Unexamined Patent Application Laid-Open No. 2012-230594). The point cloud data represents an object in the form of a set of points and contains three-dimensional coordinates of each of the points. The point cloud data can be obtained by calculating three-dimensional coordinates of each feature point that is extracted from measurement result by a three-dimensional laser scanner or from a stereoscopic photograph image, based on the principle of stereophotogrammetry.

When point cloud data is three-dimensionally displayed on a display of a PC or of another device, a three-dimensional shape of an object to be measured is displayed by point clouds (set of points) of the object. The point cloud data is typically used for obtaining a three-dimensional model therefrom. The three-dimensional model represents outline data of an object on a display and has a high affinity to three-dimensional data that can be processed by CAD software.

Point cloud data may be difficult to obtain from hidden portions as seen from one point of view. This phenomenon is called “occlusion”. Thus, to generate a three-dimensional model without occlusion, point clouds are obtained from multiple points of view and are synthesized. In this case, the point clouds that are obtained from different points of view must be matched with each other.

In this matching operation, an operator operates a personal computer (PC) or another device to determine each correspondence relationship between points of two point clouds. Specifically, an operator specifies a specific point of a first point cloud and a corresponding specific point of a second point cloud by manual operation, and this operation is performed on multiple points.

SUMMARY OF THE EMBODIMENTS

In this matching operation, the point clouds are moved in parallel and are rotated. The workability of this operation greatly affects working efficiency. An object of the present invention is to provide a technique for improving working efficiency in position matching of multiple point cloud data displayed on a display.

A first aspect of the present invention provides a point cloud data processing device including 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 one of the multiple markers of one of the first point cloud and the second point cloud is specified as a first marker, the highlight controlling part highlights a corresponding marker among the multiple markers of the other point cloud as a second marker.

According to a second aspect of the present invention, in the first aspect of the present invention, the point cloud data processing device may further include a coinciding processing part. When a distance between the first marker and the second marker is a predetermined value or less on the display, the coinciding processing part executes processing for making the first marker and the second marker coincide with each other on the display.

According to a third aspect of the present invention, in the first or the second aspect of the present invention, the point cloud data processing device may further include a rotation display controlling part. The rotation display controlling part 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.

According to a fourth aspect of the present invention, in any one of the first to the third aspects of the present invention, the point cloud data processing device may further include a corresponding marker calculating part. When a marker is specified among the multiple markers of one of the first point cloud and the second point cloud, the corresponding marker calculating part calculates a corresponding marker among the multiple markers of the other point cloud. 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.

According to a fifth aspect of the present invention, in the fourth aspect of the present invention, the relative positional relationship may be 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. According to a sixth aspect of the present invention, in the fourth or the fifth aspect of the present invention, the relative positional relationship may be 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 or by both the distance and a direction of the specified marker.

According to a seventh aspect of the present invention, in any one of the first to the sixth aspects of the present invention, the point cloud data processing device may further include a separation display controlling part that displays the first point cloud and the second point cloud separately from each other.

An eighth aspect of the present invention provides a point cloud data processing method including, 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.

A ninth aspect of the present invention provides 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. 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, the highlight controlling part highlights a corresponding marker among the multiple markers of the other point cloud.

The present invention enables improving working efficiency in position matching of multiple point cloud data displayed on a display.

DETAILED DESCRIPTION OF THE EMBODIMENTS

FIG. 1shows two point clouds that were obtained from different points of view, displayed on a display, such as a liquid crystal display, of a personal computer (PC) or of another device. The two point clouds shown inFIG. 1are obtained by laser-scanning an object to be measured from two different points of view so that the scanning areas overlap.

The two point clouds as viewed downwardly from a vertical direction are shown inFIG. 1. In the state shown inFIG. 1, the two point clouds are displayed separately from each other to facilitate understanding of the relationship between the two point clouds. In displaying in a practical case, a first point cloud and a second point cloud may be differentiated in the color of the points to facilitate discrimination therebetween. In addition,FIG. 1shows the first point cloud and the second point cloud of which the display scales are made consistent.

The points, each indicated by a double circle inFIG. 1, are reflective points using dedicated targets. Hereinafter, the reflective points each indicated by the double circle are called “markers”. The three markers are the same in the two point clouds and are used to match the positions of the first point cloud and the second point cloud with each other. Although three markers are prepared in this embodiment, a greater number of markers may also be used.

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 inFIG. 1. Pieces of hardware for executing the following processing will be described later. First, as shown inFIG. 1, a first point cloud and a second point cloud as viewed downwardly from a vertical direction are displayed on a display separately from each other so as not to be superposed one on another.

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 marker11(refer toFIG. 2), and the marker11is highlighted by coloring the center of its double circle black.

Next, identification information of the specified marker11is obtained. Thereafter, a corresponding marker21of the first point cloud is identified (refer toFIG. 2). The placed location of each of the markers is preliminarily identified by using a total station or another device and is associated with identification data such as a number. Naturally, since the markers of the first point cloud are the same as in the second point cloud, when the marker11of the second point cloud is identified, the corresponding marker21of the first point cloud is also identified.

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 inFIG. 1is a case in which common markers are detected between the first point cloud and the second point cloud.

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.

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 inFIG. 1is considered. In this case, a triangle using the three markers as apexes is generated. Typically, the triangle is not a regular triangle or an isosceles triangle, but has a distorted asymmetric shape. That is, a first triangle having three markers as apexes in the first point cloud and a second triangle having three markers as apexes in the second point cloud are generated.

In the case shown inFIG. 1, the three markers are the same in the first point cloud and the second point cloud. Because of this relationship, the first triangle and the second triangle coincide with each other, and each of the correspondence relationships between the apexes of the first triangle and the second triangle is determined. As a result, as shown inFIG. 2, the marker21of the first point cloud corresponding to the marker11specified in the second point cloud is identified.

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.

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.

As a result, as shown inFIG. 2, the marker21of the first point cloud corresponding to the marker11specified in the second point cloud is identified.FIG. 2shows a case in which the corresponding marker21of the first point cloud is also highlighted in the same way as in the specified marker11of the second point cloud. The highlighting of the marker21may be performed at a stage in which the distance between the markers11and21becomes a predetermined value or less.

After the state shown inFIG. 2is obtained, the user uses a graphical user interface (GUI) of the PC to move the second point cloud to the first point cloud so as to be close to each other on the display (refer toFIG. 3). At this time, at a stage in which the distance between the corresponding two markers (the marker11of the second point cloud specified by the user and the corresponding marker21of the first point cloud) becomes a predetermined value or less on the display, the two markers are forced to coincide with each other on the display. This condition is shown inFIG. 4.

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.

The symbol30inFIG. 4represents a superposed marker constituted of the first point cloud and the second point cloud by making the markers11and21coincide with each other. In this state, at least one of the point clouds is set to be rotatable around the superposed marker30. The rotation is operated by the user.

Hereinafter, the operation of the rotation is described with reference toFIG. 5. In this operation, a second marker12is specified from among the markers in the second point cloud by the user, for example, by clicking a left button of a mouse. The specified marker12is highlighted as shown inFIG. 5. When the user moves the marker12by using the GUI of the PC, the entirety of the second point cloud is rotated around the superposed marker30while having an axis in a direction vertical to the display, that is, a vertical direction of the point cloud.FIG. 5shows a situation in which the second point cloud is rotated in a clockwise direction.

At this time, a marker22of the first point cloud corresponding to the marker12is 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 markers11and12.

As shown inFIG. 5, as the second point cloud is rotated around the superposed marker30in the clockwise direction, the markers12and22come close to each other. Then, at a stage in which the distance between the markers12and22on the display becomes a predetermined value or less, the markers12and22are made to coincide on the display. This processing is performed by rotating the second point cloud by force so that the markers12and22coincide on the display.

As a result of the processing, the markers12and22are also superposed one on another while the markers11and21are already superposed one on another, and the state shown inFIG. 6is obtained. The markers12and22that are superposed one on another provide a superposed marker40. As known from the case of using the superposed markers30and40, when two pairs of the markers (pair of the markers11and21and pair of the markers12and22) are respectively made to coincide with each other on the display, the first point cloud and the second point cloud are made to coincide with each other accordingly.

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 inFIG. 6, areas that do not correspond with each other may exist.

As described above, the positions of the first point cloud and the second point cloud as shown inFIG. 1are matched with each other on the display, and thus, the first point cloud and the second point cloud are synthesized. The positions of the two point clouds are matched with each other by easy operation including highlighting of the markers11and21, automatic bringing of the markers11and12close to each other (forced coinciding), setting for allowing rotation around the superposed marker30, and automatic bringing of the markers12and22close to each other while rotating (forced coinciding).

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.

FIG. 7shows a point cloud data processing device100. The point cloud data processing device100is used for executing the processing relating to the operation shown inFIGS. 1 to 6. The point cloud data processing device100is constituted by using a commercially available personal computer (PC). The point cloud data processing device100is implemented by installing application software that executes the functions shown in the drawings, in the PC and activating the application software.

When a PC is used, each functional part shown inFIG. 7is constructed by software. A part or all of functional parts shown inFIG. 7may be respectively constructed of dedicated arithmetic circuits. A functional part constructed of software and a functional part composed of a dedicated arithmetic circuit may be used together. For example, each of the functional parts shown in the drawing may be constructed of an electronic circuit such as a central processing unit (CPU), an application specific integrated circuit (ASIC), or a programmable logic device (PLD) such as a field programmable gate array (FPGA).

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.

The point cloud data processing device100shown inFIG. 7includes a point cloud data receiving part101, a specified marker receiving part110, a point cloud display controlling part120, a corresponding marker obtaining part130, a corresponding marker calculating part140, a coinciding condition judging part150, an image display160, a process controlling part170, and a storage180. The point cloud display controlling part120includes a separation display controller121, a highlight controller122, a coinciding processor123, and a rotation display controller124.

The point cloud data receiving part101receives 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 part110receives information of a marker specified by a user. For example, when a user specifies the marker11inFIG. 2by using a GUI of a PC, this information is received by the specified marker receiving part110.

The point cloud display controlling part120controls display of a point cloud displayed on the image display160. An example of the image display160includes a liquid crystal display. For example, the control of the point clouds displayed on a display shown inFIGS. 1 to 6is performed by the point cloud display controlling part120.

The separation display controller121separates two point clouds on the display as shown inFIG. 1. The two point clouds are displayed so as not to overlap with each other as much as possible to facilitate operation of a user relating to the processing shown inFIGS. 2 to 6. The highlight controller122highlights the displayed marker specified by a user. The highlighting may be performed by displaying a black point as shown inFIG. 2, flashing, changing the shape of the displayed marker into a shape different from those of other markers, or other means. For example, a square shape of a displayed marker may be changed into a triangle shape.

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 processor123forces these markers to coincide.

In an exemplary case shown inFIG. 3, when the user performs an operation to make the second point cloud be close to the first point cloud on the display, at a stage in which the distance between the markers11and21is a threshold value or less, the coinciding processor123forces the second point cloud on the display to move to make the markers11and21coincide on the display.

In another exemplary case shown inFIG. 5, when the user operates rotation of the second point cloud around the superposed marker30, at a stage in which the distance between the markers12and22becomes a threshold value or less on the display, the coinciding processor123forces the second point cloud to rotate to make the markers12and22be superposed on the display.

The rotation display controller124controls 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 inFIG. 4. That is, as shown inFIG. 5, when the marker12is specified, and operation for moving the marker12on the display is performed, the rotation display controller124controls rotation of the second point cloud around the superposed marker30on the display.

The corresponding marker obtaining part130obtains 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.

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.

When a marker is specified in one of the point clouds, the corresponding marker calculating part140identifies 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.

The coinciding condition judging part150judges the condition for the above-described processing, that is, for forcing the markers to coincide on the display. The image display160may be a liquid crystal display equipped on or connected to the PC that implements the point cloud data processing device100. The process controlling part170manages and executes the processing shown inFIGS. 8 and 9, which will be described later. The storage180stores various data, operation programs, and various data obtained as a result of the processing, used in the point cloud data processing device100. The storage180may be implemented by a memory area of the PC or a hard disk unit.

FIGS. 8 and 9show flowcharts of an example of a procedure of the processing performed in the point cloud data processing device100inFIG. 7. Programs for executing the processing shown inFIGS. 8 and 9are stored in the storage180. These programs may be stored in an appropriate manner such as by using an identification medium or a server, and may be provided therefrom.

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 inFIG. 1(step S101). The processing in this step is performed by the separation display controller121. Next, when a user specifies a marker of one of the two point clouds, the processing advances from step S102to step S103, and the specified marker is highlighted. For example, a marker11is displayed as shown inFIG. 2. The specification of the marker is received by the specified marker receiving part110, and the highlighting is performed by the highlight controller122.

Then, a marker of the other point cloud corresponding to the specified marker is obtained (step S104). For example, a marker21of the second point cloud corresponding to the marker11of the first point cloud specified by the user is obtained by using predetermined identification information (refer toFIG. 2). The processing in this step is performed by the corresponding marker obtaining part130.

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 part140. Then, this marker of the other point cloud identified in calculation by the corresponding marker calculating part140is obtained as a marker of the other point cloud corresponding to the specified marker by the corresponding marker obtaining part130.

After the corresponding marker (for example, the marker21) is obtained, this marker is highlighted (step S105). The processing in this step is performed by the highlight controller122. Next, one of the point clouds is brought close to the other point cloud by an operation by the user (refer toFIG. 3). Then, whether the corresponding markers of the two point clouds (for example, the markers11and21) come close to each other so as to have a predetermined distance therebetween is judged (step S106). The processing in this step is performed by the coinciding condition judging part150.

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 marker11may be brought to the marker21, as shown inFIG. 3, to make the markers11and21coincide with each other. The processing in step S107is performed by the coinciding processor123. As a result of performing the processing in step S107, for example, the state shown inFIG. 5is obtained.FIG. 5shows a state in which a superposed marker30is obtained by making the markers11and21coincide with each other.

Next, the processing advances to step S108. When a second marker (for example, a marker12inFIG. 5) is specified by the user, the specified second marker is highlighted (step S109). The processing in this step is performed by the highlight controller122.

Then, a marker of the other point cloud corresponding to the second marker highlighted in step S109is obtained (step S110). For example, a marker22corresponding to the marker12is obtained. The processing in this step is performed by the corresponding marker obtaining part130. As necessary, the corresponding marker calculating part140may identify a corresponding marker.

After the corresponding marker, for example, the marker22corresponding to the marker12, 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 marker30generated by superposing the markers11and21one on another. The processing in this step is performed by the rotation display controller124.

After one of the point clouds is rotated by the user as shown inFIG. 5, whether the distance between the target two markers on the display, for example, the markers12and22inFIG. 5, is a predetermined value or less is judged (step S113). When the distance is a predetermined value or less, the display positions of the two markers are brought close to each other to force them to coincide (step S114), and the processing is terminated. The judgment in step S113is performed by the coinciding condition judging part150, and the coinciding process is performed by the coinciding processor123.

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.

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.

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 inFIG. 1. It is also assumed that the two point clouds contain common markers M1, M2, and M3. The distance between the markers M1and M2is represented as a distance LM1-M2, the distance between the markers M2and M3is represented as a distance LM2-M3, and the distance between the markers M1and M3is represented as a distance LM1-M3. In this condition, the relative relationship of the marker M1to the other markers is defined as LM1-M2+LM1-M3. Similarly, the relative relationship of the marker M2to the other markers is defined as LM1-M2+LM2-M3. Also, the relative relationship of the marker M3to the other markers is defined as LM1-M3+LM2-M3.

Typically, a triangle having the markers M1to M3as apexes is not a regular triangle and not an isosceles triangle, and therefore, the values “LM1-M2+LM1-M3”, “Lm1-M2+LM2-M3”, and “LM1-M3+LM2-M3” are not the same. Thus, the marker M1is characterized by the value “LM1-M2+LM1-M3” and can be discriminated from the other markers. Similarly, the marker M2is characterized by the value “LM1-M2+LM2-M3”and can be discriminated from the other markers. Also, the marker M3is characterized by the value “LM1-M3+LM2-M3”and can be discriminated from the other markers.

On the basis of this principle, by extracting a marker that is characterized by the value “LM1-M2+LM1-M3”from each of the point clouds, a marker M1of one of the point clouds is made to correspond to a marker M1of the other point cloud. Similarly, by extracting a marker that is characterized by the value “LM1-M2+LM2-M3”from each of the point clouds, a marker M2of one of the point clouds is made to correspond to a marker M2of the other point cloud. Also, by extracting a marker that is characterized by the value “LM1-M3+LM2-M3”from each of the point clouds, a marker M3of one of the point clouds is made to correspond to a marker M3of the other point cloud.

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 M1and M2is represented as a line segment LM1-M2and a line segment connecting the markers M1and M3is represented as a line segment LM1-M2. The value “LM1-M2+LM1-M3”and an angle AO formed between the line segment LM1-M2and the line segment LM1-M3are used as parameters that characterize the marker M1. The combination of the value “LM1-M2+LM1-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 M1from the other point cloud, the marker M1of one of the point clouds and the marker M1of the other point cloud are made to correspond with each other.

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 marker1of one of the two point clouds is specified, a corresponding marker1′ of the other point cloud is identified, the marker1is moved to the marker1′, and the marker1is the marker1′ in a condition in which the markers1and1′ are close to each other. Then, a marker2of one of the two point clouds is specified in a condition in which the markers1and1′ coincide with each other, the one of the two point clouds is rotated around the coincided markers1and1′ by moving the marker2, and the marker2is brought to the marker2′ of the other point cloud corresponding to the marker2.

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 inFIG. 7further includes a forced scale adjusting part, and the following processing is performed.

In the exemplary case shown inFIGS. 1 to 6, if the scales of the first point cloud and the second point cloud do not agree with each other, the markers12and22do not coincide with each other when the first point cloud is rotated in the state inFIG. 5. In such a case, when the first point cloud is rotated, the scale of the first point cloud is forced to change at a stage in which the markers12and22come closest to each other.

For example, at a stage in which the markers12and22come closest to each other, the scale of the second point cloud is increased. Then, if the distance between the markers12and22is increased, conversely, the scale of the second point cloud is reduced to make the markers12and22coincide 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 markers12and22is decreased, the enlargement is continued to make the markers12and22coincide with each other on the display. In another case, when the markers12and22do 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 markers12and22coincide with each other.

FIGS. 10 to 16show images of point clouds respectively displayed on a display of a PC.FIGS. 10 to 16respectively show a state of the point clouds as viewed downwardly from the vertical direction.

FIG. 10shows a state in which two point clouds are displayed in a superposed mannerFIG. 11shows a state in which two point clouds are displayed separately from each other.FIG. 12shows a state after the following processing is performed. That is, a marker SH02 of a light gray-colored point cloud at an upper side is specified, and the light gray-colored point cloud is moved in parallel. The marker SH02 and a corresponding marker TAR0001 are highlighted. The marker TAR0001 is a marker of a dark gray-colored point cloud and is displayed at a lower side.

FIG. 13shows a state in which the marker SH02 of the light gray-colored point cloud and the marker TAR0001 of the dark gray-colored point cloud are made to coincide with each other on the display.FIG. 14shows a state in which a second marker OCC0001 is specified from among those in the light gray-colored point cloud by clicking and capturing. In this state, a marker SH01 of the other point cloud (dark gray-colored point cloud) corresponding to the marker OCC0001 is identified.

FIG. 15shows a state in which the light gray-colored point cloud is rotated in a clockwise direction from the state inFIG. 14to make the marker OCC0001 closer to the marker SH01.FIG. 16shows a state in which the marker OCC0001 coincides with the marker SH01 and the light gray-colored point cloud that was displayed at the upper side coincides with the dark gray-colored point cloud that was displayed at the lower side.