IP Library › Granted Patent US 9,846,963
Granted Patent B2
US 9,846,963 · App. 14/725,938 · Granted Dec 19, 2017

3-dimensional model generation using edges

Inventors: Saket Patkar (Stanford, CA); Bo Li (San Jose, CA); Tasneem Brutch (San Jose, CA)
Assignee: SAMSUNG ELECTRONICS CO., LTD.
G06T17/00G06T7/593G06T7/73G06T2207/10012G06T2207/30244
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 9,846,963
App. No.
14/725,938
Granted
Dec 19, 2017
Kind
B2
Abstract

3-dimensional model generation using edges may include detecting, using a processor, a plurality of edges in a plurality of images and determining, using the processor, a set edges from the plurality of edges that are matched across the plurality of images. Camera poses of the plurality of images may be estimated using the processor and using a cost function that depends upon the set of edges.

Claims (53)

1. A method, comprising:

detecting, using a processor, a plurality of edges in a plurality of images;

determining, using the processor, a set of edges from the plurality of edges that are matched across the plurality of images;

determining, using the processor, three orthogonal axes according to the set of edges by grouping edges of the set of edges into a plurality of buckets according to orientation, wherein each of a first axis and a second axis of the three orthogonal axes is determined according to one of the plurality of buckets based upon a number of edges in the plurality of buckets;

estimating camera poses of the plurality of images using a cost function that depends upon the set of edges;

generating planes for a 3-dimensional model according to the camera poses and the set of edges, wherein the 3-dimensional model is generated from the plurality of images;

identifying false planes from among the planes; and

removing the false planes.

2. The method of claim 1 , wherein a third axis of the three orthogonal axes is determined according to a function of the first axis and the second axis.

3. The method of claim 1 , wherein determining three orthogonal axes further comprises:

determining the first axis according to the bucket including a largest number of edges;

determining the second axis according to the bucket including a second largest number of edges; and

determining a third axis according to a cross-product of the first axis and the second axis.

4. The method of claim 3 , further comprising:

adjusting the second axis to be orthogonal to the first axis.

5. The method of claim 1 , further comprising:

rendering the planes.

6. A system, comprising:

a memory configured to store program code; and

a processor coupled to the memory, wherein the processor is programmed using the program code to initiate executable operations comprising:

detecting a plurality of edges in a plurality of images;

determining a set of edges from the plurality of edges that are matched across the plurality of images;

determining, using the processor, three orthogonal axes according to the set of edges by grouping edges of the set of edges into a plurality of buckets according to orientation, wherein each of a first axis and a second axis of the three orthogonal axes is determined according to one of the plurality of buckets based upon a number of edges in the plurality of buckets;

estimating camera poses of the plurality of images using a cost function that depends upon the set of edges;

generating planes for a 3-dimensional model according to the camera poses and the set of edges, wherein the 3-dimensional model is generated from the plurality of images;

identifying false planes from among the planes; and

removing the false planes.

7. The system of claim 6 , wherein a third axis of the three orthogonal axes is determined according to a function of the first axis and the second axis.

8. The system of claim 6 , wherein determining three orthogonal axes comprises:

determining the first axis according to the bucket including a largest number of edges;

determining the second axis according to the bucket including a second largest number of edges; and

determining a third axis according to a cross-product of the first axis and the second axis.

9. The system of claim 8 , wherein the processor is further programmed to initiate executable operations comprising:

adjusting the second axis to be orthogonal to the first axis.

10. The system of claim 6 , wherein the processor is further programmed to initiate executable operations comprising:

rendering the planes.

11. A computer program product comprising a computer readable storage medium having program code stored thereon, the program code executable by a processor to perform a method comprising:

detecting, using the processor, a plurality of edges in a plurality of images;

determining, using the processor, a set of edges from the plurality of edges that are matched across the plurality of images;

determining, using the processor, three orthogonal axes according to the set of edges by grouping edges of the set of edges into a plurality of buckets according to orientation, wherein each of a first axis and a second axis of the three orthogonal axes is determined according to one of the plurality of buckets based upon a number of edges in the plurality of buckets;

estimating, using the processor, camera poses of the plurality of images using a cost function that depends upon the set of edges;

generating planes for a 3-dimensional model according to the camera poses and the set of edges, wherein the 3-dimensional model is generated from the plurality of images;

identifying false planes from among the planes; and

removing the false planes.

12. The computer program product of claim 11 , wherein a third axis of the three orthogonal axes is determined according to a function of the first axis and the second axis.

13. The computer program product of claim 11 , wherein determining three orthogonal axes further comprises:

determining the first axis according to the bucket including a largest number of edges;

determining the second axis according to the bucket including a second largest number of edges; and

determining a third axis according to a cross-product of the first axis and the second axis.

14. The computer program product of claim 13 , wherein the method further comprises:

adjusting the second axis to be orthogonal to the first axis.

15. The computer program product of claim 11 , wherein the method further comprises:

rendering the planes.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 29, 2015
From: PATKAR, SAKET; LI, BO; BRUTCH, TASNEEM
To: SAMSUNG ELECTRONICS CO., LTD
Reel/Frame 035746/0817 →
Continuity (2)
Provisional Application 62059662 · Oct 3, 2014
Related Publication 20160098858A1 · Apr 7, 2016