WO2015174483A1 - 3次元モデル生成装置、3次元モデル生成方法及びプログラム - Google Patents
3次元モデル生成装置、3次元モデル生成方法及びプログラム Download PDFInfo
- Publication number
- WO2015174483A1 WO2015174483A1 PCT/JP2015/063869 JP2015063869W WO2015174483A1 WO 2015174483 A1 WO2015174483 A1 WO 2015174483A1 JP 2015063869 W JP2015063869 W JP 2015063869W WO 2015174483 A1 WO2015174483 A1 WO 2015174483A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- dimensional
- segment
- measurement point
- point group
- longitudinal axis
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T19/00—Manipulating 3D models or images for computer graphics
Definitions
- the present invention relates to a three-dimensional model generation device, a three-dimensional model generation method, and a program.
- the present invention claims the priority of Japanese Patent Application No. 2014-101114 filed on May 15, 2014, and for the designated countries where weaving by reference of documents is permitted, the contents described in the application are as follows: Is incorporated into this application by reference.
- Patent Document 1 Japanese Unexamined Patent Application Publication No. 2009-129189 discloses a feature that represents scene data measured by a sensor capable of measuring a distance and model data representing a three-dimensional shape of a target object, representing a local surface shape of the object.
- a three-dimensional object recognition method that detects the three-dimensional position and orientation of an object by checking the quantity, when the model is placed at a candidate position and orientation, the scene data is shielded by the model and cannot be measured originally. It is described that whether or not a model position / posture candidate exists is verified based on the presence or absence of this geometric contradiction.
- Patent Document 1 detects a posture from scene data measured by a sensor capable of measuring a distance and model data representing a three-dimensional shape. However, the technique described in Patent Document 1 cannot generate a three-dimensional model from measured data.
- an object of the present invention is to provide an apparatus that can generate a three-dimensional model from measured data.
- a three-dimensional model generation apparatus includes a storage unit that stores a three-dimensional measurement point group, and a three-dimensional shape.
- a segment generation unit that generates a plurality of segments and divides the measurement point group, a connection relationship specification unit that specifies a connection relationship of the generated segments, and a measurement point group belonging to the segment in the connection relationship
- From the position information a longitudinal axis extracting unit for extracting the longitudinal axis of the measurement point group, and the position information of the measurement point group belonging to the connected segment, the shape of the two-dimensional cross section of the measurement point group with respect to the longitudinal axis is obtained.
- the present invention makes it possible to generate a three-dimensional model from measured data. Problems, configurations, effects, and the like other than those described above will be clarified by the following description of embodiments.
- FIG. 1 is an example of a configuration diagram of the three-dimensional model generation apparatus 100 of the present embodiment.
- the three-dimensional model generation apparatus 100 includes a control unit 110, a storage unit 120, an input unit 130, an output unit 140, a communication unit 150, and the like.
- the storage unit 120 stores 3D point cloud data 121.
- the three-dimensional point group data 121 is three-dimensional position information of measurement points obtained by measuring a three-dimensional object, and is specifically a three-dimensional coordinate group.
- the control unit 110 includes a segment generation unit 111, a connection relationship identification unit 112, a longitudinal axis extraction unit 113, a two-dimensional shape extraction unit 114, a three-dimensional model generation unit 115, an output information generation unit 116, and the like.
- the segment generation unit 111 generates a plurality of segments having a three-dimensional shape and divides the three-dimensional point cloud data 121.
- the connection relationship specifying unit 112 specifies the connection relationship of the segments generated by the segment generation unit 111.
- the longitudinal axis extraction unit 113 extracts the longitudinal axis of the three-dimensional measurement point group from the position information of the measurement point group belonging to the connected segments.
- the two-dimensional shape extraction unit 114 extracts the shape of the two-dimensional cross section of the measurement point group with respect to the longitudinal axis from the position information of the measurement point group belonging to the connected segments.
- the three-dimensional model generation unit 115 generates a three-dimensional model by extending a two-dimensional cross section in the longitudinal axis direction.
- the output information generation unit 116 generates and outputs information related to the generated three-dimensional model.
- the input unit 130 receives input of information.
- the output unit 140 outputs information.
- the communication unit 150 receives input / output of information via a communication network (not shown). Details of these will be described later.
- FIG. 2 is a hardware configuration example of the three-dimensional model generation apparatus 100.
- Each of the three-dimensional model generation apparatuses 100 includes an arithmetic device 201, a memory 202, an external storage device 203, an input device 204, an output device 205, a communication device 206, a storage medium driving device 207, a storage medium 208, and the like.
- the computing device 201 is, for example, a CPU (Central Processing Unit).
- the memory 202 is a volatile and / or nonvolatile memory.
- the external storage device 203 is, for example, an HDD (Hard Disk Drive) or an SSD (Solid State Drive).
- the storage medium driving device 207 can read and write information with respect to, for example, a CD (Compact Disk), a DVD (Digital Versatile Disk), and other storage media 208 having any portability.
- the input device 204 is a keyboard, a mouse, a microphone, or the like.
- the output device 205 is, for example, a display device, a printer, a speaker, or the like.
- the communication device 206 is, for example, a NIC (Network Interface Card) for connecting to a communication network (not shown).
- Each unit of the control unit 110 can be realized by loading a predetermined program into the memory 202 and executing it by the arithmetic unit 201.
- the predetermined program is downloaded from the storage medium 208 via the storage medium driving device 207 or from the communication network (not shown) via the communication device 206 to the external storage device 203 and loaded into the memory 202 for calculation.
- the apparatus 201 may execute the process.
- the data may be directly loaded into the memory 202 from the storage medium 208 via the storage medium driving device 207 or from the communication network via the communication device 206 and executed by the arithmetic device 201.
- control unit 110 may be realized as hardware by a circuit or the like.
- the storage unit 120 can be realized by all or part of the memory 202, the external storage device 203, the storage medium drive device 207, the storage medium 208, and the like.
- the calculation device 201 may be realized by controlling all or a part of the memory 202, the external storage device 203, the storage medium driving device 207, the storage medium 208, and the like by executing the above program.
- the output unit 140 can be realized by the output device 205.
- the calculation device 201 may be realized by controlling the output device 205 by executing the program.
- the input unit 130 can be realized by the input device 204.
- the calculation device 201 may be realized by controlling the input device 204 by executing the program.
- the communication unit 150 can be realized by the communication device 206.
- the calculation device 201 may be realized by controlling the communication device 206 by executing the program.
- each unit of the three-dimensional model generation device 100 may be realized by one device or may be realized by being distributed by a plurality of devices.
- FIG. 3 is an example of an operation flow of the three-dimensional model generation apparatus 100.
- the three-dimensional model generation apparatus 100 will be described assuming that the following processing is performed for each structure.
- a structure here means what can be recognized as one structure.
- the measurement point group is an object indicated by a measurement point group that is not more than a predetermined distance away from the closest measurement point group. To do.
- the present invention is not limited to this as will be described later.
- the segment generation unit 111 reads the measurement point group of the target structure from the three-dimensional point cloud data 121 and divides it into segments (S301).
- the segment here refers to a three-dimensional shape that can be handled as a unit unit, and is not limited, but is, for example, a voxel that is a regular lattice in a three-dimensional space.
- the segment generation unit 111 divides the three-dimensional measurement point group of the target structure so as to belong to one of the segments. Since the technology for realizing this is known, the details are omitted.
- the connection relation specifying unit 112 specifies for each segment which segment is connected, and generates a graph network indicating the connection relation of the segments (S302).
- the technology for identifying the connection relationship of segments is not particularly limited. For example, if the sides and surfaces that make up a segment match the sides and surfaces of other segments, it is determined that those segments are connected. Also good.
- the connection relationship specifying unit 112 stores information indicating the graph network in the storage unit 120.
- FIG. 4 is a diagram for explaining an example of segment division.
- a point group 401 in FIG. 4A is an example of a three-dimensional measurement point group of a structure.
- a segment group 402 in FIG. 4B is an example in which the point group 401 is divided into segments. In FIG. 4B, only a part of the three-dimensional measurement point group is superimposed and shown for explanation.
- the space is divided according to the size of the segment with an arbitrary point as a reference, and the segment is arranged when the measurement point is located within the segment range.
- the three-dimensional measurement point group of the structure is divided into a plurality of segments.
- the segment is a cube
- the present invention is not limited to this, and the shape of the segment may be a three-dimensional shape. Further, for example, segments having different shapes such as a triangular pyramid and a cube may be used, and even segments having the same shape may have different sizes.
- FIG. 5 is a diagram for explaining an example of the connection relationship.
- a segment group 501 in FIG. 5A is an example of a part of the segment group and a measurement point group belonging to the segment.
- a graph network 502 in FIG. 5B is an example in which the connection relation of the segments of the segment group 501 is shown by a graph network.
- the segment group 501 in FIG. 5 is a two-dimensional notation for the segment group 402 in FIG. Is shown.
- the segment is three-dimensional, and there is a connection relationship not only with the segment closest to the page but also with the segment located behind it.
- the segment group 501 is composed of segment A1 to segment A19.
- segment A11 will be described as an example.
- node 511 represents segment A111
- node 512 represents segment A4
- node 513 represents segment A5
- node 514 represents segment A10
- node 515 represents segment A12
- node 516 represents segment A13
- node 517 indicates segment A14.
- Segment A11 is connected to segments A4, A5, A10, A12, A13, and A14. Accordingly, the node 511 is connected to each of the nodes 512 to 517 indicating the segments A4, A5, A10, A12, A13, and A14.
- the longitudinal axis extraction unit 113 extracts the longitudinal axis (S303). For this purpose, the longitudinal axis extraction unit 113 calculates the longest path on the graph network indicating the connection relationship of the segments, sets this as the longitudinal axis direction, and calculates the center of gravity of the measurement point group belonging to the segment existing in the longest path. Extract the longitudinal axis. When there are a plurality of longest paths, the longitudinal axis extraction unit 113 may select any one based on a predetermined condition.
- the longest path here refers to the longest path among simple paths (paths that do not pass through the same node multiple times from the start node to the end node).
- FIG. 6 is a diagram for explaining an example of extraction of the longitudinal axis.
- a segment group 601 in FIG. 6A is obtained by superimposing a longitudinal axis 631 on a segment group 401.
- FIG. 6B is an example of an arrow view in which a partial segment located in the part P of the segment group 601 is extracted and viewed from the direction PS.
- the segment is shown in a two-dimensional notation, but the segment is actually three-dimensional.
- the longitudinal axis extraction unit 113 first extracts segments in the longitudinal axis direction.
- the segment in the longitudinal axis direction is also a portion that is hidden and cannot be seen, and is therefore indicated by a broken line.
- the segment in the longitudinal axis direction can be specified as the longest path in the connected graph network with the segment as a node.
- the path may be configured by excluding that segment.
- this predetermined condition is not limited, for example, whether or not the number of three-dimensional measurement points belonging to the segment is equal to or greater than a predetermined value, the position of the three-dimensional measurement point belonging to the segment, and the 3 belonging to the segment connected to the segment Whether or not the position of the three-dimensional measurement point is within a predetermined range, the position of the three-dimensional measurement point in the segment, and the like.
- the longitudinal axis extraction unit 113 obtains, for each extracted segment, the centroid of the three-dimensional measurement point group belonging to the segment, and connects the centroids of the connected segments with line segments.
- the longitudinal axis is constituted by a line segment connecting the gravity center positions calculated in this way.
- a segment A20 is a segment connected to the segment A12 on the back side with respect to the paper surface.
- segment A30 is a segment connected with segment A20 in the back
- the center of gravity of the 3D measurement point group existing in the segment A12 is the point 611
- the center of gravity of the 3D measurement point group existing in the segment A20 is the point 612
- the center of the 3D measurement point group existing in the segment A30 is The center of gravity is point 613.
- a line 621 is generated by connecting the points 611 and 612.
- a line 622 is generated by connecting the points 612 and 613.
- the longitudinal axis 631 is composed of a plurality of lines generated in this way.
- the longitudinal axis is not limited to a straight line, and may be a curve or a combination of a straight line and a curve.
- the axis is a curve, for example, it may be calculated as a spline curve or arc passing through the center of gravity calculated as described above or its vicinity, or the curve may be calculated by any other technique.
- the two-dimensional shape extraction unit 114 extracts the shape of the two-dimensional cross section of the three-dimensional measurement point group with respect to the longitudinal axis extracted in S303 (S304). For this purpose, the two-dimensional shape extraction unit 114 calculates the longest path from the graph network for a segment perpendicular to or approximately perpendicular to the longitudinal axis direction, and calculates the centroid position of the measurement point group belonging to the segment existing in the longest path.
- the calculated two-dimensional line segment is defined as a two-dimensional cross-sectional shape.
- FIG. 7 is an example of a processing flow for extracting the shape of the two-dimensional cross section.
- the two-dimensional shape extraction unit 114 extracts a segment that generates a two-dimensional cross section (S701). For this purpose, the two-dimensional shape extraction unit 114 extracts a segment that is connected to a segment perpendicular to or substantially perpendicular to the segment in the longitudinal axis direction specified in S303, and uses this as a segment for generating a two-dimensional section. To do.
- the position of the segment to be extracted is not particularly limited as long as it is perpendicular or almost perpendicular to the longitudinal direction. Here, a description will be given assuming that the one located at one end of the segment in the longitudinal axis direction extracted in S303 is extracted.
- the two-dimensional shape extraction unit 114 extracts a segment constituting the longest path on the graph network from the segments extracted in S701 (S702).
- the two-dimensional shape extraction unit 114 calculates the position of the center of gravity of the three-dimensional measurement point group from the position information of the three-dimensional measurement point group belonging to the segment extracted in the process of S702 (S703).
- the two-dimensional shape extraction unit 114 extracts polygonal line segments by connecting the barycentric positions calculated in the processing of S703 (S704).
- the two-dimensional shape extraction unit 114 identifies the polygonal line segment extracted in the process of S704 and each connected segment of the segment constituting the longest path, and uses the barycentric position of the three-dimensional measurement point group belonging to the connected segment.
- the polygonal line segment is smoothed (S705).
- the 2D shape extraction unit 114 calculates, for each segment, the center of gravity of the 3D measurement point group belonging to the connected segment, the position of the center of gravity of the 3D measurement point group in itself, and the 3D measurement point belonging to the connected segment. Smooth by connecting the center of gravity of the group.
- FIG. 8 is a diagram for explaining an example of shape extraction of a two-dimensional cross section.
- the segment group 801 in FIG. 8A is an example of the segment extracted in S701 and the three-dimensional measurement point group belonging to the segment.
- the segments constituting the segment group 801 and their connection relationship are the same as those shown in the segment group 501 and the graph network 502 in FIG.
- the segments constituting the longest path are indicated by diagonal lines. That is, the segments constituting the longest path are segments A6 to 10, A5, A12, A14, and A16 to A19.
- the segment constituting the longest path can be specified as the longest path in the connected graph network having the segments as nodes.
- the path may be configured by excluding that segment.
- this predetermined condition is not limited, for example, whether or not the number of three-dimensional measurement points belonging to the segment is equal to or greater than a predetermined value, the position of the three-dimensional measurement point belonging to the segment, and the 3 belonging to the segment connected to the segment Whether or not the position of the three-dimensional measurement point is within a predetermined range, the position of the three-dimensional measurement point in the segment, and the like.
- the segment group 802 in FIG. 8B includes a polygon line segment 812 in addition to the segment group 801.
- the polygonal line segment 812 is configured by a line segment that connects the barycentric positions of the three-dimensional measurement point groups belonging to each of the segments indicated by hatching in the segment group 801.
- point 821 is the barycentric position of the three-dimensional measurement point group belonging to segment A10
- point 822 is the barycentric position of the three-dimensional measurement point group belonging to segment A5.
- a line segment 831 is also a line segment formed by connecting the point 821 and the point 822. In this way, a part of the line segment constituting the polygonal line segment 812 is configured.
- the segment group 803 in FIG. 8C includes a smoothing line segment 813 and a difference 814 in addition to the segment group 801.
- the smoothed line segment 813 is an example in which the polygonal line segment 812 is smoothed.
- a difference 814 is a difference between the polygonal line segment 812 and the smoothed line segment 813.
- segment A10 Segments connected to segment A10 are segments A9, A4, A5, A11, and A13.
- the two-dimensional shape extraction unit 114 connects the centroid of the three-dimensional measurement point group belonging to each of the segment A9 and the segment A5 to the centroid of the three-dimensional measurement point group belonging to the segment A10. Since the line is a line constituting the polygonal line segment 812, it is excluded from the smoothing processing target. Further, the two-dimensional shape extraction unit 114 excludes the segment A4 and the segment A13 from the smoothing process target because the three-dimensional measurement points belonging to each of them do not satisfy the predetermined condition. This predetermined condition may be the same as or different from the specification of the segment constituting the longest path.
- the 2D shape extraction unit 114 calculates the barycentric position of the 3D measurement point group belonging to the segment A11 that is the target of the smoothing process.
- the two-dimensional shape extraction unit 114 forms a smoothed line segment 813 by connecting a line segment connecting the barycentric position of the three-dimensional measurement point group belonging to the segment A10 and the barycentric position of the three-dimensional measurement point group belonging to the segment A11.
- a line segment A line segment.
- the segments connected to the segment A11 are the segments A10, A4, A5, A12, A13, and A14 as described above.
- the two-dimensional shape extraction unit 114 excludes the segments A10, A4, A5, A13, and A14 from the smoothing process target by the same determination process as described above.
- the two-dimensional shape extraction unit 114 forms a smoothed line segment 813 by connecting a line segment connecting the barycentric position of the three-dimensional measurement point group belonging to the segment A11 and the barycentric position of the three-dimensional measurement point group belonging to the segment A12. A line segment.
- the difference 814 is removed from the polygonal line segment 812, and a smoothed line segment 813 is generated.
- the smoothing process as described above may be performed not only when extracting a two-dimensional section but also when extracting a longitudinal axis.
- the three-dimensional model generation unit 115 generates a three-dimensional model by extending the shape of the two-dimensional cross section generated in the process of S304 along the longitudinal axis extracted in the process of S303 (S305).
- FIG. 9 is a diagram for explaining an example of generating a three-dimensional model.
- the longitudinal axis 631 and the smoothed line segment 813 are superimposed on the segment group 402.
- a model 902 in FIG. 9B is an example in which a three-dimensional model is generated from the model 901.
- a line segment 911 indicates a longitudinal axis
- a line segment 912 indicates a two-dimensional cross section.
- the model 902 is generated by extending the line segment 912 along the line segment 911.
- the length to be extended may be from one end or the vicinity of the longitudinal axis to the other end or the vicinity of the end.
- the two-dimensional cross section is extracted at the end of the longitudinal axis in the process of S304, it may be extended to the other end.
- a two-dimensional cross section is extracted between the ends of the longitudinal axis in the process of S304, from that position to one end of the longitudinal axis and from that position to the other end of the longitudinal axis It is good to extend to the end of the.
- the object to be extended may be a surface.
- the thickness and thickness direction given to the line segment indicating the two-dimensional section generated in the process of S304 may be stored in the storage unit 120 in advance.
- the three-dimensional model generation unit 115 replicates a line segment indicating a two-dimensional cross section in a thickness direction separated by a thickness from the longitudinal axis, and connects the end of the original line segment and the end of the copied line segment. By doing so, the surface may be generated.
- stretching refers to copying the line or surface to be stretched to each point constituting the axis without changing the position of the axis on the line or surface.
- the object to be stretched is a surface
- the object to be replicated may be the surface itself, or only the sides constituting the surface may be replicated.
- the three-dimensional model generation unit 115 determines whether there is an unprocessed three-dimensional measurement point group (S306). If there is an unprocessed 3D measurement point group as a result of the determination in S306 (S306: Yes), the process proceeds to S303, and the above process is performed on the unprocessed 3D measurement point group. If there is no unprocessed three-dimensional measurement point group as a result of the determination in S306 (S306: No), the process ends.
- the above processing can be performed for each structure.
- the unit of the structure for performing the above processing is arbitrary.
- the above processing may be performed for each of a plurality of parts constituting one structure.
- the above-described processing may be performed using the one structure as one processing unit.
- the output unit 140 can output each piece of information generated by the above processing at an arbitrary timing. This output information can be generated by the output information generation unit 116. Alternatively, the information generated by the output information generation unit 116 may be output to a device (not shown) via the communication device 206.
- FIG. 10 is an example of a screen for displaying the generated three-dimensional model on the display device.
- the screen 1000 includes an area 1001, an area 1002, and an area 1003.
- a three-dimensional measurement point group of the structure is displayed.
- a segment group obtained by dividing the three-dimensional measurement point group displayed in the region 1001 into segments, and a longitudinal axis and a two-dimensional section extracted in the segment group are displayed.
- a three-dimensional model generated using the segment group, the longitudinal axis, and the two-dimensional cross section displayed in the region 1002 is displayed.
- the user For each of the three-dimensional measurement point group, segment group, and three-dimensional model displayed in each of the region 1001, the region 1002, and the region 1003, the user uses the input device 204 to change the display scale, rotate, etc. Instructions can be entered.
- the output information generation unit 116 may perform display control on each area in accordance with the input instruction.
- the user may input an instruction of at least one of the segment in the longitudinal axis direction and the segment of the two-dimensional section through the region 1002 using the input device 204.
- the indicated segment of the two-dimensional cross section is indicated by a hatched portion 1011.
- the output information generation unit 116 may change the display form of the instructed segment from other segments.
- the instruction unit 1012 is pressed or the like and an execution instruction is input, the three-dimensional model generation apparatus 100 performs the above process again with the instructed segment as a segment in the longitudinal axis direction or a segment of a two-dimensional cross section.
- the obtained longitudinal axis and two-dimensional cross section may be controlled to be displayed in the region 1002. Further, the three-dimensional model generation apparatus 100 may control to display the three-dimensional model obtained by this processing in the region 1003.
- the user may input an arbitrary variable or condition such as a segment granularity (segment size) or type, a structure type, or the like into the area 1012 using the input device 204.
- the 3D model generation apparatus 100 performs the above processing again with the input variables and conditions, and the segment group, the longitudinal axis, and 2 You may control to display a dimensional cross section in the area
- the three-dimensional model generation apparatus 100 may control to display the three-dimensional model obtained by this processing in the region 1003.
- the longitudinal axis and the cross-sectional shape with respect to the longitudinal axis can be specified from the three-dimensional measurement point group, and a three-dimensional model can be generated from these. A three-dimensional model close to can be generated.
- the longitudinal axis and cross-sectional shape can be calculated as the longest path of the graph network that nodes the segment. Thereby, it is possible to reduce the calculation load.
- the longitudinal axis and the cross-sectional shape are specified from the centroid of the measurement point group belonging to the segment, but the line segment obtained from the centroid can be smoothed using the centroid belonging to the segment connected to the segment. Thereby, noise can be further removed, and a smooth three-dimensional model closer to an actual structure can be generated.
- smoothing is not necessarily performed.
- the present embodiment is suitable for a structure having a relatively long length on the other side with respect to the length of one side, such as a shaped steel, for example. It is not limited to.
- FIG. 11 is another example of a structure to which this embodiment is applied.
- a structure 1101 in FIG. 11A is an example in which the length of one side is relatively close to the length of one side. That is, the structure 1101 that is a rectangular body has relatively short values of lengths l1, l2, and l3.
- the structure 1101 is divided by a divided surface S1-1 that is parallel or substantially parallel to the surface S1 that constitutes the structure 1101, and the divided structure is obtained.
- the above-described processing may be performed on each of the structures S1-21 and S1-22 which are the bodies.
- the structure 1101 is divided by a divided surface S2-1 that is parallel or substantially parallel to the surface S2 constituting the structure 1101, and each of the structures S2-21 and S2-22 that are divided structures is obtained.
- the above processing may be performed.
- Whether or not the structure is relatively close to the length of one side can be determined by, for example, the feature amount of a three-dimensional measurement point group. Since the feature amount is known, the description thereof is omitted.
- the user may input an instruction using the input device 204, or the three-dimensional model generation device 100 may divide into a predetermined number based on the length of the segment.
- the user designates the division position using the input device 204, an interface similar to the screen 1000 can be used. Further, the number to be divided is not particularly limited.
- FIG. 11C is a side view of the structure 1102
- FIG. 11D is an example of a front view of the structure 1102.
- the structure 1102 is a structure in which the length of one side is relatively long with respect to the length of one side, but the shape of a two-dimensional cross section perpendicular to or substantially perpendicular to the longitudinal axis changes in the middle of the longitudinal axis. This is an example of the case. In such a case, it is preferable to divide the two-dimensional cross section so that the shapes thereof are the same or substantially the same, and perform the above processing on each of the divided parts. In the case of the structure body 1102, the structure body 1122 and the region 1122 may be divided.
- the shape of the two-dimensional cross section perpendicular to or substantially perpendicular to the longitudinal axis changes in the middle of the longitudinal axis can be determined by, for example, the feature amount of the three-dimensional measurement point group. Since the feature amount is known, the description thereof is omitted.
- the three-dimensional model generation apparatus 100 extracts a plurality of segments that are perpendicular or almost perpendicular to the longitudinal axis direction by the same processing as described above, and determines whether or not the difference between these segments is within a predetermined range. May be.
- the user may input an instruction using the input device 204 for the division position.
- an interface similar to the screen 1000 can be used.
- the three-dimensional model generation apparatus 100 extracts segments perpendicular to or substantially perpendicular to the longitudinal axis direction at a predetermined interval by the same processing as described above, and if the difference between adjacent segments is not within a predetermined range, A position between segments may be set as a division position. Or you may use the two-dimensional cross section extracted by the same process as the above instead of a segment.
- the segment constituting the longest path for extracting the longitudinal axis and the two-dimensional cross section is specified as the longest path in the connected graph network having the segments as nodes. Therefore, for a three-dimensional measurement point group of a structure, such as a pipe, in which a two-dimensional cross section with respect to the longitudinal axis is closed, it is divided on a plane parallel to or substantially parallel to the longitudinal axis, and each divided three-dimensional measurement is performed.
- the above processing may be performed on the point cloud. In this way, it is possible to extract a simple path from a segment for extracting a two-dimensional cross section.
- the user may input an instruction using the input device 204 for the division position.
- an interface similar to the screen 1000 can be used.
- the three-dimensional model generation apparatus 100 may extract the longitudinal axis direction by the same processing as described above, and divide the three-dimensional measurement point group on a plane parallel or substantially parallel to the longitudinal axis direction.
- a part of the configuration of an embodiment can be replaced with the configuration of another embodiment, and the configuration of another embodiment can be added to the configuration of an embodiment.
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- Geometry (AREA)
- Computer Graphics (AREA)
- Software Systems (AREA)
- Processing Or Creating Images (AREA)
- Length Measuring Devices With Unspecified Measuring Means (AREA)
Abstract
計測したデータから3次元モデルを生成することができる技術を提供する。 3次元モデル生成装置は、3次元の計測点群を記憶する記憶部と、3次元形状である複数のセグメントを生成して計測点群を分割するセグメント生成部と、生成されたセグメントの連結関係を特定する連結関係特定部と、連結関係にあるセグメントに属する計測点群の位置情報から、計測点群の長手軸を抽出する長手軸抽出部と、連結関係にあるセグメントに属する計測点群の位置情報から、長手軸に対する計測点群の2次元断面の形状を抽出する2次元形状抽出部と、2次元断面を長手軸方向に引き延ばすことで、3次元モデルを生成するモデル生成部と、を有する。
Description
本発明は、3次元モデル生成装置、3次元モデル生成方法及びプログラムに関する。本発明は2014年5月15日に出願された日本国特許の出願番号2014-101114の優先権を主張し、文献の参照による織り込みが認められる指定国については、その出願に記載された内容は参照により本出願に織り込まれる。
特許文献1(特開2009-129189号公報)には、距離を計測できるセンサによって計測したシーンデータと、目的物体の三次元形状を表すモデルデータとを、物体の局所的な表面形状を表す特徴量について照合することにより物体の三次元位置姿勢を検出する三次元物体認識方法において、モデルを、候補となる位置姿勢に配置したとき、モデルによって遮蔽され、本来計測不可能な範囲にシーンデータが存在するか否かを算出し、この幾何学的な矛盾の有無に基づいて、モデルの位置姿勢候補の成否を検証することが記載されている。
特許文献1に記載の技術は、距離を計測できるセンサによって計測したシーンデータと、三次元形状を表すモデルデータとから姿勢を検出するものである。しかし、特許文献1に記載の技術では、計測したデータから3次元モデルを生成することはできない。
そこで、本発明は、計測したデータから3次元モデルを生成することができる装置を提供することを目的とする。
本願は、上記課題を解決するための手段を複数含んでいるが、その一例を挙げるならば、3次元モデル生成装置であって、3次元の計測点群を記憶する記憶部と、3次元形状である複数のセグメントを生成して前記計測点群を分割するセグメント生成部と、前記生成されたセグメントの連結関係を特定する連結関係特定部と、前記連結関係にあるセグメントに属する計測点群の位置情報から、前記計測点群の長手軸を抽出する長手軸抽出部と、前記連結関係にあるセグメントに属する計測点群の位置情報から、前記長手軸に対する計測点群の2次元断面の形状を抽出する2次元形状抽出部と、前記2次元断面を前記長手軸方向に引き延ばすことで、3次元モデルを生成するモデル生成部と、を有する。
本発明により、計測したデータから3次元モデルを生成することが可能となる。上記以外の課題、構成および効果等は、以下の実施形態の説明により明らかにされる。
以下、本発明の一実施形態を、図面を参照して詳細に説明する。なお、以下では、同じ構成を有するものについては同じ符号を付与して説明を省略する。
図1は、本実施形態の3次元モデル生成装置100の構成図の一例である。3次元モデル生成装置100は、制御部110、記憶部120、入力部130、出力部140、通信部150等を有する。
記憶部120には、3次元点群データ121が記憶されている。3次元点群データ121は、3次元の対象物を計測して得られた計測点の3次元位置情報であり、具体的には3次元の座標群である。
制御部110は、セグメント生成部111、連結関係特定部112、長手軸抽出部113、2次元形状抽出部114、3次元モデル生成部115、出力情報生成部116等を有する。セグメント生成部111は、3次元形状である複数のセグメントを生成して、3次元点群データ121を分割する。連結関係特定部112は、セグメント生成部111により生成されたセグメントの連結関係を特定する。長手軸抽出部113は、連結関係にあるセグメントに属する計測点群の位置情報から、3次元計測点群の長手軸を抽出する。2次元形状抽出部114は、連結関係にあるセグメントに属する計測点群の位置情報から、長手軸に対する計測点群の2次元断面の形状を抽出する。3次元モデル生成部115は、2次元断面を長手軸方向に引き延ばすことで、3次元モデルを生成する。出力情報生成部116は、生成された3次元モデルに関する情報を生成して出力する。入力部130は、情報の入力を受け付ける。出力部140は、情報を出力する。通信部150は、図示しない通信ネットワークを介しての情報の入出力を受け付ける。これらの詳細は後述する。
次に、3次元モデル生成装置100を実現するハードウェア構成例について説明する。図2は、3次元モデル生成装置100のハードウェア構成例である。
3次元モデル生成装置100の各々は、演算装置201、メモリ202、外部記憶装置203、入力装置204、出力装置205、通信装置206、記憶媒体駆動装置207、記憶媒体208等を有する。
演算装置201は例えばCPU(Central Processing Unit)等である。メモリ202は揮発性及び/又は不揮発性のメモリである。外部記憶装置203は、例えば、HDD(Hard Disk Drive)やSSD(Solid State Drive)等である。記憶媒体駆動装置207は、例えばCD(Compact Disk)やDVD(Digital Versatile Disk)、その他任意の可搬性を有する記憶媒体208に対して情報を読み書き可能である。入力装置204は、キーボードやマウス、マイクロフォン等である。出力装置205は、例えば、ディスプレイ装置、プリンタ、スピーカ等である。通信装置206は、例えば、図示しない通信ネットワークに接続するためのNIC(Network Interface Card)等である。
制御部110の各部は、所定のプログラムをメモリ202にロードして演算装置201が実行することにより実現可能である。
この所定のプログラムは、記憶媒体駆動装置207を介して記憶媒体208から、あるいは、通信装置206を介して図示しない通信ネットワークから、外部記憶装置203にダウンロードし、そして、メモリ202にロードし、演算装置201が実行するようにしてもよい。また、記憶媒体駆動装置207を介して記憶媒体208から、あるいは、通信装置206を介して通信ネットワークから、メモリ202に直接ロードして、演算装置201により実行するようにしてもよい。
あるいは、制御部110の各部のうち一部又はすべてを、回路等によりハードウェアとして実現してもよい。
また、記憶部120は、メモリ202、外部記憶装置203、記憶媒体駆動装置207及び記憶媒体208等の全て又は一部により実現可能である。又は、演算装置201が上記プログラムの実行により、メモリ202、外部記憶装置203、記憶媒体駆動装置207及び記憶媒体208等の全て又は一部を制御することで実現してもよい。
また、出力部140は、出力装置205により実現可能である。又は、演算装置201が上記プログラムの実行により、出力装置205を制御することで実現してもよい。
また、入力部130は、入力装置204により実現可能である。又は、演算装置201が上記プログラムの実行により、入力装置204を制御することで実現してもよい。
また、通信部150は、通信装置206により実現可能である。又は、演算装置201が上記プログラムの実行により、通信装置206を制御することで実現してもよい。
また、3次元モデル生成装置100の各部は、1つの装置により実現されてもよく、複数の装置により分散されて実現されてもよい。
次に、動作例を説明する。図3は、3次元モデル生成装置100の動作フローの例である。ここでは、3次元モデル生成装置100は、以下の処理を、構造体毎に行うものとして説明する。ここでいう構造体とは、1つの構造体として認識されうるものをいい、例えば、計測点群のうち、最も近い計測点と所定距離以上離れていない計測点群が示す物体であるものとして説明する。ただし、後述するように、これに限定しない。
セグメント生成部111は、3次元点群データ121から、対象となる構造体の計測点群を読み出して、これをセグメントに分割する(S301)。ここでいうセグメントは、単位ユニットとして扱うことが可能な3次元形状をいい、限定しないが、例えば、3次元空間での正規格子であるボクセル(voxel)である。セグメント生成部111は、対象となる構造物の3次元計測点群が、いずれかのセグメント内に属するように分割する。これを実現する技術は公知であるので詳細は省略する。
連結関係特定部112は、セグメント毎に、どのセグメントと連結しているかを特定し、セグメントの連結関係を示すグラフネットワークを生成する(S302)。セグメントの連結関係を特定する技術は特に限定しないが、例えば、セグメントを構成する辺や面が、他のセグメントの辺や面と一致する場合に、それらのセグメントは連結していると判定してもよい。連結関係特定部112は、グラフネットワークを示す情報を記憶部120に記憶させる。
ここで、S301、S302について図面を参照して具体例を説明する。図4は、セグメント分割の一例を説明するための図である。図4(A)の点群401は、構造体の3次元計測点群の例である。図4(B)のセグメント群402は、点群401をセグメントに分割した例である。図4(B)では、説明のために、3次元計測点群の一部のみを重畳して示している。
図示するように、任意の点を基準として、セグメントの大きさに従って空間を分割し、セグメント範囲内に計測点が位置する場合にセグメントを配置する。このようにして、構造体の3次元計測点群が、複数のセグメントに分割されるようにする。
なお、ここでは、説明の簡略化のために、セグメントが立方体である例を説明するが、これに限定するわけではなく、セグメントの形状は3次元形状であればよい。また、例えば三角錐及び立方体など、異なる形状のセグメントを用いてもよく、同じ形状のセグメントであっても大きさが異なるものを用いてもよい。
図5は、連結関係の一例を説明するための図である。図5(A)のセグメント群501は、セグメント群の一部と、そのセグメントに属する計測点群の例である。図5(B)のグラフネットワーク502は、セグメント群501のセグメントの連結関係をグラフネットワークで示した例である。なお、図5のセグメント群501は、説明のために、図4(B)のセグメント群402において、紙面に対し最も手前のセグメント及びそれらのセグメントに属する計測点群のみを、2次元的な表記で示している。しかし、実際にはセグメントは3次元であり、また、紙面に対し最も手前のセグメントのみでなく、その奥に位置するセグメントに対しても連結関係は存在する。
図示するように、セグメント群501は、セグメントA1~セグメントA19から構成される。以下、セグメントA11を例にして説明する。
グラフネットワーク502において、ノード511はセグメントA111を示し、ノード512はセグメントA4を示し、ノード513はセグメントA5を示し、ノード514はセグメントA10を示し、ノード515はセグメントA12を示し、ノード516はセグメントA13を示し、ノード517はセグメントA14を示す。
セグメントA11はセグメントA4、A5、A10、A12、A13、A14と連結している。従って、ノード511は、セグメントA4、A5、A10、A12、A13、A14の各々を示すノード512~ノード517の各々と連結されている。
図3に戻る。長手軸抽出部113は、長手軸を抽出する(S303)。そのために、長手軸抽出部113は、セグメントの連結関係を示すグラフネットワーク上での最長パスを算出してこれを長手軸方向とし、この最長パスに存在するセグメントに属する計測点群の重心位置から長手軸を抽出する。最長パスが複数ある場合、長手軸抽出部113は、所定条件に基づき、いずれか1つを選択するとよい。
ここでいう最長パス(longest path)とは、単純パス(始点ノードから終点ノードまでの間に同じノードを複数回通らないパス)のうち、最も長いパスのことをいう。
ここで、S303について図面を参照して具体例を説明する。図6は、長手軸の抽出の一例を説明するための図である。図6(A)のセグメント群601は、セグメント群401に、長手軸631を重畳したものである。図6(B)は、セグメント群601の部位Pに位置する一部セグメントを抽出して方向PSから見た矢視図の例である。なお、図6(B)では、セグメントを2次元的な表記で示しているが、実際にはセグメントは3次元である。
長手軸抽出部113は、まず、長手軸方向のセグメントを抽出する。セグメント群601では、長手軸方向のセグメントは隠れて見えない部分でもあるため、破線で示している。長手軸方向のセグメントは、セグメントをノードとした連結グラフネットワークにおける最長パスとして特定することができる。
ただし、連結関係にあるセグメントであっても、セグメントに属する3次元計測点が所定条件を満たしていない場合は、そのセグメントを除外してパスを構成してもよい。この所定条件は、限定はしないが、例えば、セグメントに属する3次元計測点の数が所定値以上であるか否か、セグメントに属する3次元計測点の位置とそのセグメントと連結するセグメントに属する3次元計測点の位置とが所定範囲内であるか否か、セグメント内での3次元計測点の位置などがある。
長手軸抽出部113は、抽出したセグメント毎に、そのセグメントに属する3次元計測点群の重心を求め、連結するセグメントの重心同士を線分で接続する。長手軸は、このように算出した重心位置を接続する線分により構成される。
長手軸の抽出について図6(B)を参照して具体的に説明する。図6(B)において、セグメントA20は、紙面に対し奥側でセグメントA12と連結するセグメントである。また、セグメントA30は、紙面に対し奥側でセグメントA20と連結するセグメントである。
セグメントA12内に存在する3次元計測点群の重心は点611であり、セグメントA20内に存在する3次元計測点群の重心は点612であり、セグメントA30内に存在する3次元計測点群の重心は点613である。線621は、点611と点612とを接続して生成される。線622は、点612と点613とを接続して生成される。長手軸631は、このように生成された複数の線により構成される。
ただし、長手軸は直線のみから構成されるに限らず、曲線や、直線及び曲線の組み合わせであってもよい。軸を曲線とする場合、例えば、上記のように算出した重心又はその近傍を通るスプライン曲線や孤として算出してもよく、他の任意の技術により曲線を算出してもよい。
図3に戻る。2次元形状抽出部114は、S303で抽出された長手軸に対する、3次元計測点群の2次元断面の形状を抽出する(S304)。そのために、2次元形状抽出部114は、長手軸方向に対し直角又はほぼ直角のセグメントに対し、グラフネットワークから最長パスを算出し、この最長パスに存在するセグメントに属する計測点群の重心位置から算出した2次元の線分を、2次元断面の形状とする。
S304の処理例をより詳細に説明する。図7は、2次元断面の形状を抽出する処理フローの例である。
2次元形状抽出部114は、2次元断面を生成するセグメントを抽出する(S701)。そのために、2次元形状抽出部114は、S303で特定した長手軸方向のセグメントに対し直角又はほぼ直角のセグメントのうち、連結関係にあるものを抽出し、これを2次元断面を生成するセグメントとする。抽出するセグメントの位置は、長手軸方向に対し直角又はほぼ直角であればよく、特に限定しない。ここでは、S303で抽出した長手軸方向のセグメントの一方の端に位置するものを抽出するとして説明する。
2次元形状抽出部114は、S701で抽出したセグメントのうち、グラフネットワーク上での最長のパスを構成するセグメントを抽出する(S702)。
2次元形状抽出部114は、S702の処理で抽出したセグメントに属する3次元計測点群の位置情報から、その3次元計測点群の重心位置を算出する(S703)。
2次元形状抽出部114は、S703の処理で算出した重心位置を連結して多角形線分を抽出する(S704)。
2次元形状抽出部114は、S704の処理で抽出した多角形線分と、最長パスを構成するセグメントの各々の連結セグメントを特定し、連結セグメントに属する3次元計測点群の重心位置を用いて、多角形線分を平滑化する(S705)。そのために、2次元形状抽出部114は、セグメント毎に、連結セグメントに属する3次元計測点群の重心を算出し、自身における3次元計測点群の重心位置と、連結セグメントに属する3次元計測点群の重心とを接続することで平滑化する。
ここで、S702~S705について図面を参照して具体例を説明する。図8は、2次元断面の形状抽出の一例を説明するための図である。
図8(A)のセグメント群801は、S701で抽出されたセグメントと、そのセグメントに属する3次元計測点群との例である。セグメント群801を構成するセグメント及びその連結関係は、図5のセグメント群501及びグラフネットワーク502に示したものと同じである。
セグメント群801では、最長のパスを構成するセグメントを斜線で示している。即ち、最長のパスを構成するセグメントは、セグメントA6~10、A5、A12、A14、A16~A19である。最長のパスを構成するセグメントは、セグメントをノードとした連結グラフネットワークにおける最長パスとして特定することができる。
なお、連結関係にあるセグメントであっても、セグメントに属する3次元計測点が所定条件を満たしていない場合は、そのセグメントを除外してパスを構成してもよい。この所定条件は、限定はしないが、例えば、セグメントに属する3次元計測点の数が所定値以上であるか否か、セグメントに属する3次元計測点の位置とそのセグメントと連結するセグメントに属する3次元計測点の位置とが所定範囲内であるか否か、セグメント内での3次元計測点の位置などがある。
図8(B)のセグメント群802は、セグメント群801に加え多角形線分812を含む。多角形線分812は、セグメント群801のうち斜線で示したセグメントの各々に属する3次元計測点群の重心位置を接続する線分により構成される。
より具体的には、例えば、点821はセグメントA10に属する3次元計測点群の重心位置であり、点822はセグメントA5に属する3次元計測点群の重心位置である。線分831はまた、点821と点822とを接続することにより形成される線分である。このようにして、多角形線分812を構成する線分の一部が構成される。
図8(C)のセグメント群803は、セグメント群801に加え平滑化線分813及び差分814を含む。平滑化線分813は、多角形線分812を平滑化した例である。差分814は、多角形線分812と平滑化線分813との差分である。
平滑化について、セグメントA10を例として具体的に説明する。セグメントA10に連結しているセグメントは、セグメントA9、A4、A5、A11、A13である。2次元形状抽出部114は、これらのセグメントのうち、セグメントA9及びセグメントA5については、それらの各々に属する3次元計測点群の重心とセグメントA10に属する3次元計測点群の重心とを接続した線が多角形線分812を構成する線であるため、平滑化処理対象外とする。また、2次元形状抽出部114は、セグメントA4及びセグメントA13については、それらの各々に属する3次元計測点が所定条件を満たしていないため、平滑化処理対象外とする。この所定条件は、上記最長パスを構成するセグメントの特定と同じであってもよく、異なっていてもよい。
2次元形状抽出部114は、平滑化処理対象であるセグメントA11に属する3次元計測点群の重心位置を算出する。2次元形状抽出部114は、セグメントA10に属する3次元計測点群の重心位置と、セグメントA11に属する3次元計測点群の重心位置とを接続した線分を、平滑化線分813を構成する線分とする。
セグメントA11に連結しているセグメントは、上記のように、セグメントA10、A4、A5、A12、A13、A14である。2次元形状抽出部114は、上記と同じ判定処理により、セグメントA10、A4、A5、A13、A14については平滑化処理対象外とする。2次元形状抽出部114は、セグメントA11に属する3次元計測点群の重心位置と、セグメントA12に属する3次元計測点群の重心位置とを接続した線分を、平滑化線分813を構成する線分とする。
上記処理により、多角形線分812から差分814が除かれ、平滑化線分813が生成される。
なお、上記のような平滑処理は、2次元断面の抽出だけでなく、長手軸の抽出のときにも行ってもよい。
図3に戻る。3次元モデル生成部115は、S304の処理で生成した2次元断面の形状を、S303の処理で抽出した長手軸に沿って引き延ばすことで3次元モデルを生成する(S305)。
ここで、S305について図面を参照して具体例を説明する。図9は、3次元モデル生成の一例を説明するための図である。図9(A)のモデル901では、セグメント群402に、長手軸631と平滑化線分813とを重畳して示している。図9(B)のモデル902は、モデル901から3次元モデルを生成した例である。
図9(A)において、線分911は長手軸を示し、線分912は2次元断面を示す。線分912を、線分911に沿って引き延ばすことで、モデル902は生成される。
なお、引き延ばす長さは、長手軸の一方の端又は端近傍から他方の端又は端近傍までであればよい。例えば、S304の処理で2次元断面を長手軸の端部で抽出しているのであれば、他方の端部まで引き延ばせばよい。また、例えば、S304の処理で2次元断面を、長手軸の端と端との間で抽出しているのであれば、その位置から長手軸の一方の端までと、その位置から長手軸の他方の端までとに引き延ばすと良い。
ここでは、引き延ばし対象が線分の例を説明しているが、引き延ばし対象は面であってもよい。そのために、例えば、S304の処理で生成された2次元断面を示す線分に対し与える厚さ及び厚さ方向を予め記憶部120に記憶させておいてもよい。3次元モデル生成部115は、2次元断面を示す線分を長手軸に対し厚さ分だけ離れた厚さ方向に複製し、元の線分の端と複製した線分の端とを接続することにより、面を生成してもよい。
なお、ここでいう「引き延ばす」とは、引き延ばし対象の線又は面を、軸を構成する各点に、その線又は面における軸の位置を変えずに複製することをいう。引き延ばし対象が面の場合、複製するものは、面そのものであってもよいが、面を構成する辺のみを複製してもよい。
図3に戻る。3次元モデル生成部115は、未処理の3次元計測点群が存在するか否か判定する(S306)。S306の判定の結果、未処理の3次元計測点群が存在する場合(S306:Yes)、S303の処理に移行し、未処理の3次元計測点群に対し上記処理を行う。S306の判定の結果、未処理の3次元計測点群が存在しない場合(S306:No)、処理を終了する。
上記処理は、構造体毎に行うことができる。上記処理を行う構造体の単位は任意である。例えば、1つの構造体を構成する複数の部品毎に上記処理を行ってもよい。また、1つの構造体が複数の構造体からなるものであっても、その1つの構造体を1つの処理単位として、上記処理を行ってもよい。
出力部140は、上記処理により生成された各情報を、任意のタイミングで出力することができる。この出力情報は、出力情報生成部116が生成することができる。あるいは、出力情報生成部116により生成された情報を、通信装置206を介して図示しない装置に出力してもよい。
出力例を説明する。図10は、生成された3次元モデルをディスプレイ装置に表示する画面例である。
画面1000は、領域1001、領域1002、領域1003を含む。領域1001には、構造体の3次元計測点群が表示される。領域1002には、領域1001に表示されている3次元計測点群をセグメントに分割したセグメント群と、そのセグメント群において抽出された長手軸及び2次元断面とが表示される。領域1003には、領域1002に表示されているセグメント群、長手軸及び2次元断面を用いて生成された3次元モデルが表示される。
領域1001、領域1002、領域1003の各々に表示される3次元計測点群、セグメント群、3次元モデルの各々に対しては、ユーザが入力装置204を用いて、表示縮尺の変更、回転などの指示を入力することができる。出力情報生成部116は、入力された指示に従い、各領域への表示制御を行うとよい。
また、ユーザは、入力装置204を用いて、領域1002を介して、長手軸方向のセグメント及び2次元断面のセグメントのうち少なくとも一方の指示を入力してもよい。画面1000では、指示された2次元断面のセグメントを斜線部1011で示している。出力情報生成部116は、指示されたセグメントの表示形態を他セグメントとは異なるようにしてもよい。指示部1012が押下等されて実行指示が入力されると、3次元モデル生成装置100は、指示されたセグメントを長手軸方向のセグメントや2次元断面のセグメントとして上記処理を再度行い、この処理で得られた長手軸及び2次元断面を領域1002に表示するように制御してもよい。また、3次元モデル生成装置100は、この処理で得られた3次元モデルを領域1003に表示するように制御してもよい。
また、ユーザは、入力装置204を用いて、領域1012に、セグメントの粒度(セグメントの大きさ)や種別、構造体の種別などの任意の変数や条件などを入力してもよい。指示部1012が押下等されて実行指示が入力されると、3次元モデル生成装置100は、入力された変数や条件で上記処理を再度行い、この処理で得られたセグメント群、長手軸及び2次元断面を領域1002に表示するように制御してもよい。また、3次元モデル生成装置100は、これに加え、この処理で得られた3次元モデルを領域1003に表示するように制御してもよい。
以上、一実施形態を説明した。上記技術により、計測した3次元データから3次元モデルを容易に生成することができる。
即ち、3次元計測点群から長手軸と長手軸に対する断面形状とを特定し、これらから3次元モデルを生成することができるので、計測点群に含まれるノイズを除去し、より実際の構造物に近い3次元モデルを生成することができる。
また、長手軸及び断面形状を、セグメントをノードするグラフネットワークの最長パスとして算出することができる。これにより、計算負荷を低減することが可能となる。
また、セグメントに属する計測点群の重心から長手軸及び断面形状を特定するが、重心から得られた線分を、そのセグメントに連結するセグメントに属する重心を用いて平滑化することができる。これにより、さらにノイズを除去し、より実際の構造物に近い滑らかな3次元モデルを生成することができる。ただし、平滑化は必ずしも行う必要はない。
本実施の形態は、例えば形鋼(shaped steel)などのような、一方の辺の長さに対し他方の辺の長さが比較的長い構造体に好適であるが、適用する構造体はこれに限るわけではない。
図11は、本実施形態を適用する構造体の他の例である。図11(A)の構造体1101は、一方の辺の長さに対し他方の辺の長さが比較的近い例である。即ち、矩形体である構造体1101は、長さl1、l2、l3の値が比較的近い。このような場合、図11(B)に一例を示すように、例えば構造体1101を、構造体1101を構成する面S1と平行又はほぼ平行な分割面S1-1で分割し、分割された構造体である構造体S1-21、構造体S1-22の各々に対し、上記処理を行うとよい。或いは、構造体1101を、構造体1101を構成する面S2と平行又はほぼ平行な分割面S2-1で分割し、分割された構造体である構造体S2-21、構造体S2-22の各々に対し、上記処理を行うとよい。
一方の辺の長さに対し他方の辺の長さが比較的近い構造体であるか否かについては、例えば3次元計測点群の特徴量などにより判定可能である。特徴量については公知であるので説明は省略する。
分割する位置については、ユーザが入力装置204を用いて指示を入力してもよく、3次元モデル生成装置100がセグメントの長さなどに基づいて所定数に分割してもよい。ユーザが入力装置204を用いて分割位置を指示する場合、上記画面1000と同様のインターフェースを用いることができる。また、分割する数は特に限定しない。
図11(C)は構造体1102の側面図、図11(D)は構造体1102の正面図の例である。構造体1102は、一方の辺の長さに対し他方の辺の長さが比較的長い構造体ではあるが、長手軸に直角又はほぼ直角な2次元断面の形状が、長手軸の途中で変化する場合の例である。このような場合、2次元断面の形状が同じ又はほぼ同じとなるように分割し、分割した各部位に対し上記処理を行うとよい。構造体1102の場合、部位1121、部位1122として分割するとよい。
長手軸に直角又はほぼ直角な2次元断面の形状が、長手軸の途中で変化するか否かについては、例えば3次元計測点群の特徴量などにより判定可能である。特徴量については公知であるので説明は省略する。あるいは、3次元モデル生成装置100が、上記と同じ処理により、長手軸方向に対し直角又はほぼ直角なセグメントを複数抽出して、これらのセグメント間の差異が所定範囲内であるか否かにより判定してもよい。
分割する位置については、ユーザが入力装置204を用いて指示を入力してもよい。ユーザが入力装置204を用いて分割位置を指示する場合、上記画面1000と同様のインターフェースを用いることができる。あるいは、3次元モデル生成装置100が、上記と同じ処理により、長手軸方向に対し直角又はほぼ直角なセグメントを所定間隔で抽出し、互いに隣接するセグメント間の差異が所定範囲内でなければ、そのセグメント間の位置を分割位置としてもよい。あるいは、セグメントの替わりに、上記と同じ処理により抽出された2次元断面を用いてもよい。
なお、上記のように、本実施形態では、長手軸及び2次元断面を抽出するための最長のパスを構成するセグメントを、セグメントをノードとした連結グラフネットワークにおける最長パスとして特定している。そこで、たとえばパイプのような、長手軸に対する2次元断面が閉じる構造体の3次元測定点群に対しては、長手軸に対し平行又はほぼ平行な面で分割し、分割した各々の3次元測定点群に対し、上記処理を行うとよい。このようにすることで、2次元断面を抽出するためのセグメントから単純パスを抽出することが可能となる。
分割する位置については、ユーザが入力装置204を用いて指示を入力してもよい。ユーザが入力装置204を用いて分割位置を指示する場合、上記画面1000と同様のインターフェースを用いることができる。あるいは、3次元モデル生成装置100が、上記と同じ処理により、長手軸方向を抽出し、これに平行又はほぼ平行な面で3次元計測点群を分割するとよい。
以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能であることはいうまでもない。例えば、上記の実施例は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。
また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
100:3次元モデル生成装置、110:制御部、120:記憶部120、130:入力部、140:出力部、150:通信部、111:セグメント生成部、112:連結関係特定部、113:長手軸抽出部、114:2次元形状抽出部、115:3次元モデル生成部、116:出力情報生成部、121:3次元点群データ
Claims (8)
- 3次元の計測点群を記憶する記憶部と、
3次元形状である複数のセグメントを生成して前記計測点群を分割するセグメント生成部と、
前記生成されたセグメントの連結関係を特定する連結関係特定部と、
前記連結関係にあるセグメントに属する計測点群の位置情報から、前記計測点群の長手軸を抽出する長手軸抽出部と、
前記連結関係にあるセグメントに属する計測点群の位置情報から、前記長手軸に対する計測点群の2次元断面の形状を抽出する2次元形状抽出部と、
前記2次元断面を前記長手軸方向に引き延ばすことで、3次元モデルを生成するモデル生成部と、を有すること
を特徴とする3次元モデル生成装置。 - 請求項1に記載の3次元モデル生成装置であって、
前記連結関係特定部は、セグメントの連結関係をグラフネットワークで示すこと を特徴とする3次元モデル生成装置。 - 請求項1に記載の3次元モデル生成装置であって、
前記2次元形状抽出部は、前記長手軸に対し直角又はほぼ直角のセグメントに対し、前記グラフネットワークから最長パスを算出し、最長パスに存在するセグメントに属する計測点群の重心位置から算出した2次元の線分を、2次元断面の形状とすること
を特徴とする3次元モデル生成装置。 - 請求項3に記載の3次元モデル生成装置であって、
前記2次元形状抽出部は、前記2次元の線分と、前記最長パスに存在するセグメントと連結するセグメントの計測点群の位置情報とから、前記2次元の線分を平滑化して2次元断面の形状を抽出すること
を特徴とする3次元モデル生成装置。 - 請求項1に記載の3次元モデル生成装置であって、
前記長手軸算出部は、セグメントの連結関係を示すグラフネットワーク上での最長パスを算出し、前記最長パスに存在するセグメントに属する計測点群の重心位置から長手軸を抽出すること
を特徴とする3次元モデル生成装置。 - 請求項1に記載の3次元モデル生成装置であって、
前記生成された3次元モデルを出力する出力部、をさらに有すること
を特徴とする3次元モデル生成装置。 - 3次元モデル生成装置による3次元モデル生成方法であって、
前記3次元モデル生成装置は、3次元の計測点群を記憶する記憶部、を有し、
3次元形状である複数のセグメントを生成して前記計測点群を分割するセグメント生成ステップと、
前記生成されたセグメントの連結関係を特定する連結関係特定ステップと、
前記連結関係にあるセグメントに属する計測点群の位置情報から、前記計測点群の長手軸を抽出する長手軸抽出ステップと、
前記連結関係にあるセグメントに属する計測点群の位置情報から、前記長手軸に対する計測点群の2次元断面の形状を抽出する2次元形状抽出ステップと、
前記2次元断面を前記長手軸方向に引き延ばすことで、3次元モデルを生成するモデル生成ステップと、を有すること
を特徴とする3次元モデル生成方法。 - 記憶装置と、演算装置とを有するコンピュータにより実行されるコンピュータ読み取り可能なプログラムであって、
前記記憶装置には、3次元の計測点群、が記憶され、コンピュータにより実行されると、コンピュータを、
3次元形状である複数のセグメントを生成して前記計測点群を分割するセグメント生成部と、
前記生成されたセグメントの連結関係を特定する連結関係特定部と、
前記連結関係にあるセグメントに属する計測点群の位置情報から、前記計測点群の長手軸を抽出する長手軸抽出部と、
前記連結関係にあるセグメントに属する計測点群の位置情報から、前記長手軸に対する計測点群の2次元断面の形状を抽出する2次元形状抽出部と、
前記2次元断面を前記長手軸方向に引き延ばすことで、3次元モデルを生成するモデル生成部と、して機能させること
を特徴とするプログラム。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014-101114 | 2014-05-15 | ||
JP2014101114A JP2017142547A (ja) | 2014-05-15 | 2014-05-15 | 3次元モデル生成装置、3次元モデル生成方法及びプログラム |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2015174483A1 true WO2015174483A1 (ja) | 2015-11-19 |
Family
ID=54480020
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/JP2015/063869 WO2015174483A1 (ja) | 2014-05-15 | 2015-05-14 | 3次元モデル生成装置、3次元モデル生成方法及びプログラム |
Country Status (2)
Country | Link |
---|---|
JP (1) | JP2017142547A (ja) |
WO (1) | WO2015174483A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109670469A (zh) * | 2018-12-27 | 2019-04-23 | 福建省晨曦信息科技股份有限公司 | 一种轴网生成方法、电子设备以及存储介质 |
CN111210509A (zh) * | 2020-01-16 | 2020-05-29 | 厦门理工学院 | 一种拉伸回弹后电机罩壳形状确定方法及装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004030226A (ja) * | 2002-06-26 | 2004-01-29 | Nippon Telegr & Teleph Corp <Ntt> | 3次元点群からの形状モデル生成方法と装置、並びに、3次元点群からの形状モデル生成プログラムと該プログラムを記録した記録媒体 |
US20070130239A1 (en) * | 2005-11-21 | 2007-06-07 | Wheeler Mark D | Identification of edge regions from 3D point data |
JP2013020603A (ja) * | 2011-07-13 | 2013-01-31 | Inus Technology Inc | 非定型デジタルデータから断面の軌跡からなる特徴形状を自動抽出する装置および方法(ApparatusandMethodofautomaticallyextractingsweep/extrude/revolvefeatureshapefromatypicaldigitaldata) |
JP2013080391A (ja) * | 2011-10-04 | 2013-05-02 | Toshiba Corp | 三次元データ処理装置、方法及びプログラム |
-
2014
- 2014-05-15 JP JP2014101114A patent/JP2017142547A/ja active Pending
-
2015
- 2015-05-14 WO PCT/JP2015/063869 patent/WO2015174483A1/ja active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004030226A (ja) * | 2002-06-26 | 2004-01-29 | Nippon Telegr & Teleph Corp <Ntt> | 3次元点群からの形状モデル生成方法と装置、並びに、3次元点群からの形状モデル生成プログラムと該プログラムを記録した記録媒体 |
US20070130239A1 (en) * | 2005-11-21 | 2007-06-07 | Wheeler Mark D | Identification of edge regions from 3D point data |
JP2013020603A (ja) * | 2011-07-13 | 2013-01-31 | Inus Technology Inc | 非定型デジタルデータから断面の軌跡からなる特徴形状を自動抽出する装置および方法(ApparatusandMethodofautomaticallyextractingsweep/extrude/revolvefeatureshapefromatypicaldigitaldata) |
JP2013080391A (ja) * | 2011-10-04 | 2013-05-02 | Toshiba Corp | 三次元データ処理装置、方法及びプログラム |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109670469A (zh) * | 2018-12-27 | 2019-04-23 | 福建省晨曦信息科技股份有限公司 | 一种轴网生成方法、电子设备以及存储介质 |
CN109670469B (zh) * | 2018-12-27 | 2022-11-15 | 福建晨曦信息科技集团股份有限公司 | 一种轴网生成方法、电子设备以及存储介质 |
CN111210509A (zh) * | 2020-01-16 | 2020-05-29 | 厦门理工学院 | 一种拉伸回弹后电机罩壳形状确定方法及装置 |
CN111210509B (zh) * | 2020-01-16 | 2022-07-26 | 厦门理工学院 | 一种拉伸回弹后电机罩壳形状确定方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
JP2017142547A (ja) | 2017-08-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Löhner | Extensions and improvements of the advancing front grid generation technique | |
JP2016009484A (ja) | ポイントクラウドで特徴領域を抽出する方法及び装置 | |
JP2017111826A5 (ja) | ||
US9865078B2 (en) | Image processing method and apparatus with adaptive sampling | |
US20150370926A1 (en) | Generating tubes within three-dimensional models | |
JP2016126795A5 (ja) | ||
JP2009071626A5 (ja) | ||
US10140755B2 (en) | Three-dimensional (3D) rendering method and apparatus | |
WO2015174483A1 (ja) | 3次元モデル生成装置、3次元モデル生成方法及びプログラム | |
JP2017076401A5 (ja) | ||
JP2020513630A5 (ja) | ||
US9830733B2 (en) | Method and apparatus for performing ray-node intersection test | |
US20160140255A1 (en) | Method and apparatus for modeling deformable body by fusing surface particles and internal skeletal structure | |
JP2019526111A5 (ja) | ||
JP2010287110A (ja) | 情報処理装置、情報処理方法、プログラム及び記録媒体 | |
JP2012256270A5 (ja) | ||
US20170116774A1 (en) | Method and apparatus generating acceleration structure | |
US10019832B2 (en) | Method of generating and traversing acceleration structure | |
JP5668373B2 (ja) | シミュレーション装置、該プログラム、及び該方法 | |
KR101359661B1 (ko) | 삼각형 메쉬로 표현된 3차원 물체를 DoSurface 표현 방법으로 변환하는 시스템 및 그 방법 | |
US10121253B2 (en) | Method and apparatus for modeling target object to represent smooth silhouette | |
JP2011210160A5 (ja) | 画像処理方法、画像処理装置、及びプログラム | |
Cano et al. | Upper bound constructions for untangling planar geometric graphs | |
US9858710B2 (en) | Method and apparatus for representing cordinate values of bounding box of object | |
KR101739224B1 (ko) | 비정렬 격자계로 채워진 공간 내의 임의의 한 점에서 특정하게 정의된 면까지의 최단 거리 계산 방법 |
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: 15792269 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: 15792269 Country of ref document: EP Kind code of ref document: A1 |
|
NENP | Non-entry into the national phase |
Ref country code: JP |