WO2020230452A1 - 3次元モデル生成装置 - Google Patents
3次元モデル生成装置 Download PDFInfo
- Publication number
- WO2020230452A1 WO2020230452A1 PCT/JP2020/012085 JP2020012085W WO2020230452A1 WO 2020230452 A1 WO2020230452 A1 WO 2020230452A1 JP 2020012085 W JP2020012085 W JP 2020012085W WO 2020230452 A1 WO2020230452 A1 WO 2020230452A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- dimensional
- polygon
- point cloud
- cloud data
- generation
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
- G06T17/20—Finite element generation, e.g. wire-frame surface description, tesselation
Definitions
- the present invention relates to a technique for generating a three-dimensional model of an object based on a three-dimensional point cloud.
- the three-dimensional restoration process is a process of obtaining a three-dimensional point cloud of a photographed feature based on the correspondence of feature points between a plurality of images photographed from a plurality of points. If three-dimensional restoration is used, a plurality of images within the target range of processing are taken from an aircraft or the like, and by analyzing these images, a three-dimensional point cloud representing the target range can be obtained. Once such a point cloud is obtained, it is possible to generate a three-dimensional model by analyzing it.
- Patent Document 1 discloses a technique for generating a three-dimensional model by three-dimensional reconstruction.
- Patent Document 2 clusters three-dimensional point clouds based on the distance between the point clouds, creates layers as horizontal planes based on the clusters, and further combines them to make the whole. It discloses a technique for generating a model.
- the density and accuracy of the 3D point cloud data used for 3D restoration are not always uniform.
- the density and accuracy may differ for each feature.
- the density and accuracy may be locally different even in the three-dimensional point cloud data representing one feature.
- a 3D model in which the 3D point cloud data is well restored may be generated, or a defect may be generated. Therefore, 3D is based on the nonuniformity of the 3D point cloud data.
- the model generation result was sometimes unstable. Such a problem was a common problem not only for features but also for a wide range of objects.
- An object of the present invention is to provide a technique capable of stably generating a three-dimensional model in which the three-dimensional point cloud data is well restored regardless of the non-uniformity of the three-dimensional point cloud data.
- the present invention A three-dimensional model generator that generates a three-dimensional model of an object represented by the three-dimensional point cloud data from three-dimensional point cloud data that holds three-dimensional position coordinates for each of a plurality of point clouds.
- a polygon generation unit that generates a three-dimensional polygon that constitutes the three-dimensional model based on the three-dimensional point cloud data, and a polygon generation unit.
- a generation parameter setting unit that is used to generate the three-dimensional polygon and sets generation parameters that affect the generation result.
- the configuration may include a polygon shape determining unit that determines the shape of the three-dimensional polygon through a process of changing the generation parameters in a plurality of ways and causing the polygon generation unit to generate the three-dimensional polygon. ..
- a three-dimensional polygon means a surface that constitutes a three-dimensional model.
- a 3D model means a set of one or more 3D polygons that represent an object. Examples of the object include a feature that constitutes a three-dimensional map, a structure such as a wall and a pillar in a building, and various objects such as an object such as a locker and a desk. Further, the three-dimensional point cloud data may represent a single object or may include a plurality of objects.
- the generation parameters are changed in a plurality of ways to generate the three-dimensional polygons, the generation result of the three-dimensional polygons also changes accordingly. According to the present invention, the best one can be selected from these, and a three-dimensional model that well reflects the three-dimensional point cloud data can be stably obtained.
- the generation parameters can be determined according to the method of generating the three-dimensional polygon.
- the generation parameters include, for example, a distance threshold for determining whether or not the 3D point cloud data belongs to the generated 3D polygon, a limit value of the distance threshold, and the 3D point cloud data and the 3D polygon.
- Shape match rate threshold which is a criterion for judging whether or not the deviation is good
- the number of vertices threshold which is a criterion for judging whether or not 3D point cloud data is secured, which is the basis for generating 3D polygons.
- An angle threshold for calculating the rate and the like can be mentioned.
- the generation parameters are not limited to these, nor do they have to use some or all of these generation parameters. Various methods can be adopted as a method of changing the generation parameters in a plurality of ways.
- a predetermined constant may be set in advance, and the generated parameter may be changed by performing an operation using this constant.
- a method has an advantage that the generation parameters can be changed relatively easily. Further, since the change of the generation parameter can be predicted, there is an advantage that it is easy to prevent the generation parameter from becoming an abnormal value. Further, the generation parameter may be changed by an operation using the evaluation value for evaluating the generation result, such as the deviation between the three-dimensional point cloud data and the generated three-dimensional polygon. This has the advantage that it is easy to converge to the optimum generation parameters.
- the polygon shape determining unit evaluates the generated three-dimensional polygon, and when the evaluation result does not satisfy a predetermined criterion, changes the generation parameter and causes the three-dimensional polygon to be regenerated. It may be a thing.
- the method of changing the generation parameter is not limited to the above-described embodiment, and other aspects may be adopted. For example, a method may be adopted in which three-dimensional polygons are generated by changing the generation parameters in a plurality of ways, and the one having the best evaluation or the one satisfying a predetermined criterion is selected from among them.
- the processing can be relatively simplified, and when it is difficult to obtain a three-dimensional polygon satisfying a predetermined standard, the processing is repeated many times and the processing time is suppressed from becoming long.
- various criteria can be used as the "predetermined criteria" in the evaluation.
- the shape matching rate between the three-dimensional point cloud data and the generated three-dimensional polygon may be used as an evaluation index.
- Image processing or artificial intelligence may be used to evaluate how well the generated 3D polygons restore the 3D point cloud data.
- the polygon shape determining unit excludes the one corresponding to the three-dimensional polygon from the three-dimensional point cloud data, and again targets the remaining three-dimensional point cloud data.
- the process of determining the shape of the three-dimensional polygon may be executed.
- the generation parameters for obtaining a good 3D polygon are also changed according to the part of the 3D point cloud data.
- the 3D polygon is generated while removing the 3D point cloud data obtained from which a good 3D polygon is obtained, it is possible to change the generation parameter for each part of the 3D point cloud data.
- the number of the three-dimensional point cloud data is gradually reduced by removing the three-dimensional point cloud data. Therefore, when the number of the remaining three-dimensional point cloud data falls below a predetermined value, the processing may be stopped.
- the predetermined value used for the determination to stop the processing may be set based on various factors such as the initial density and accuracy of the three-dimensional point cloud data and the size of the target object. , May be changeable in a predetermined process.
- the three-dimensional polygon shape determining unit may determine the shape of the three-dimensional polygon based on the shape matching rate representing the deviation between the generated three-dimensional polygon and the three-dimensional point cloud data.
- the polygon generation unit can generate the three-dimensional polygon in a plurality of ways.
- the polygon shape determining unit may switch the method of generating the three-dimensional polygon based on the characteristics of the three-dimensional point cloud data.
- the plurality of methods include various methods such as the methods described in Patent Documents 1 and 2 and other methods in the prior art, methods using primitives, and methods using artificial intelligence. Further, in the same method, the judgment criteria used for generation may be different.
- the generation of the three-dimensional polygon by the polygon generation unit may include a method of adapting a three-dimensional primitive prepared in advance to the three-dimensional point cloud data.
- the primitive is prepared in advance.
- one of these primitives will be selected.
- all the primitives prepared in advance may be processed to be fitted to the three-dimensional point cloud data, and then selected so that the matching rate is maximized.
- the primitives may be narrowed down based on the size of the area including the three-dimensional point cloud data.
- the approximate plane shape may be specified by projecting the three-dimensional point cloud data onto a plane, and a primitive whose plane shape is similar to the plane shape may be selected.
- the 3D polygon generation unit gives priority to a method of fitting the primitive so that the shape matching rate between the 3D polygon and the 3D point cloud data is high, and a method in which the size of the 3D polygon to be generated is large. It may include a method of fitting the primitive.
- the criterion used when generating a three-dimensional polygon gives priority to the shape matching rate or the size of the three-dimensional polygon.
- Two different methods will be used properly. By doing so, it is possible to realize the generation according to the characteristics of the three-dimensional point cloud data while taking advantage of the fact that the three-dimensional polygon can be generated by a relatively simple process using the primitive.
- the size of the three-dimensional polygon may be prioritized. In such a case, the deviation between the 3D point cloud and the 3D polygon is evaluated to be relatively small in terms of the overall ratio.
- the shape matching rate is an index showing the deviation between the 3D point cloud data and the 3D polygon, and can be defined in various ways. It is also possible to simply use the squared average of the distances between the two as an index. Further, a statistical value indicating the distribution of the absolute value of the distance between the two, for example, the mean value, the median value, the standard deviation, or the like may be used as an index.
- the shape matching rate uses two of the distance between the three-dimensional point cloud data and the three-dimensional polygon, and the angle formed by the normal vector of the three-dimensional point cloud data and the normal vector of the three-dimensional polygon. It may be calculated.
- the normal vector possessed by the three-dimensional point cloud data means the normal vector of the surface to which each point is determined to belong when the three-dimensional point cloud data is acquired.
- SIFT Scale-Invariant Feature Transform
- the present invention does not necessarily have all of the above-mentioned features, and some of them may be omitted or combined as appropriate. It may be configured as a three-dimensional model generation method in which the above-mentioned three-dimensional model generation is executed by a computer, or may be configured as a computer program for causing a computer to perform such a method. Further, it may be configured as a recording medium that can be read by a computer that records such a computer program.
- an apparatus for generating a three-dimensional model using primitives for three-dimensional point cloud data representing a building will be illustrated.
- the following invention is also applicable to objects other than buildings.
- the generation of a three-dimensional model is not limited to the method using primitives.
- FIG. 1 is an explanatory diagram showing the configuration of the three-dimensional model generation device 10.
- the computer is configured as software by installing a computer program for realizing each of the illustrated functions. Part or all of each function may be configured in hardware.
- the device is exemplified as a device that operates standalone, it may be configured by connecting a plurality of computers or servers via a network.
- the three-dimensional point cloud data storage unit 11 has a function of reading and storing the three-dimensional point cloud data.
- the three-dimensional point cloud data is a collection of three-dimensional points representing the appearance shape of the building to be processed, and is data having a three-dimensional coordinate value and a normal vector for each point.
- the three-dimensional point cloud data can be obtained by using SIFT (Scale-Invariant Feature Transform).
- SIFT Scale-Invariant Feature Transform
- three-dimensional point cloud data generated by using a laser or the like may be used.
- the three-dimensional model generation unit 12 generates a three-dimensional model representing a building based on the three-dimensional point cloud data.
- the outline generation process of the three-dimensional model in this embodiment is as follows. First, a primitive is placed on the 3D point cloud data, and a 3D polygon is generated by matching the shape. Then, the obtained three-dimensional polygon is evaluated, and if the predetermined criteria are not satisfied, the generation parameters are changed and the three-dimensional model is generated again. When a good three-dimensional polygon is obtained by repeating this, the three-dimensional point cloud data corresponding to the obtained three-dimensional polygon is excluded from the processing target. Then, the same process is repeated for the remaining three-dimensional point cloud data.
- a 3D polygon is generated for the entire 3D point cloud data, and a 3D model for the building is obtained as an aggregate thereof.
- the three-dimensional model thus obtained is evaluated again, and if it cannot be said to be good, the generation parameters are changed again and the process is executed.
- the three-dimensional model generation unit 12 executes the above processing by using each of the following functions.
- the primitive database 15 is a database that stores three-dimensional primitives used for generating a three-dimensional model in advance.
- a three-dimensional polygon having a typical shape representing a building or a house is prepared as a primitive.
- the primitive placement unit 14 is a function corresponding to the polygon generation unit in the present invention, and has a function of arranging primitives according to three-dimensional point cloud data and matching their shapes. By this process, a three-dimensional polygon will be generated.
- the polygon shape determination unit 13 evaluates the three-dimensional polygon obtained by the primitive arrangement unit 14. If the three-dimensional polygon does not meet the predetermined criteria, the generation parameter is changed and the primitive arrangement unit 14 is made to generate the three-dimensional model again. Further, when a good 3D polygon is obtained, the corresponding 3D point cloud data is removed, and the primitive arrangement unit 14 is made to generate a 3D model for the remaining 3D point cloud data. ..
- the three-dimensional polygon storage unit 16 sequentially stores the three-dimensional polygons obtained in the above process.
- the generation parameter setting unit 17 initially sets the generation parameters used in the above processing, and also changes the generation parameters.
- the shape matching rate calculation unit 18 calculates the shape matching rate as an index for evaluating the obtained three-dimensional polygon.
- FIG. 2 is a flowchart of the three-dimensional model generation process. This is a process mainly corresponding to the three-dimensional polygon generation unit 12.
- the three-dimensional model generation device 10 initializes the generation parameters (step S10).
- a three-dimensional point cloud to be polygonized is set (step S11).
- the 3D point cloud data to be processed is set for each building.
- the setting method is, for example, a method of projecting three-dimensional point cloud data onto a ground plane and clustering an area whose density is equal to or more than a predetermined value, or a method of clustering a point cloud whose distance between points is equal to or less than a predetermined value. You can take a method.
- the three-dimensional model generation device 10 executes the polygonization process (step S12).
- This is a process for generating a three-dimensional polygon for the three-dimensional point cloud data to be processed. The details of the processing will be described later.
- the polygonization processing a three-dimensional model of the building represented by the three-dimensional point cloud data to be processed can be obtained.
- the three-dimensional model generation device 10 performs the polygonization evaluation process (step S13).
- the evaluation process of polygonization can be performed by various methods. For example, the evaluation may be performed based on the shape matching rate between the three-dimensional point cloud data and the three-dimensional polygon. In addition, artificial intelligence or image processing may be used to evaluate how well the 3D point cloud data is restored. In this example, the evaluation is based on the shape matching rate. The method of calculating the shape matching rate will be described later.
- the evaluation result is OK, that is, when the shape matching rate is equal to or more than a predetermined value
- the result of polygonization is reflected (step S15), that is, the obtained three-dimensional polygon is stored and the corresponding 3 The 3D point cloud data will be treated as processed.
- the unprocessed three-dimensional point cloud data remains, it is determined that the process has not been completed yet (step S17), and the above processing is repeated. If there is not enough 3D point cloud data to generate 3D polygons, the 3D model generation process is terminated.
- the generation parameter is reset (step S16), and the above processing is repeated.
- the suitability of the result is determined by the shape matching rate in the process of generating the three-dimensional polygon.
- the generation parameters are reset according to the result. Therefore, the above-mentioned processes of steps S13 to S16 may be omitted.
- steps S13 to S16 and performing an evaluation different from the process of generating the three-dimensional polygon it is possible to obtain a better three-dimensional model. For example, by calculating the shape matching rate for the entire three-dimensional model, a value different from the shape matching rate obtained for each of the three-dimensional polygons constituting the three-dimensional model can be obtained.
- the variation in the shape matching rate may be added to the evaluation.
- step S16 the generation parameters are reset when the three-dimensional polygons are generated. Specifically, it is changed by multiplying a generation parameter called a distance threshold by a predetermined coefficient. Therefore, in step S16, it is preferable to reset the generation parameters by a method different from this. For example, a method of resetting a generation parameter different from the distance threshold value or a method of resetting the generation parameter by a method other than multiplying by a coefficient can be considered.
- This process corresponds to the three-dimensional model generation process (step S12 in FIG. 2).
- This is mainly the process executed by the three-dimensional model generation unit 12 of FIG. FIG. 3 is a flowchart of polygonization processing.
- the three-dimensional model generation device 10 reads the three-dimensional point cloud data and the primitive data to be predetermined objects (steps S20 and S21).
- the initial value of the generation parameter is set based on the density of the input point cloud data (step S22).
- the generation parameters used in this example are shown in the figure.
- the distance threshold (Thd) is a parameter used to extract the 3D point cloud data corresponding to the 3D polygon. When the distance threshold value is large, the extraction range becomes wide, so that appropriate extraction is possible even when the three-dimensional point cloud data contains noise or error. On the other hand, when the distance threshold value is small, the extraction range is narrowed, so that it is possible to extract points that are more fitted to the three-dimensional polygon.
- the limit value (Thlim) of the distance threshold value is a parameter used for determining whether or not the distance threshold value is a normal value when resetting the distance threshold value.
- the change magnification (VThd) of the distance threshold value is a parameter used for resetting the distance threshold value.
- the shape matching rate threshold value (Thf) is a parameter used for determining whether or not the shapes of the three-dimensional polygon and the three-dimensional point cloud data match. That is, if the shape matching rate is larger than the shape matching rate threshold value, it is determined that the matching rate between the 3D polygon and the 3D point cloud data is good, and if not, it is determined that the matching rate is not good. Will be.
- the number of vertices threshold (Thp) is a parameter used for determining whether or not three-dimensional point cloud data that can be converted into polygons remains. That is, if the number of vertices of the three-dimensional point cloud data is larger than the threshold value, it is determined that the three-dimensional polygon can be generated, and if not, it is determined that the three-dimensional polygon cannot be generated.
- the angle threshold (Tha) is a parameter used in calculating the shape matching rate. That is, if the angle formed by the normal vector of the 3D point cloud data and the normal vector of the 3D polygon is less than the angle threshold, the point is determined as one of the vertices belonging to the 3D polygon, and it is not.
- the generation parameters it is determined that the vertices do not belong to the three-dimensional polygon.
- Other than these may be used as the generation parameters.
- the type of generation parameter can be appropriately determined according to the method of generating the three-dimensional polygon.
- the three-dimensional model generation device 10 executes the polygon shape generation process (step S23).
- FIG. 4 is a flowchart of the polygon shape determination process. This is a process corresponding to step S23 in FIG. Further, it is a process mainly executed by the polygon shape determining unit 13 of FIG.
- the three-dimensional model generation device 10 executes the primitive placement process (step S30). This is a process of arranging the primitives prepared in advance so as to match the three-dimensional point cloud data, and deforming and adapting the shape. The details of the process will be described later.
- the primitive placement process the generated 3D polygon and its shape matching rate are output.
- the three-dimensional model generation device 10 determines whether or not the generated three-dimensional polygon is good or not by comparing the shape matching rate and the shape matching rate threshold value Thf.
- the shape matching rate is larger than the shape matching rate threshold ThrF (step S31)
- the point cloud constituting the generated three-dimensional polygon is removed as processed (step S33). In this way, when the remaining number of points is larger than the number of vertices threshold value Thp, it is determined that the generation of the three-dimensional polygon should be performed, and the polygon shape determination process is recursively executed (step S37).
- the three-dimensional polygon generation device 10 determines that the generated three-dimensional polygon is not good, and is one of the generation parameters.
- the threshold threshold is reset (step S35).
- Generation parameters other than the distance threshold Thd may also be subject to resetting.
- the resetting of the distance threshold value Thd is performed by the conventional distance threshold value Thd ⁇ the change magnification of the distance threshold value (VThd).
- the reset may be performed by another operation. Further, the change magnification (VThd) of the distance threshold value may be changed according to the shape matching rate.
- the three-dimensional model generation device 10 determines that the distance threshold value Thd is a normal value (step S36), and determines the polygon shape. The process is recursively executed (step S37). As a result, the three-dimensional polygon is generated again based on the new generation parameter.
- the distance threshold Thd is equal to or greater than the limit value (Thlim) of the distance threshold, it is determined that the distance threshold Thd is an abnormal value (step S36), and the polygon shape determination process is terminated.
- the generation parameter is reset and the three-dimensional polygon is generated again.
- a good three-dimensional polygon will be generated.
- the corresponding three-dimensional point cloud is removed, and then the three-dimensional polygon is continuously generated for the remaining three-dimensional point cloud.
- step S30 of the polygon shape determination process (FIG. 4).
- FIG. 5 is a flowchart of the primitive placement process (1).
- the 3D model generation device 10 reads the primitive from the primitive database 15 and matches it with the shape of the 3D point cloud data (step S40).
- the primitives are arranged so as to overlap the three-dimensional point cloud data, and the shape is further deformed.
- the primitive is deformed by expanding and contracting in the three-dimensional x, y, and z directions.
- various known methods can be applied.
- the 3D model generation device 10 calculates the nearest proximity distance to each surface of the primitive for each point of the 3D point cloud group data, and extracts the point where the nearest proximity distance is smaller than the distance threshold Thd (Ste S41).
- the nearest neighbor distance is the minimum value of the distance from a point to each surface of a three-dimensional polygon.
- the points whose nearest proximity distance is smaller than the distance threshold value Thd are considered to be a three-dimensional point cloud belonging to the three-dimensional polygon. That is, the process of step S41 is a process of extracting a group of three-dimensional points determined to belong to each surface of the generated three-dimensional polygon.
- the 3D model generator 10 When the number of extracted point clouds is larger than the number of vertices threshold (Thp) (step S42), the 3D model generator 10 generates 3D polygons based on the 3D point cloud data that can be converted into polygons. It is determined that the polygon has been determined, and the polygon determination and the shape matching rate calculation process are executed (step S43).
- Polygon determination is a process of determining primitive polygons so as to match the extracted point cloud.
- Thd used when extracting the point cloud is a large value, there is a possibility that points that do not originally form the same polygon are extracted. Therefore, it is not possible to determine a polygon that matches the extracted point cloud.
- the polygon is determined by deforming the primitive so as to match as many point clouds as possible while allowing an error from the extracted point cloud.
- the shape matching rate calculation process is a process for calculating the shape matching rate between the three-dimensional point cloud data and the three-dimensional polygon. The contents will be described later.
- the number of the extracted point cloud is equal to or less than the vertex number threshold value (Thp) (step S42)
- Thp vertex number threshold value
- the rate calculation process (step S43) is skipped. In this case, the primitive selection was inappropriate in the first place.
- the shape matching rate can be obtained for the three-dimensional polygons generated by using the primitives, except when an inappropriate primitive is used.
- the three-dimensional model generation device 10 repeatedly executes the above processing for all primitives (step S44). Then, the primitive having the maximum shape matching rate is selected from the obtained results (step S45).
- the primitive referred to here means a state after matching the three-dimensional point cloud data.
- the primitive placement process is performed for all the primitives prepared in advance.
- the primitives to be processed may be narrowed down.
- a primitive such as a rectangular parallelepiped representing the building may be used.
- an attribute such as "building” may be set in the primitive in advance, and the operator may select and narrow down based on the attribute.
- the three-dimensional point cloud data may be projected onto a plane, and a primitive having a plane shape matching the projected point cloud may be selected.
- FIG. 6 is a flowchart of the primitive placement process (2). It corresponds to a modification of the process described with reference to FIG. Steps S50 to S54 of the primitive placement process (FIG. 6) in the modified example are the same as the processes of steps S40 to S44 of FIG.
- the three-dimensional model generation device 10 selects the primitives based on two conditions.
- the condition 1 is that the shape matching rate is larger than the shape matching rate threshold value (Thf). By including this condition, primitives whose shapes are too far from the 3D point cloud data will be excluded.
- the condition 2 is the maximum scale. That is, the one with the largest size is selected from the primitives.
- the primitive was selected with priority given to matching with the three-dimensional point cloud data under the condition that the shape matching rate is the maximum.
- the primitive placement process (2) even if the maximum scale, that is, the shape matching rate is slightly low, the larger primitive is prioritized for selection.
- the primitive placement process (1) selects the primitive having the maximum shape matching rate, there is a feature that a three-dimensional polygon that matches well with the three-dimensional point cloud data is generated. Therefore, if it is determined that the accuracy of the 3D point cloud data is sufficiently high, a good 3D polygon can be obtained. On the other hand, if the accuracy of the 3D point cloud data is low, matching the 3D point cloud data with the 3D point cloud data may result in the generation of 3D polygons that deviate from the originally expected shape. Therefore, it can be said that the primitive placement process (1) is preferably used for three-dimensional point cloud data that is considered to have good accuracy.
- the scale is prioritized over the shape matching rate, and the primitive with the maximum scale is selected.
- the primitive arrangement process (2) is a process suitable for generating a three-dimensional polygon based on three-dimensional point cloud data that contains noise or has low accuracy.
- the primitive placement process (2) requires that the shape matching rate is larger than the shape matching rate threshold value (Thf), it is necessary to avoid the generation of 3D polygons having a shape completely different from the 3D point cloud data. There is also an advantage that it can be done.
- step S30 of the polygon shape determination process either one of the above-mentioned primitive arrangement processes (1) (FIG. 5) and primitive arrangement processes (2) (FIG. 6) may be used. Both may be used properly according to the characteristics of the three-dimensional point cloud data. The proper use may be selected by the operator, for example, but may be automatically determined according to the noise and accuracy of the three-dimensional point cloud data. For example, the distribution of the nearest distance between the 3D point cloud data and each surface is obtained, the accuracy of the 3D point cloud data is evaluated based on the maximum value, variation, etc., and based on this, the two processes are performed. One may be selected.
- the accuracy of the remaining 3D point cloud data also changes sequentially. become. Therefore, for example, at the beginning of the polygon shape determination process, a process using a primitive having a large scale is performed by the primitive arrangement process (2), and after the three-dimensional point cloud data is removed to some extent, the primitive arrangement process (1)
- the processing may be switched in the middle, such as processing using a primitive having a high shape matching rate.
- FIG. 7 is a flowchart of the shape matching rate calculation process.
- the shape matching rate is used for evaluation of polygons generated by polygon evaluation (step S13 in FIG. 2), polygon shape determination processing (step S31 in FIG. 4), primitive selection (steps S45 and S55 in FIG. 5), and the like. This is the value used.
- the shape matching rate calculation process is a process corresponding to the primitive arrangement process (1) (step S43 in FIG. 5) and the primitive arrangement process (2) (step S53 in FIG. 6). This is mainly a process executed by the shape matching rate calculation unit 18 of FIG.
- the three-dimensional model generation device 10 selects one point in the three-dimensional point cloud data (step S60). In addition, a polygon that is the nearest neighbor distance to the selected point is selected (step S61). Then, the angle ANG formed by the normal vector of the selected point and the polygon is calculated (step S62). The above process is repeated until all of the target three-dimensional point cloud data is completed (step S63).
- the three-dimensional model generation device 10 calculates the shape matching rate by the following equation (step S64).
- Shape match rate N / Total
- N is the number of points at which the angle formed ANG ⁇ angle threshold Tha. That is, N represents the number of points determined to belong to the polygon.
- Total is the total number of points in the target three-dimensional point cloud. That is, by the above processing, the shape matching rate calculates the ratio of the points determined to belong to the three-dimensional polygon in the three-dimensional point cloud data.
- the shape matching rate is not limited to this definition, and various other definitions can be taken.
- FIG. 8A shows a three-dimensional point cloud before processing.
- the point cloud shown in the figure constitutes a building.
- This building roughly has a shape in which a main body portion D1, a slightly flat structure D2 on the roof, and a structure D3 on the roof are overlapped.
- a rectangular parallelepiped primitive close to the main body of the building is used, and matching is performed as shown in FIG. 8 (b).
- the primitive P1 matches the main body D1 relatively well, but does not match the structures D2 and D3.
- the distance threshold Thd was set to 3 m.
- the distance threshold value Thd is reset and the primitive placement process is performed again.
- the distance threshold Thd was reset to 2 m. This result is the primitive P2 shown in FIG. 8 (c).
- step S33 of the polygon shape determination process the three-dimensional point cloud data corresponding to the obtained polygon is removed as processed. That is, the three-dimensional point cloud data of the main body portion D1 is removed, and the three-dimensional point cloud data of the structures D2 and D3 remains.
- the primitive placement process is executed for the structures D2 and D3
- the primitive P3 shown in FIG. 9D is obtained.
- the distance threshold value Thd is the same value as in FIG. 8C, and in this example, it is still 2 m, but it may be started from 3 m again.
- the distance threshold value Thd is reset again.
- the distance threshold Thd is set to 1 m.
- the primitive P4 that matches the structure D2 well and its respective surfaces are configured. 3D polygon is obtained. Since a good 3D polygon is obtained, the 3D point cloud data of the corresponding structure D2 portion is removed.
- the primitive placement process is executed for the three-dimensional point cloud data of the structure D3 remaining in this way, the primitive P5 is obtained as shown in FIG. 9 (f).
- the three-dimensional polygons constituting the main body portion D1, the structures D2, and D3 of the building with respect to the three-dimensional point cloud data can be obtained.
- the generation result of the 3D polygon is evaluated and the generation parameters are reset.
- the generation parameters are reset.
- the present invention can be used to generate a 3D model of an object based on a 3D point cloud.
Landscapes
- Physics & Mathematics (AREA)
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Geometry (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
- Processing Or Creating Images (AREA)
Abstract
【課題】 3次元点群データの不均一性に関わらず、3次元点群データを良好に復元した3次元モデルを安定して生成可能とする。 【解決手段】 3次元点群データを読み込み、プリミティブをマッチングさせて3次元ポリゴンを生成する。生成された3次元ポリゴンと、3次元点群データとの形状一致率が閾値Thf以下である場合には、不良と判断して、生成パラメータ(距離閾値)を再設定し、再度、3次元ポリゴンの生成を行う。また、形状一致率が閾値Thfよりも大きい場合には、良好と判断して、結果を格納するとともに、生成された3次元ポリゴンに対応する3次元点群データを処理済みとして除去し、残余の3次元点群データを対象として同様の処理を繰り返す。 こうすることにより、3次元点群データの密度等が不均一であっても、生成パラメータを変更しながら、適正な3次元ポリゴンを安定して生成することができる。
Description
本発明は、3次元点群に基づいて、オブジェクトの3次元モデルを生成する技術に関する。
地物の形状を3次元的に表した3次元地図においては、地物の3次元モデルを精度良く、かつ低い処理負荷で生成することが求められる。このような技術の一つとして、3次元復元の利用が検討されている。
3次元復元処理とは、複数の地点から撮影した複数の画像間の特徴点の対応関係に基づいて、撮影された地物の3次元点群を得る処理である。3次元復元を利用すれば、処理の対象範囲内の画像を航空機等から複数撮影し、この画像を解析することで、対象範囲を表す3次元の点群を得ることができる。かかる点群が得られれば、それを解析することによって3次元モデルを生成することも可能となる。画像間の特徴点の対応関係を判断するための技術として、SIFT(Scale-Invariant Feature Transform)などが利用される。特許文献1は、3次元復元による3次元モデルの生成技術について開示している。
3次元復元の方法として、特許文献2は、3次元の点群を、点群間の距離に基づいてクラスタ化し、これに基づいて水平面としてのレイヤを生成し、さらにそれらを結合して全体のモデルを生成する技術を開示している。
3次元復元処理とは、複数の地点から撮影した複数の画像間の特徴点の対応関係に基づいて、撮影された地物の3次元点群を得る処理である。3次元復元を利用すれば、処理の対象範囲内の画像を航空機等から複数撮影し、この画像を解析することで、対象範囲を表す3次元の点群を得ることができる。かかる点群が得られれば、それを解析することによって3次元モデルを生成することも可能となる。画像間の特徴点の対応関係を判断するための技術として、SIFT(Scale-Invariant Feature Transform)などが利用される。特許文献1は、3次元復元による3次元モデルの生成技術について開示している。
3次元復元の方法として、特許文献2は、3次元の点群を、点群間の距離に基づいてクラスタ化し、これに基づいて水平面としてのレイヤを生成し、さらにそれらを結合して全体のモデルを生成する技術を開示している。
しかし、3次元復元に用いられる3次元点群データは、その密度や精度は必ずしも均一とは限らない。複数の地物を含む3次元点群データにおいては、地物ごとに密度や精度が異なることもある。また、一つの地物を表す3次元点群データにおいても、局所的に密度や精度が異なることがある。従来技術では、3次元点群データを良好に復元した3次元モデルが生成できる場合もあれば、不良となる場合もあるというように、3次元点群データの不均一性に基づいて、3次元モデルの生成結果が不安定となることがあった。かかる課題は、地物に限らず、広汎なオブジェクトについて共通の課題であった。本発明は、3次元点群データの不均一性に関わらず、3次元点群データを良好に復元した3次元モデルを安定して生成可能とする技術を提供することを目的とする。
本発明は、
複数の点群について各点ごとに3次元の位置座標を保持した3次元点群データから、該3次元点群データで表されるオブジェクトの3次元モデルを生成する3次元モデル生成装置であって、
前記3次元点群データに基づいて前記3次元モデルを構成する3次元ポリゴンを生成するポリゴン生成部と、
前記3次元ポリゴンの生成に用いられ、該生成結果に影響を与える生成パラメータを設定する生成パラメータ設定部と、
前記生成パラメータを複数通りに変化させて前記ポリゴン生成部に前記3次元ポリゴンの生成を行わせる処理を経て、前記3次元ポリゴンの形状を決定するポリゴン形状決定部とを備える構成とすることができる。
複数の点群について各点ごとに3次元の位置座標を保持した3次元点群データから、該3次元点群データで表されるオブジェクトの3次元モデルを生成する3次元モデル生成装置であって、
前記3次元点群データに基づいて前記3次元モデルを構成する3次元ポリゴンを生成するポリゴン生成部と、
前記3次元ポリゴンの生成に用いられ、該生成結果に影響を与える生成パラメータを設定する生成パラメータ設定部と、
前記生成パラメータを複数通りに変化させて前記ポリゴン生成部に前記3次元ポリゴンの生成を行わせる処理を経て、前記3次元ポリゴンの形状を決定するポリゴン形状決定部とを備える構成とすることができる。
本明細書において、3次元ポリゴンは、3次元モデルを構成する面を意味する。3次元モデルは、オブジェクトを表す1または複数の3次元ポリゴンの集合を意味する。オブジェクトとしては、3次元地図を構成する地物の場合もあれば、建物内の壁、柱などの構造物、ロッカー、机などの物体など種々の対象物が挙げられる。また、3次元点群データは、単一のオブジェクトを表すものであってもよいし、複数のオブジェクトを包含するものであってもよい。
3次元ポリゴンを生成する際には、種々の生成パラメータが用いられる。3次元点群データを良好に復元する3次元モデルを生成するためには、この生成パラメータを3次元点群データに応じて適正に設定することが重要となる。
本発明によれば、生成パラメータを複数通りに変化させて3次元ポリゴンの生成を行わせるため、これによって3次元ポリゴンの生成結果も変化する。本発明によれば、この中から、最良のものを選択することができ、3次元点群データを良好に反映した3次元モデルを安定して得ることができる。
生成パラメータは、3次元ポリゴンの生成方法に応じて定めることができる。生成パラメータとしては、例えば、3次元点群データが生成された3次元ポリゴンに属するか否かを判定するための距離閾値、当該距離閾値の限界値、3次元点群データと3次元ポリゴンとのずれが良好か否かの判断基準となる形状一致率閾値、3次元ポリゴンを生成する根拠となる程の3次元点群データが確保されているか否かの判断基準となる頂点数閾値、形状一致率を算出するための角度閾値などが挙げられる。生成パラメータは、これらに限定されるものではなく、また、これらの一部または全部の生成パラメータを用いなくてはならないというものでもない。
生成パラメータを複数通りに変化させる方法も、種々の方法をとり得る。例えば、予め所定の定数を設定しておき、生成パラメータに対して、この定数を用いた演算を行って変化させてもよい。かかる方法では、生成パラメータを比較的容易に変化させることができる利点がある。また、生成パラメータの変化が予測可能であるため、生成パラメータが異常値となることを回避しやすい利点もある。
また、3次元点群データと生成された3次元ポリゴンとのずれなど、生成結果を評価した評価値を用いた演算によって生成パラメータを変化させてもよい。こうすれば、最適な生成パラメータに収束させやすい利点がある。
本発明によれば、生成パラメータを複数通りに変化させて3次元ポリゴンの生成を行わせるため、これによって3次元ポリゴンの生成結果も変化する。本発明によれば、この中から、最良のものを選択することができ、3次元点群データを良好に反映した3次元モデルを安定して得ることができる。
生成パラメータは、3次元ポリゴンの生成方法に応じて定めることができる。生成パラメータとしては、例えば、3次元点群データが生成された3次元ポリゴンに属するか否かを判定するための距離閾値、当該距離閾値の限界値、3次元点群データと3次元ポリゴンとのずれが良好か否かの判断基準となる形状一致率閾値、3次元ポリゴンを生成する根拠となる程の3次元点群データが確保されているか否かの判断基準となる頂点数閾値、形状一致率を算出するための角度閾値などが挙げられる。生成パラメータは、これらに限定されるものではなく、また、これらの一部または全部の生成パラメータを用いなくてはならないというものでもない。
生成パラメータを複数通りに変化させる方法も、種々の方法をとり得る。例えば、予め所定の定数を設定しておき、生成パラメータに対して、この定数を用いた演算を行って変化させてもよい。かかる方法では、生成パラメータを比較的容易に変化させることができる利点がある。また、生成パラメータの変化が予測可能であるため、生成パラメータが異常値となることを回避しやすい利点もある。
また、3次元点群データと生成された3次元ポリゴンとのずれなど、生成結果を評価した評価値を用いた演算によって生成パラメータを変化させてもよい。こうすれば、最適な生成パラメータに収束させやすい利点がある。
本発明においては、
前記ポリゴン形状決定部は、前記生成された3次元ポリゴンを評価し、該評価の結果が所定の基準を満たさないときに前記生成パラメータを変化させた上で前記3次元ポリゴンの再生成を行わせるものとしてもよい。
前記ポリゴン形状決定部は、前記生成された3次元ポリゴンを評価し、該評価の結果が所定の基準を満たさないときに前記生成パラメータを変化させた上で前記3次元ポリゴンの再生成を行わせるものとしてもよい。
かかる態様によれば、所定の基準を満たす3次元ポリゴンが得られるまで処理を繰り返すことになるため、安定的に良好な結果が得られる利点がある。また、所定の基準を満たす3次元ポリゴンが早期に得られた場合には、早期に処理を終了することができ、無用な処理負荷がかかることを抑制できる利点もある。
本発明において、生成パラメータを変化させる方法は、上述の態様に限らず、他の態様をとってもよい。例えば、生成パラメータを複数通りに変化させて3次元ポリゴンを生成し、その中から評価が最良のもの、または所定の基準を満たすものを選択する方法をとってもよい。かかる方法によれば、比較的処理が簡略化できる利点があり、所定の基準を満たす3次元ポリゴンがなかなか得られない場合に、何度も処理が繰り返され、処理時間が長期化することを抑制できる利点もある。
なお、上述のいずれの態様においても、評価における「所定の基準」としても、種々の基準を用いることができる。例えば、3次元点群データと生成された3次元ポリゴンとの形状一致率を評価の指標としてもよい。生成された3次元ポリゴンが3次元点群データを、いかに良好に復元しているかを、画像処理や人工知能を用いて評価させてもよい。
本発明において、生成パラメータを変化させる方法は、上述の態様に限らず、他の態様をとってもよい。例えば、生成パラメータを複数通りに変化させて3次元ポリゴンを生成し、その中から評価が最良のもの、または所定の基準を満たすものを選択する方法をとってもよい。かかる方法によれば、比較的処理が簡略化できる利点があり、所定の基準を満たす3次元ポリゴンがなかなか得られない場合に、何度も処理が繰り返され、処理時間が長期化することを抑制できる利点もある。
なお、上述のいずれの態様においても、評価における「所定の基準」としても、種々の基準を用いることができる。例えば、3次元点群データと生成された3次元ポリゴンとの形状一致率を評価の指標としてもよい。生成された3次元ポリゴンが3次元点群データを、いかに良好に復元しているかを、画像処理や人工知能を用いて評価させてもよい。
本発明においては、
前記ポリゴン形状決定部は、前記3次元ポリゴンの形状が決定された場合、前記3次元点群データから該3次元ポリゴンに対応するものを除外し、残余の3次元点群データを対象として再度、前記3次元ポリゴンの形状を決定する処理を実行するものとしてもよい。
前記ポリゴン形状決定部は、前記3次元ポリゴンの形状が決定された場合、前記3次元点群データから該3次元ポリゴンに対応するものを除外し、残余の3次元点群データを対象として再度、前記3次元ポリゴンの形状を決定する処理を実行するものとしてもよい。
3次元点群データの密度や精度など生成パラメータに影響を与えうる特性が局所的に異なる場合、良好な3次元ポリゴンを得るための生成パラメータも、3次元点群データの部位に応じて変化させる必要がある。上記態様によれば、良好な3次元ポリゴンが得られた3次元点群データを除去しながら3次元ポリゴンを生成するため、3次元点群データの部分ごとに生成パラメータを変化させることが可能となり、それぞれ良好な3次元ポリゴンを生成することが可能となる。
なお、上記態様においては、3次元点群データを除去することにより、徐々に3次元点群データの数が減少することになる。従って、残余の3次元点群データの数が所定値を下回った場合には、処理を停止するようにしてもよい。こうすることにより、3次元ポリゴンを定義できない程の小数の3次元点群データしか残っていない状況下で、無駄に処理が繰り返されることを回避できる利点がある。また、処理を停止するための判断に用いられる所定値は、3次元点群データの当初の密度、精度、対象とするオブジェクトのサイズなど種々の要素に基づいて設定するようにしてもよく、また、所定の過程で変更可能としてもよい。
なお、上記態様においては、3次元点群データを除去することにより、徐々に3次元点群データの数が減少することになる。従って、残余の3次元点群データの数が所定値を下回った場合には、処理を停止するようにしてもよい。こうすることにより、3次元ポリゴンを定義できない程の小数の3次元点群データしか残っていない状況下で、無駄に処理が繰り返されることを回避できる利点がある。また、処理を停止するための判断に用いられる所定値は、3次元点群データの当初の密度、精度、対象とするオブジェクトのサイズなど種々の要素に基づいて設定するようにしてもよく、また、所定の過程で変更可能としてもよい。
本発明においては、
前記3次元ポリゴン形状決定部は、生成された前記3次元ポリゴンと前記3次元点群データとのずれを表す形状一致率に基づいて、前記3次元ポリゴンの形状を決定するものとしてもよい。
前記3次元ポリゴン形状決定部は、生成された前記3次元ポリゴンと前記3次元点群データとのずれを表す形状一致率に基づいて、前記3次元ポリゴンの形状を決定するものとしてもよい。
こうすることにより、3次元点群データと3次元ポリゴンとの一致性を客観的に評価できる利点がある。形状一致率の算出は、種々の方法をとり得る。その例は後述する。
本発明においては、
前記ポリゴン生成部は、前記3次元ポリゴンを複数通りの方法で生成可能であり、
前記ポリゴン形状決定部は、前記3次元点群データの特性に基づいて、前記3次元ポリゴンの生成方法を切り換えるものとしてもよい。
前記ポリゴン生成部は、前記3次元ポリゴンを複数通りの方法で生成可能であり、
前記ポリゴン形状決定部は、前記3次元点群データの特性に基づいて、前記3次元ポリゴンの生成方法を切り換えるものとしてもよい。
こうすることにより、3次元点群データの特性に応じた生成方法を用いることが可能となり、より良好な3次元ポリゴンを得ることが可能となる。
複数通りの方法としては、特許文献1、2に記載されている方法その他の従来技術における方法、プリミティブを用いる方法、人工知能を利用する方法など種々の方法が挙げられる。また、同一の方法の中で、生成に用いる判断基準を異ならせるものとしてもよい。
複数通りの方法としては、特許文献1、2に記載されている方法その他の従来技術における方法、プリミティブを用いる方法、人工知能を利用する方法など種々の方法が挙げられる。また、同一の方法の中で、生成に用いる判断基準を異ならせるものとしてもよい。
上述の通り、複数通りの方法で3次元ポリゴンを生成する場合、
前記ポリゴン生成部による前記3次元ポリゴンの生成には、予め用意された3次元のプリミティブを前記3次元点群データに適合させる方法を含むものとしてもよい。
前記ポリゴン生成部による前記3次元ポリゴンの生成には、予め用意された3次元のプリミティブを前記3次元点群データに適合させる方法を含むものとしてもよい。
こうすることにより、比較的容易にポリゴンを生成することが可能となる。3次元点群データに適合させるようプリミティブを配置し、その形状を変化させる方法は、公知の種々の方法を用いることができる。
上記態様では、予めプリミティブを用意しておくことになる。3次元モデルの生成時には、かかるプリミティブからいずれかを選択することになる。この選択は、例えば、予め用意された全プリミティブを3次元点群データに適合させる処理を行った上で、その適合率が最大となるように選択してもよい。また、3次元点群データを包含する領域のサイズに基づいて、プリミティブを絞り込むようにしてもよい。さらに、3次元点群データを平面に投影することにより概略の平面形状を特定し、それに平面形状が近似するプリミティブを選択するようにしてもよい。
上記態様では、予めプリミティブを用意しておくことになる。3次元モデルの生成時には、かかるプリミティブからいずれかを選択することになる。この選択は、例えば、予め用意された全プリミティブを3次元点群データに適合させる処理を行った上で、その適合率が最大となるように選択してもよい。また、3次元点群データを包含する領域のサイズに基づいて、プリミティブを絞り込むようにしてもよい。さらに、3次元点群データを平面に投影することにより概略の平面形状を特定し、それに平面形状が近似するプリミティブを選択するようにしてもよい。
3次元のプリミティブを用いる場合には、
前記3次元ポリゴン生成部は、3次元ポリゴンと3次元点群データとの形状一致率が高くなるように前記プリミティブの適合を行う方法、および生成されるべき3次元ポリゴンのサイズが大きいものを優先して前記プリミティブの適合を行う方法を含むものとしてもよい。
前記3次元ポリゴン生成部は、3次元ポリゴンと3次元点群データとの形状一致率が高くなるように前記プリミティブの適合を行う方法、および生成されるべき3次元ポリゴンのサイズが大きいものを優先して前記プリミティブの適合を行う方法を含むものとしてもよい。
この態様では、3次元のプリミティブを用いるという点では共通の方法であるが、3次元ポリゴンを生成する際に用いる判断基準が、形状一致率を優先するか、3次元ポリゴンのサイズを優先するかで異なる2つの方法を使い分けることになる。こうすることで、プリミティブを用いて比較的簡易な処理によって3次元ポリゴンを生成できるという利点を活かしつつ、3次元点群データの特性に応じた生成を実現することができる。
一例として、建物のようなサイズの大きい3次元点群を対象とする場合には、3次元ポリゴンのサイズを優先するようにしてもよい。かかる場合には、3次元点群と3次元ポリゴンとのずれは、全体の比率で見れば相対的に小さなものと評価されるから、3次元ポリゴンのサイズを優先することにより、良好な結果を得やすくなる。もっとも、この場合であっても、形状一致率を考慮することが、より好ましいことは当然である。
一方、建物の一部や、建物以外の物体など、比較的サイズの小さい3次元点群を対象とする場合には、形状一致率を優先する方法をとることにより、良好な結果を得ることができる。
一例として、建物のようなサイズの大きい3次元点群を対象とする場合には、3次元ポリゴンのサイズを優先するようにしてもよい。かかる場合には、3次元点群と3次元ポリゴンとのずれは、全体の比率で見れば相対的に小さなものと評価されるから、3次元ポリゴンのサイズを優先することにより、良好な結果を得やすくなる。もっとも、この場合であっても、形状一致率を考慮することが、より好ましいことは当然である。
一方、建物の一部や、建物以外の物体など、比較的サイズの小さい3次元点群を対象とする場合には、形状一致率を優先する方法をとることにより、良好な結果を得ることができる。
上記種々の態様において、形状一致率を評価の基準として用いる例を示した。形状一致率は、3次元点群データと3次元ポリゴンとのずれを表す指標であり、種々の定義が可能である。単純に、両者の距離の2乗平均などを指標として用いることもできる。また、両者の距離の絶対値の分布を示す統計値、例えば、平均値、中央値、標準偏差などを指標として用いてもよい。
また、別の態様として、
前記3次元点群データは、各点ごとに、3次元の位置座標に加えて法線ベクトルのデータを保持している場合には、
前記形状一致率は、前記3次元点群データおよび前記3次元ポリゴンとの距離、および前記3次元点群データの法線ベクトルと前記3次元ポリゴンの法線ベクトルのなす角度の2つを用いて算出されるものとしてもよい。
前記3次元点群データは、各点ごとに、3次元の位置座標に加えて法線ベクトルのデータを保持している場合には、
前記形状一致率は、前記3次元点群データおよび前記3次元ポリゴンとの距離、および前記3次元点群データの法線ベクトルと前記3次元ポリゴンの法線ベクトルのなす角度の2つを用いて算出されるものとしてもよい。
3次元点群データが有する法線ベクトルとは、3次元点群データを取得する際に、各点が属すると判断される面の法線ベクトルを意味する。例えば、SIFT(Scale-Invariant Feature Transform)によって得られる3次元点群データは、3次元座標の他、この法線ベクトルが取得されることが知られている。
上記態様によれば、3次元点群データと3次元ポリゴンとの距離のみならず、法線ベクトルのなす角度も考慮するため、形状一致率の評価において、対象とする3次元ポリゴンに属さない3次元点群データを除外することができ、より適切な評価結果を算出することが可能となる。
上記態様によれば、3次元点群データと3次元ポリゴンとの距離のみならず、法線ベクトルのなす角度も考慮するため、形状一致率の評価において、対象とする3次元ポリゴンに属さない3次元点群データを除外することができ、より適切な評価結果を算出することが可能となる。
本発明は、上述した特徴を必ずしも全てを備えている必要はなく、適宜、その一部を省略したり、組み合わせたりしてもよい。上述した3次元モデルの生成をコンピュータによって実行する3次元モデル生成方法として構成してもよいし、かかる方法をコンピュータに行わせるためのコンピュータプログラムとして構成してもよい。さらに、かかるコンピュータプログラムを記録したコンピュータが読み取り可能な記録媒体として構成してもよい。
以下、本発明の実施例について、建物を表す3次元点群データに対し、プリミティブを用いて3次元モデルを生成するための装置を例示する。以下の本発明は、建物以外のオブジェクトを対象とする場合にも適用可能である。また、3次元モデルの生成は、プリミティブを用いる方法に限られるものでもない。
図1は、3次元モデル生成装置10の構成を示す説明図である。本実施例では、コンピュータに、図示する各機能を実現するためのコンピュータプログラムをインストールすることによって、ソフトウェア的に構成した。各機能の一部または全部をハードウェア的に構成しても差し支えない。また、本実施例では、スタンドアロンで稼働する装置として例示するが、複数のコンピュータまたはサーバをネットワークで接続することで構成してもよい。
以下、図中の各機能について説明する。
3次元点群データ記憶部11は、3次元点群データを読み込み、記憶する機能を奏する。3次元点群データは、処理対象となる建物の外観形状を表す3次元の点の集合体であり、各点ごとに3次元の座標値および法線ベクトルを有するデータである。3次元点群データは、SIFT(Scale-Invariant Feature Transform)を利用することによって得ることができる。その他、レーザなどを利用して生成した3次元点群データを用いても良い。
3次元点群データ記憶部11は、3次元点群データを読み込み、記憶する機能を奏する。3次元点群データは、処理対象となる建物の外観形状を表す3次元の点の集合体であり、各点ごとに3次元の座標値および法線ベクトルを有するデータである。3次元点群データは、SIFT(Scale-Invariant Feature Transform)を利用することによって得ることができる。その他、レーザなどを利用して生成した3次元点群データを用いても良い。
3次元モデル生成部12は、3次元点群データに基づいて建物を表す3次元モデルを生成する。本実施例における3次元モデルの概略の生成過程は、次の通りである。まず、3次元点群データに対してプリミティブを配置し、その形状を適合させることにより3次元ポリゴンを生成する。そして、得られた3次元ポリゴンを評価し、所定の基準を満たさない場合には、生成パラメータを変更して、再度、3次元モデルを生成する。これを繰り返すことによって、良好な3次元ポリゴンが得られると、得られた3次元ポリゴンに対応する3次元点群データは、処理対象から除外する。そして、残った3次元点群データを対象として、同様の処理を繰り返す。こうすることで、3次元点群データ全体に対して3次元ポリゴンを生成し、その集合体として建物に対する3次元モデルを得るのである。本実施例では、こうして得られた3次元モデルを再度評価し、良好と言えない場合には、改めて生成パラメータを変更して処理を実行する。
3次元モデル生成部12は、以上の処理を、以下に示す各機能を利用して実行するのである。
3次元モデル生成部12は、以上の処理を、以下に示す各機能を利用して実行するのである。
プリミティブデータベース15は、3次元モデルの生成に用いられる3次元のプリミティブを予め格納するデータベースである。本実施例では、ビルや家屋などを表す代表的な形状の3次元ポリゴンをプリミティブとして用意した。
プリミティブ配置部14は、本発明におけるポリゴン生成部に該当する機能であり、プリミティブを3次元点群データに合わせて配置し、その形状を適合させる機能を奏する。この処理によって、3次元ポリゴンが生成されることになる。
プリミティブ配置部14は、本発明におけるポリゴン生成部に該当する機能であり、プリミティブを3次元点群データに合わせて配置し、その形状を適合させる機能を奏する。この処理によって、3次元ポリゴンが生成されることになる。
ポリゴン形状決定部13は、プリミティブ配置部14で得られた3次元ポリゴンを評価する。3次元ポリゴンが、所定の基準を満たさない場合には、生成パラメータを変更して、再度、プリミティブ配置部14に、3次元モデルを生成させる。また、良好な3次元ポリゴンが得られた場合には、それに対応する3次元点群データを除去し、残余の3次元点群データを対象として、プリミティブ配置部14に、3次元モデルを生成させる。
3次元ポリゴン記憶部16は、以上の過程において得られる3次元ポリゴンを逐次記憶する。
生成パラメータ設定部17は、以上の処理で用いられる生成パラメータの初期設定を行い、また、生成パラメータの変更を行う。
形状一致率算出部18は、得られた3次元ポリゴンを評価するための指標として形状一致率を算出する。
生成パラメータ設定部17は、以上の処理で用いられる生成パラメータの初期設定を行い、また、生成パラメータの変更を行う。
形状一致率算出部18は、得られた3次元ポリゴンを評価するための指標として形状一致率を算出する。
以下、本実施例における3次元モデルの生成処理について具体的に説明する。以下の各処理は、図1に示した各機能によって実現されるものであり、ハードウェア的には、3次元モデル生成装置10によって実行される処理である。
図2は、3次元モデル生成処理のフローチャートである。主として3次元ポリゴン生成部12に対応する処理である。
処理を開始すると、3次元モデル生成装置10は、生成パラメータの初期化を行う(ステップS10)。そして、ポリゴン化の対象となる3次元点群を設定する(ステップS11)。本実施例では、複数の建物に対する3次元点群データが含まれているため、建物単位で処理対象となる3次元点群データを設定するものとした。設定方法は、例えば、3次元点群データを地平面に投影し、その密度が所定値以上となる領域をクラスタ化する方法、または点間の距離が所定値以下となる点群をクラスタ化する方法などをとることができる。
処理を開始すると、3次元モデル生成装置10は、生成パラメータの初期化を行う(ステップS10)。そして、ポリゴン化の対象となる3次元点群を設定する(ステップS11)。本実施例では、複数の建物に対する3次元点群データが含まれているため、建物単位で処理対象となる3次元点群データを設定するものとした。設定方法は、例えば、3次元点群データを地平面に投影し、その密度が所定値以上となる領域をクラスタ化する方法、または点間の距離が所定値以下となる点群をクラスタ化する方法などをとることができる。
そして、3次元モデル生成装置10は、ポリゴン化処理を実行する(ステップS12)。処理対象の3次元点群データに対して3次元ポリゴンを生成する処理である。処理の詳細については後述する。ポリゴン化処理によって、処理対象となった3次元点群データで表される建物の3次元モデルが得られることになる。
ポリゴン化処理が完了すると、3次元モデル生成装置10は、ポリゴン化の評価処理を行う(ステップS13)。ポリゴン化の評価処理は、種々の方法で行うことができる。例えば、3次元点群データと3次元ポリゴンとの形状一致率に基づいて評価を行ってもよい。また、人工知能や画像処理を利用して、3次元点群データがどれほど良好に復元されているかを評価してもよい。本実施例では、形状一致率に基づく評価を行うものとした。形状一致率の算出方法は、後述する。
ポリゴン化処理が完了すると、3次元モデル生成装置10は、ポリゴン化の評価処理を行う(ステップS13)。ポリゴン化の評価処理は、種々の方法で行うことができる。例えば、3次元点群データと3次元ポリゴンとの形状一致率に基づいて評価を行ってもよい。また、人工知能や画像処理を利用して、3次元点群データがどれほど良好に復元されているかを評価してもよい。本実施例では、形状一致率に基づく評価を行うものとした。形状一致率の算出方法は、後述する。
評価結果がOKの場合、即ち、形状一致率が所定値以上の場合には、ポリゴン化の結果を反映させる(ステップS15)、即ち、得られた3次元ポリゴンを格納し、これに対応する3次元点群データは、処理済みと扱うことになる。そして、未処理の3次元点群データが残っている場合には、まだ終了に至っていないと判断し(ステップS17)、以上の処理を繰り返す。3次元点群データが3次元ポリゴンを生成できるほど、残っていない場合には、3次元モデル生成処理を終了する。
一方、形状一致率が所定値に満たず、評価脚気がNGの場合には、生成パラメータを再設定して(ステップS16)、以上の処理を繰り返すことになる。
一方、形状一致率が所定値に満たず、評価脚気がNGの場合には、生成パラメータを再設定して(ステップS16)、以上の処理を繰り返すことになる。
なお、後述する通り、本実施例では、3次元ポリゴンの生成過程において、形状一致率により、結果の適否を判断する。また、その結果に応じて、生成パラメータの再設定も行う。従って、上述のステップS13~S16の処理は省略しても差し支えない。
ただし、ステップS13~S16を行い、3次元ポリゴンの生成過程とは異なる評価を行うことにより、さらに良好な3次元モデルを得ることが可能となる。例えば、3次元モデル全体を対象として形状一致率を算出することにより、3次元モデルを構成する3次元ポリゴンごとに得られていた形状一致率とは異なる値が得られることになる。また、3次元モデルを構成する3次元ポリゴンごとに形状一致率を算出した上で、形状一致率のばらつきなどを評価に加えてもよい。これらの処理を行うことにより、それぞれの3次元ポリゴンの生成結果の適否だけでなく、全体としてのバランス等が良好な3次元モデルを得ることが可能となる。
ただし、ステップS13~S16を行い、3次元ポリゴンの生成過程とは異なる評価を行うことにより、さらに良好な3次元モデルを得ることが可能となる。例えば、3次元モデル全体を対象として形状一致率を算出することにより、3次元モデルを構成する3次元ポリゴンごとに得られていた形状一致率とは異なる値が得られることになる。また、3次元モデルを構成する3次元ポリゴンごとに形状一致率を算出した上で、形状一致率のばらつきなどを評価に加えてもよい。これらの処理を行うことにより、それぞれの3次元ポリゴンの生成結果の適否だけでなく、全体としてのバランス等が良好な3次元モデルを得ることが可能となる。
生成パラメータの再設定(ステップS16)についても、同様である。本実施例では、後述する通り、3次元ポリゴンを生成する際にも、生成パラメータの再設定を行っている。具体的には、距離閾値という生成パラメータに対して所定の係数を乗じることにより変更しているのである。従って、ステップS16では、これとは異なる方法で、生成パラメータの再設定を行うことが好ましい。例えば、距離閾値とは異なる生成パラメータを再設定したり、係数を乗じる以外の方法によって生成パラメータを再設定する方法が考えられる。
次に、ポリゴン化処理について説明する。この処理は、3次元モデル生成処理(図2のステップS12)に相当する処理である。主として図1の3次元モデル生成部12が実行する処理となる。
図3は、ポリゴン化処理のフローチャートである。処理を開始すると、3次元モデル生成装置10は、所定対象となる3次元点群データおよびプリミティブデータを読み込む(ステップS20、S21)。
図3は、ポリゴン化処理のフローチャートである。処理を開始すると、3次元モデル生成装置10は、所定対象となる3次元点群データおよびプリミティブデータを読み込む(ステップS20、S21)。
そして、入力した点群データの密度に基づいて、生成パラメータの初期値を設定する(ステップS22)。図中に本実施例で用いる生成パラメータを示した。
距離閾値(Thd)は、3次元ポリゴンに対応する3次元点群データを抽出するために使用されるパラメータである。距離閾値が大きい場合は、抽出範囲が広くなるため、3次元点群データに、ノイズや誤差が含まれている場合でも適切な抽出が可能となる。一方、距離閾値が小さい場合は、抽出範囲が狭くなるため、3次元ポリゴンに、よりフィットした点を抽出可能となる。
距離閾値の限界値(Thlim)は、距離閾値を再設定する際に、距離閾値が正常値であるかの判定に使用されるパラメータである。即ち、距離閾値が距離閾値の限界値の範囲内の場合は正常値と判定され、そうでない場合は不正値と判定されることになる。
距離閾値の変更倍率(VThd)は、距離閾値の再設定に用いられるパラメータである。
形状一致率閾値(Thf)は、3次元ポリゴンと3次元点群データの形状が一致しているかの判定に使用されるパラメータである。即ち、形状一致率が、形状一致率閾値より大きい場合は、3次元ポリゴンと3次元点群データの一致率は良好であると判定され、そうでない場合は、一致率は良好ではないと判定されることになる。
頂点数閾値(Thp)は、ポリゴン化できるだけの3次元点群データが残っているか否かの判定に使用されるパラメータである。即ち、3次元点群データの頂点数が閾値より大きい場合は、3次元ポリゴンの生成が可能であると判定され、そうでない場合には、3次元ポリゴンの生成ができないものと判定される。
角度閾値(Tha)は、形状一致率の算出において使用されるパラメータである。即ち、3次元点群データの法線ベクトルと3次元ポリゴンの法線ベクトルのなす角が角度閾値未満である場合は、その点は、3次元ポリゴンに属する頂点の1つとして判定され、そうでない場合には、3次元ポリゴンに属さない頂点であると判定される。
生成パラメータは、これら以外を用いてもよい。また、これらの生成パラメータを必ずしも全て用いる必要もない。3次元ポリゴンの生成方法に応じて、生成パラメータの種類も適宜、決めることができる。
距離閾値(Thd)は、3次元ポリゴンに対応する3次元点群データを抽出するために使用されるパラメータである。距離閾値が大きい場合は、抽出範囲が広くなるため、3次元点群データに、ノイズや誤差が含まれている場合でも適切な抽出が可能となる。一方、距離閾値が小さい場合は、抽出範囲が狭くなるため、3次元ポリゴンに、よりフィットした点を抽出可能となる。
距離閾値の限界値(Thlim)は、距離閾値を再設定する際に、距離閾値が正常値であるかの判定に使用されるパラメータである。即ち、距離閾値が距離閾値の限界値の範囲内の場合は正常値と判定され、そうでない場合は不正値と判定されることになる。
距離閾値の変更倍率(VThd)は、距離閾値の再設定に用いられるパラメータである。
形状一致率閾値(Thf)は、3次元ポリゴンと3次元点群データの形状が一致しているかの判定に使用されるパラメータである。即ち、形状一致率が、形状一致率閾値より大きい場合は、3次元ポリゴンと3次元点群データの一致率は良好であると判定され、そうでない場合は、一致率は良好ではないと判定されることになる。
頂点数閾値(Thp)は、ポリゴン化できるだけの3次元点群データが残っているか否かの判定に使用されるパラメータである。即ち、3次元点群データの頂点数が閾値より大きい場合は、3次元ポリゴンの生成が可能であると判定され、そうでない場合には、3次元ポリゴンの生成ができないものと判定される。
角度閾値(Tha)は、形状一致率の算出において使用されるパラメータである。即ち、3次元点群データの法線ベクトルと3次元ポリゴンの法線ベクトルのなす角が角度閾値未満である場合は、その点は、3次元ポリゴンに属する頂点の1つとして判定され、そうでない場合には、3次元ポリゴンに属さない頂点であると判定される。
生成パラメータは、これら以外を用いてもよい。また、これらの生成パラメータを必ずしも全て用いる必要もない。3次元ポリゴンの生成方法に応じて、生成パラメータの種類も適宜、決めることができる。
以上の前処理が完了すると、3次元モデル生成装置10は、ポリゴン形状生成処理を実行する(ステップS23)。
図4は、ポリゴン形状決定処理のフローチャートである。図3のステップS23に相当する処理である。また、主として図1のポリゴン形状決定部13が実行する処理である。
処理を開始すると3次元モデル生成装置10は、プリミティブ配置処理を実行する(ステップS30)。これは、予め用意されたプリミティブを、3次元点群データに合わせるように配置し、その形状を変形させて適合させる処理である。処理の内容は後述する。プリミティブ配置処理では、生成された3次元ポリゴンと、その形状一致率が出力される。
処理を開始すると3次元モデル生成装置10は、プリミティブ配置処理を実行する(ステップS30)。これは、予め用意されたプリミティブを、3次元点群データに合わせるように配置し、その形状を変形させて適合させる処理である。処理の内容は後述する。プリミティブ配置処理では、生成された3次元ポリゴンと、その形状一致率が出力される。
次に、3次元モデル生成装置10は、形状一致率と形状一致率閾値Thfの比較により、生成された3次元ポリゴンが良好か否かを判断する。形状一致率が形状一致率閾値Thfよりも大きい場合には(ステップS31)、3次元ポリゴンが良好であると判断し、プリミティブ配置処理の結果を格納する(ステップS32)。また、3次元点群データから、生成された3次元ポリゴンを構成する点群を、処理済みのものとして除去する(ステップS33)。こうして、残った点数が頂点数閾値Thpよりも大きい場合には、まださらに3次元ポリゴンの生成を行うべきと判断し、再帰的に、ポリゴン形状決定処理を実行する(ステップS37)。
また、形状一致率が形状一致率閾値Thf以下である場合(ステップS31)、3次元ポリゴン生成装置10は、生成された3次元ポリゴンが良好ではないと判断し、生成パラメータの一つである距離閾値Thdを再設定する(ステップS35)。距離閾値Thd以外の生成パラメータについても再設定の対象としてもよい。距離閾値Thdの再設定は、従前の距離閾値Thd×距離閾値の変更倍率(VThd)によって行われる。再設定は、他の演算によって行っても良い。また、形状一致率に応じて距離閾値の変更倍率(VThd)を変更してもよい。
3次元モデル生成装置10は、再設定された距離閾値Thdが距離閾値の限界値(Thlim)よりも小さい場合には、距離閾値Thdが正常値であると判断し(ステップS36)、ポリゴン形状決定処理を再帰的に実行する(ステップS37)。これによって、新たな生成パラメータに基づいて、再度、3次元ポリゴンが生成されることになる。一方、距離閾値Thdが距離閾値の限界値(Thlim)以上の場合には、距離閾値Thdが不正常値であると判断し(ステップS36)、ポリゴン形状決定処理を終了する。
3次元モデル生成装置10は、再設定された距離閾値Thdが距離閾値の限界値(Thlim)よりも小さい場合には、距離閾値Thdが正常値であると判断し(ステップS36)、ポリゴン形状決定処理を再帰的に実行する(ステップS37)。これによって、新たな生成パラメータに基づいて、再度、3次元ポリゴンが生成されることになる。一方、距離閾値Thdが距離閾値の限界値(Thlim)以上の場合には、距離閾値Thdが不正常値であると判断し(ステップS36)、ポリゴン形状決定処理を終了する。
ポリゴン形状決定処理では、上述の通り、3次元ポリゴンの生成が良好に行われなかった場合には、生成パラメータを再設定して、再度、3次元ポリゴンを生成する。この処理を繰り返し実行することにより、良好な3次元ポリゴンが生成されることになる。
また、良好な3次元ポリゴンが生成された場合には、それに対応する3次元点群を除去した上で、残余の3次元点群に対する3次元ポリゴンの生成が引き続き行われる。こうすることにより、3次元点群に対して、部分ごとに3次元ポリゴンを生成することができる。また、その際に、用いる生成パラメータは、部分ごとに異なる設定値を用いることが可能となる。従って、3次元点群の密度や精度が局所的に偏っている場合であっても、それぞれの部分で良好な3次元ポリゴンを得ることが可能となる。
また、良好な3次元ポリゴンが生成された場合には、それに対応する3次元点群を除去した上で、残余の3次元点群に対する3次元ポリゴンの生成が引き続き行われる。こうすることにより、3次元点群に対して、部分ごとに3次元ポリゴンを生成することができる。また、その際に、用いる生成パラメータは、部分ごとに異なる設定値を用いることが可能となる。従って、3次元点群の密度や精度が局所的に偏っている場合であっても、それぞれの部分で良好な3次元ポリゴンを得ることが可能となる。
次に、プリミティブ配置処理について説明する。これは、ポリゴン形状決定処理(図4)のステップS30に対応する処理である。主として、図1のプリミティブ配置部14によって実行される処理である。
図5は、プリミティブ配置処理(1)のフローチャートである。処理を開始すると、3次元モデル生成装置10は、プリミティブデータベース15から、プリミティブを読み出し、3次元点群データの形状にマッチングさせる(ステップS40)。具体的には、3次元点群データに重なるよう、プリミティブを配置し、さらに、その形状を変形させるのである。本実施例では、プリミティブを3次元のx、y、z方向に伸縮することで変形するものとした。プリミティブをマッチングさせる方法は、公知の種々の方法を適用可能である。
図5は、プリミティブ配置処理(1)のフローチャートである。処理を開始すると、3次元モデル生成装置10は、プリミティブデータベース15から、プリミティブを読み出し、3次元点群データの形状にマッチングさせる(ステップS40)。具体的には、3次元点群データに重なるよう、プリミティブを配置し、さらに、その形状を変形させるのである。本実施例では、プリミティブを3次元のx、y、z方向に伸縮することで変形するものとした。プリミティブをマッチングさせる方法は、公知の種々の方法を適用可能である。
次に、3次元モデル生成装置10は、3次元点群データの各点について、プリミティブの各面との最近傍距離を算出し、最近傍距離が距離閾値Thdよりも小さくなる点を抽出する(ステップS41)。最近傍距離とは、点から3次元ポリゴンの各面までの距離の最小値を言う。そして、最近傍距離が距離閾値Thdよりも小さい点は、その3次元ポリゴンに属する3次元点群であると考えられる。つまり、ステップS41の処理は、生成された3次元ポリゴンについて、各面に属すると判定される3次元点群を抽出する処理ということになる。
3次元モデル生成装置10は、抽出した点群の数が、頂点数閾値(Thp)よりも大きい場合には(ステップS42)、ポリゴン化できるだけの3次元点群データに基づいて3次元ポリゴンが生成されたものと判断し、ポリゴン決定、形状一致率算出処理を実行する(ステップS43)。ポリゴン決定とは、抽出された点群に一致するようプリミティブのポリゴンを決定する処理である。点群を抽出する際に用いられる距離閾値Thdが大きい値の場合には、本来は同一のポリゴンを構成しない点が抽出される可能性もある。従って、抽出された全点群に一致するポリゴンを決定することはできない。ポリゴン決定の処理では、抽出された点群との誤差を許容しつつ、できる限り多くの点群に一致するようにプリミティブを変形させることによってポリゴンを決定することになる。形状一致率算出処理は、3次元点群データと3次元ポリゴンとの形状一致率を算出する処理である。その内容については後述する。抽出した点群の数が、頂点数閾値(Thp)以下である場合には(ステップS42)、3次元ポリゴンの生成を行えるほどの3次元点群データが利用されていないと判断し、形状一致率算出処理(ステップS43)をスキップする。この場合は、そもそもプリミティブの選択が不適切であったことになる。
以上の処理によって、不適切なプリミティブが用いられた場合を除き、プリミティブを用いて生成された3次元ポリゴンに対して形状一致率が得られる。3次元モデル生成装置10は、以上の処理を全プリミティブについて繰り返し実行する(ステップS44)。そして、得られた結果の中から、形状一致率が最大となるプリミティブを選択する(ステップS45)。ここで言うプリミティブとは、3次元点群データにマッチングを行った後の状態を意味する。
本実施例では、上述の通り、予め用意されている全プリミティブについてプリミティブ配置処理を行うものとした。これに対し、処理対象となるプリミティブを絞り込んでも良い。例えば、3次元点群データが、ビルに対するものであれば、ビルを表す直方体などのプリミティブを利用するようにしてもよい。この選択は、プリミティブに、予め「ビル」などの属性を設定しておき、これに基づいてオペレータが選択、絞り込みを行うようにしてもよい。また、3次元点群データを平面に投影し、投影された点群と一致する平面形状を有するプリミティブを選択するようにしてもよい。このように予め絞り込むことにより、プリミティブ配置処理の負荷を軽減することができる。
図6は、プリミティブ配置処理(2)のフローチャートである。図5で説明した処理の変形例に相当する。変形例におけるプリミティブ配置処理(図6)のステップS50~ステップS54は、図5のステップS40~S44の処理と同一である。
プリミティブ配置処理(2)では、全プリミティブについて3次元ポリゴンの生成が完了すると、3次元モデル生成装置10は、2つの条件に基づいて、プリミティブを選択する。条件1としては、形状一致率が形状一致率閾値(Thf)よりも大きいことである。この条件を入れることにより、3次元点群データとあまりにも形状が離れているプリミティブは排除されることになる。そして、条件2は、スケール最大という条件である。即ち、プリミティブの中から、サイズが最も大きいものを選択するのである。プリミティブ配置処理(1)(図5)では、形状一致率が最大という条件により、3次元点群データと一致していることを優先してプリミティブを選択した。これに対し、プリミティブ配置処理(2)では、スケール最大、即ち、形状一致率が多少低いとしても、より大きいプリミティブであることを優先して選択を行うのである。
プリミティブ配置処理(2)では、全プリミティブについて3次元ポリゴンの生成が完了すると、3次元モデル生成装置10は、2つの条件に基づいて、プリミティブを選択する。条件1としては、形状一致率が形状一致率閾値(Thf)よりも大きいことである。この条件を入れることにより、3次元点群データとあまりにも形状が離れているプリミティブは排除されることになる。そして、条件2は、スケール最大という条件である。即ち、プリミティブの中から、サイズが最も大きいものを選択するのである。プリミティブ配置処理(1)(図5)では、形状一致率が最大という条件により、3次元点群データと一致していることを優先してプリミティブを選択した。これに対し、プリミティブ配置処理(2)では、スケール最大、即ち、形状一致率が多少低いとしても、より大きいプリミティブであることを優先して選択を行うのである。
以上の2つのプリミティブ配置処理の特徴について説明する。
プリミティブ配置処理(1)は形状一致率が最大となるプリミティブを選択するため、3次元点群データによく一致した3次元ポリゴンが生成される特徴がある。従って、3次元点群データの精度が十分に高いと判断される場合には、良好な3次元ポリゴンが得られることになる。一方、3次元点群データの精度が低い場合には、かかる3次元点群データに一致させることにより、かえって、本来再現されるべき形状から外れた3次元ポリゴンが生成されるおそれがある。従って、プリミティブ配置処理(1)は、精度が良いと考えられる3次元点群データに用いられることが好ましい処理であると言える。
これに対し、プリミティブ配置処理(2)は、形状一致率よりもスケールを優先し、スケール最大のプリミティブを選択する。上述の通り、3次元点群データにノイズが含まれていたり、その精度が低い場合には、形状一致率を重視することはかえって好ましくない結果を招くことになる。また、3次元点群データのノイズや精度の低さの影響は、プリミティブのスケールが大きいほど、相対的に小さくなる。従って、プリミティブ配置処理(2)は、ノイズが含まれていたり、精度が低い3次元点群データに基づいて3次元ポリゴンを生成する際に適した処理であると言える。しかも、プリミティブ配置処理(2)は、形状一致率が形状一致率閾値(Thf)よりも大きいことを条件としているため、3次元点群データと全く形状の異なる3次元ポリゴンの生成は回避することができる利点もある。
プリミティブ配置処理(1)は形状一致率が最大となるプリミティブを選択するため、3次元点群データによく一致した3次元ポリゴンが生成される特徴がある。従って、3次元点群データの精度が十分に高いと判断される場合には、良好な3次元ポリゴンが得られることになる。一方、3次元点群データの精度が低い場合には、かかる3次元点群データに一致させることにより、かえって、本来再現されるべき形状から外れた3次元ポリゴンが生成されるおそれがある。従って、プリミティブ配置処理(1)は、精度が良いと考えられる3次元点群データに用いられることが好ましい処理であると言える。
これに対し、プリミティブ配置処理(2)は、形状一致率よりもスケールを優先し、スケール最大のプリミティブを選択する。上述の通り、3次元点群データにノイズが含まれていたり、その精度が低い場合には、形状一致率を重視することはかえって好ましくない結果を招くことになる。また、3次元点群データのノイズや精度の低さの影響は、プリミティブのスケールが大きいほど、相対的に小さくなる。従って、プリミティブ配置処理(2)は、ノイズが含まれていたり、精度が低い3次元点群データに基づいて3次元ポリゴンを生成する際に適した処理であると言える。しかも、プリミティブ配置処理(2)は、形状一致率が形状一致率閾値(Thf)よりも大きいことを条件としているため、3次元点群データと全く形状の異なる3次元ポリゴンの生成は回避することができる利点もある。
ポリゴン形状決定処理(図4)のステップS30においては、上述したプリミティブ配置処理(1)(図5)、およびプリミティブ配置処理(2)(図6)のいずれか一方を用いるものとしてもよいし、両者を3次元点群データの特性に応じて使い分けるものとしてもよい。使い分けは、例えば、オペレータが選択するようにしてもよいが、3次元点群データのノイズや精度に応じて、自動的に判断するものとしてもよい。例えば、3次元点群データと各面との最近傍距離の分布を求め、その最大値、ばらつきなどに基づいて、3次元点群データの精度を評価し、これに基づいて、2つの処理の一方を選択するようにしてもよい。
また、本実施例では、生成された3次元ポリゴンに対応する3次元点群データは順次、除去されていくため(図4)、残余の3次元点群データの精度も順次、変わっていくことになる。従って、例えば、ポリゴン形状決定処理の開始当初は、プリミティブ配置処理(2)によってスケールの大きいプリミティブを用いる処理を行い、ある程度、3次元点群データが除去された後は、プリミティブ配置処理(1)によって形状一致率が高いプリミティブを用いる処理を行うというように、途中で処理を切り換えるようにしても構わない。
また、本実施例では、生成された3次元ポリゴンに対応する3次元点群データは順次、除去されていくため(図4)、残余の3次元点群データの精度も順次、変わっていくことになる。従って、例えば、ポリゴン形状決定処理の開始当初は、プリミティブ配置処理(2)によってスケールの大きいプリミティブを用いる処理を行い、ある程度、3次元点群データが除去された後は、プリミティブ配置処理(1)によって形状一致率が高いプリミティブを用いる処理を行うというように、途中で処理を切り換えるようにしても構わない。
図7は、形状一致率算出処理のフローチャートである。形状一致率は、ポリゴンの評価(図2のステップS13)、ポリゴン形状決定処理(図4のステップS31)、プリミティブの選択(図5のステップS45、S55)などで、生成されたポリゴンの評価に用いられる値である。形状一致率算出処理は、プリミティブ配置処理(1)(図5のステップS43)、プリミティブ配置処理(2)(図6のステップS53)に相当する処理である。主として、図1の形状一致率算出部18によって実行される処理である。
処理を開始すると、3次元モデル生成装置10は、3次元点群データの中の一点を選択する(ステップS60)。また、選択された点の最近傍距離となるポリゴンを選択する(ステップS61)。
そして、選択された点およびポリゴンの法線ベクトルのなす角度ANGを算出する(ステップS62)。
以上の処理を、対象となる3次元点群データの全てについて完了するまで繰り返す(ステップS63)。
そして、選択された点およびポリゴンの法線ベクトルのなす角度ANGを算出する(ステップS62)。
以上の処理を、対象となる3次元点群データの全てについて完了するまで繰り返す(ステップS63)。
3次元モデル生成装置10は、以上の結果に基づいて、次式により、形状一致率を算出する(ステップS64)。
形状一致率=N/Ntotal
ここで、Nは、なす角度ANG<角度閾値Thaとなる点の数である。つまり、Nは、ポリゴンに属すると判断される点の数を表している。
Ntotalは、対象となる3次元点群の全点数である。
つまり、以上の処理により、形状一致率は、3次元点群データのうち、3次元ポリゴンに属すると判断される点の割合を算出していることになる。形状一致率は、かかる定義に限らず、他にも種々の定義をとることが可能である。
形状一致率=N/Ntotal
ここで、Nは、なす角度ANG<角度閾値Thaとなる点の数である。つまり、Nは、ポリゴンに属すると判断される点の数を表している。
Ntotalは、対象となる3次元点群の全点数である。
つまり、以上の処理により、形状一致率は、3次元点群データのうち、3次元ポリゴンに属すると判断される点の割合を算出していることになる。形状一致率は、かかる定義に限らず、他にも種々の定義をとることが可能である。
次に具体的な処理例を示す。
図8及び図9は、3次元モデル生成例を示す説明図である。図8(a)には、処理前の3次元点群を示した。図示する点群は、ビルを構成するものである。このビルは、概略、本体部分D1と、屋上にある若干平たい構造体D2と、さらにその上にある構造体D3を重ねた形状をなしている。
本実施例の3次元モデル生成処理を実行すると、まず、ビルの本体に近い直方体のプリミティブが用いられ、図8(b)に示すように、マッチングされる。この状態では、プリミティブP1は、本体D1とは比較的良好にマッチングしているものの、構造体D2、D3とはマッチングしていない状態である。このときは、距離閾値Thdを3mとした。この結果、ポリゴンを構成する点群として、本体D1に属する点群のみならず、構造体D2、D3に属する点群も抽出されているのである。そして、これらの点群にできる限り一致させるようにプリミティブP1の各ポリゴンが決定されるため、プリミティブP1の高さは、構造体D2、D3を含むほど高く設定されることになる。このように構造体D2、D3とはマッチングしていないため、プリミティブP1の形状一致率は比較的低い値となる。
そこで、ポリゴン形状決定処理(図4のステップS35)にあるように、距離閾値Thdを再設定して、再度、プリミティブ配置処理を行うことになる。図8の例では、距離閾値Thdを2mに再設定した。この結果が、図8(c)に示すプリミティブP2である。距離閾値Thdを再設定することにより、図8(b)の時とは異なり、ポリゴンを構成する点群として本体D1に属する点群のみが抽出され、構造体D2、D3に属する点群は抽出されなくなる。この結果、本体部分D1に良好にマッチングしたプリミティブが得られる。このプリミティブの各面が、本体部分を構成する3次元ポリゴンとなる。
図8及び図9は、3次元モデル生成例を示す説明図である。図8(a)には、処理前の3次元点群を示した。図示する点群は、ビルを構成するものである。このビルは、概略、本体部分D1と、屋上にある若干平たい構造体D2と、さらにその上にある構造体D3を重ねた形状をなしている。
本実施例の3次元モデル生成処理を実行すると、まず、ビルの本体に近い直方体のプリミティブが用いられ、図8(b)に示すように、マッチングされる。この状態では、プリミティブP1は、本体D1とは比較的良好にマッチングしているものの、構造体D2、D3とはマッチングしていない状態である。このときは、距離閾値Thdを3mとした。この結果、ポリゴンを構成する点群として、本体D1に属する点群のみならず、構造体D2、D3に属する点群も抽出されているのである。そして、これらの点群にできる限り一致させるようにプリミティブP1の各ポリゴンが決定されるため、プリミティブP1の高さは、構造体D2、D3を含むほど高く設定されることになる。このように構造体D2、D3とはマッチングしていないため、プリミティブP1の形状一致率は比較的低い値となる。
そこで、ポリゴン形状決定処理(図4のステップS35)にあるように、距離閾値Thdを再設定して、再度、プリミティブ配置処理を行うことになる。図8の例では、距離閾値Thdを2mに再設定した。この結果が、図8(c)に示すプリミティブP2である。距離閾値Thdを再設定することにより、図8(b)の時とは異なり、ポリゴンを構成する点群として本体D1に属する点群のみが抽出され、構造体D2、D3に属する点群は抽出されなくなる。この結果、本体部分D1に良好にマッチングしたプリミティブが得られる。このプリミティブの各面が、本体部分を構成する3次元ポリゴンとなる。
良好な3次元ポリゴンが得られると、ポリゴン形状決定処理(図4)のステップS33に示した通り、得られたポリゴンに対応する3次元点群データを処理済みのものとして除去する。つまり、本体部分D1の3次元点群データを除去し、構造体D2、D3の3次元点群データが残ることになる。
次に、構造体D2、D3を対象として、プリミティブ配置処理を実行すると、図9(d)に示すプリミティブP3が得られる。距離閾値Thdは、図8(c)のときと同じ値であり、この例では、2mのままであるが、改めて3mから開始するようにしても良い。距離閾値Thdが大きい状態では、構造体D2、D3に属する点群が抽出され、これに基づいてプリミティブP3が決定されることになる。従って、図9(d)に示される通り、プリミティブP3は、構造体D2、D3との形状一致率が低い。
そこで、再度、距離閾値Thdを再設定する。この例では、距離閾値Thdを1mとした。このように距離閾値Thdを再設定して、再度、プリミティブ配置処理を実行すると、図9(e)に示すように、構造体D2に良好に一致するプリミティブP4、および、その各面を構成するとしての3次元ポリゴンが得られる。良好な3次元ポリゴンが得られたので、それに対応する構造体D2の部分の3次元点群データを除去する。
こうして残った構造体D3の3次元点群データを対象にしてプリミティブ配置処理を実行すると、図9(f)に示すようにプリミティブP5が得られる。こうして、3次元点群データに対するビルの本体部分D1、構造体D2、D3をそれぞれ構成する3次元ポリゴンが得られるのである。
次に、構造体D2、D3を対象として、プリミティブ配置処理を実行すると、図9(d)に示すプリミティブP3が得られる。距離閾値Thdは、図8(c)のときと同じ値であり、この例では、2mのままであるが、改めて3mから開始するようにしても良い。距離閾値Thdが大きい状態では、構造体D2、D3に属する点群が抽出され、これに基づいてプリミティブP3が決定されることになる。従って、図9(d)に示される通り、プリミティブP3は、構造体D2、D3との形状一致率が低い。
そこで、再度、距離閾値Thdを再設定する。この例では、距離閾値Thdを1mとした。このように距離閾値Thdを再設定して、再度、プリミティブ配置処理を実行すると、図9(e)に示すように、構造体D2に良好に一致するプリミティブP4、および、その各面を構成するとしての3次元ポリゴンが得られる。良好な3次元ポリゴンが得られたので、それに対応する構造体D2の部分の3次元点群データを除去する。
こうして残った構造体D3の3次元点群データを対象にしてプリミティブ配置処理を実行すると、図9(f)に示すようにプリミティブP5が得られる。こうして、3次元点群データに対するビルの本体部分D1、構造体D2、D3をそれぞれ構成する3次元ポリゴンが得られるのである。
以上で説明した本実施例の3次元モデル生成装置10によれば、3次元点群データから3次元モデルを生成する際に、3次元ポリゴンの生成結果を評価して、生成パラメータを再設定し、3次元ポリゴンの生成を再度行う処理を繰り返すことにより、3次元点群データに良好に一致した3次元ポリゴンを生成することが可能となる。
以上の実施例で説明した種々の特徴は、必ずしも全てを備えている必要はなく、適宜、その一部を省略したり、組み合わせたりしてもよい。また、本発明は、上述の実施例に限らず、種々の変形例を構成することが可能である。
以上の実施例で説明した種々の特徴は、必ずしも全てを備えている必要はなく、適宜、その一部を省略したり、組み合わせたりしてもよい。また、本発明は、上述の実施例に限らず、種々の変形例を構成することが可能である。
本発明は、3次元点群に基づいて、オブジェクトの3次元モデルを生成するために利用することができる。
10…3次元モデル生成装置
11…3次元点群データ記憶部
12…3次元モデル生成部
13…ポリゴン形状決定部
14…プリミティブ配置部
15…プリミティブデータベース
16…3次元ポリゴン記憶部
17…生成パラメータ設定部
18…形状一致率算出部
11…3次元点群データ記憶部
12…3次元モデル生成部
13…ポリゴン形状決定部
14…プリミティブ配置部
15…プリミティブデータベース
16…3次元ポリゴン記憶部
17…生成パラメータ設定部
18…形状一致率算出部
Claims (9)
- 複数の点群について各点ごとに3次元の位置座標を保持した3次元点群データから、該3次元点群データで表されるオブジェクトの3次元モデルを生成する3次元モデル生成装置であって、
前記3次元点群データに基づいて前記3次元モデルを構成する3次元ポリゴンを生成するポリゴン生成部と、
前記3次元ポリゴンの生成に用いられ、該生成結果に影響を与える生成パラメータを設定する生成パラメータ設定部と、
前記生成パラメータを複数通りに変化させて前記ポリゴン生成部に前記3次元ポリゴンの生成を行わせる処理を経て、前記3次元ポリゴンの形状を決定するポリゴン形状決定部とを備える3次元モデル生成装置。 - 請求項1記載の3次元モデル生成装置であって、
前記ポリゴン形状決定部は、前記生成された3次元ポリゴンを評価し、該評価の結果が所定の基準を満たさないときに前記生成パラメータを変化させた上で前記3次元ポリゴンの再生成を行わせる3次元モデル生成装置。 - 請求項1または2記載の3次元モデル生成装置であって、
前記ポリゴン形状決定部は、前記3次元ポリゴンの形状が決定された場合、前記3次元点群データから該3次元ポリゴンに対応するものを除外し、残余の3次元点群データを対象として再度、前記3次元ポリゴンの形状を決定する処理を実行する3次元モデル生成装置。 - 請求項1~3いずれか記載の3次元モデル生成装置であって、
前記3次元ポリゴン形状決定部は、生成された前記3次元ポリゴンと前記3次元点群データとのずれを表す形状一致率に基づいて、前記3次元ポリゴンの形状を決定する3次元モデル生成装置。 - 請求項1~4いずれか記載の3次元モデル生成装置であって、
前記ポリゴン生成部は、前記3次元ポリゴンを複数通りの方法で生成可能であり、
前記ポリゴン形状決定部は、前記3次元点群データの特性に基づいて、前記3次元ポリゴンの生成方法を切り換える3次元モデル生成装置。 - 請求項5記載の3次元モデル生成装置であって、
前記ポリゴン生成部による前記3次元ポリゴンの生成には、予め用意された3次元のプリミティブを前記3次元点群データに適合させる方法を含む3次元モデル生成装置。 - 請求項6記載の3次元モデル生成装置であって、
前記3次元ポリゴン生成部は、3次元ポリゴンと3次元点群データとの形状一致率が高くなるように前記プリミティブの適合を行う方法、および生成されるべき3次元ポリゴンのサイズが大きいものを優先して前記プリミティブの適合を行う方法を含む3次元モデル生成装置。 - 請求項4または7記載の3次元モデル生成装置であって、
前記3次元点群データは、各点ごとに、3次元の位置座標に加えて法線ベクトルのデータを保持しており、
前記形状一致率は、前記3次元点群データおよび前記3次元ポリゴンとの距離、および前記3次元点群データの法線ベクトルと前記3次元ポリゴンの法線ベクトルのなす角度の2つを用いて算出される3次元モデル生成装置。 - コンピュータによって、複数の点群について各点ごとに3次元の位置座標を保持した3次元点群データから、該3次元点群データで表されるオブジェクトの3次元モデルを生成する3次元モデル生成方法であって、
前記コンピュータが実行するステップとして、
前記3次元点群データに基づいて前記3次元モデルを構成する3次元ポリゴンを生成するポリゴン生成ステップと、
前記3次元ポリゴンの生成に用いられ、該生成結果に影響を与える生成パラメータを設定する生成パラメータ設定ステップと、
前記生成パラメータを複数通りに変化させて前記ポリゴン生成ステップに前記3次元ポリゴンの生成を行わせる処理を経て、前記3次元ポリゴンの形状を決定するポリゴン形状決定ステップとを備える3次元モデル生成方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2019-091067 | 2019-05-14 | ||
JP2019091067A JP6793777B2 (ja) | 2019-05-14 | 2019-05-14 | 3次元モデル生成装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2020230452A1 true WO2020230452A1 (ja) | 2020-11-19 |
Family
ID=73223462
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2020/012085 WO2020230452A1 (ja) | 2019-05-14 | 2020-03-18 | 3次元モデル生成装置 |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP6793777B2 (ja) |
WO (1) | WO2020230452A1 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023248394A1 (ja) * | 2022-06-22 | 2023-12-28 | ファナック株式会社 | 処理装置、処理システムおよび処理方法 |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP7136499B1 (ja) * | 2021-04-30 | 2022-09-13 | 株式会社ライトコンサルタンツ | 3次元工作物の設置計画に関するデータの生成方法、システム、及びデータ |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004030226A (ja) * | 2002-06-26 | 2004-01-29 | Nippon Telegr & Teleph Corp <Ntt> | 3次元点群からの形状モデル生成方法と装置、並びに、3次元点群からの形状モデル生成プログラムと該プログラムを記録した記録媒体 |
JP2012033119A (ja) * | 2010-08-03 | 2012-02-16 | Hitachi Ltd | 3次元環境生成システム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5343042B2 (ja) * | 2010-06-25 | 2013-11-13 | 株式会社トプコン | 点群データ処理装置および点群データ処理プログラム |
EP3467790B1 (en) * | 2016-05-26 | 2020-09-16 | Sony Corporation | Information processing device, information processing method, and storage medium |
-
2019
- 2019-05-14 JP JP2019091067A patent/JP6793777B2/ja active Active
-
2020
- 2020-03-18 WO PCT/JP2020/012085 patent/WO2020230452A1/ja active Application Filing
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004030226A (ja) * | 2002-06-26 | 2004-01-29 | Nippon Telegr & Teleph Corp <Ntt> | 3次元点群からの形状モデル生成方法と装置、並びに、3次元点群からの形状モデル生成プログラムと該プログラムを記録した記録媒体 |
JP2012033119A (ja) * | 2010-08-03 | 2012-02-16 | Hitachi Ltd | 3次元環境生成システム |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2023248394A1 (ja) * | 2022-06-22 | 2023-12-28 | ファナック株式会社 | 処理装置、処理システムおよび処理方法 |
Also Published As
Publication number | Publication date |
---|---|
JP2020187507A (ja) | 2020-11-19 |
JP6793777B2 (ja) | 2020-12-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7737969B2 (en) | System and program product for re-meshing of a three-dimensional input model using progressive implicit approximating levels | |
US7425954B2 (en) | Systems and methods for providing signal-specialized parametrization | |
US7218322B2 (en) | Systems and methods for providing a fine to coarse look ahead in connection with parametrization metrics in a graphics system | |
WO2020230452A1 (ja) | 3次元モデル生成装置 | |
JP7424573B2 (ja) | 三次元点群データに基づく三次元モデル生成装置 | |
US20110078223A1 (en) | Approximation processing method and approximation processing device | |
Gosciewski | Reduction of deformations of the digital terrain model by merging interpolation algorithms | |
CN117036570B (zh) | 一种3d点云模型贴图的自动生成方法及系统 | |
KR20030016477A (ko) | 3차원 다각형 표면의 리메슁 최적화 방법 및 장치 | |
CN114677468B (zh) | 基于逆向建模的模型修正方法、装置、设备和存储介质 | |
KR20010046823A (ko) | 정렬되지 않은 3차원 거리 데이터로부터 캐드모델 생성 방법 | |
Huang et al. | Mesh optimization for surface approximation using an efficient coarse-to-fine evolutionary algorithm | |
US20230281967A1 (en) | Information processing device, information processing method, and recording medium | |
CN114283266A (zh) | 一种三维模型调整方法、装置、存储介质及设备 | |
Xiong et al. | Shape-inspired architectural design | |
CN111898654A (zh) | 三维对象特征获取方法、装置、计算机设备和存储介质 | |
JP3739209B2 (ja) | 点群からのポリゴン自動生成システム | |
US20050219237A1 (en) | Image data compression method and image processing device | |
CN113792476B (zh) | 一种基于优化-自适应稀疏网格的替代模型方法 | |
CN117437364A (zh) | 基于残缺点云数据的建筑三维结构提取方法和装置 | |
US20240212227A1 (en) | Methods and systems for optimizing an image generator | |
Dokken et al. | Locally Refined Splines Representation for Geospatial big Data | |
Werghi et al. | Constrained object reconstruction incorporating free-form surfaces | |
Ravaglia et al. | Anisotropic octrees: a tool for fast normals estimation on unorganized point clouds | |
Błaszczak-Bąk et al. | Multi-objective optimization problem in the OptD-multi method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 20806196 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: DE |
|
122 | Ep: pct application non-entry in european phase |
Ref document number: 20806196 Country of ref document: EP Kind code of ref document: A1 |