The present invention relates to 3D model creation. In particular, the present invention relates to a method and apparatus for creating a 3D model from an input 3D model based on repetitive structures of the input 3D model.
Movie/game making always requires a creation of lots of new 3D models. However, it is a time-consuming work to create a high quality 3D model, which requires substantial artistic and technical skills. Consequently, a lot of recent work has focused on “intelligent” modeling tools that to some extend “understand” the structure of 3D shapes.
Repetitive structures are ubiquitous not only in nature, e.g. in biology and physics, but also in other fields, such as engineering and art. Repetitive structures are very common in man-made objects, and fundamental e.g. in almost all design styles in architecture. In addition, repetitive structures are fundamental in almost all design styles in architecture.
A publication by Bokeloh, M., Wand, M. and Seidel, H. P. (2010), “A connection between partial symmetry and inverse procedural modeling”, Transactions on Graphics (TOG) 29(4): 1-10) proposes to achieve inverse procedural modelling to find the structural information of the existing 3D model by finding a set of rules that describe objects similar to the exemplar, given a piece of exemplar 3D geometry. This publication proposes to define the local similarity during geometry synthesis based on the repetitive structure information. However, it can only make use of limited types of structural information in the input 3D model such as repetitive structures of single scale.
The present invention provides a method and apparatus for creating a 3D model from an input 3D model based on repetitive structures of the input 3D model.
According to the present invention, firstly the repetitive structures of an input 3D model and the hierarchical relationship of the repetitive structures are detecated. As explained above, a repetitive structure could be a structure repeating in various positions, orientations and scaling factors. With regard to the hierarchical relationship, a repetitive structure may have one or more child repetitive structures, in which case the repetitive structure is called a parent repetitive structure. In a repetitive structure, one component can be selected as a representative and other components, if any, are instances in this case.
Then a relative transformation among all representatives and instances of all the repetitive structures of the input 3D model is determined. For purpose of creating a new 3D model from the input 3D model, a representative of a repetitive structure may be changed, in terms of corresponding vertex positions and triangles. This need to be done since representative of the input 3D model might be changed to have different shape and size for creating the new 3D model.
Then a new 3D model is creacted based on the updated representative geometry of the detected repetitive structures.
In order to create a new 3D model with consistent appearance, there is a need to recalculate the pose (position, orientation and scaling) of the relevant components relating to the changed representative of the repetitive structures:
the components of child repetitive structures included by the representative of the repetitive structures having updated representative; and
the instances of the repetitive structures having updated representative.
The recalculation of the pose transformation of relevant components needs to be performed in a bottom-up manner as each part of the input 3D model can only be adjusted after the repetitive structures it contains have been adjusted.
In order that the new 3D model has a style similar to that of the input 3D model, the repetitive structures of the new 3D model (representative and instances) need to have a similar relative transformation (position, orientation, scaling) of the corresponding components of the input 3D model. For the above purpose, a component graph can be constructed, which represents the interrelationship among components. The new instance transformations are calculated according to the component graph and the characteristic of the new representative.
In order to guarantee a consistent appearance, the instance transformation recalculation step can be followed by a hole filling step and a mesh smoothing step.
According to one aspect of the invention, a method for creating a 3D model from an input 3D model with at least one component comprises: detecting repetitive structures of the at least one component of the input 3D model and hierarchical relationship of the repetitive structures, each repetitive structure comprising a component set as a representative and one or more components, if any, set as an instance; determining a relative transformation among all representatives and instances of all the repetitive structures of the input 3D model; and updating relevant components of the input 3D model according to a change of a representative in the repetitive structures and recalculating the poses of the updated components as a function of the determined relative transformation to create the 3D model.
According to one aspect of the invention, apparatus for creating a 3D model from an input 3D model with at least one component comprises: means for detecting repetitive structures of the at least one component of the input 3D model and hierarchical relationship of the repetitive structures, each repetitive structure comprising a component set as a representative and one or more components, if any, set as an instance; means for determining a relative transformation among all representatives and instances of all the repetitive structures of the input 3D model; and means for updating relevant components of the input 3D model according to a change of a representative in the repetitive structures and recalculating the poses of the updated components as a function of the determined relative transformation to create the 3D model.
It is to be understood that more aspects and advantages of the invention will be found in the following detailed description of the present invention.
Exemplary embodiments of the invention are described with reference to the accompanying drawings, which show in:
The input of the method is an input 3D model which comprises at least one component.
As shown in
According to PCT/CN2010/000984, an efficient and multi-scale method has been proposed to detect repetitive structures in 3D models, wherein an iterative uniform sampling method with a decreasing sampling step size is used. A given 3D mesh model is uniformly sampled with an initial sampling step size, which is relatively large. Then, the sampling points are clustered according to their curvature, and then transformations are determined between sampling points that belong to the same cluster. These are so-called candidate transformations. Thus, the candidate transformations need to be determined only for those sampling point pairs where both points have similar curvature. Such clustering step not only improves the algorithm efficiency, but also increases the algorithm accuracy. The transformation space, which is constructed by all the transformations calculated before, contains less noise elements than it would if the sampling step size was smaller. Thus, a subsequent clustering step will be more likely to discover all the repetitive structures. If the model comprises repetitive structures, the usual result of such clustering is that one or more distinct clusters will emerge. In the next step, the (most relevant) clusters are selected, and the corresponding transformations and sampling point pairs are assumed to indicate a repetitive structure. The most relevant clusters are those which are most significant and apparent. Other transformations that don't belong to a cluster are discarded. This procedure is iteratively executed with a decreasing sampling step. Each iteration skips repetitions, and only processes remaining parts of the model and representatives of the representative structures that were detected in the previous iteration. Thus, also multi-scale repetitive structures on the 3D model can be discovered. The iterative process stops when the number of repetitive structures is stable, or when a pre-defined minimum sampling step size is reached. It is also possible to define a time-out, measure the runtime of the process, and terminate the process when the runtime exceeds the time-out. Based on the foregoing, a multi-scale repetitive structures detection of the input 3D mesh model can be achieved by PCT/CN2010/000984, the result of which can be used in the embodiment of the present invention.
The repetitive structures and their hierarchical relationship detected with the method in the above international patent application can be organized into a graph, which is called hierarchical repetitive structure graph.
An arrow in
Which child repetitive structure instances are included by the parent node representative, if any.
A repetitive structure representative in the hierarchical repetition structure graph is composed of not only its representative geometry but also some instances of its child repetitive structures, if any. A repetitive structure instance is represented by the transformation between the corresponding representative and itself.
Please go back to
The edges of the component graph need to satisfy the following requirements:
A representative or an instance is directly connected to the instances/representatives which are closest to it;
A repetitive structure representative should be directly connected to at least one instance of the same repetitive structure;
An instance should be directly connected to the representative or at least one instance of the same repetitive structure;
Any component pair among all the components belonging to the child repetitive structures of the same parent repetitive structure should be reachable; and
For two repetitive structures belonging to the same level, there is at least one edge connecting their representative or instances.
Those requirements are to make sure that:
Any two components belonging to the same repetitive structure can be connected by the edges of the component graph;
Any two components belonging to the same parent repetitive structure can be connected by the edges of the component graph; and
Any two components belonging to the same level of the hierarchical repetition structure graph can be connected by the edges of the component graph.
The distance between two nodes is the distance between positions of their components (representative or instance). If the positions of two components can be connected by a marching edge path which consistes of the edges of the input 3D model along the surface of the input 3D model, their distance is the length of the marching edge path. Otherwise, the distance is the Euclidean distance of the two positions. The edges of the component graph can be built using a method similar to the one described in the publication of V. Kraevoy and A. Sheffer, “Cross-parameterization and compatible remeshing of 3D models”, ACM Trans. Graph., 2004, pp. 861-869.
The distance between two nodes is the Euclidean distance between their centers. Then the initial component graph is built by connecting each node with its nearest node. The shortest distance between two nodes can be calculated by Dijkstra algorithm (http://en.wikipedia.orgNiki/Dijkstra %27s_algorithm). Then edges are added between two components when the above requirements cannot be satisfied.
Suppose one node Node_i in the component graph corresponds to a component Comp_i, Node_i records the following information:
CompPos_i, the position of Comp_i;
The principal directions (PriDir0 and PriDir1) and principle curvatures (PriCur0 and PriCur1) of Comp_i.
For two connected nodes Node_i1 and Node_i2, suppose the corresponding components are Comp_i1 and Comp_i2, edge (Node_i1, Node_i2) records the following information:
The distance between Comp it and Comp_i2;
(CompPos_i1, CompPos_i2) in the local coordinate system of Comp_i1; and
(CompPos_i2, CompPos_i1) in the local coordinate system of Comp_i2.
At the next step 300, components of the input 3D model are updated according to a replaced representative, and the poses (position, orientation and scaling) of the updated components are recalculated. That is, those nodes in the component graph whose representatives is replaced by new representatives and/or child nodes are updated. The representative could be replaced by a user for purpose of creating a new 3D model based on the input 3D model.
As shown in
b) is an exemplary flow chart showing the detailed steps for implementing the above step 310 to recalculate the pose of the components of the child repetitive structures included by the representative of the current updated node.
As shown in
At step 312 the position of the new component is recalculated. The new position of the first component can be calculated by the method shown in
L′=(C00′/C00+C01′/C01)/2*L.
Then P1′, the new position of Comp1, is got by starting from P0′, walking along Path01′ for L′ distance.
After the position of the new component is calculated, at step 313 the orientation of the new component can be calculated from the relative orientation of Comp1 and the local coordinate system at P1′. At step 314, the scaling of the new component can be calculated from the relative scaling of Comp1 and the local principle curvatures at P1′.
Please return to
Please return back to
At the next step 500, a hole filling procedure is performed to fill the possible hole generated due to the update of the representative. Known methods in the art could be used for purpose of the hole filling procedure, such as the method described in James Davis, Stephen R. Marschner, Matt Garr, and Marc Levoy, Filling holes in complex surfaces using volumetric diffusion, First International Symposium on 3D Data Processing, Visualization, and Transmission, Padua, Italy, Jun. 19-21, 2002.
At the next step 600, a global mesh smoothing is performed to guarantee the consistent appearance of the newly created 3D model. Known methods in the art could be used for purpose of the hole filling procedure, such as the method described in T. R. Jones, F. Durand, and Mathieu Desbrun. Non-iterative, feature preserving mesh smoothing. In Proceedings of SIGGRAPH 2003, pp. 943-949, 2003.
The apparatus 800 further comprises determining means 802 for determining a relative transformation among all representatives and instances of all the repetitive structures of the input 3D model; and creating means for updating relevant components of the input 3D model according to a change of a representative in the repetitive structures and recalculating the poses of the updated components as a function of the determined relative transformation to create the 3D model.
In the 3D model created by the apparatus 800, only part of the determined relative transformation is used to update the poses of components. In order that the poses of new components in the created 3D model satisfy all relative transformation of all the repetitive structures of the input 3D model, the apparatus 800 further comprises global optimization means 804 for performing a global optimization of the poses of all the components of the created 3D model as a function of the determined relative transformation.
In order to fill the possible hole generated due to the update of the representative, the apparatus 800 may further comprises hole filling means 805 for performing a hole filling procedure to the created 3D model.
In order to guarantee the consistent appearance of the created 3D model, the apparatus 800 may further comprises global mesh smoothing means 806 for performing a global mesh smoothing to the created 3D model.
It is to be understood that the present invention may be implemented in various forms of hardware, software, firmware, special purpose processors, or a combination thereof. The present invention has been described purely by way of example, and modifications of detail can be made without departing from the scope of the invention. Each feature disclosed in the description and (where appropriate) the claims and drawings may be provided independently or in any appropriate combination. Features may, where appropriate be implemented in hardware, software, or a combination of the two. Reference numerals appearing in the claims are by way of illustration only and shall have no limiting effect on the scope of the claims.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/CN2012/085615 | 11/30/2012 | WO | 00 |