Stitching frames into a panoramic frame
First Claim
1. A method of stitching a plurality of frames captured at multiple viewing angles by a plurality of imagers mounted around a common center into a panoramic frame imaging, at least partly, an environment surrounding said common center, comprising:
- receiving a set of a plurality of frames, each of the plurality of frames is captured a different viewing angle from other frames of the plurality of frames by one of a plurality of imagers mounted around a common center region to image an environment surrounding said common center region;
providing a plurality of calibration models each is calculated based on one or more intrinsic parameters of one of said plurality of imagers;
identifying in each of a plurality of pairs of neighboring frames from said plurality of frames at least one overlapping area using at least some of the plurality of calibration models, each said pair of neighboring frames comprises frames captured about the same time by two imagers from said plurality of imagers, said two imagers having overlapping fields of view;
for each said at least one overlapping area;
identifying a center connecting axis connecting between centers of respective said pair of neighboring frames;
calculating a motion gradient for each frame of said pair of neighboring frames;
adapting pixels of said pair of neighboring frames in said at least one overlapping area based on corresponding values from said motion gradient along said center connecting axis; and
stitching said pair of adapted neighboring frames into a panoramic frame which at least partly imaging an environment surrounding said common center;
wherein each of the one or more intrinsic parameters is selected from a group consisting of a principal point parameter, a focal length parameter, and a fisheye distortion parameterwherein at least one of said plurality of calibration models comprises a fish-eye correction matrix and an extrinsic camera calibration matrix which map coordinates of pixels to corrected coordinates defined according to symmetry axes of an image plane of respective said imager;
wherein, in each of said plurality of frames, said at least one overlapping area is calculated based on a combined matrix generated according to said fish-eye correction matrix and said extrinsic camera calibration matrix are combined into a combined matrix used for calculating said at least one overlapping area overlap between each two consequent frames by projecting them onto a sphere so that each pixel becomes a 3D vector and correcting the 3D vectors according to the combined, full calibration matrix.
1 Assignment
0 Petitions
Accused Products
Abstract
A method of stitching frames captured at multiple viewing angles comprising: receiving a set of frames captured by imagers, identifying in each of pairs of neighboring frames, each neighboring frame is captured about the same time as the other from an imager having an overlapping field of view with another. For each overlapping area a center connecting axis connecting between centers of respective the pair of neighboring frames is identified, a motion gradient for each frame of the pair of neighboring frames is calculated, pixels of the pair of neighboring frames in the at least one overlapping area are adapted based on corresponding values from the motion gradient along the center connecting axis, the pair of adapted neighboring frames into a panoramic frame which at least partly imaging an environment surrounding the common center is stitched.
16 Citations
16 Claims
-
1. A method of stitching a plurality of frames captured at multiple viewing angles by a plurality of imagers mounted around a common center into a panoramic frame imaging, at least partly, an environment surrounding said common center, comprising:
-
receiving a set of a plurality of frames, each of the plurality of frames is captured a different viewing angle from other frames of the plurality of frames by one of a plurality of imagers mounted around a common center region to image an environment surrounding said common center region; providing a plurality of calibration models each is calculated based on one or more intrinsic parameters of one of said plurality of imagers; identifying in each of a plurality of pairs of neighboring frames from said plurality of frames at least one overlapping area using at least some of the plurality of calibration models, each said pair of neighboring frames comprises frames captured about the same time by two imagers from said plurality of imagers, said two imagers having overlapping fields of view; for each said at least one overlapping area; identifying a center connecting axis connecting between centers of respective said pair of neighboring frames; calculating a motion gradient for each frame of said pair of neighboring frames; adapting pixels of said pair of neighboring frames in said at least one overlapping area based on corresponding values from said motion gradient along said center connecting axis; and stitching said pair of adapted neighboring frames into a panoramic frame which at least partly imaging an environment surrounding said common center; wherein each of the one or more intrinsic parameters is selected from a group consisting of a principal point parameter, a focal length parameter, and a fisheye distortion parameter wherein at least one of said plurality of calibration models comprises a fish-eye correction matrix and an extrinsic camera calibration matrix which map coordinates of pixels to corrected coordinates defined according to symmetry axes of an image plane of respective said imager; wherein, in each of said plurality of frames, said at least one overlapping area is calculated based on a combined matrix generated according to said fish-eye correction matrix and said extrinsic camera calibration matrix are combined into a combined matrix used for calculating said at least one overlapping area overlap between each two consequent frames by projecting them onto a sphere so that each pixel becomes a 3D vector and correcting the 3D vectors according to the combined, full calibration matrix. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
-
-
14. A system of stitching a plurality of frames captured at multiple viewing angles by a plurality of imagers mounted around a common center into a panoramic frame imaging, at least partly, an environment surrounding said common center, comprising:
-
an interface adapted to receive a set of a plurality of frames, each of the plurality of frames is captured about the same time as other frames of the plurality of frames at a different viewing angle from the other frames of the plurality of frames by a plurality of imagers mounted around a common center region to image an environment surrounding said common center region; a code store adapted to store a code; a processor adapted to execute said code for; providing access to a plurality of calibration models each is calculated based on one or more intrinsic parameters of one of said plurality of imagers; identifying in each of a plurality of pairs of neighboring frames from said plurality of frames at least one overlapping area using at least some of the plurality of calibration models, each said pair of neighboring frames comprises frames captured about the same time by two imagers from said plurality of imagers, said two imagers having overlapping fields of view; for each said at least one overlapping area; identifying a center connecting axis connecting between centers of respective said pair of neighboring frames; calculating a motion gradient for each frame of said pair of neighboring frames; adapting pixels of said pair of neighboring frames in said at least one overlapping area based on corresponding values from said motion gradient along said center connecting axis; and stitching said pair of adapted neighboring frames into a panoramic frame which at least partly imaging an environment surrounding said common center; wherein each of the one or more intrinsic parameters is selected from a group consisting of a principal point parameter, a focal length parameter, and a fisheye distortion parameter; wherein at least one of said plurality of calibration models comprises a fish-eye correction matrix and an extrinsic camera calibration matrix which map coordinates of pixels to corrected coordinates defined according to symmetry axes of an image plane of respective said imager; wherein, in each of said plurality of frames, said at least one overlapping area is calculated based on a combined matrix generated according to said fish-eye correction matrix and said extrinsic camera calibration matrix are combined into a combined matrix used for calculating said at least one overlapping area overlap between each two consequent frames by projecting them onto a sphere so that each pixel becomes a 3D vector and correcting the 3D vectors according to the combined, full calibration matrix. - View Dependent Claims (15)
-
-
16. A software program product for stitching a plurality of frames captured at multiple viewing angles by a plurality of imagers mounted around a common center into a panoramic frame imaging, at least partly, an environment surrounding said common center, comprising:
-
a non-transitory computer readable storage medium; first program instructions for receiving a set of a plurality of frames, each of the plurality of frames is captured at a different viewing angle from other frames by a plurality of imagers mounted around a common center region to image an environment surrounding said common center region; second program instructions for providing a plurality of calibration models each is calculated based on one or more intrinsic parameters of one of said plurality of imagers; third program instructions for identifying in each of a plurality of pairs of neighboring frames from said plurality of frames at least one overlapping area using at least some of the plurality of calibration models, each said pair of neighboring frames comprises frames captured about the same time by two imagers from said plurality of imagers, said two imagers having overlapping fields of view; fourth program instructions for performing the following for each said at least one overlapping area; identifying a center connecting axis connecting between centers of respective said pair of neighboring frames; calculating a motion gradient for each frame of said pair of neighboring frames; adapting pixels of said pair of neighboring frames in said at least one overlapping area based on corresponding values from said motion gradient along said center connecting axis; and stitching said pair of adapted neighboring frames into a panoramic frame which at least partly imaging an environment surrounding said common center; wherein each of the one or more intrinsic parameters is selected from a group consisting of a principal point parameter, a focal length parameter, and a fisheye distortion parameter; wherein said first, second, third, and fourth program instructions are executed by at least one computerized processor from said non-transitory computer readable storage medium; wherein at least one of said plurality of calibration models comprises a fish-eye correction matrix and an extrinsic camera calibration matrix which map coordinates of pixels to corrected coordinates defined according to symmetry axes of an image plane of respective said imager; wherein, in each of said plurality of frames, said at least one overlapping area is calculated based on a combined matrix generated according to said fish-eye correction matrix and said extrinsic camera calibration matrix are combined into a combined matrix used for calculating said at least one overlapping area overlap between each two consequent frames by projecting them onto a sphere so that each pixel becomes a 3D vector and correcting the 3D vectors according to the combined, full calibration matrix.
-
Specification