IP Library Granted Patent US 10,810,783
Granted Patent B2
US 10,810,783 · App. 16/374,023 · Granted Oct 20, 2020

Dynamic real-time texture alignment for 3D models

Inventors: Jun Yin (McLean, VA); Geng Li (Fairfax, VA)
Assignee: VanGogh Imaging, Inc.
G06T15/04G06T3/40G06T15/50G06T17/20
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,810,783
App. No.
16/374,023
Granted
Oct 20, 2020
Kind
B2
Abstract

Described herein are methods and systems for dynamic real-time texture alignment for three-dimensional (3D) models. A computing device receives input images of objects in a scene, and generates a 3D model for at least one of the objects, comprising a plurality of mesh triangles. The computing device projects each mesh triangle of the 3D model to one of the input images. The computing device measures a texture discontinuity between adjacent mesh triangles of the projected image by comparing color differences in a shared edge of the adjacent mesh triangles. The computing device translates a texture associated with the adjacent mesh triangles in different directions to create texture candidates. The computing device applies the texture candidates to the corresponding mesh triangles until a seamless texture join is formed on the shared edge. The computing device generates a textured 3D model using the 3D model, the projected image, and the texture candidates.

Claims (44)

1. A system for dynamic real-time texture alignment for three-dimensional (3D) models, the system comprising a memory that stores computer-executable instructions and a processor that executes the computer-executable instructions to:

receive a plurality of input images of one or more objects in a scene;

generate a 3D model for at least one of the one or more objects in the scene, the 3D model comprising a plurality of mesh triangles;

project each mesh triangle of the 3D model to one of the plurality of input images;

measure a texture discontinuity between adjacent mesh triangles of the projected input image by comparing one or more color differences in a shared edge of the adjacent mesh triangles;

translate a texture associated with each of the adjacent mesh triangles in a plurality of different directions to create texture candidates for each of the adjacent mesh triangles;

apply each of the texture candidates to the corresponding mesh triangles until a seamless texture join is formed on the shared edge, comprising:

determining an optimal texture labeling for each mesh triangle of the projected input image using an energy minimization algorithm;

downsampling the projected input image to generate an intermediate image, the intermediate image comprising a decreased resolution in one or more dimensions;

determining an optimal texture labeling for each mesh triangle of the intermediate image using the energy minimization algorithm and the optimal texture labeling for each mesh triangle from the projected input image;

downsampling the intermediate image to generate a target image;

determining an optimal texture labeling for each mesh triangle of the target image using the energy minimization algorithm and the optimal texture labeling for each mesh triangle from the intermediate image;

selecting a texture candidate that corresponds to the optimal texture labeling for each mesh triangle of the target image; and

applying the selected texture candidate to the corresponding mesh triangle of the projected input image; and

generate a textured 3D model using the 3D model, the projected input image, and the texture candidates that form the seamless texture join for each adjacent mesh triangle.

2. The system of claim 1 , wherein the optimal texture labeling for each mesh triangle of the target image comprises a texture labeling associated with a minimum energy value determined by the energy minimization algorithm using the optimal texture labeling for each mesh triangle from the intermediate image as input.

3. The system of claim 1 , wherein the optimal texture labeling for each mesh triangle of the intermediate image comprises a texture labeling associated with a minimum energy value determined by the energy minimization algorithm using the optimal texture labeling for each mesh triangle from the projected input image as input.

4. The system of claim 1 , wherein the optimal texture labeling for each mesh triangle of the projected input image comprises a texture labeling associated with a minimum energy value determined by the energy minimization algorithm.

5. The system of claim 1 , wherein the energy minimization algorithm is an alpha-expansion algorithm.

6. The system of claim 1 , wherein the plurality of input images are high-definition (HD) images.

7. The system of claim 1 , wherein information corresponding to the textured 3D model is stored as an .obj file, an .mtl file, and a .jpg file.

8. The system of claim 1 , wherein translating the texture associated with each of the adjacent mesh triangles in a plurality of different directions comprises translating each texture in nine different directions.

9. A computerized method of dynamic real-time texture alignment for three-dimensional (3D) models, the method comprising:

receiving, by a computing device, a plurality of input images of one or more objects in a scene;

generating, by the computing device, a 3D model for at least one of the one or more objects in the scene, the 3D model comprising a plurality of mesh triangles;

projecting, by the server computing device, each mesh triangle of the 3D model to one of the plurality of input images;

measuring, by the server computing device, a texture discontinuity between adjacent mesh triangles of the projected input image by comparing one or more color differences in a shared edge of the adjacent mesh triangles;

translating, by the server computing device, a texture associated with each of the adjacent mesh triangles in a plurality of different directions to create texture candidates for each of the adjacent mesh triangles;

applying, by the server computing device, each of the texture candidates to the corresponding mesh triangles until a seamless texture join is formed on the shared edge, comprising:

determining an optimal texture labeling for each mesh triangle of the projected input image using an energy minimization algorithm;

downsampling the projected input image to generate an intermediate image, the intermediate image comprising a decreased resolution in one or more dimensions;

determining an optimal texture labeling for each mesh triangle of the intermediate image using the energy minimization algorithm and the optimal texture labeling for each mesh triangle from the projected input image;

downsampling the intermediate image to generate a target image;

determining an optimal texture labeling for each mesh triangle of the target image using the energy minimization algorithm and the optimal texture labeling for each mesh triangle from the intermediate image;

selecting a texture candidate that corresponds to the optimal texture labeling for each mesh triangle of the target image; and

applying the selected texture candidate to the corresponding mesh triangle of the projected input image; and

generating, by the server computing device, a textured 3D model using the 3D model, the projected input image, and the texture candidates that form the seamless texture join for each adjacent mesh triangle.

10. The method of claim 9 , wherein the optimal texture labeling for each mesh triangle of the target image comprises a texture labeling associated with a minimum energy value determined by the energy minimization algorithm using the optimal texture labeling for each mesh triangle from the intermediate image as input.

11. The method of claim 9 , wherein the optimal texture labeling for each mesh triangle of the intermediate image comprises a texture labeling associated with a minimum energy value determined by the energy minimization algorithm using the optimal texture labeling for each mesh triangle from the projected input image as input.

12. The method of claim 9 , wherein the optimal texture labeling for each mesh triangle of the projected input image comprises a texture labeling associated with a minimum energy value determined by the energy minimization algorithm.

13. The method of claim 9 , wherein the energy minimization algorithm is an alpha-expansion algorithm.

14. The method of claim 9 , wherein the plurality of input images are high-definition (HD) images.

15. The method of claim 9 , wherein information corresponding to the textured 3D model is stored as an .obj file, an .mtl file, and a .jpg file.

16. The method of claim 9 , wherein translating the texture associated with each of the adjacent mesh triangles in a plurality of different directions comprises translating each texture in nine different directions.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 19, 2025
From: VANGOGH IMAGING, INC.
To: SAMSUNG ELECTRONICS CO., LTD.
Reel/Frame 070560/0391 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2019
From: YIN, JUN; LI, GENG
To: VANGOGH IMAGING, INC.
Reel/Frame 048856/0741 →
Continuity (2)
Provisional Application 62652051 · Apr 3, 2018
Related Publication 20190304161A1 · Oct 3, 2019
Cited By (1)
US 12,374,033