Three-dimensional modeling from single photographs
Abstract
A method of obtaining a three-dimensional digital model of an artificial object, made up of a plurality of geometric primitives, the artificial object being in a single two-dimensional photograph, the method comprising: using edge detection to define a two-dimensional outline of the artificial object within the photograph; interactively allowing a user to define two-dimensional profiles of successive ones of the geometric primitives; interactively allowing a user to sweep respective profiles over an extent of a corresponding one of the geometric primitives within the image; generating successive three-dimensional model parts from existing detected edges of the corresponding geometric primitives and the sweeping of the respective profile; and aligning the plurality of three-dimensional model parts to form the three-dimensional model.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1 . A method of obtaining a three-dimensional digital model of an artificial object, made up of a plurality of geometric primitives, the artificial object being in a single two-dimensional photograph or drawing, the method comprising:
defining a two-dimensional outline of said artificial object within the photograph; interactively allowing a user to define cross-sectional profiles of successive ones of said geometric primitives, said cross-sectional profiles defining a third dimension; interactively allowing a user to provide sweep input to sweep respective defined cross-sectional profiles over an extent of a corresponding one of said geometric primitives within the image, said sweeping generating successive three-dimensional model primitives from existing detected edges of said corresponding geometric primitives and said sweeping of said respective profile; and aligning said plurality of three-dimensional model primitives to form said three-dimensional model.
2 . The method of claim 1 , comprising interactively allowing said user to explicitly define three dimensions of the geometric primitive using three sweep motions, wherein a first two of said three sweeps define a first and second dimension of said cross-sectional profile and a third sweep defines a main axis of the geometric primitive.
3 . The method of claim 1 , comprising, upon the user sweeping the two-dimensional profile over a respective one of said geometric primitives, dynamically adjusting said two-dimensional profile using a pictorial context on the photograph and automatically snapping photograph lines to said profile.
4 . The method of claim 3 , wherein said snapping allows said three-dimensional model to include three-dimensional primitives that adhere to the object in the photographs, while maintaining global constraints between said plurality of three-dimensional model primitives composing said object.
5 . The method of claim 4 , further comprising optimizing said global constraints while taking into account said snapping and said sweep input.
6 . The method of claim 4 , further comprising a post snapping fit improvement of better fitting the primitive to the image, said better fitting comprising searching for transformations within ±10% of primitive size, that create a better fit of the primitive's projection to said profile.
7 . The method of claim 1 , wherein said defining said two dimensional outline comprises edge detecting.
8 . The method of claim 1 , further comprising estimating a field of view angle from which said photograph was taken in order to estimate and compensate for distortion of said primitives within said photograph.
9 . The method of claim 1 , further comprising using relationships between said primitives in order to define global constraints for said object.
10 . The method of claim 9 , further comprising obtaining geo-semantic relations between said primitives to define said three-dimensional digital model, and encoding said relations as part of said model.
11 . The method of claim 1 , further comprising inserting said three-dimensional digital model into a second photograph.
12 . The method of claim 1 , further comprising extracting a texture from said photograph and applying said texture to sides of said three-dimensional model not visible in said photograph.
13 . The method of claim 1 , wherein said defining said cross-sectional profiles comprises defining a shape and then distorting said shape to correspond to a three-dimensional orientation angle.
14 . The method of claim 4 , comprising applying different constraints to different parts respectively of a given one of said geometric primitives, or locally modifying different parts respectively of a given one of said geometric primitives.
15 . The method of claim 2 , comprising snapping said first two user sweep motions to said photograph lines, using the endpoints of said first two user sweep motions along with an anchor point on a respective primitive to create three-dimensional orthogonal system for a respective primitive.
16 . The method of claim 1 , further comprising supporting a constraint, said constraint being one member of the group consisting of: parallelism, orthogonality, collinear axis endpoints, overlapping axis endpoints, coplanar axis endpoints and coplanar axes, and for said member testing whether a pair of components is close to satisfying said member, and if said member is satisfied or close to satisfied then adding said constraint to a respective one of said primitives.
17 . The method of claim 1 , wherein said aligning said three dimensional primitives comprises finding an initial position for all primitives together by changing only their depth to adhere to geo-semantic constraints, followed by modifying shapes shape of the primitives.
18 . A user interface for carrying out the method of claim 1 , the user interface comprising an outline view of a current photograph on which view to carry out interactive sweeping to define cross sections of respective primitives and on which to snap said cross-sections.
19 . The user interface of claim 18 , further comprising a solid model view and a texture view respectively of said current photograph, and selectability for user selection between different basic cross-sectional shapes.
20 . A method of digitally forming a three-dimensional geometric primitive from a two-dimensional geometric primitive from a two-dimensional photograph or drawing, comprising:
interactively obtaining user input to draw a two-dimensional cross section of the primitive and then using further user input to sweep the cross-section over a length of the primitive.
21 . A method of forming a derivation of a photograph or drawing, the photograph incorporating a two dimensional representation of a three-dimensional object, said three-dimensional object comprising geometric primitives, the two-dimensional representation being a rotation or other transformation of an original two-dimensional representation, the rotation being formed by:
carrying out the method of claim 1 to form a three-dimensional model of said original two-dimensional representation; rotating or otherwise transforming said three-dimensional model; and projecting said rotated or otherwise transformed three-dimensional model onto a two-dimensional surface to form said derivation.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.