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, the artificial object made up of a plurality of two-dimensional geometric primitives, the artificial object being in a single two-dimensional photograph or drawing in a plane, the method comprising:
defining a two-dimensional outline of said artificial object within the photograph or drawing; interactively allowing a user to define cross-sectional profiles of successive ones of said geometric primitives within said artificial object, said cross-sectional profiles being angled to said plane, thereby defining a third dimension relative to said photograph or drawing; interactively allowing a user to provide sweep input to define sweeps of respectively defined cross-sectional profiles along extents of corresponding ones of said two-dimensional geometric primitives within the artificial object, said sweeps being defined along a surface of said photograph or drawing; carrying out sweeping of said cross-sectional profiles along said extents according to said sweep input; dynamically adjusting said two-dimensional profiles using a pictorial context on the photograph or drawing and automatically snapping photograph lines to said profiles during said sweeping; said sweeping generating successive three-dimensional model primitives from existing detected edges of said corresponding two-dimensional geometric primitives and said sweeping of said respective profiles; 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 , 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.
4 . The method of claim 3 , further comprising optimizing said global constraints while taking into account said snapping and said sweep input.
5 . The method of claim 3 , 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.
6 . The method of claim 1 , wherein said defining said two dimensional outline comprises edge detecting.
7 . 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.
8 . The method of claim 1 , further comprising using relationships between said primitives in order to define global constraints for said object.
9 . The method of claim 8 , 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.
10 . The method of claim 1 , further comprising inserting said three-dimensional digital model into a second photograph.
11 . 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.
12 . 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.
13 . The method of claim 3 , 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.
14 . 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.
15 . 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 satisfies said member, and if said member is satisfied then adding said constraint to a respective one of said primitives.
16 . 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 of the primitives.
17 . 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.
18 . A method of obtaining a three-dimensional digital model of an artificial object, the artificial object made up of a plurality of two-dimensional geometric primitives, the artificial object being in a single two-dimensional photograph or drawing in a plane, the method comprising:
defining a two-dimensional outline of said artificial object within the photograph or drawing; defining cross-sectional profiles of successive ones of said geometric primitives within said artificial object, said cross-sectional profiles being angled to said plane, thereby defining a third dimension relative to said photograph or drawing; defining sweeps of respectively defined cross-sectional profiles along extents of corresponding ones of said two-dimensional geometric primitives within the artificial object, said sweeps being defined along a surface of said photograph or drawing; carrying out sweeping of said cross-sectional profiles along said extents according to said sweep input; dynamically adjusting said two-dimensional profiles using a pictorial context on the photograph or drawing and automatically snapping photograph lines to said profiles during said sweeping; said sweeping generating successive three-dimensional model primitives from existing detected edges of said corresponding two-dimensional geometric primitives and said sweeping of said respective profiles; and aligning said plurality of three-dimensional model primitives to form said three-dimensional model.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.