Abstract:
A mirror assembly adapted for use in a panoramic imaging system for capturing a panoramic image includes a mirror for optically coupling to a fisheye lens having a first field of view, the mirror configured for reflecting an image of a second field of view through the fisheye lens. A housing has a first end and a second end, the mirror being secured proximate to the first end, and the second end having an engagement portion for securing the mirror assembly to the panoramic imaging system. When the mirror assembly is secured to the panoramic imaging system, the mirror is optically coupled to the fisheye lens and a detector for capturing a first portion of the panoramic image and a second portion of the panoramic image, the first portion of the panoramic image having a portion overlapping the second portion of the panoramic image.

Description:
CROSS REFERENCE TO RELATED APPLICATIONS 
     This application is a continuation of U.S. patent application Ser. No. 12/726,029, entitled “Systems And Methods For Panoramic Imaging”, filed Mar. 17, 2010, which is a continuation of International Application PCT/US08/077,258, entitled “Systems And Methods For Panoramic Imaging”, filed on Sep. 22, 2008, which claims priority to U.S. Provisional Application No. 60/974,338 entitled “Cata-Fisheye Camera for Panoramic Imaging”, filed on Sep. 21, 2007, the contents of which are hereby incorporated by reference in their entirety. 
    
    
     STATEMENT REGARDING FEDERALLY-SPONSORED RESEARCH 
     This invention was made with government support under N00014-05-1-0032 awarded by the Office of Naval Research. The government has certain rights in the invention. 
    
    
     BACKGROUND 
     1. Field 
     The present application relates to systems and methods for panoramic imaging. 
     2. Background Art 
     Wide-angle and panoramic imaging have had significant impact on a variety of real-world applications. For example, being able to “see” in all directions provides situational awareness in surveillance and autonomous navigation tasks. Image-based immersive virtual reality enables realistic exploration of indoor and outdoor environments. Panoramic video conference and telepresence devices aid in effective virtual collaboration. All these applications rely on capturing high-quality panoramic videos. In many of these applications, it is not required to capture the entire spherical field of view (FOV). It is sufficient to capture 360 degree panoramas with a reasonable vertical field of view that has more or less equal coverage above and beneath the horizon. For instance, in the case of video conferencing, it is only necessary to capture the sitting participants and the table. The same is true for ground navigation, where the vehicle only needs to view the roads and the obstacles around it. 
     Current techniques for capturing panoramic videos can be classified as either dioptric (systems that use only refractive optics) or catadioptric (systems that use both reflective and refractive optics). Dioptric systems include camera-clusters and wide-angle or fisheye lens based systems. Catadioptric systems include ones that use single or multiple cameras with one or more reflective surfaces. 
     A popular dioptric solution is the use of fisheye lenses. Since fisheye lenses have a hemispherical FOV, fisheye lenses can only be used to capture hemispherical panoramas. D. Slater, “Panoramic Photography with Fisheye Lenses”,  International Association of Panoramic Photographers,  1996, proposed the use of two back-to-back fisheye lens cameras to obtain full spherical panoramas. Similar to camera-cluster approaches, this approach suffers from large parallax. In addition, if the goal is to capture a reasonable vertical coverage about the horizon then in terms of optics, image detection and bandwidth, it is wasteful to capture the entire sphere. 
     Catadioptric system employ one or more reflective surfaces capable of projecting a wide view of the world onto a single sensor. Several of these designs satisfy the so-called single viewpoint (SVP) constraint (e.g., that the entire image appears to be capture from a single point of reference). S. Baker and S. Nayar, “A Theory of Single-Viewpoint Catadioptric Image Formation”,  IJCV,  35(2):175-196, 1999, derived a family of mirrors that satisfy the SVP constraint, when used with perspective lenses. Since in these designs perspective cameras view the world through highly curved reflective surfaces, the vertical resolution (number of pixels per unit elevation angle) of the computed panoramas is not uniform and is, in general, poor near the apex of the mirror. 
     Yagi and Kawato, “Panorama Scene Analysis with Conic Projection,”  IEEE International Workshop on Intelligent Robots and Systems , Vol. 1, pp. 181-187, 1990, and Lin and Bajsey, “True Single View Point Cone Mirror Omni-Directional Catadioptric System,  ICCV , pp. II: 102-107, 2001, have used conical mirrors in their catadioptric designs, with the latter satisfying the SVP constraint. In these examples, a better vertical resolution is obtained. The conical mirror acts as a planar mirror in the radial direction and hence the vertical resolution is the same as that of the camera. However, this restricts the maximum vertical FOV of the panorama to half the FOV of the camera. For instance, if the goal was to capture a panorama with a 60 degree vertical field of view, the camera must have a 120 degree field of view. Even if such a system is used, the resolution of the panorama approaches zero at the apex of the cone. More importantly, conical mirrors are known to produce strong optical aberrations due to astigmatism that fundamentally limit the resolution of the captured panorama. Thus, there is a need for improved systems and methods for capturing panoramic images. 
     SUMMARY 
     Systems and methods for capturing a panoramic image of a field of view are disclosed herein. An exemplary system of the disclosed subject matter for capturing a panoramic image of a field of view includes a fisheye lens, a mirror optically coupled to the fisheye lens for reflecting an image of the field of view through the fisheye lens, and a detector, optically coupled to the fisheye lens and the mirror, for capturing the panoramic image. In some embodiments, the mirror is a spherical mirror and can be positioned coaxially with regard to the fisheye lens. In some embodiments, the system is further configured to satisfy the following conditions that the upper angle of a desired field of view is equal to the upper angle of a field of view of the fisheye lens, the lower angle of the desired field of view is less than or equal to the lower angle of a field of view of the mirror, and the angle of overlap between the field of view of the mirror and the field of view of the fisheye lens is equal to the difference between the lower angle of the field of view of the fisheye lens and the upper angle of the field of view of the mirror. 
     The system for panoramic imaging can further include a processor and a memory storing program instructions to cause the processor utilize the detector to capture a first portion of the image of the field of view transmitted directly through the fisheye lens, and capture a second portion of the image of the field of view reflected from the mirror through the fisheye lens. In some embodiments, the memory stores program instructions that when executed by the processor, further cause the processor to stitch together the first portion of the captured image and the second portion of the captured image to form a panoramic image. In some embodiments, the stitching together of the first portion of the captured image and the second portion of the captured image is performed utilizing a scale-invariant feature transform algorithm. 
     In some embodiments, the memory stores program instructions that further cause the processor to calibrate the system. The memory can also store program instructions that further cause the processor generate a table of correspondence between captured image pixel locations and panorama pixel locations. In some embodiments, the memory stores program instructions that further cause the processor utilize the detector to capture the first portion of the image and capture the second portion of the image simultaneously. 
     An exemplary method of the disclosed subject matter for capturing a panoramic image of a field of view includes positioning a mirror a first distance from a fisheye lens, utilizing the fisheye lens to capture a first portion of the image of the field of view transmitted directly through the fisheye lens, utilizing the fisheye lens to capture a second portion of the image of the field of view reflected from the mirror through the fisheye lens, and stitching together the first and second images to compose a panoramic image. The method can further include locating image pixels correspondingly found in both the first and second portions of the captured image, determining calibration settings for the mirror, determining calibration settings for the fisheye lens, and generating a table of correspondence between a pixel location on the captured image and a pixel location on the panoramic image. 
     In some embodiments, the capture of the first and second portions of the image are performed further utilizing a detector. The capture of the first and second portions of the image can be performed simultaneously, and stitching together the first and second portions of the image can be performed utilizing a scale-invariant feature transform algorithm. The determination of calibration setting for the mirror can be performed by determining the center of curvature and the orientation of the mirror. The determination of calibration setting for the fisheye lens can be performed by determining the projection function of the fisheye lens. 
     In some embodiments, the generation of a table of correspondence between a pixel location on the captured image and a pixel location on the panoramic image further includes determining an image location of the pixels, calculating a corresponding panorama location for the pixels located in the first portion of the captured image, calculating a corresponding panorama location for the pixels located in the second portion of the captured image, and calculating a corresponding panorama location for the pixels located in both the first and second portions of the image. The calculation of the corresponding panorama location for the pixels located in both the first and second portions of the captured image can further include using a smoothing technique to calculate the corresponding panorama location for the pixels located in both the first and second portions of the captured image. The stitching together the first and second portions of the captured image to compose a panoramic image can further include using the correspondence table to map the first and second portions of the captured image into a panoramic image. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The accompanying drawings, which are incorporated and constitute part of this disclosure, illustrate embodiments of the disclosed subject matter. 
         FIG. 1  is a diagram of a system for panoramic imaging in accordance with an embodiment of the disclosed subject matter. 
         FIG. 2(   a ) illustrates of a field of view captured by a detector in accordance with an embodiment of the disclosed subject matter. 
         FIG. 2(   b ) illustrates an panoramic view of a field of view captured by a detector in accordance with an embodiment of the disclosed subject matter. 
         FIG. 3  is an exemplary design of a system for panoramic imaging in accordance with an embodiment of the disclosed subject matter. 
         FIG. 4(   a ) is an image of an exemplary system for panoramic imaging in accordance with an embodiment of the disclosed subject matter. 
         FIG. 4(   b ) is an image of an exemplary mirror assembly for use with a panoramic imaging system in accordance with an embodiment of the disclosed subject matter. 
         FIG. 5  is an exemplary chart of a method for panoramic imaging in accordance with an embodiment of the disclosed subject matter. 
         FIG. 6  is a combined image of a mirror-panoramic and fisheye-panoramic of an overlap area illustrating overlap features in accordance with an embodiment of the disclosed subject matter. 
     
    
    
     DETAILED DESCRIPTION 
     The systems and methods described herein are useful for panoramic imaging both above and below the horizon. The disclosed subject matter provides a simple and compact system utilizing a fisheye lens and a mirror to capture overlapping panoramic images spanning the horizon. Those images are then stitched together to form a single, high resolution panoramic image of the selected areas of greatest interest to the user. 
       FIG. 1  illustrates an exemplary design of a system  100  for panoramic imaging in accordance with the disclosed subject matter. The system  100  includes a fisheye lens  110  optically coupled to a mirror  112 . A detector  114 , e.g., a 7 frame/sec Lumnera Lw570 digital video camera with a 5 megapixel sensor, can be utilized to capture an image of light rays  116  directly incident upon the fisheye lens  110  and light rays  118  reflected from mirror  112  through fisheye lens  110 . All of the angles represented in  FIG. 1  are measured from the vertical center line L, unless indicated otherwise. 
     Mirror  112  has the characteristics of a diameter d m , e.g., 50.26 mm, and a radius r m , e.g., 70.12 mm. The mirror  112  can be positioned at a distance h m , e.g., 2.6 mm. Fisheye lens  110  has the characteristics of a vertical field of view of Ω f , e.g., 97.5° (the field of view of a fisheye lens is usually twice its vertical coverage, e.g., a 180° fisheye lens covers 90° in the vertical direction). The fisheye lens  110  can be any commercially available fisheye lens, e.g., a Fujinon FE185C046HA-1 fisheye lens with a manufacturers listed field of view of 185° (with a measured field of view of 195°), or alternatively it can be a custom made fisheye lens. 
       FIG. 1  further illustrates that fisheye lens  110  can have a field of view extending from the fisheye lower limit θ fl  to the fisheye upper limit θ fu . Mirror  112  can have a field of view extending from the mirror lower limit θ ml  to the mirror upper limit θ mu . The system  100  can have an overall field of view extending from the lower limit θ al , e.g., 120°, to the upper limit θ au , e.g., 65°, for a total panoramic field of view Δθ a =(θ al −θ au ), e.g., 55°, where θ au =θ fu  and θ al ≦θ ml  in an exemplary embodiment. The system  100  can have an overlap Δθ o  in the fields of view of the fisheye lens  110  and the mirror  112 , such that Δθ 0 =(θ fl −θ mu ). 
     In one exemplary embodiment, an overlap Δθ o  of 20-30 pixels can be sufficient for blending. Alternatively, if the size of detector is much small than the overlap Δθ o  can be 20°. The system  100  is thus defined by the parameters:
 
θ au =θ fu   (1a)
 
θ ml ≧θ al   (1b)
 
Δθ o =(θ fl −θ mu )  (1c)
 
Furthermore, the lower field of view angle for the fisheye lens, θ fl , satisfies the requirement that θ fl =Ω f /2. Parameters (1a) and (1b) state that the mirror and the lens should be positioned such that neither obstruct the panoramic field of view, and parameter (1c) ensures that no part of the desired panoramic field of view is omitted from the captured image. Thus, parameters (1a)-(1c) can be set such that the desired panoramic field of view is captured by the detector  114 .
 
       FIG. 2(   a ) illustrates an overall field of view, as captured by detector  114 , for an exemplary embodiment of the disclosed subject matter. Area A f  represents the image captured from light rays directly incident upon fisheye lens  110 , while area A m  represents the image captured from light rays reflected from mirror  112 . As shown in  FIG. 2(   a ), area A f  has an angular width of Δθ f =(θ fu −θ fl ) and area A m  has an angular width of Δθ m =(θ mu −θ ml ). Areas A o  represents the overlap of areas A f  and A m , and have an angular widths of Δθ o =(θ fl −θ mu ). Though  FIG. 2(   a ) shows two separate areas A o , those skilled in the art will appreciated that these two areas in fact depict the same image.  FIG. 2(   b ) illustrates an unwrapped panorama view of the field of view represented in  FIG. 2(   a ). 
       FIG. 3  shows an exemplary panoramic imaging system designed in accordance with the disclosed subject matter. The cata-fisheye concept allows for a camera designs with a wide range of fields of view by varying the parameters (e.g., shape and position) of mirror  112  and the field of view of fisheye lens  110 . In accordance with the disclosed subject matter, mirror  112  can have a wide range of shapes, e.g., spherical, paraboloidal, hyperboloidal, conical, or even a complex aspherical shape. In one exemplary embodiment, mirror  112  is a spherical mirror. In the same or another embodiment, mirror  112  is coaxial with fisheye lens  110 . 
       FIG. 4(   a ) illustrates an exemplary embodiment of system  100 . As illustrated in  FIG. 4(   a ), the total size of the system can be 10 cm high by 7 cm wide by 5.5 cm deep. As shown in  FIGS. 4(   a )-( b ), mirror  112  is part of a mirror assembly  410 . In one embodiment, mirror assembly  410  can be a detachable unit, as shown in  FIG. 4(   b ), which can be secured to the system  100  by various attachment means, e.g., by screw threads. The mirror assembly  410  can be composed of a top and a cylindrical transparent wall which can have screw threads on the attaching edge, for securing mirror assembly  410  to panoramic imaging system  100 . Exemplary system  100  is further connected to a processing unit (not shown), e.g., a standard desktop computer, by a connector  412  that is compatible with detector  114 , e.g., a standard USB cable. 
     Another design parameter that can be set is the amount of overlap between the upper and lower views. Since the stitching of the two views takes place in the panoramic image, the overlap can be specified in terms of a number of pixels, p o . The corresponding angular overlap for the two fields of view is expressed by:
 
Δθ o =Ω f /2 −f   −1   [f (Ω f /2)− p   o ].  (2)
 
Here, r=f(θ) is the projection function of the fisheye lens, where r is the radial distance of a pixel from the image center and θ is the elevation angle of the incident ray with respect to the optical axis of the fisheye lens.
 
     In one exemplary design, fisheye lens  110  is assumed to have a single viewpoint positioned at origin O, as shown in  FIG. 3 . Though at present fisheye lenses do not exactly have a single viewpoint, any problems arising as a result of this assumption can be solved by adding tolerances to the limits of the desired field of view. Continuing with  FIG. 3 , h l  is the distance between O and the tip of the fisheye lens  110  and d l  is the width of the fisheye lens  110  including its casing. In an exemplary embodiment, spherical mirror  112  has a radius of curvature r m  and width d m  which are to be determined, and is positioned at a chosen distance h m  from the lens. 
     As shown in  FIG. 3 , P is a point on the rim of mirror  112 . In one exemplary embodiment and according to the parameters 1(a)-(c), set forth above, the position of P and the surface normal {circumflex over (n)} at P (and hence the radius and center of curvature of mirror  112 ) are such that an incoming ray  120 , at angle θ mu , is reflected by P towards O. This condition is satisfied if the directional angle θ {circumflex over (n)}  at P satisfies:
 
θ {circumflex over (n)} =½(π+θ fu +θ mu ).  (3)
 
From the above, the radius of curvature and the width of the mirror are determined by:
 
                       r   m     =         (       h   m     +     h   l       )     ⁢   sin   ⁢           ⁢     θ   fu           sin   ⁡     (       θ   fu     -     θ     n   ^         )       -     sin   ⁢           ⁢     θ   fu             ,           (   4   )                 d   m     =         2   ⁢     (       h   m     +     h   l       )     ⁢   sin   ⁢           ⁢     θ     n   ^       ⁢   sin   ⁢           ⁢     θ   fu           sin   ⁡     (       θ   fu     -     θ     n   ^         )       -     sin   ⁢           ⁢     θ   fu           .             (   5   )               
In this exemplary embodiment, the radius of curvature r m  and the width d m  are computed as a function of the position h m  of mirror  112  with respect to fisheye lens  110 . While any arbitrary position h m  and a mirror  112  with corresponding radius of curvature r m  and width d m  can satisfy the upper limit parameter (1a) and the overlap parameter (1c), that does not necessarily ensure that the fisheye lens  110  will not obstruct the desired panoramic field of view (e.g., parameter (1b)). To determine the smallest h m  for which θ ml ≧θ al  a linear search can be used, for example, by using a well known iterative method utilizing the above equations.
 
     A person skilled in the art will appreciate that there are several design solutions for a desired panoramic field of view based upon the field of view of fisheye lens  110  and the desired overlap Δθ o  between the upper and lower views. Table 1 illustrates exemplary solutions for five different fisheye lens fields of view: 
     
       
         
               
               
               
               
             
               
               
               
               
               
               
             
               
               
               
               
               
               
             
           
               
                   
                 TABLE 1 
               
             
             
               
                   
                   
               
               
                   
                   
                   
                 Design Solution 
               
               
                   
                 Panorama FOV 
                 Fisheye FOV 
                 (in mm) 
               
             
          
           
               
                   
                 (Required) 
                 (Chosen) 
                 r m   
                 d m   
                 h m   
               
               
                   
                   
               
             
          
           
               
                   
                 +30° to −30° 
                 170° 
                 70.00 
                 47.88 
                 4.6 
               
               
                   
                 (60° to 120°) 
                 180° 
                 76.36 
                 44.45 
                 4.5 
               
               
                   
                   
                 190° 
                 81.49 
                 42.18 
                 4.4 
               
               
                   
                   
                 200° 
                 96.22 
                 39.73 
                 4.2 
               
               
                   
                   
                 210° 
                 106.98 
                 37.15 
                 4.1 
               
               
                   
                   
               
             
          
         
       
     
       FIG. 5  illustrates an exemplary method  500  for panoramic imaging in accordance with the disclosed subject matter. In one embodiment, mirror  112  is position  510  and an image is captured  520 . The portion of the image comprising the light directly incident upon the fisheye lens  110  can be captured  522  separately from the capture  524  of the portion of the image comprising the light reflected from mirror  112  or both portions can be captured  520  simultaneously. The portions are captured  520  utilizing the detector  114 . Upon capturing  520  the image, in an exemplary embodiment, the location of a number of pixels located in both the fisheye and mirror images are determined  530 . This determination  530  is made, for example, by utilizing a feature specific algorithm, e.g., a scale-invariant feature transform (SIFT) algorithm. 
     In one exemplary embodiment, once the design parameters for the imaging system  100  have been selected the system  100  is calibrated  540 . In order to geometrically map the captured image to the upper and lower panoramas and then stitch them, it is useful to known the relationship between the light rays entering the camera and the pixels in the captured image. This computation is governed by the design parameters; however, the actual position and orientation of the mirror may not adhere strictly to the design specifications, as a result of manufacturing tolerances. Another factor is the possible inaccuracy in the assumed position fisheye lens viewpoint O. As a result, calibration  540  of the system  100  is performed by calibrating  542  fisheye lens  110  and by calibrating  544  mirror  112 . In one exemplary embodiment, calibration  542  of fisheye lens  110  is performed by determining the fisheye projection function r=f(θ), and calibration  544  of mirror  112  is performed by determining the actual center of curvature (x m , y m , z m ) and orientation α m , β m  of mirror  112 . To calibrate  542  fisheye lens  110 , a projection function provided by the manufacturer can be used, or any of the other calibration methods that are well known in the art can be employed. 
     In an exemplary embodiment, calibration  544  of mirror  112  is performed by searching for a solution {tilde over (M)}=(x m , y m , z m , α m , β m ) in an R 5  space (M) for which corresponding local features in the overlapping fields of view of the two views are aligned in the panoramic space. The camera is first placed in an environment with a large number of distant features, particularly in the overlapping region. Nearby features should be avoided as they would have larger parallax and hence tend to introduce errors in the alignment process. The solution is initialized to the design values, {tilde over (M)}=(0,0, h m +h l ,0,0), and then, as shown in  FIG. 6 , a mirror-panorama  610  and a fisheye-panorama  612  are generated for the overlapping region. As shown in  FIG. 6 , a program, e.g., a program running a scale-invariant feature transform (SIFT) algorithm, is used to determine  530  a corresponding set of features from the two panoramas  610 ,  612 . An extracted feature can be represented in spherical coordinates. In a pruned feature set, let the ith feature in the mirror-panorama  610  be denoted by F m   (i) =[θ m   (i) ,φ m   (i) ] and the corresponding feature in the fisheye-panorama  612  be denoted by F f   (i) =[θ f   (i) ,φ f   (i) ]. The problem of finding the solution {tilde over (M)} can then be setup as a minimization of an objective function that is the sum of the square of the errors in the alignment of the corresponding features: 
                       arg   ⁢             ⁢             ⁢   min       M   ~       ⁢     ∑         [       F   f     (   i   )       -       F   m     (   i   )       ⁡     (     M   ~     )         ]     2     .               (   6   )               
During this optimization, it is not necessarily required to search for the solution in the entire R 5  space. Rather a small interval ΔM centered at the ideal design parameter values can be searched for instead. In one embodiment, the size of the interval ΔM is chosen based on the manufacturing tolerances and the ambiguity in the position of fisheye lens viewpoint O.
 
     Continuing with  FIG. 5 , in one exemplary embodiment, once the system  100  has been calibrated  540  a look-up table is generated  550 . Each pixel in the panorama can be represented by a spherical coordinate/direction. The corresponding location for each pixel is then found  552  in the captured image. Referring to  FIG. 2(   a ), each panorama pixel (θ p ,φ p ) may lie in one of at least three different areas: (i) it may lie in the direct field of view of fisheye lens  110  (area A f ), (ii) it may lie in the field of view of mirror  112  (area A m ), or (iii) it may lie both in the direct field of view of fisheye lens  110  and in the field of view of mirror  112  (overlap area A o ). If (θ p ,φ p ) is in the field of view of fisheye lens  110 , then its corresponding location in the captured image is calculated  554  by
 
( f (θ p )cos φ p   ,f (θ p )sin φ p )  (7)
 
where f(θ p ) is the fisheye projection function, discussed above.
 
     If the pixel is in the field of view of mirror  112 , then its corresponding location in the captured image is calculated  556  by solving for the outgoing ray (θ c ,φ c ) from fisheye lens  110  which would finally proceed in the pixel (θ p ,φ p )&#39;s direction after being reflected by mirror  112 . This is a non-liner problem and can be solved as follows. Let R(θ,φ) be the direction in which a ray (θ,φ) from the origin O would proceed after being reflected by mirror  112 . Then, the following optimization equation solves for (θ c ,φ c ) in a least squares sense: 
                           arg   ⁢           ⁢   min       (       θ   c     ,     ϕ   c       )       ⁡     [       (       θ   p     ,     ϕ   p       )     -     R   ⁡     (       θ   c     ,     ϕ   c       )         ]       2     .           (   8   )               
The image location can then be given by:
 
( f (θ c )cos φ c   ,f (θ c )sin φ c )  (9)
 
Though solving the above problem for each pixel in the field of view of mirror  112  can be computationally expensive, it is not necessary because the reflecting point on mirror  112  varies smoothly with the incoming ray direction, and therefore, the above can be solved for discrete intervals and interpolated for the in-between pixels.
 
     If the pixel lies in the overlapping region, its location in the panorama is calculated  558  by both of the above methods and a linear feathering technique can be used  559  to smooth the blending. The entire mapping between the panorama and the captured image is then used to generate  550  look-up table. The look-up table is then used to map  560  captured images to high resolution panoramas in real time, enabling real time video applications. The calibration process and the mapping calculations are performed once for any given system  100 , and do not need to be repeated unless there is some change in the system configuration. 
     It will be understood that the foregoing is only illustrative of the principles described herein, and that various modifications can be made by those skilled in the art without departing from the scope and spirit of the disclosed subject matter. For example, the system and methods described herein are used for panoramic imaging. It is understood that that techniques described herein are useful in connection with still imaging and video imaging. Moreover, features of embodiments described herein may be combined and/or rearranged to create new embodiments.