Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
METHOD AND DEVICE FOR DETERMINING A 3D MODEL
Document Type and Number:
WIPO Patent Application WO/2017/182448
Kind Code:
A1
Abstract:
Embodiments relate to a method for determining a 3D model of a surface (S), executed by a 3D model determination device (4), comprising: - obtaining (S1 ) a plurality of 2D+Z images of said surface (S) from respective 2D+Z image sources (3), - determining (S2), in function of the 2D+Z images, implicit surface data (sdf+) modeling said surface (S), wherein the implicit surface data (sdf+) specify, for respective points (p^ of a 3D field, a distance (d) between said point and said surface and a 2D+Z image source identifier (C0, C1, C2) associated with said point, - determining (S3) a plurality of vertices (V;) in function of the implicit surface data, - for at least one of said vertices, determining (S4) at least one 2D+Z image source associated with said vertex in function of the implicit surface data, and at least one texture identifier (T,ID) and 2D texture coordinates (vi) associated with said vertex in function of 2D+Z image source modeling data associated with the determined at least one 2D+Z image source.

Inventors:
TYTGAT DONNY (BE)
Application Number:
PCT/EP2017/059140
Publication Date:
October 26, 2017
Filing Date:
April 18, 2017
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
ALCATEL LUCENT (FR)
International Classes:
G06T15/04; G06T17/00
Foreign References:
EP2660781A12013-11-06
Other References:
STEFAN HAUSWIESNER: "Adapting Hair and Face Geometry of Virtual Avatars with the Kinect Sensor Hannes Plank Supervised by", 1 January 2015 (2015-01-01), XP055310942, Retrieved from the Internet [retrieved on 20161014]
Attorney, Agent or Firm:
ALU ANTW PATENT ATTORNEYS (NO 365) (BE)
Download PDF:
Claims:
CLAIMS

1 . Method for determining a 3D model of a surface (S), executed by a 3D model determination device (4), comprising:

- obtaining (SI ) a plurality of 2D+Z images of said surface (S) from respective 2D+Z image sources (3),

- determining (S2), in function of the 2D+Z images, implicit surface data (sdf+) modeling said surface (S), wherein the implicit surface data (sdf+) specify, for respective sample points (p^ of a 3D field, a distance (d) between said sample point and said surface and a 2D+Z image source identifier (C0, C C2) associated with said sample point,

- determining (S3) a plurality of surface points (V;) in function of the implicit surface data,

- for at least one of said surface points, determining (S4) at least one 2D+Z image source associated with said vertex in function of the implicit surface data, and at least one texture identifier (T,D) and 2D texture coordinates (v;) associated with said surface point in function of 2D+Z image source modeling data associated with the determined at least one 2D+Z image source. 2. Method according to claim 1 , wherein determining the implicit surface data comprises selecting one of the 2D+Z image sources (3) as the most reliable 2D+Z image source for a sample point, the distance between said sample point and the surface being determined in function of the 2D+Z image obtained from the selected 2D+Z image source (3), the 2D+Z image source identifier associated with said sample point corresponding to the selected 2D+Z image source (3).

3. Method according to one of claims 1 to 2, comprising obtaining reliability information from said 2D+Z image sources (3), and determining said implicit surface data (sdf+) in function of said reliability information.

4. Method according to one of claims 1 to 3, wherein determining at least one 2D +Z image source associated with a surface point comprises selecting the 2D+Z image source identifier of a sample point which has the smallest absolute distance to the surface among a set of sample points in the neighborhood of the surface point.

5. Method according to one of claims 1 to 4, wherein determining 2D texture coordinates associated with a surface point comprises projecting said surface point to a image plane of the identified 2D+Z image source, in function of said 2D+Z image source modeling data which specify a modelview matrix and a projection matrix.

6. Method according to one of claims 1 to 5, comprising determining (S5) a parameterized 3D model having a weighted multi -textures format in function of the determined surface points, texture identifiers and 2D texture coordinates.

7. Method according to one of claims 1 to 6, comprising determining successive 3D models of said surface (S) at a rate of at least 1 0 3D models per seconds.

8. Method according to one of claims 1 to 7, comprising transmitting the determined 3D model to a rendering device. 9. Computer program (P) comprising instructions for performing the method of one of claims 1 to 8 when said instructions are executed by a computer.

1 0. 3D model determination device for determining a 3D model of a surface (S), comprising a processor and a memory configured for:

- obtaining (SI ) a plurality of 2D+Z images of said surface (S) from respective 2D+Z image sources (3),

- determining (S2), in function of the 2D+Z images, implicit surface data (sdf+) modeling said surface (S), wherein the implicit surface data (sdf+) specify, for respective sample points (p^ of a 3D field, a distance (d) between said sample point and said surface and a 2D+Z image source identifier (C0, C C2) associated with said sample point,

- determining (S3) a plurality of surface points (V;) in function of the implicit surface data,

- for at least one of said surface points, determining (S4) at least one 2D+Z image source associated with said surface point in function of the implicit surface data, and at least one texture identifier (T,D) and 2D texture coordinates (v;) associated with said surface point in function of 2D +Z image source modeling data associated with the determined at least one 2D+Z image source. 1 1 . System comprising a 3D model determination device according to claim

10 and a plurality of 2D+Z image sources.

Description:
Method and device for determining a 3D model

FIELD OF THE INVENTION

The present invention relates to the field of 3D graphics. In particular, the present invention relates to methods and devices for determining a 3D model.

BACKGROUND

Traditional texture mapping approaches require the meshed 3D model to be parameterized: each vertex on the model is associated with 2D coordinates on a texture map. One effectively "unwraps" the 3D model onto the 2D space.

When using implicit surface modeling however, one does not have an explicit representation of the surface. Parameterizing such an implicit model is thus not straightforward.

Not many automated solutions exist for implicit model texturing, and even fewer that can do so in real-time. One can first make the model explicit by meshing, however the resulting problem is still very big. Only when limiting the potential topology of the explicit model can one effectively construct a viable texture map in real-time.

An alternative to texture mapping is the use of projective texturing for generating an appearance when rendering the 3D model. For projective texture, one essentially projects the image back from the camera onto the geometry; effectively the inverse process as when a camera captures an image. While projective texturing is a good approach for modeling temporal variations, its use is less applicable for rendering based on noisy geometry estimates. The problem that then occurs is that the projected texture has an embedded assumption of the geometry while the geometry on which one projects this texture is only an estimate of this geometry. This can cause errors that can be difficult to detect and remedy.

No solutions are known that allow for the traditional texture mapping approach to be used in combination with an (unrestricted) implicit model. SUMMARY

It is thus an object of embodiments of the present invention to propose a method and a device for determining a 3D model, which do not show the inherent shortcomings of the prior art.

Accordingly, embodiments relate to Method for determining a 3D model of a surface, executed by a 3D model determination device, comprising:

- obtaining a plurality of 2D+Z images of said surface from respective 2D+Z image sources, - determining, in function of the 2D+Z images, implicit surface data modeling said surface, wherein the implicit surface data specify, for respective sample points of a 3D field, a distance between said sample point and said surface and a 2D+Z image source identifier associated with said sample point,

- determining a plurality of surface points in function of the implicit surface data,

- for at least one of said surface points, determining at least one 2D+Z image source associated with said vertex in function of the implicit surface data, and at least one texture identifier and 2D texture coordinates associated with said surface point in function of 2D+Z image source modeling data associated with the determined at least one 2D+Z image source.

Correlatively, embodiments relates to a 3D model determination device for determining a 3D model of a surface, comprising a processor and a memory configured for:

- obtaining a plurality of 2D+Z images of said surface from respective 2D+Z image sources,

- determining, in function of the 2D+Z images, implicit surface data modeling said surface, wherein the implicit surface data specify, for respective sample points of a 3D field, a distance between said sample point and said surface and a 2D+Z image source identifier associated with said sample point,

- determining a plurality of surface points in function of the implicit surface data,

- for at least one of said surface points, determining at least one 2D+Z image source associated with said surface point in function of the implicit surface data, and at least one texture identifier and 2D texture coordinates associated with said surface point in function of 2D+Z image source modeling data associated with the determined at least one 2D+Z image source.

Determining the implicit surface data may comprise selecting one of the 2D+Z image sources as the most reliable 2D+Z image source for a sample point, the distance between said sample point and the surface being determined in function of the 2D+Z image obtained from the selected 2D+Z image source, the 2D+Z image source identifier associated with said sample point corresponding to the selected 2D+Z image source.

Some embodiments comprise obtaining reliability information from said 2D+Z image sources, and determining said implicit surface data in function of said reliability information.

Determining at least one 2D+Z image source associated with a surface point may comprise selecting the 2D+Z image source identifier of a sample point which has the smallest absolute distance to the surface among a set of sample points in the neighborhood of the surface point. Determining 2D texture coordinates associated with a surface point may comprise projecting said surface point to an image plane of the identified 2D+Z image source, in function of said 2D+Z image source modeling data which specify a modelview matrix and a projection matrix.

Some embodiments comprise determining a parameterized 3D model having a weighted multi-textures format in function of the determined surface points, texture identifiers and 2D texture coordinates.

Some embodiments comprise determining successive 3D models of said surface at a rate of at least 1 0 3D models per seconds.

Some embodiments comprise transmitting the determined 3D model to a rendering device.

Embodiments relates to a computer program comprising instructions for performing the method above when said instructions are executed by a computer.

Embodiments relates to a system comprising a 3D model determination device and a plurality of 2D+Z image sources.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other objects and features of the invention will become more apparent and the invention itself will be best understood by referring to the following description of embodiments taken in conjunction with the accompanying drawings wherein:

Figure 1 is a bloc diagram of a system for determining a 3D model of a surface,

Figure 2 is a flowchart of a method for determining a 3D model of a surface, executed by a 3D model determination device of the system of Figure 1 ,

Figure 3 is a diagram illustrating the determination of 3D implicit surface data,

Figure 4 is a diagram illustrating the determination of vertices, and Figure 5 is a structural view of the 3D model determination device of the system of Figure 1 .

DESCRIPTION OF EMBODIMENTS

Figure 1 is a bloc diagram of a system 1 for determining a 3D model of the surface S of an object 2. The system 1 comprises a plurality of 2D+Z image sources 3 and a 3D model determination device 4.

The object 2 may be for example (part of) a living being such a human face, a material object of fixed or variable shape...

A 2D+Z image source 3 is a capture device capable of providing a 2D+Z image of a part of the surface S, that is a 2D image wherein depth (Z) information is associated with respective pixels. A 2D+Z image source 3 is for example a stereoscopic camera wherein depth information may be determined in function of disparity, a time-of-flight camera...

The 3D model determination device 4 receives 2D+Z images of the surface S from the 2D +Z image sources 3 and determines a parameterized 3D model of the surface S, as described hereafter with reference to Figure 2. In some embodiments, the 3D model determination device 4 determines the parameterized 3D model of the surface S in real time. "Real time" means in this context that the 3D model determination device 4 is capable of determining successive parameterized 3D models of the surface S at a rate of at least 1 0 models per second, preferably at a rate comparable to a frame rate typically used in video such as 24, 30 or 60 models per second. This may be useful for example when the shape of the object 2 varies over time, for example in the case of a talking human face.

Figure 2 is a flowchart of a method for determining a parameterized 3D model, executed by the 3D model determination device 4.

The 3D model determination device 4 receives a plurality of 2D+Z images of the surface S from the 2D+Z image sources 3 (Step SI ). In some embodiments, the data received from a 2D+Z image sources 3 may require some pre-processing, such as format conversion, by the 3D model determination device 4. For example, if a stereoscopic camera determines depth in function of disparity itself, no preprocessing needs to be performed by the 3D model determination device 4, but if the stereoscopic camera provides a pair of stereoscopic images as representation of a 2D+Z image, the 3D model determination device 4 may need to determine depth in function of disparity.

Then, the 3D model determination device 4 determines implicit surface data sdf + in function of the received 2D+Z images (Step S2). The implicit surface data sdf + specify, for respective sample points of a 3D field, a signed distance between said sample point and the surface S and a 2D+Z image source identifier associated with said sample point. The signed distance is positive for sample points outside the object 2 and negative for sample points inside the object 2. This is illustrated on Figure 3, which is a 2D view of the 3D field, wherein a sample point pi has a distance d from the surface S and is associated with 2D+Z image source identifier C 0 . Various techniques may be used for determining the implicit surface data sdf + in function of the received 2D+Z images. For example, European patent application EP2660781 A1 describes a technique based on octree decomposition for determining the signed distances d between sample points p and the surface S. This comprises determining one of the 2D+Z image sources as the most reliable source for a specific sample point, and it is the identifier of this 2D+Z image source that is associated with the sample point in the implicit surface data sdf + . In some embodiment, the 2D+Z image sources 3 provide reliability information and this is used for determining the implicit surface data sdf + .

The result of this process is an implicit representation that has the nearest distance along with the identification source of this nearest distance. We denote this function as sdf + wi†h sdf + [0] defined to be the signed nearest distances and sdf + [l ] the 2D+Z image source identifiers. For illustrative purposes, the following table shows a 2D representation of sdf + determined in function of three 2D+Z image sources 3 with respective identifiers C 0 , and C 2 :

Then, the 3D model determination device 4 determines surface points in function of the implicit surface data sdf + (S†ep S3). Known techniques have been proposed for converting an implicit surface to an explicit surface, thereby determining the surface points. Hereafter, the surface points are call vertices V ; . The terms vertices and vertex are usually link to triangle meshes, which may be used for rendering the 3D model. However, some embodiments do not rely on meshes, hence the use of the more generic terms "surface points".

Figure 4 is a 2D view showing how the surface S could be reconstructed via a linear estimator from the implicit surface data sdf+ . The sampling rate in this example is too low for an accurate reconstruction, however this is only for illustrative purposes. In reality one would sample at much higher rates. In order to do this reconstruction, one basically searches for edges that have conflicting signs in the sdf+ [0]. This means that the relevant edge is intersected by the surface S, and thus a node will be added reflecting this intersection between the edge and the surface. The distances are used to interpolate to the correct location on the edge. The determined vertices V, are numbered \^ to V 8 on Figure 4.

Then, for the respective vertices V ; , the 3D model determination device 4 determines at least one 2D+Z image source 3 associated with said vertex V, in function of the implicit surface data sdf+, and determines a texture identifier T, D and 2D texture coordinates v ; associated with said vertex V, in function of 2D+Z image source modeling data associated with the determined at least one 2D+Z image source identifier (Step S4). More specifically, in an embodiment, the 3D model determination device 4 determines an identifier of the 2D+Z image source 3 associated with vertex V ; , which is regarded as the main contributor for the vertex V ; . This may be determined for example as:

ID: = id(argmin x (abs(d(x)))

with x the neighboring implicit surface sample points for vertex V ; , id(x) : = sdf + (x)[l ] and d(x) : = sdf + (x)[0]

The images provided by the 2D+Z image sources 3 may be used as texture for the 3D model, and in that case the texture identifier T, D associated to vertex V, correspond to the identifier of the determined the 2D+Z image source 3. For example, T, D = ID.

The texture coordinates v ; may be determined by projecting vertex V ; to the identified 2D+Z image source 3:

v. = p * M * V,

with V; the 2D projection of the 3D point V ; , M the modelview matrix defining the rotation and translation of the 2D+Z image source and P the projection matrix defining the intrinsics of the 2D+Z image source (focal length, aspect ratio, etc. of the camera).

The following table shows the data specified by the parameterized 3D model of the surface S after step S4 (in an illustrative simplified example with only 8 vertices V ; ):

In this table, each vertex V, of the 3D model is associated with a texture identifier T, D and 2D texture coordinates v ; . One may design a 3D graphic rendering device capable of generating a view of the 3D model by using such information. In some embodiment, however, the 3D model determination device 4 converts the parameterized 3D model determined after step S4 to a multi-texture- compatible rendering format that uses weights along with the texture coordinates to determine the blending factor of each texture (step S5). One needs a list per texture in this case that defines for each vertex the weight of the texture sample and the texture coordinates for that texture. This is illustrated in the following table:

This can be rendered by any renderer that supports multi-texturing (which is basically every recent 3D-capable device). In the embodiment described above, one 2D+Z image source 3 is determined as the main contributor for a vertex V ; , and the corresponding texture is applied to this vertex V, when rendering the 3D model. In other embodiments, the 3D model determination device 4 determines (at step S4) the N main contributors for a vertex V ; , with weighting factors which reflect the relative contributions. The parameterized 3D model then specifies N texture identifiers associated with the vertex V ; , with corresponding weights. A weighted combination of the textures is applied to the vertex V, when rendering the 3D model.

In the system 1 , texture mapping may be used on arbitrary implicitly defined shapes in a computationally efficient fashion. By linking the texture coordinate generation to the actual geometry and the defining source cameras, one can prevent quality issues due to mismatches between the reconstructed geometry and the actual geometry. Figure 5 is a structural view of the 3D model determination device 4, which comprises a processor 5 and a memory 6. The memory 6 stores a computer program P which, when executed by the processor 5, causes the 3D model determination device 4 to execute the method described above with reference to Figure 2.

It is to be remarked that the functions of the various elements shown in the figures may be provided through the use of dedicated hardware as well as hardware capable of executing software in association with appropriate software. When provided by a processor, the functions may be provided by a single dedicated processor, by a single shared processor, or by a plurality of individual processors, some of which may be shared, for example in a cloud computing architecture. Moreover, explicit use of the term "processor" should not be construed to refer exclusively to hardware capable of executing software, and may implicitly include, without limitation, digital signal processor (DSP) hardware, network processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), read only memory (ROM) for storing software, random access memory (RAM), and non volatile storage. Other hardware, conventional and/or custom, may also be included. Their function may be carried out through the operation of program logic, through dedicated logic, through the interaction of program control and dedicated logic, or even manually, the particular technique being selectable by the implementer as more specifically understood from the context.

It should be further appreciated by those skilled in the art that any block diagrams herein represent conceptual views of illustrative circuitry embodying the principles of the invention. Similarly, it will be appreciated that any flow charts represents various processes which may be substantially represented in computer readable medium and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.

Embodiments of the method can be performed by means of dedicated hardware and/of software or any combination of both.

While the principles of the invention have been described above in connection with specific embodiments, it is to be clearly understood that this description is made only by way of example and not as a limitation on the scope of the invention, as defined in the appended claims.