Abstract:
Compressive sensing (CS)-based spatial-multiplexing cameras (SMCs) sample a scene through a series of coded projections using a spatial light modulator and a few optical sensor elements. A co-designed video CS sensing matrix and recovery algorithm provides an efficiently computable low-resolution video preview. The scene&#39;s optical flow is estimated from the preview and fed into a convex-optimization algorithm to recover the high-resolution video.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    The present application claims the benefit of the filing date of U.S. Provisional Patent Application Ser. No. 61/604,095 filed by the present inventors on Feb. 28, 2012. 
         [0002]    The aforementioned provisional patent application is hereby incorporated by reference in its entirety. 
     
    
     STATEMENT REGARDING FEDERALLY SPONSORED RESEARCH OR DEVELOPMENT 
       [0003]    This invention was made with government support under Grant Number N66001-11-C-4092 awarded by the Defense Advanced Research Projects Agency, Grant No. FA9550-09-1-0432 awarded by the Air Force Office of Scientific Research, Grant No. W911NF-09-1-0383 awarded by the Army Research Laboratory and Grant No. N66001-08-1-2065 awarded by the SPAWAR Systems Center (SSC) Pacific. The government has certain rights in the invention. 
     
    
     BACKGROUND OF THE INVENTION 
       [0004]    1. Field of the Invention 
         [0005]    The present invention relates to spatial multiplexing cameras, and more particularly, to video compressive sensing for spatial multiplexing cameras. 
         [0006]    2. Brief Description of the Related Art 
         [0007]    Compressive sensing (CS) enables one to sample well below the Nyquist rate, while still enabling the recovery of signals that admit a sparse representation in some basis. See, E. J. Cand&#39;es, J. Romberg, and T. Tao, “Robust uncertainty principles: Exact signal reconstruction from highly incomplete incomplete frequency information,” IEEE Trans. Inf. Theory, vol. 52, pp. 489-509, February 2006; D. L. Donoho, “Compressed sensing,” IEEE Trans. Inf. Theory, vol. 52, pp. 1289-1306, April 2006; and U.S. Pat. No. 7,271,747. Since many natural (and artificial) signals exhibit sparsity, CS has potential to reduce the sampling rates and costs of corresponding devices in numerous applications. 
         [0008]    Compressive sensing deals with the recovery of a signal vector xε           N  from M&lt;N non-adaptive linear measurements 
         [0000]        y=Φx+z,   (1)
 
         [0000]    where Φε           M×N  is the sensing matrix and z represents measurement noise. Estimating the signal x from the compressive measurements y is ill-posed, in general, since the (noiseless) system of equations y=Φx is underdetermined. Nevertheless, a fundamental result from CS theory states that the signal vector x can be recovered stably from 
         [0000]        M˜K  log( N/K )  (2)
 
         [0000]    measurements if: i) the signal x admits a K-sparse representation s=Ψ T x in an orthonormal basis Ψ, and ii) the matrix ΦΨ satisfies the restricted isometry property (RIP). For example, if the entries of the matrix Φ are i.i.d. zero mean (sub-)Gaussian distributed, then ΦΨ is known to satisfy the RIP with overwhelming probability. Furthermore, any K-sparse signal x satisfying (2) can be recovered stably from the noisy measurement y by solving a convex optimization problem such as 
         [0000]      minimize ∥Ψ T   x∥   1  subject to ∥ y−Φx∥   2 ≦ε  (P1)
 
         [0000]    where (•) T  denotes matrix transposition and ε controls the accuracy of the estimate. 
         [0009]    The single-pixel camera (SPC), the flexible voxels camera, and the P2C2 camera are practical imaging architectures that rely on the theory of CS. See, M. F. Duarte, M. A. Davenport, D. Takhar, J. N. Laska, T. Sun, K. F. Kelly, and R. G. Baraniuk, “Single-pixel imaging via compressive sampling,” IEEE Signal Process. Mag., vol. 25, pp. 83-91, March 2008; M. Gupta, A. Agrawal, A. Veeraraghavan, and S. Narasimhan, “Flexible voxels for motion-aware videography,” in Euro. Conf. Comp. Vision, (Crete, Greece), September 2010; and D. Reddy, A. Veeraraghavan, and R. Chellappa, “P2C2: Programmable pixel compressive camera for high speed imaging,” in IEEE Conf. Comp. Vision and Pattern Recog, (Colorado Springs, CO, USA), June 2011, and U.S. Patent Application Publication No. 2006/0239336. 
         [0010]    Spatial-multiplexing cameras (SMCs) are practical imaging architectures that build upon the ideas of CS. Such cameras employ a spatial light modulator, e.g., a digital micro-minor device (DMD) or liquid crystal on silicon (LCOS), to optically calculate a series linear projections of a scene x by implementing the sensing process in (1) above using pseudo-random patterns that ultimately determine the sensing matrix Φ. A prominent example of an SMC architecture is the single-pixel camera (SPC); its main feature is the ability of acquiring images by using only a single sensor element (i.e., a single pixel) and by taking significantly fewer measurements than the number of pixels of the scene to be recovered. Since SMCs rely on only a few sensor elements, they can operate at wavelengths where corresponding full-frame sensors are too expensive. In the recovery stage the image x is recovered from the compressive measurements collected in y. In practice, recovery is performed either by using (P1) above, total variation (TV)-based convex optimization, or greedy algorithms. 
         [0011]    One approach for video-CS for SMC architectures relies on the observation that perception of motion is heavily dependent on the spatial resolution of the video. Specifically, for a given scene, reducing its spatial resolution lowers the error caused by a static scene assumption. Simultaneously, decreasing the spatial resolution reduces the dimensionality of the individual video frames. Both properties build the foundation of the multi-scale recovery approach proposed in J. Y. Park and M. B. Wakin, “A multiscale framework for compressive sensing of video,” in Pict. Coding Symp., (Chicago, Ill., USA), May 2009, where several compressive measurements are acquired at multiple scales for each video frame. The recovery of the video at coarse scales (small spatial resolution) is used to estimate motion, which is then used to boost the recovery at finer scales (high spatial resolution). The key drawback of this approach is the fact that it relies on the assumption that each frame of the video remains static during the acquisition of CS measurements at various scales. For scenes violating this assumption—as it is the case in virtually all real-world situations—this approach results in poor quality. 
         [0012]    Another recovery method was described in D. Reddy, A. Veeraraghavan, and R. Chellappa, “P2C2: Programmable pixel compressive camera for high speed imaging,” in IEEE Conf. Comp. Vision and Pattern Recog, (Colorado Springs, CO, USA), June 2011 for the P2C2 camera, which differs considerably from SMC architectures, i.e., performs temporal multiplexing (instead of spatial multiplexing) with the aid of a full-frame sensor and a per-pixel shutter. The recovery of videos from the P2C2 camera is achieved by using the optical flow between consecutive frames of the video. The implementation of the recovery procedure, however, is tightly coupled with their imaging architecture and inhibits the use for SMC architectures. 
       SUMMARY OF THE INVENTION 
       [0013]    The present invention is a compressive-sensing (CS)-based multi-scale video recovery method and apparatus for scenes acquired by spatial multiplexing cameras (SMCs). The invention includes a design of a new class of sensing matrices and an optical flow based video reconstruction algorithm. In particular, the invention includes multi-scale sensing (MSS) matrices that i) exhibit no noise enhancement when performing least-squares estimation at a lower spatial resolution and ii) preserve information about high spatial frequencies to enable recovery of the high-resolution scene. It further includes a MSS matrix having a fast transforms, which enables it to compute instantaneous low-resolution images of the scene at low computational costs. The preview computation supports a large number of novel applications for SMC-based devices, such as providing a digital viewfinder, enabling human-camera interaction, or triggering adaptive sensing strategies. Finally, CS-MUVI is the first video CS algorithm for the SPC that works well for scenes with fast and complex motion. 
         [0014]    The performance degradation of recovery of time varying scenes caused by violating the static-scene assumption of conventional systems and methods is severe, even at moderate levels of motion. The present compressive-sensing strategy for SMC architectures overcomes the static-scene assumption. The present system and method, illustrated  FIG. 1 , is a co-design of video compressive sensing and recovery. The method and system use a novel class of sensing matrices in combination with a least squares (LS) recovery procedure that enable the system and method to obtain a low-resolution “previews” of the scene with very low computational complexity. This preview video is then used to extract robust motion estimates (i.e., the optical flow) of the scene at full resolution. The system and method exploit these motion estimates to recover the full-resolution video by using off-the-shelf convex-optimization algorithms typically used for CS, such as l 1 -norm minimization or total variation (TV) methods. Given the multi-scale nature of the present framework, it is referred to herein as CS-based multi-scale video recovery (CS-MUVI). 
         [0015]    In a preferred embodiment, the present invention is a method for video compressive sensing for spatial multiplexing cameras. The method comprises the steps of sensing a time-varying scene with a spatial multiplexing camera, computing a least squared estimate of a sensed scene, generating a low-resolution preview video of said sensed scene using a computed least squares estimate of said sensed scene, estimating an optical flow of said time-varying scene using said low-resolution preview video, and recovering a full resolution video of said sensed time-varying scene using sparse signal recovery algorithms. A generated low-resolution preview video may be displayed on a display. The method may further comprise displaying a recovered full resolution video of said time-varying scene. The step of sensing a time-varying scene with a spatial multiplexing camera may comprise, for example sensing a time-varying scene with a single pixel camera, a flexible voxels camera or a P2C2 camera. 
         [0016]    Many variations may be used with the invention. Sensing patterns used in sensing the time-varying scene are generated using a multi-scale sensing (MSS) matrix. The MSS matrix may have a fast transform when right-multiplied by upsampling operators. The MSS matrix may be designed for two scales. A downsampled version of the sensing matrix may be orthogonal or may have a fast inverse transform. The optical flow may be approximated using block-matching techniques or may be computed using an upsampled version of the preview frames. Information about the scene may be extracted from the low-resolution preview. The extracted information may comprise the location, intensity, speed, distance, orientation, and/or size of objects in the scene. Information about the scene may be taken into account in the recovery procedure of the high-resolution video. Subsequent sensing patterns may be automatically adapted based on extracted information. Parameters (optics, shutter, orientation, aperture etc.) of the spatial multiplexing camera may be automatically or manually adjusted using the extracted information. The dynamic foreground and static background may be separated. The recovery is performed using l1-norm minimization. The recovery may be performed, for example, using total variation minimization or using greedy algorithms. 
         [0017]    Still other aspects, features, and advantages of the present invention are readily apparent from the following detailed description, simply by illustrating a preferable embodiments and implementations. The present invention is also capable of other and different embodiments and its several details can be modified in various obvious respects, all without departing from the spirit and scope of the present invention. Accordingly, the drawings and descriptions are to be regarded as illustrative in nature, and not as restrictive. Additional objects and advantages of the invention will be set forth in part in the description which follows and in part will be obvious from the description, or may be learned by practice of the invention. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0018]    For a more complete understanding of the present invention and the advantages thereof, reference is now made to the following description and the accompanying drawings, in which: 
           [0019]      FIG. 1A  is a flowchart of CS-MUVI method and system in accordance with a preferred embodiment of the present invention. 
           [0020]      FIG. 1B  is an illustration of a ground-truth scene consisting of a background (Lena) and a single moving object (cross). 
           [0021]      FIG. 1C  is a low-resolution preview video generated in accordance with a preferred embodiment of the present invention. 
           [0022]      FIG. 1D  is an illustration of a high-resolution recovered video in accordance with a preferred embodiment of the present invention. 
           [0023]      FIG. 1E  shows an exemplary prior art compressive imaging (CI) camera. An incident light field  182  corresponding to the desired image x passes through a lens  184  and is then reflected off a digital micromirror device (DMD) array  188  whose minor orientations are modulated in the pseudorandom pattern sequence supplied by the random number generator or generators  186 . Each different mirror pattern travels through a lens  190  and produces a voltage at the single photodiode detector  192  that corresponds to one measurement y(m). While only one photodetector is shown in  FIG. 1E , any number of detectors may be used, although typically, the number of photodetectors will be less than the total number of ultimate number of pixels obtained in the image. The voltage level is then quantized by an analog-to-digital converter  194 . The bitstream produced is then communicated to a reconstruction algorithm  196 , which yields the output scene  198 . 
           [0024]      FIGS. 2A and 2B  illustrate the trade-off between spatial and temporal approximation errors (measured in terms of the CS recovery SNR) for the scene in  FIG. 1A .  FIG. 2A  shows the SNRs caused by spatial and temporal approximation errors for different window lengths W.  FIG. 2B  shows the dependence of the total approximation error on the speed of the cross. 
           [0025]      FIGS. 3A-3C  shows a comparison between l 1 -norm recovery ( FIG. 3A ), LS recovery using a subsampled noiselet matrix ( FIG. 3B ), and LS recovery using a multi-scale sensing (MSS) matrix ( FIG. 3C ) of the scene in  FIG. 1A  for various relative speeds (of the cross) and window lengths W. 
           [0026]      FIGS. 4A-4C  illustrates a preview frames for three different scenes. All previews consist of 64×64 pixels. Preview frames are obtained simply using an inverse Hadamard transform (or any other transform matrix that senses scenes with +1, −1 patterns and has a fast inverse), which opens up a variety of new (real-time) applications for video CS. 
           [0027]      FIGS. 5A and 5B  illustrate generating a special case of MSS patterns, which enables the reconstruction of frames at two scales. Such dual-scale sensing (DSS) patterns are in accordance with a preferred embodiment of the present invention.  FIG. 5A  illustrates an outline of the process.  FIG. 5B  illustrates that in practice, the low-resolution Hadamard is permuted for better incoherence with the sparsifying wavelet basis. Fast generation of the DSS matrix requires us to impose additional structure on the high-frequency patterns. In particular, each sub-block of the high-frequency pattern is forced to be the same, which enables fast computation via convolutions. 
           [0028]      FIG. 6  is a flow diagram illustrating CS-MUVI recovery (see also  FIG. 1A ). Given a total number of T measurements, the measurements are grouped into windows of size ΔW resulting in a total of F=T/ΔW frames. For each frame, a preview is first computed using a window of W≧ΔW neighboring measurements. Then, the optical flow between successive preview frames is computed. Finally, the preview frames are used together with the optical-flow estimates in (PV) to obtain F high-resolution video frames. 
           [0029]      FIGS. 7A-7D  illustrate CS-MUVI recovery results of a video obtained from a high-speed camera. Shown are frames of ( FIG. 7A ) the ground truth and ( FIG. 7B ) the recovered video (PSNR=25:0 dB). The xt and yt slices shown in  FIGS. 7C and 7D  correspond to the lines of the first frame in  FIG. 7A . Preview frames for this video are shown in  FIG. 4C . (The xt and yt slices are rotated clockwise by 90 degrees.) 
           [0030]      FIGS. 8A-8D  illustrate CS-MUVI recovery results of a video obtained from a high-speed camera. Shown are frames of ( FIG. 8A ) the ground truth and ( FIG. 8B ) the recovered video (PSNR=20:4 dB). The xt and yt slices shown in  FIGS. 8C and 8D  correspond to the color-coded lines of the first frame in  FIG. 8A . Preview frames for this video are shown in  FIG. 4B . (The xt and yt slices are rotated clockwise by 90 degrees.) 
           [0031]      FIGS. 9A-9F  illustrate a comparison of the algorithm used for the P2C2 camera applied to SMC architectures with CS-MUVI recovery. Shown are frames of naïve l 1 -norm reconstruction ( FIG. 9A ), the resulting optical-flow estimates ( FIG. 9B ), and the P2C2 recovered video ( FIG. 9C . The frames in  FIG. 9D  correspond to preview frames when using DSS matrices,  FIG. 9E  are the optical-flow estimates, and  FIG. 9F  is the scene recovered by CS-MUVI. 
       
    
    
     DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS 
       [0032]    A preferred embodiment of method and apparatus for video compressive sensing for spatial multiplexing cameras is described with reference to the Figures. As shown in  FIG. 1A , a time-varying scene (step  110 ) is senses with a spatial multiplexing camera (step  120 ). A least squares (LS) estimate is computed, for example, by a processor (step  130 ), and a low-resolution preview is generated and displayed (step  140 ). The preview may be generated by, for example, a processor and may be displayed on any display. This preview video is then used to extract robust motion estimates, i.e., estimates of the optical flow of the scene at full resolution (step  150 ). A full resolution l 1 -norm-based video is then recovered (step  160 ) and the high resolution recovered video is displayed (step  170 ). 
         [0033]    Spatial multiplexing cameras (SMCs) acquire random (or coded) projections of a (typically static) scene using a digital micro-minor device (DMD) or liquid crystal on silicon (LCOS) in combination with a few optical sensing elements, such as photodetectors or bolometers. The use of a small number of optical sensors—in contrast to a full-frame sensor—turns out to be extremely useful when acquiring scenes at non-visible wavelengths. In particular, sensing beyond the visual spectrum requires sensors built from exotic materials, which renders corresponding full-frame sensor devices cumbersome or too expensive. 
         [0034]    Obviously, sampling with only a few sensors is, in general, not sufficient for acquiring complex scenes. Hence, SMCs acquire scenes by taking multiple consecutive measurements over time. For still images and for a single-pixel SMC architecture, this sensing strategy has been shown to deliver good results, but it fails for time-variant scenes (videos). The key challenge of video-CS for SMCs is the fact that the scene to be captured is ephemeral, i.e., each compressive measurement senses a (slightly) different scene; the situation is further aggravated when dealing with SMCs having a small number of sensors (e.g., only one for the SPC). Virtually all proposed methods for CS-based video recovery seem to overlook this important aspect. See, for example, J. Y. Park and M. B. Wakin, “A multiscale framework for compressive sensing of video,” in Pict. Coding Symp., (Chicago, Ill., USA), May 2009; A. C. Sankaranarayanan, P. Turaga, R. Baraniuk, and R. Chellappa, “Compressive acquisition of dynamic scenes,” in Euro. Conf. Comp. Vision, (Crete, Greece), September 2010; N. Vaswani, “Kalman filtered compressed sensing,” in IEEE Conf. Image Process., (San Diego, Calif., USA), October 2008; M. B. Wakin, J. N. Laska, M. F. Duarte, D. Baron, S. Sarvotham, D. Takhar, K. F. Kelly, and R. G. Baraniuk, “Compressive imaging for video representation and coding,” in Pict. Coding Symp., (Beijing, China), April 2006; and S. Mun and J. E. Fowler, “Residual reconstruction for block based compressed sensing of video,” in Data Comp. Conf., (Snowbird, UT, USA), April 2011. Indeed, these approaches treat scenes as a sequence of static frames (i.e., videos) as opposed to a continuously changing scene. This disconnectedness between the real-world operation of SMCs and the assumptions commonly made for video CS renders existing recovery algorithms futile. 
         [0035]    Successful video-CS recovery methods for camera architectures relying on temporal multiplexing (in contrast to spatial multiplexing as for SMCs) are generally inspired by video compression (i.e., exploit motion estimation). See, for example, D. Reddy, A. Veeraraghavan, and R. Chellappa, “P2C2: Programmable pixel compressive camera for high speed imaging,” in IEEE Conf. Comp. Vision and Pattern Recog, (Colorado Springs, CO, USA), June 2011; A. Veeraraghavan, D. Reddy, and R. Raskar, “Coded strobing photography: Compressive sensing of high speed periodic events,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 33, pp. 671-686, April 2011; and Y. Hitomi, J. Gu, M. Gupta, T. Mitsunaga, and S. K. Nayar, “Video from a single coded exposure photograph using a learned over-complete dictionary,” in IEEE Intl. Conf. Comp. Vision, (Barcelona, Spain), November 2011. The use of such techniques for SMC architectures, however, results in a fundamental problem: On the one hand, obtaining motion estimates (e.g., optical flow or via block matching) requires knowledge of the individual video frames. On the other hand, the recovery of the video frames from an SMC in absence of motion estimates is difficult, especially when using low sampling rates and a small number of sensor elements. Attempts that address this “chicken-and-egg” problem either perform multi scale sensing strategies or sense separate patches of the individual frames. Both approaches ignore the time varying nature of real-world scenes and rely on a piece-wise static model. 
         [0036]    A recovery error results from the static-scene assumption while sensing a time-varying scene (video) with an SMC. There is a fundamental tradeoff underlying a multi-scale recovery procedure. Since the single pixel camera is the most challenging SMC architecture (i.e., it only provides a single pixel sensor), it is used herein as an example and generalization of that example to other SMC architectures with more than one sensor is straightforward. 
       SMC Acquisition Model 
       [0037]    The compressive measurements y t ε          taken by a single-sensor SMC at the sample instants t=1, . . . , T can be written as y r =         φ t ,x t           ±z t , where T is the total number of acquired samples, φ t ε           N×1  is the sensing vector, z t ε          is the measurement noise, and x t ε           N×1  is the scene (or frame) at sample instant t; here,          •,•          denotes the inner product. Hereafter, we assume that the 2-dimensional scene consists of n×n spatial pixels, which, when vectorized, results in the vector x t  of dimension N=n 2 . We also use the notation y 1 :w to represent the vector consisting of a window of W≦T successive compressive measurements (samples), i.e, 
         [0000]    
       
         
           
             
               
                 
                   
                     y 
                     
                       1 
                        
                       
                         : 
                       
                        
                       W 
                     
                   
                   = 
                   
                     
                       [ 
                       
                         
                           
                             
                               y 
                               1 
                             
                           
                         
                         
                           
                             
                               y 
                               2 
                             
                           
                         
                         
                           
                             ⋮ 
                           
                         
                         
                           
                             
                               y 
                               W 
                             
                           
                         
                       
                       ] 
                     
                     = 
                     
                       
                         [ 
                         
                           
                             
                               
                                 
                                   〈 
                                   
                                     
                                       φ 
                                       1 
                                     
                                     , 
                                     
                                       x 
                                       1 
                                     
                                   
                                   〉 
                                 
                                 + 
                                 
                                   z 
                                   1 
                                 
                               
                             
                           
                           
                             
                               
                                 
                                   〈 
                                   
                                     
                                       φ 
                                       2 
                                     
                                     , 
                                     
                                       x 
                                       2 
                                     
                                   
                                   〉 
                                 
                                 + 
                                 
                                   z 
                                   2 
                                 
                               
                             
                           
                           
                             
                               ⋮ 
                             
                           
                           
                             
                               
                                 
                                   〈 
                                   
                                     
                                       φ 
                                       W 
                                     
                                     , 
                                     
                                       x 
                                       W 
                                     
                                   
                                   〉 
                                 
                                 + 
                                 
                                   z 
                                   W 
                                 
                               
                             
                           
                         
                         ] 
                       
                       . 
                     
                   
                 
               
               
                 
                   ( 
                   3 
                   ) 
                 
               
             
           
         
       
     
       Static Scene and Downsampling Errors 
       [0038]    Suppose that we rewrite our (time-varying) scene x t  for a window of W consecutive sample instants as follows: 
         [0000]        x   t   =b+Δx   t   , t= 1 , . . . ,W.    
         [0039]    Here, b is a static component (assumed to be invariant for W samples), and Δx t =x t −b is the error at sample instant t caused by assuming a static scene. By defining e t =         φ t ,Δx t           , we can rewrite (3) as 
         [0000]        y   1:W   =Φb+e   1:W   +z   1:W   (4)
 
         [0000]    where Φε           W×N  is a sensing matrix whose tth row corresponds to the transposed vector φ t . 
         [0040]    We now consider the error caused by spatial downsampling of the static component b in (4). To this end, let b L ε           N     L    be the down-sampled static component, and assume N L =n L ×n L  with N L &lt;N. By defining a linear up-sampling and down-sampling operator as Uε           N×N     L    and Dε           N     L×N   , respectively, we can rewrite (4) as 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         
                           y 
                           
                             1 
                              
                             
                               : 
                             
                              
                             W 
                           
                         
                         = 
                           
                          
                         
                           
                             Φ 
                              
                             
                               ( 
                               
                                 
                                   Ub 
                                   L 
                                 
                                 + 
                                 b 
                                 - 
                                 
                                   Ub 
                                   L 
                                 
                               
                               ) 
                             
                           
                           + 
                           
                             e 
                             
                               1 
                                
                               
                                 : 
                               
                                
                               W 
                             
                           
                           + 
                           
                             z 
                             
                               1 
                                
                               
                                 : 
                               
                                
                               W 
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             Φ 
                              
                             
                                 
                             
                              
                             
                               Ub 
                               L 
                             
                           
                           + 
                           
                             Φ 
                              
                             
                               ( 
                               
                                 b 
                                 - 
                                 
                                   Ub 
                                   L 
                                 
                               
                               ) 
                             
                           
                           + 
                           
                             e 
                             
                               1 
                                
                               
                                 : 
                               
                                
                               W 
                             
                           
                           + 
                           
                             z 
                             
                               1 
                                
                               
                                 : 
                               
                                
                               W 
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             Φ 
                              
                             
                                 
                             
                              
                             
                               Ub 
                               L 
                             
                           
                           + 
                           
                             
                               Φ 
                                
                               
                                 ( 
                                 
                                   I 
                                   - 
                                   UD 
                                 
                                 ) 
                               
                             
                              
                             b 
                           
                           + 
                           
                             e 
                             
                               1 
                                
                               
                                 : 
                               
                                
                               W 
                             
                           
                           + 
                           
                             z 
                             
                               1 
                                
                               
                                 : 
                               
                                
                               W 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   5 
                   ) 
                 
               
             
           
         
       
     
         [0000]    since b L =Db. Inspection of (5) reveals three sources of error in the CS measurements of the low-resolution static scene ΦUb L : i) The spatial-approximation error Φ(I-UD)b caused by down-sampling, ii) the temporal approximation error e 1:W  caused by assuming the scene remains static for W samples, and iii) the measurement error z 1:W . 
       Estimating a Low Resolution Image 
       [0041]    In order to analyze the trade-off that arises from the static-scene assumption and the down-sampling procedure, consider the scenario where the effective matrix ΦU is of dimension W×N L  with W≧NL; that is, we aggregate at least as many compressive samples as the down-sampled spatial resolution. If ΦU has full (column) rank, then we can obtain a least-squares (LS) estimate {circumflex over (b)} L  of the low resolution static scene b L  from (5) as 
         [0000]    
       
         
           
             
               
                 
                   
                     
                       
                         
                           
                             b 
                             ^ 
                           
                           L 
                         
                         = 
                           
                          
                         
                           
                             
                               ( 
                               
                                 Φ 
                                  
                                 
                                     
                                 
                                  
                                 U 
                               
                               ) 
                             
                             † 
                           
                            
                           
                             y 
                             
                               1 
                                
                               
                                 : 
                               
                                
                               W 
                             
                           
                         
                       
                     
                   
                   
                     
                       
                         = 
                           
                          
                         
                           
                             b 
                             L 
                           
                           + 
                           
                             
                               
                                 ( 
                                 
                                   Φ 
                                    
                                   
                                       
                                   
                                    
                                   U 
                                 
                                 ) 
                               
                               † 
                             
                              
                             
                               ( 
                               
                                 
                                   
                                     Φ 
                                      
                                     
                                       ( 
                                       
                                         I 
                                         - 
                                         UD 
                                       
                                       ) 
                                     
                                   
                                    
                                   b 
                                 
                                 + 
                                 
                                   e 
                                   
                                     1 
                                      
                                     
                                       : 
                                     
                                      
                                     W 
                                   
                                 
                                 + 
                                 
                                   z 
                                   
                                     1 
                                      
                                     
                                       : 
                                     
                                      
                                     W 
                                   
                                 
                               
                               ) 
                             
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   6 
                   ) 
                 
               
             
           
         
       
     
         [0000]    where (•) †  denotes the (pseudo) inverse. From (6) we can observe the following facts: i) The window length W controls a trade-off between the spatial-approximation error Φ(I-UD)b and the error e 1:W  induced by assuming a static scene b, and ii) the least squares (LS) estimator matrix (ΦU) †  (potentially) amplifies all three error sources. 
       Characterizing the Tradeoff 
       [0042]    As developed above, the spatial-approximation error and the temporal-approximation error are both a function of the window length W. We now show that carefully selecting W minimizes the combined spatial and temporal error in the low-resolution estimate {circumflex over (b)} L . Inspection of (6) shows that for W=1, the temporal-approximation error is zero, since the static component b is able to perfectly represent the scene at each sample instant t. As W increases, the temporal-approximation error increases for time-varying scenes; simultaneously, increasing W reduces the error caused by down-sampling Φ(I-UD)b (see  FIG. 2A ). For W≧N there is no spatial approximation error (if ΦU is invertible). Note that characterizing both errors analytically is difficult, in general, as they depend on the scene under consideration. 
         [0043]      FIGS. 2A  and B illustrate the trade-off controlled by W and the individual spatial and temporal approximation errors, characterized in terms of the recovery signal-to-noise-ratio (SNR), for the synthetic scene shown in  FIGS. 1B-1D .  FIGS. 2A and 2B  figure highlight the important fact that there is an optimal window length W for which the total recovery SNR is maximized. In particular, we see from  FIG. 2B  that the optimum window length increases (i.e., towards higher spatial resolution) when the scene changes slowly; in contrary, when the scene changes rapidly, the window length (and consequently, the spatial resolution) should be low. Since N L ≦W, the optimal window length W dictates the resolution for which accurate low-resolution motion estimates can be obtained. 
       Design of Sensing Matrix 
       [0044]    In order to bootstrap CS-MUVI, a low-resolution estimate of the scene is required. We next now that carefully designing the CS sensing matrix Φ enables us to compute high-quality low-resolution scene estimates at low complexity, which improves the performance of video recovery. 
       Multi Scale Sensing Matrices 
       [0045]    The choice of the sensing matrix Φ and the upsampling operator U are critical to arrive at a high-quality estimate of the low-resolution image b L . Indeed, if the compound matrix ΦU is ill-conditioned, then application of (ΦU) †  amplifies all three sources of errors in (6), resulting in a poor estimate. For a large class of conventional CS matrices Φ, such as i.i.d. (sub-)Gaussian matrices, as well as sub-sampled Fourier or Hadamard matrices, right multiplying them with an upsampling operator U typically results in an ill-conditioned matrix. Hence, using well-established CS matrices for obtaining a low-resolution preview turns out to be a poor choice.  FIGS. 3A and 3B  show recovery results for naive recovery using (P1) and LS, respectively, using a subsampled noiselet CS matrix. One can immediately see that both recovery methods fail spectacularly for large values of W or for a small amount of motion. 
         [0046]    In order to achieve good CS recovery performance and have minimum noise enhancement when computing low resolution estimates {circumflex over (b)} L  according to (6), the present invention uses a new class of sensing matrices, referred to as multi-scale sensing (MSS) matrices. In particular, the present invention uses matrices that i) satisfy the RIP and ii) remain well-conditioned when right-multiplied by certain up-sampling operators U. The second condition requires mutual orthogonality among the columns of ΦU to minimize the noise enhancement in (6). Random matrices or certain sub-sampled orthogonal transforms are known to satisfy the RIP with overwhelming probability. However, they typically fail to meet the second constraint, because they have decaying singular values. The power of MSS matrices with a particular DSS design is demonstrated in  FIG. 3C , even for small window lengths W or fast motion. 
       Preview Mode 
       [0047]    If we additionally impose the constraint that a downsampled MSS matrix ΦU has a fast inverse transform, then it will significantly speed up the recovery of the low resolution scene. Such a “fast” MSS matrix has the key capability of generating a high-quality preview of the scene (see  FIGS. 4A-4C ) with very low computational complexity; this is beneficial for video CS as it allows us to easily extract an estimate of the scene motion. The motion estimate can then be used to recover the video at its full resolution. In addition to this, the use of fast MSS matrices can be beneficial in various other ways, including (but not limited to): 
         [0048]    Real-time preview: Conventional SMC architectures do not enable the observation of the scene until CS recovery is performed. Due to the high computational complexity of most existing CS recovery algorithms, there is typically a large latency between the acquisition of a scene and its observation. Fast MSS matrices offer an instantaneous visualization of the scene, i.e., they can provide us with a real-time digital viewfinder. This capability substantially simplifies the setup of an SMC in practice. 
       Adaptive Sensing 
       [0049]    The immediate knowledge of the scene—even at a low resolution—can potentially be used to design adaptive sensing strategies. For example, one may seek to extract the changes that occur in a scene from one frame to the next or track moving objects, while avoiding the latency caused by sparse signal recovery algorithms. 
       Sensing Matrix Design 
       [0050]    There are many ways to construct fast MSS matrices. In this section, we detail one design that is particularly suited for SMC architectures. In SMC architectures, we are constrained in the choice of the sensing matrix Φ. Practically, the DMD limits us to matrices having entries of constant modulus (e.g., ±1). Since we are interested in a fast MSS matrix, we propose the matrix Φ to satisfy H=ΦU, where H is a W×W Hadamard matrix and U is a predefined up-sampling operator. For SMC architectures, Hadamard matrices have the following advantages: i) They have orthogonal columns, ii) they exhibit optimal SNR properties over matrices restricted to {−1,+1} entries, and iii) applying the (inverse) Hadamard transform requires very low computational complexity (i.e., as a fast Fourier transform). See, M. Harwit and N. Sloane,  Hadamard Transform Optics , New York: Academic Press, 1979; Y. Y. Schechner, S. K. Nayar, and P. N. Belhumeur, “Multiplexing for optimal lighting,” IEEE Trans. Pattern Anal. Mach. Intell., vol. 29, pp. 1339-1354, August 2007. 
         [0051]    We now show the construction of a suitable fast MSS matrix Φ for two scales (for the preview frames at a given low resolution and the full resolution frames), referred to as dual-scale sensing (DSS) matrix (see  FIG. 5A ). A simple way is to start with a W×W Hadamard matrix H and to write the CS matrix as 
         [0000]      Φ= HD+F,   (7)
 
         [0000]    where D is a down-sampling matrix satisfying DU=I, and Fε           W×N  is an auxiliary matrix that obeys the following constraints: i) The entries of Φ are ±1, ii) the matrix Φ has good CS recovery properties (e.g., satisfies the RIP), and iii) F should be chosen such that FU=0. Note that an easy way to ensure that Φ be ±1 is to interpret F as sign flips of the Hadamard matrix H. Note that one could chose F to be an all-zeros matrix; this choice, however, results in a sensing matrix Φ having poor CS recovery properties. 
         [0052]    In particular, such a matrix would inhibit the recovery of high spatial frequencies. Choosing random entries in F such that FU=0 (i.e., by using random patterns of high spatial frequency) provides excellent performance. To arrive at an efficient implementation of CS-MUVI, we additionally want to avoid the storage of an entire W×N matrix. To this end, we generate each row f i ε           N  as follows: Associate each row vector f i  to an n×n image of the scene, partition the scene into blocks of size (n/n L )×(n/n L ), and associate an (n/n L ) 2 -dimensional vector {circumflex over (f)} i  with each block. We can now use the same vector {circumflex over (f)} i  for each block and choose {circumflex over (f)} i  such that the full matrix satisfies FU=0. We also permute the columns of the Hadamard matrix H to achieve better incoherence with the sparsifying bases (see  FIG. 5B  for the details). 
         [0053]    Optical-Flow-Based Video Recovery 
         [0054]    We next detail the second part of CS-MUVI.  FIG. 6  illustrates the method used to recover the full-resolution video frames (see also the flowchart in  FIG. 1A ). As shown in  FIG. 6 , a total number of samples T are taken. There are W measurements  610  per preview frame  620 . 
       Optical Flow Estimation 
       [0055]    Thanks to the preview mode, we can estimate the optical flow between any two (low-resolution) frames {circumflex over (b)} L   i  and {circumflex over (b)} L   j . For CS-MUVI, we compute optical-flow estimates at full spatial resolution between pairs of upsampled preview frames; this approach turns out to result in more accurate optical-flow estimates compared to an approach that first estimates the optical flow at low resolution followed by upsampling of the optical flow. Hence, we start by upsampling the preview frames according to {circumflex over (b)} L   i =U{circumflex over (b)} L   i  or via a conventional upsampling procedure (e.g., linear or bicubic interpolation,), and then extract the optical flow at full resolution. The optical flow at full resolution can be written as 
         [0000]        {circumflex over (b)}   i ( x,y )= {circumflex over (b)}   j ( x+u   x,y   ,y+v   x,y ) 
         [0000]    where {circumflex over (b)} i (x,y) denotes the pixel (x,y) in the n×n plane of {circumflex over (b)} i , and u x,y  and v x,y  correspond to the translation of the pixel (x,y) between frame i and j. See, C. Liu, Beyond Pixels: Exploring New Representations and Applications for Motion Analysis. PhD thesis, Mass. Inst. Tech., 2009 and B. Horn and B. Schunck, “Determining optical flow,” Artif. Intel., vol. 17, pp. 185-203, April 1981. Other methods to compute the optical flow rely on block matching, which is commonly used in many video compression schemes. 
         [0056]    In practice, the estimated optical flow may contain subpixel translations, i.e., u x,y  and v x,y  are not necessarily integers. In this case, we approximate {circumflex over (b)} j (x+u x,y ,y+v x,y ) as a linear combination of its four closest neighboring pixels 
         [0000]    
       
         
           
             
               
                 
                   b 
                   ^ 
                 
                 j 
               
                
               
                 ( 
                 
                   
                     x 
                     + 
                     
                       u 
                       
                         x 
                         , 
                         y 
                       
                     
                   
                   , 
                   
                     y 
                     + 
                     
                       v 
                       
                         x 
                         , 
                         y 
                       
                     
                   
                 
                 ) 
               
             
             ≈ 
             
               
                 ∑ 
                 
                   k 
                   , 
                   
                      
                     ∈ 
                     
                       { 
                       
                         0 
                         , 
                         1 
                       
                       } 
                     
                   
                 
                 
                     
                 
               
                
               
                   
               
                
               
                 
                   w 
                   
                     k 
                     , 
                      
                   
                 
                  
                 
                   
                     
                       b 
                       ^ 
                     
                     j 
                   
                    
                   
                     ( 
                     
                       
                         
                           ⌊ 
                           
                             x 
                             + 
                             
                               u 
                               
                                 x 
                                 , 
                                 y 
                               
                             
                           
                           ⌋ 
                         
                         + 
                         k 
                       
                       , 
                       
                         
                           ⌊ 
                           
                             y 
                             + 
                             
                               v 
                               
                                 x 
                                 , 
                                 y 
                               
                             
                           
                           ⌋ 
                         
                         + 
                          
                       
                     
                     ) 
                   
                 
               
             
           
         
       
     
         [0000]    where └•┘ denotes rounding towards −∞ and the weights W k,l  are chosen according to the location within the four neighboring pixels. In order to obtain robustness against occlusions, we enforce consistency between the forward and backward optical flows; specifically, we discard optical flow constraints at pixels where the sum of the forward and backward flow causes a displacement greater than one pixel. 
       Choosing the Recovery Frame Rate 
       [0057]    Before we detail the individual steps of the CS-MUVI video-recovery procedure, it is important to specify the rate of the frames to be recovered. When sensing scenes with SMC architectures, there is no obvious notion of frame rate. Our sole criterion is that we want each “frame” to contain only a small amount of motion. In other words, we wish to find the largest window size ΔW≦W such that there is virtually no motion at full resolution (n×n). In practice, an estimate of ΔW can be obtained by analyzing the preview frames. Hence, given a total number of T compressive measurements, we ultimately recover F=T/ΔW full-resolution frames (see  FIG. 6 ). Note that a smaller value of ΔW would decrease the amount of motion associated with each recovered frame; this would, however, increase the computational complexity (and memory requirements) substantially as the number of full-resolution frames to be recovered increases. 
       Recovery of Full Resolution Frames 
       [0058]    We are now ready to detail the final steps of CS-MUVI. Assume that ΔW is chosen such that there is little to no motion associated with each preview frame. Next, associate a preview frame with a high-resolution frame {circumflex over (x)} k , kε{1, . . . , T} by grouping W=N L  compressive measurements in the immediate vicinity of the frame (since ΔW&lt;W). Then, compute the optical-flow between successive (up-scaled) preview frames. 
         [0059]    We can now recover the individual high-resolution video frames as follows. Each frame {circumflex over (x)} t  is assumed to have a sparse representation in a 2-dimensional orthogonal wavelet basis Ψ; hence, our objective is to minimize the overall l-norm Σ k=1   F ∥Ψ T {circumflex over (x)} k ∥ 1 . We furthermore consider the following two constraints: i) Consistency with the acquired CS measurements, i.e,          φ t ,{circumflex over (x)} I(t)           , where I(t) maps the sample index t to the associated frame index k, and ii) estimated optical-flow constraints between consecutive frames. Together, we arrive at the following convex optimization problem: 
         [0000]    
       
         
           
             
               ( 
               PV 
               ) 
             
              
             
               { 
               
                 
                   
                     
                       min 
                       . 
                       
                         
                           ∑ 
                           
                             k 
                             = 
                             1 
                           
                           F 
                         
                          
                         
                             
                         
                          
                         
                           
                              
                             
                               
                                 Ψ 
                                 T 
                               
                                
                               
                                 
                                   x 
                                   ′ 
                                 
                                 k 
                               
                             
                              
                           
                           1 
                         
                       
                     
                   
                 
                 
                   
                     
                       s 
                       . 
                       t 
                       . 
                       
                         
                           
                             
                               
                                 
                                   
                                      
                                     
                                       
                                         〈 
                                         
                                           
                                             φ 
                                             t 
                                           
                                           , 
                                           
                                             
                                               x 
                                               ^ 
                                             
                                             
                                               I 
                                                
                                               
                                                 ( 
                                                 t 
                                                 ) 
                                               
                                             
                                           
                                         
                                         〉 
                                       
                                       - 
                                       
                                         y 
                                         t 
                                       
                                     
                                      
                                   
                                   2 
                                 
                                 ≤ 
                                 
                                   ε 
                                   1 
                                 
                               
                               , 
                               
                                 ∀ 
                                 t 
                               
                             
                           
                         
                         
                           
                             
                               
                                 
                                   
                                      
                                     
                                       
                                         
                                           
                                             x 
                                             ^ 
                                           
                                           i 
                                         
                                          
                                         
                                           ( 
                                           
                                             x 
                                             , 
                                             y 
                                           
                                           ) 
                                         
                                       
                                       - 
                                       
                                         
                                           
                                             x 
                                             ^ 
                                           
                                           j 
                                         
                                          
                                         
                                           ( 
                                           
                                             
                                               x 
                                               + 
                                               
                                                 u 
                                                 x 
                                               
                                             
                                             , 
                                             
                                               y 
                                               + 
                                               
                                                 v 
                                                 y 
                                               
                                             
                                           
                                           ) 
                                         
                                       
                                     
                                      
                                   
                                   2 
                                 
                                 ≤ 
                                 
                                   ε 
                                   2 
                                 
                               
                               , 
                               
                                 ∀ 
                                 i 
                               
                               , 
                               
                                 j 
                                 . 
                               
                             
                           
                         
                       
                     
                   
                 
               
             
           
         
       
     
         [0000]    which can be solved using off-the-shelf algorithms tuned to solve c-recovery problems. See, for example, E. van den Berg and M. P. Friedlander, “Probing the Pareto frontier for basis pursuit solutions,” SIAM J. Scientific Comp., vol. 31, pp. 890-912, November 2008. The parameters ε 1 ≧0 and ε 2 ≧0 can be used to “tweak” the recovery performance Alternatively, we can recover the scene via total variation (TV)-based methods. Such approaches essentially amount to replacing the l 1 -norm constraint by the total variation norm. See, for example, Rudin, Leonid I., Stanley Osher, and Emad Fatemi. “Nonlinear total variation based noise removal algorithms”  Physica D: Nonlinear Phenomena  60, no. 1 (1992): 259-268. 
       Experiments 
       [0060]    WW We validate the performance and capabilities of the CS-MUVI framework for several scenes. All simulation results were generated from video sequences having a spatial resolution of n×n=256×256 pixels. The preview videos have a spatial resolution of 64×64 pixels with (i.e., W=4096). We assume an SPC architecture as described in M. F. Duarte, M. A. Davenport, D. Takhar, J. N. Laska, T. Sun, K. F. Kelly, and R. G. Baraniuk, “Single-pixel imaging via compressive sampling,” IEEE Signal Process. Mag., vol. 25, pp. 83-91, March 2008. Noise was added to the compressive measurements using an i.i.d. Gaussian noise model such that the resulting SNR was 60 dB. Optical-flow estimates were extracted using C. Liu, Beyond Pixels: Exploring New Representations and Applications for Motion Analysis. PhD thesis, Mass. Inst. Tech., 2009 and (PV) is solved using SPGL1. See, E. van den Berg and M. P. Friedlander, “Probing the Pareto frontier for basis pursuit solutions,” SIAM J. Scientific Comp., vol. 31, pp. 890-912, November 2008. The computation time of CS-MUVI is dominated by solving (PV), which requires 2-3 hours using an off-the-shelf quad-core CPU. The low-resolution preview is, of course, extremely fast. 
         [0000]    Synthetic Scene with Sub-Pixel Motion 
         [0061]    In  FIG. 1  we simulate a fast-moving object that traverses the entire field of-view of the camera within the considered number of samples T. The goal of this synthetic experiment is to emulate a scene that changes for every compressive measurement. To this end, we simulated sub-pixel movement of the foreground object, i.e., there is a small movement of the cross for every compressive measurement. We acquired a total of T=256 2  compressive measurements and generated F=31 preview frames (ΔW=2048) from which we estimated the respective optical flows.  FIG. 1A  shows both the efficacy of the proposed DSS measurement matrix for providing robust LS estimates for the preview video (see also  FIGS. 4A-4C ), as well as the quality of the recovered scene. 
         [0000]    Video Sequences from a High-Speed Camera 
         [0062]    The results shown in  FIGS. 7A-7D  and  8 A- 8 D correspond to scenes acquired by a high-speed (HS) video camera operating at 250 frames per second. Both videos show complex (and fast) movement of large objects as well as severe occlusions. For both sequences, we emulate an SPC operating at 8192 compressive measurements per second. For each video, we used 2048 frames of the HS camera to obtain a total of T=32×2048 compressive measurements. The final recovered video sequences consist of F=61 frames (ΔW=1024). Both recovered videos demonstrate the effectiveness of CS-MUVI. 
         [0000]    Comparison with the P2C2 Algorithm: 
         [0063]      FIG. 9  compares CS-MUVI to the recovery algorithm for the P2C2 camera. Note that the P2C2 camera algorithm was developed for temporal multiplexing cameras and not for SMC architectures. Nevertheless, we observe from  FIGS. 9A and 9D  that naïve l-norm recovery delivers significantly worse initial estimates than the preview mode of CS-MUVI. The advantage of CS-MUVI for SMC architectures is also visible in the corresponding optical-flow estimates (see  FIGS. 9B and 9E . The P2C2 recovery algorithm has substantial artifacts, whereas CS-MUVI recovery is visually pleasing. 
         [0064]    There are some artifacts visible in  FIGS. 1D ,  7 A- 7 D, and  8 A- 8 D. The major portion stems from inaccurate optical-flow estimates—a result of residual noise in the preview images. It is worth noting, however, that the off-the-shelf optical-flow estimation algorithm used in the examples ignores the continuity of motion across multiple frames. Significant performance improvements may be achieved if a multi-frame optical-flow estimation is used. 
         [0065]    A smaller portion of the recovery artifacts is caused by using dense measurement matrices, which spread local errors (such as those from the inaccurate optical-flow estimates) across the entire image. This problem is inherent to imaging with SMCs that involve a high degree of spatial multiplexing; imaging architectures that perform only local spatial multiplexing (such as the P2C2 camera) do not suffer from this problem. 
         [0066]    The videos in  FIGS. 7A-7D  and  8 A- 8 D have 256×256×61 pixels and were obtained from 256 2  compressive measurements; hence, a naïve estimate would suggest a compression of 61×. However, the blur in the recovered videos suggest that the finest spatial frequencies are not present. 
         [0067]    Since CS-MUVI relies on optical-flow estimates obtained from low-resolution images, it can fail to recover small objects with rapid motion. More specifically, moving objects that are of sub-pixel size in the preview mode are lost.  FIGS. 7A-7B  show an example of this limitation. The cars are moved using fine strings, which are visible in  FIG. 7A  but not in  FIG. 7B . Increasing the spatial resolution of the preview images eliminates this problem at the cost of more motion blur. To avoid these limitations altogether, one must increase the sampling rate of the SMC. 
         [0068]    The foregoing description of the preferred embodiment of the invention has been presented for purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed, and modifications and variations are possible in light of the above teachings or may be acquired from practice of the invention. The embodiment was chosen and described in order to explain the principles of the invention and its practical application to enable one skilled in the art to utilize the invention in various embodiments as are suited to the particular use contemplated. It is intended that the scope of the invention be defined by the claims appended hereto, and their equivalents. The entirety of each of the aforementioned documents is incorporated by reference herein.