Method and apparatus for generating a 3D region from a surrounding imagery
First Claim
1. A method for generating a 3D region from a sequence of images taken respectively at a known position around an object, said method comprising:
- converting said images respectively to corresponding mask images, each including a foreground and a background;
said foreground being a silhouette of said object; and
generating encoded images respectively from said corresponding mask images, an element at coordinates (i,j) in each of said encoded images representing an integral value describing a largest parallelogram having a substantially similar color as a pixel has at the coordinates (i,j) in one of said mask images corresponding to said each of said encoded images.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques for generating a 3D region from a surrounding imagery are disclosed. The surrounding imagery comprising a sequence of side view images taken respectively at a known position around an object. The images are preprocessed to generate corresponding sequence of mask images. To accelerate the subsequent space carving process, each of the mask images is encoded uniquely using what is called herein a Maximal Area Encoding scheme. In the space carving process, volumetric cells or cubes representing the object are recursively subdivided to gradually fit the object by “carving” away those cubes that are not occupied by any of the object. All cubes are encoded and indexed using an octree structure.
73 Citations
30 Claims
-
1. A method for generating a 3D region from a sequence of images taken respectively at a known position around an object, said method comprising:
-
converting said images respectively to corresponding mask images, each including a foreground and a background;
said foreground being a silhouette of said object; and
generating encoded images respectively from said corresponding mask images, an element at coordinates (i,j) in each of said encoded images representing an integral value describing a largest parallelogram having a substantially similar color as a pixel has at the coordinates (i,j) in one of said mask images corresponding to said each of said encoded images. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
projecting a stack of volumetric cells with respect to each of said encoded images to determine if each of said projected volumetric cells is occupied, unoccupied or partially occupied by said foreground;
subdividing each of said partially occupied volumetric cells;
repeating said projecting and said subdividing up to a predefined degree of refinement controlling a resolution of said 3D region.
-
-
4. The method as recited in claim 3, wherein said subdividing comprises:
-
recording each of said volumetric cells as a node in a tree structure;
branching each of said nodes that represents one of said partially occupied volumetric cells to sub-nodes; and
turning each of said sub-nodes to a leave when said repeating stops.
-
-
5. The method as recited in claim 4, wherein each of said partially occupied volumetric cells is subdivided into eight equally-sized smaller volumetric cells.
-
6. The method as recited in claim 5, wherein each of said smaller volumetric cells corresponds to one of sub-nodes in said tree structure.
-
7. The method as recited in claim 6, wherein each of said volumetric cells is a cube.
-
8. The method as recited in claim 7, wherein said tree structure is an octree having eight branches for each of said nodes therein.
-
9. A method for generating a 3D region from a sequence of images taken respectively at a known position around an object, said method comprising:
-
converting said images in a first color space to a second color space;
segmenting said images in said second color space, respectively, to produce corresponding mask images;
each of said mask images including a foreground and a background;
said foreground being a silhouette of said object;
generating encoded images respectively from said corresponding mask images, an element at coordinates (i,j) in each of said encoded images representing an integral value describing a largest parallelogram having a substantially similar color as a pixel has at the coordinates (i,j) in one of said mask images corresponding to said each of said encoded images;
projecting a stack of volumetric cells with respect to each of said encoded images to determine if each of said projected volumetric cells is occupied, unoccupied or partially occupied by said foreground;
subdividing each of said partially occupied volumetric cells; and
repeating said projecting and said subdividing up to a predefined degree of refinement controlling a resolution of said 3D region. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A computer readable medium containing program code executable by a computing device for generating a 3D region from a sequence of images taken respectively at a known position around an object;
- said computer readable medium comprising;
first program code for converting said images respectively to corresponding mask images, each including a foreground and a background;
said foreground being a silhouette of said object; and
second program code for generating encoded images respectively from said corresponding mask images, an element at coordinates (i,j) in each of said encoded images representing an Integral value describing a largest parallelogram having a substantially similar color as a pixel has at the coordinates (i,j) in one of said mask images corresponding to said each of said encoded images. - View Dependent Claims (18, 19, 20, 21, 22, 23)
third program code for projecting a stack of volumetric cells with respect to each of said mask images to determine if each of said projected volumetric cells is occupied, unoccupied or partially occupied by said foreground;
fourth program code for subdividing each of said partially occupied volumetric cells;
fifth program code for repeating said projecting and said subdividing up to a predefined degree of refinement controlling a resolution of said 3D region.
- said computer readable medium comprising;
-
19. The computer readable medium as recited in claim 18, wherein said fourth program code further comprises:
-
program code for recording each of said volumetric cells as a node in a tree structure;
program code for branching each of said nodes that represents one of said partially occupied volumetric cells to sub-nodes; and
program code for turning each of said sub-nodes to a leave when said repeating stops.
-
-
20. The computer readable medium as recited in claim 19;
- wherein each of said partially occupied volumetric cells is subdivided into eight equally-sized smaller volumetric cells.
-
21. The computer readable medium as recited in claim 20;
- wherein each of said smaller volumetric cells corresponds to one of sub-nodes in said a tree structure.
-
22. The computer readable medium as recited in claim 21;
- wherein each of said volumetric cells is a cube.
-
23. The computer readable medium as recited in claim 22;
- wherein said tree structure is an octree having eight branches for each of said nodes therein.
-
24. A computer readable medium containing program code executable by a computing device for generating a 3D region from a sequence of images taken respectively at a known position around an object;
- said computer readable medium comprising;
program code for converting said images in a first color space to a second color space;
program code for segmenting said images in said second color space, respectively, to produce corresponding mask images;
each of said mask images including a foreground and a background;
said foreground being a silhouette of said object;
program code for generating encoded images respectively from said corresponding mask images, an element at coordinates (i,j) in each of said encoded images representing an integral value describing a largest square having a substantially similar color as a pixel has at the coordinates (i,j) in one of said mask images corresponding to said each of said encoded images;
program code for projecting a stack of volumetric cells with respect to each of said mask images to determine if each of said projected volumetric cells is occupied, unoccupied or partially occupied by said foreground;
program code for subdividing each of said partially occupied volumetric cells; and
program code for repeating said projecting and said subdividing up to a predefined degree of refinement controlling a resolution of said 3D region. - View Dependent Claims (25, 26, 27, 28, 29, 30)
- said computer readable medium comprising;
Specification