IP Library Granted Patent US 10,410,405
Granted Patent B2
US 10,410,405 · App. 15/703,393 · Granted Sep 10, 2019

Reducing computational complexity in three-dimensional modeling based on two-dimensional images

Inventor: Jie Zhang (Hangzhou, CN)
Assignee: Alibaba Group Holding Limited
G06T15/205G06K9/4609G06T7/55G06T17/00
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,410,405
App. No.
15/703,393
Granted
Sep 10, 2019
Kind
B2
Abstract

A method for three-dimensional (3D) modeling using two-dimensional (2D) image data includes obtaining a first image of an object oriented in a first direction and a second image of the object oriented in a second direction, determining a plurality of feature points of the object in the first image, and determining a plurality of matching feature points of the object in the second image that correspond to the plurality of feature points of the object in the first image. The method further includes calculating similarity values between the plurality of feature points and the corresponding plurality of matching feature points, calculating depth values of the plurality of feature points, calculating weighted depth values based on the similarity values and depth values, and performing 3D modeling of the object based on the weighted depth values.

Claims (94)

1. A computer-implemented method, comprising:

obtaining a first image of an object, the object being oriented in a first orientation direction;

obtaining a second image of the object, the second image of the object comprising the object having moved to a second orientation direction in one or more of elevation angle, deflection angle, and rotation angle, the second orientation direction being different from the first orientation direction;

determining a plurality of initial feature points of the object in the first image;

matching the first image with a first grid that includes a plurality of grid cells,

determining whether one or more of the plurality of grid cells do not include one of the plurality of initial feature points;

based upon determining that the one or more of the plurality of grid cells do not include the one of the plurality of initial feature points, determining a center point of the one or more of the plurality of grid cells;

assigning the center point of the one or more of the plurality of grid cells as one of the plurality of initial feature points;

filtering the plurality of initial feature points until a number of the initial feature points is the same in each of the plurality of grid cells, each of the plurality of grid cells includes at least one of the plurality of initial feature points;

determining a plurality of matching feature points of the object in the second image that correspond to the plurality of initial feature points of the object in the first image;

calculating similarity values between the plurality of initial feature points and the corresponding plurality of matching feature points;

calculating depth values of the plurality of initial feature points;

calculating weighted depth values of the plurality of initial feature points based on the similarity values and depth values, each of the weighted depth values for each of the plurality of initial feature points is calculated as:

weighted depth value=depth value x (sum of the average color value differences of the plurality of initial feature points except the initial feature point subject to the weighted depth value calculation/sum of the average color value differences of the plurality of initial feature points); and

performing, by a model generation module, 3D modeling of the object based on the calculated weighted depth values.

2. The computer-implemented method of claim 1 wherein determining a plurality of initial feature points of the object in the first image further comprising:

calculating distances from the plurality of initial feature points to the center points of the plurality of grid cells where the plurality of initial feature points are located; and

determining, for each of the plurality of grid cells that includes at least one of the plurality of initial feature points, an initial feature point that is closest to the center of the grid cell as the feature point.

3. The computer-implemented method of claim 2 , further comprising:

determining a plurality of pre-matching feature points in the second image that correspond to the plurality of initial feature points based on direction orientation information of the object in the first image and direction orientation information of the object in the second image; and

matching the second image with a second grid;

wherein determining a plurality of matching feature points of the object in the second image further comprises determining center points of grid cells of the second grid that include at least one pre-matching feature point as the plurality of matching feature points in the second image.

4. The computer-implemented method of claim 3 , wherein determining the similarity values between the plurality of initial feature points and the corresponding plurality of matching feature points further comprises:

determining color values of all pixels within the plurality of grid cells of the first grid that include at least one of the plurality of feature points;

determining color values of all pixels within the grid cells of the second grid that include at least one matching feature point;

calculating the average color value differences between all the pixels within the plurality of grid cells of the first grid that include at least one of the initial feature points and all the pixels within the grid cells of the second grid that include at least one matching feature point; and

determining the similarity values of the plurality of initial feature points and the corresponding plurality of matching feature points based on the average color value differences.

5. The computer-implemented method of claim 3 , wherein the area of the grid cells of the second grid are smaller than the area of the plurality of grid cells of the first grid.

6. The computer-implemented method of claim 1 , further comprising:

filtering the plurality of initial feature points based on the similarity values before calculating the weighted depth values.

7. The computer-implemented method of claim 6 , wherein filtering the plurality of initial feature points further comprising:

determining an initial feature point eliminating threshold based on the similarity values; and

eliminating an initial feature point when its corresponding similarity value is less than the initial feature point eliminating threshold.

8. The computer-implemented method of claim 1 , wherein the plurality of grid cells of the first grid have triangular shape.

9. A non-transitory, computer-readable medium storing one or more instructions executable by a computer system to perform operations comprising:

obtaining a first image of an object, the object being oriented in a first orientation direction;

obtaining a second image of the object, the second image of the object comprising the object having moved to a second orientation direction in one or more of elevation angle, deflection angle, and rotation angle, the second orientation direction being different from the first orientation direction;

determining a plurality of initial feature points of the object in the first image;

matching the first image with a first grid that includes a plurality of grid cells,

determining whether one or more of the plurality of grid cells do not include one of the plurality of initial feature points;

based upon determining that the one or more of the plurality of grid cells do not include the one of the plurality of initial feature points, determining a center point of the one or more of the plurality of grid cells;

assigning the center point of the one or more of the plurality of grid cells as one of the plurality of initial feature points;

filtering the plurality of initial feature points until a number of the initial feature points is the same in each of the plurality of grid cells, each of the plurality of grid cells includes at least one of the plurality of initial feature points;

determining a plurality of matching feature points of the object in the second image that correspond to the plurality of initial feature points of the object in the first image;

calculating similarity values between the plurality of initial feature points and the corresponding plurality of matching feature points;

calculating depth values of the plurality of initial feature points;

calculating weighted depth values of the plurality of initial feature points based on the similarity values and depth values, each of the weighted depth values for each of the plurality of initial feature points is calculated as:

weighted depth value=depth value x (sum of the average color value differences of the plurality of initial feature points except the initial feature point subject to the weighted depth value calculation/sum of the average color value differences of the plurality of initial feature points); and

performing, by a model generation module, 3D modeling of the object based on the calculated weighted depth values.

10. The non-transitory, computer-readable medium of claim 9 , wherein determining a plurality of initial feature points of the object in the first image further comprising:

calculating distances from the plurality of initial feature points to the center points of the plurality of grid cells where the plurality of initial feature points are located; and

determining, for each of the plurality of grid cells that includes at least one of the plurality of initial feature points, an initial feature point that is closest to the center of the grid cell as the feature point.

11. The non-transitory, computer-readable medium of claim 10 , further comprising:

determining a plurality of pre-matching feature points in the second image that correspond to the plurality of initial feature points based on direction orientation information of the object in the first image and direction orientation information of the object in the second image; and

matching the second image with a second grid, wherein determining a plurality of matching feature points of the object in the second image further comprises determining center points of grid cells of the second grid that include at least one pre-matching feature point as the plurality of matching feature points in the second image.

12. The non-transitory, computer-readable medium of claim 9 , wherein the area of the grid cells of the second grid are smaller than the area of the plurality of grid cells of the first grid.

13. The non-transitory, computer-readable medium of claim 9 , further comprising:

filtering the plurality of initial feature points based on the similarity values before calculating the weighted depth values.

14. The non-transitory, computer-readable medium of claim 13 , wherein filtering the plurality of initial feature points further comprising:

determining an initial feature point eliminating threshold based on the similarity values; and

eliminating an initial feature point when its corresponding similarity value is less than the initial feature point eliminating threshold.

15. A computer-implemented system, comprising:

one or more computers; and

one or more computer memory devices interoperably coupled with the one or more computers and having tangible, non-transitory, machine-readable media storing instructions that, when executed by the one or more computers, perform operations comprising:

obtaining a first image of an object, the object being oriented in a first orientation direction;

obtaining a second image of the object, the second image of the object comprising the object having moved to a second orientation direction in one or more of elevation angle, deflection angle, and rotation angle, the second orientation direction being different from the first orientation direction;

determining a plurality of initial feature points of the object in the first image;

matching the first image with a first grid that includes a plurality of grid cells,

determining whether one or more of the plurality of grid cells do not include one of the plurality of initial feature points;

based upon determining that the one or more of the plurality of grid cells do not include the one of the plurality of initial feature points, determining a center point of the one or more of the plurality of grid cells;

assigning the center point of the one or more of the plurality of grid cells as one of the plurality of initial feature points;

filtering the plurality of initial feature points until a number of the initial feature points is the same in each of the plurality of grid cells, each of the plurality of grid cells includes at least one of the plurality of initial feature points;

determining a plurality of matching feature points of the object in the second image that correspond to the plurality of initial feature points of the object in the first image;

calculating similarity values between the plurality of initial feature points and the corresponding plurality of matching feature points;

calculating depth values of the plurality of initial feature points;

calculating weighted depth values of the plurality of initial feature points based on the similarity values and depth values, each of the weighted depth values for each of the plurality of initial feature points is calculated as:

weighted depth value=depth value x (sum of the average color value differences of the plurality of initial feature points except the initial feature point subject to the weighted depth value calculation/sum of the average color value differences of the plurality of initial feature points); and

performing 3D modeling of the object based on the calculated weighted depth values.

16. The computer-implemented system of claim 15 , wherein determining a plurality of initial feature points of the object in the first image further comprising:

calculating distances from the plurality of initial feature points to the center points of the plurality of grid cells where the plurality of initial feature points are located; and

determining, for each of the plurality of grid cells that includes at least one of the plurality of initial feature points, an initial feature point that is closest to the center of the grid cell as the feature point.

17. The computer-implemented system of claim 16 , further comprising:

determining a plurality of pre-matching feature points in the second image that correspond to the plurality of initial feature points based on direction orientation information of the object in the first image and direction orientation information of the object in the second image; and

matching the second image with a second grid,

wherein determining a plurality of matching feature points of the object in the second image further comprises determining center points of grid cells of the second grid that include at least one pre-matching feature point as the plurality of matching feature points in the second image.

18. The computer-implemented system of claim 17 , wherein determining the similarity values between the plurality of initial feature points and the corresponding plurality of matching feature points further comprises:

determining color values of all pixels within the plurality of grid cells of the first grid that include at least one of the plurality of feature points;

determining color values of all pixels within the grid cells of the second grid that include at least one matching feature point;

calculating the average color value differences between all the pixels within the plurality of grid cells of the first grid that include at least one of the initial feature points and all the pixels within the grid cells of the second grid that include at least one matching feature point; and

determining the similarity values of the plurality of initial feature points and the corresponding plurality of matching feature points based on the average color value differences.

19. The computer-implemented system of claim 15 , wherein the area of the grid cells of the second grid are smaller than the area of the plurality of grid cells of the first grid.

20. The computer-implemented system of claim 15 , further comprising, before calculating the weighted depth values:

determining an initial feature point eliminating threshold based on the similarity values; and

eliminating an initial feature point when its corresponding similarity value is less than the initial feature point eliminating threshold.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 10, 2020
From: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
To: ADVANCED NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053754/0625 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 31, 2020
From: ALIBABA GROUP HOLDING LIMITED
To: ADVANTAGEOUS NEW TECHNOLOGIES CO., LTD.
Reel/Frame 053743/0464 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 16, 2017
From: ZHANG, JIE
To: ALIBABA GROUP HOLDING LIMITED
Reel/Frame 044209/0435 →
Priority Claims (1)
CN 2015 1 0117117 · Mar 17, 2015 · national
Continuity (2)
Continuation PCTCN2016075837 · Mar 8, 2016
Related Publication 20180012399A1 · Jan 11, 2018