# Patent

## Title
Systems and methods for imaging

## Abstract

An imaging device has a light field imager and a processor. The light field imager includes a microlens array, and a light field sensor positioned proximate to the microlens array, having a plurality of pixels and recording light field data of an optical target from light passing through the microlens array. The processor is configured to: receive the light field data of the optical target from the light field sensor, estimate signal to noise ratio and depth of the optical target in the light field data, select a subset of sub-aperture images based on the signal to noise ratio and depth, combine the selected subset of sub-aperture images, and perform image analysis on the combined subset of sub-aperture images.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application claims the benefit of U.S. Patent Application No. 62/150,352 for Systems and Methods for Imaging filed Apr. 21, 2015, which is hereby incorporated by reference in its entirety.
The present application is related to U.S. patent application Ser. No. 14/566,464 for Barcode Imaging filed Dec. 10, 2014 (and published Jun. 11, 2015 as U.S. Patent Publication No. 2015/0161427), which claims the benefit of U.S. Patent Application No. 61/914,256 for Bar Code Identification filed Dec. 10, 2013. Each of the foregoing patent applications and patent publication is hereby incorporated by reference in its entirety.


FIELD OF THE INVENTION
The invention is generally related to systems and methods of light field imaging, and, more specifically, to systems and methods reducing computational complexity of light field imaging.
BACKGROUND
Indicia scanners often have fixed focus optics because mechanical focusing systems lack robustness to mechanical shocks, among other issues. The result is that scanners have limited depth of field, and the onus is on a user to position the object within that depth of field; various sub-models of a given scanner are made to address different scan ranges.
Additionally, the acceptable processing time for barcode readers is very short, as they are used in high-throughput settings such as grocery checkout counters. As such, there is a need to develop barcode readers that allow for a larger scanning depth of field while (a) still being robust to mechanical shocks and/or (b) providing a rapid response to the user.
To remove these limitations, there is an interest in using light field cameras for scanning. Light field cameras use a microlens array in the optical path to capture a set of light rays that can be combined in software to produce images focused at various distances. Light field imaging systems allow a user to capture four dimensional (4D) images that provide additional imaging information than can be provided by typical imaging systems. For example, a light field imaging array system can provide both spatial and angular light ray information.
A drawback associated with light field scanning is that the computational complexity of the refocusing operation is high compared to more traditional two dimensional image sensors. For example, typically, when light field imaging systems are utilized, the image data is analyzed, segmented into parts, and several re-focused images are created wherein each corresponding image is focused on different depths within the image as a whole. In order to do this, an objective function (e.g. sharpness) is maximized over the several re-focused images in order to determine the one providing highest contrast, and corresponding to the depth of the barcode in the scene. This higher computational complexity can cause unacceptably long delays between image capture and symbol decoding (e.g., decoding a barcode in the captured image).
An alternative to this approach is to analyze the scene in the Fourier domain, but this is slow because a large matrix must be transformed into the Fourier domain. The processing time of these methods can be slower than is desirable, in some applications.
SUMMARY
In one aspect of the invention, an imaging device comprises: a light field imager comprising a microlens array, and a light field sensor positioned proximate to the microlens array, having a plurality of pixels and recording light field data of an optical target from light passing through the microlens array; and a processor configured to: receive the light field data of the optical target from the light field sensor, estimate signal to noise ratio and depth of the optical target in the light field data, select a subset of sub-aperture images based on the signal to noise ratio and depth, combine the selected subset of sub-aperture images, and perform image analysis on the combined subset of sub-aperture images.
In an embodiment, the light field data comprises a plurality of sub-aperture images.
In an embodiment, estimating the signal to noise ratio is performed using sensor characterization.
In an embodiment, sensor characterization includes sensor noise level, gain, exposure time, or any combination thereof.
In another embodiment, sensor characterization is determined from pixel intensities.
In an embodiment, estimating depth of the optical target from the light field imager is directly determined from the light field data.
In another embodiment, estimating depth of the optical target from the light field imager is through registration of two sub-aperture images.
In an embodiment, a pre-determined table of optimal subsets of sub-aperture images at different signal to noise ratios and depths of a theoretical optical target from the light field imager.
In an embodiment, the subset of sub-aperture images is selected from the pre-determined table.
In another embodiment, combining the subset of sub-aperture images includes a quantized shifting and adding together the subset of sub-aperture images.
In an embodiment, the imaging device is an indicia scanner.
In an embodiment, the image analysis is facial recognition.
In an embodiment, the image analysis is iris recognition.
In another aspect of the invention, a method comprises: capturing light field data of an optical target with a light field sensor; estimating signal to noise ratio and depth of the optical target in the light field data; selecting a subset of sub-aperture images based on the signal to noise ratio and depth; combining the selected subset of sub-aperture images; and performing image analysis on the combined subset of sub-aperture images.
In an embodiment, the light field data comprises a plurality of sub-aperture images.
In another embodiment, estimating the signal to noise ratio is performed using sensor characterization of sensor noise level, gain, exposure time, or any combination thereof.
In another embodiment, estimating depth of the optical target from the light field imager is determined directly from the light field data.
In yet another embodiment, estimating depth of the optical target from the light field imager is through registration of two sub-aperture images.
In an embodiment, the subset of sub-aperture images is selected from a pre-determined table comprising optimal subsets of sub-aperture images at different signal to noise ratios and depths of a theoretical optical target from the light field imager.
In an embodiment, combining the subset of sub-aperture images includes a quantized shifting and adding together the subset of sub-aperture images.



BRIEF DESCRIPTION OF THE DRAWINGS
The invention will now be described by way of example, with reference to the accompanying Figures, of which:
FIG. 1a is a schematic view of a light field imager;
FIG. 1b is a schematic view of a computer system of the light field imager;
FIG. 2a is a first image of a 1D barcode using the conventional baseline approach of combining all views;
FIG. 2b is a second image of the 1D barcode using a limited number of views;
FIG. 2c is a third image of a 2D barcode without a conventional baseline approach without a quantized refocus parameter
FIG. 2d is a fourth image of the 2D barcode with the quantized refocus parameter;
FIG. 3 is a graphical representation of rounding reducing image contrast in proportion to quantization error as true shift varies;
FIG. 4 is a graphical representation of a dynamic range performance of refocused images using a method of reducing computational complexity of light field imagers; and
FIG. 5 is a block diagram of the method for reducing computational complexity of light field imagers.



DETAILED DESCRIPTION
While the following description is directed towards the field of indicia scanners and resolution of decodable indicia, those of ordinary skill in the art would recognize that the apparatus and methods described herein are generally applicable to other imaging applications. Thus, the use of indicia scanners is exemplary, and the invention should not be limited thereto. U.S. patent application Ser. No. 14/566,464 discloses a method to find a barcode within an image frame and to determine a distance from the scanner to a target object. The following disclosure improves upon existing methods for combining multiple rays to produce an image.
In industrial imaging applications, large volumes of imagery are captured for non-aesthetic uses, which would incur high computational costs if image processing were performed with standard methods. However, while high quality images are often desired in consumer photography, image quality is binary for pattern recognition systems: the image quality is either above or below a predetermined threshold level that supports reliable recognition. Once that threshold is surpassed, any additional effort to improve image quality is wasted. Pattern recognition systems, such as indicia scanners, need light field processing which produce satisfactory image quality at the least computational expense. Light field cameras, such as the light field camera 1 shown in an embodiment of FIG. 1, simultaneously capture multiple “views” of a scene; and for example in the case of microlens-based light field imagers, these “views” are also referred to as sub-aperture images (SAIs), and correspond to images formed by light passing through a particular region of the main lens' aperture. See FIGS. 1a and 1b discussed in detail below.
The computational complexity of processing is proportional to the number of views combined, and to the precision of view-to-view registration. While computational effort can always be reduced at the expense of image quality, selecting SAIs via a naive or greedy algorithm is sub-optimal, because the selected SAIs may not be the computationally simplest to combine. Thus, by determining the optimal number and selection of SAIs to be combined in refocusing, the computational complexity of light field rendering (i.e. refocusing) can be greatly reduced.
In an embodiment, the computational complexity of light field rendering can be reduced by making a poorer quality image. In other words, one of the general objectives is to generate an image which is just above the threshold of decodability, using a minimal amount of computation, rather than generating an aesthetically-pleasing image. Since the computational complexity of light field rendering is proportional to the number of angular views combined, fast refocusing can be obtained by using a minimal number of such views (SAIs), and choosing the minimal number with respect to how much computation is needed.
In the embodiments shown in FIGS. 1a and 1b, a light field imager 1 includes a main lens 10, microlens array 20, light field sensor 30, memory 503, and processing unit 502 (e.g. a processor). The light field sensor 30 is in electrical communication with the memory 503 and/or the processing unit 502. As shown in FIG. 1a, the light field sensor 30 is positioned proximate to the microlens array 20, having a plurality of pixels (not shown) and recording light field data of an optical target from light 40 passing through the microlens array 20.
In the embodiment shown in FIG. 1b, an exemplary computer system 500 implements the disclosed methods. All components need not be used in various embodiments. One exemplary computing device is in the form of a computer 500, and includes one or more of a processing unit 502, memory 503, removable storage 510, and non-removable storage 512. Although the exemplary computing device is shown and described as computer 500, the computing device can be in different forms in different embodiments. For example, as described above, the computing device can be a light field imager 1 such as LytroTM or other commercially available light field cameras, or a smartphone, a tablet, or other computing device including the same or similar elements as illustrated and described with regard to FIG. 1b. Further, although the various data storage elements are illustrated as part of the computer 500, the storage can also or alternatively include cloud-based storage accessible via a network, such as the Internet.
Memory 503 can include volatile memory 514 and non-volatile memory 508. Computer 500 includes or has access to a computing environment that includes—a variety of computer-readable media, such as volatile memory 514 and non-volatile memory 508, removable storage 510 and non-removable storage 512. Computer storage includes random access memory (RAM), read only memory (ROM), erasable programmable read-only memory (EPROM) & electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, compact disc read-only memory (CD ROM), Digital Versatile Disks (DVD) or other optical disk storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium capable of storing computer-readable instructions.
Computer 500 can include or have access to a computing environment that includes input 506, output 504, and a communication connection 516. Output 504 can include a display device, such as a touchscreen, that also can serve as an input device. The input 506 can include one or more of a touchscreen, touchpad, mouse, keyboard, camera, one or more device-specific buttons, one or more sensors integrated within or coupled via wired or wireless data connections to the computer 500, and other input devices. The computer can operate in a networked environment using a communication connection to connect to one or more remote computers, such as database servers. The remote computer can include a personal computer (PC), server, router, network PC, a peer device or other common network node, or the like. The communication connection can include a Local Area Network (LAN), a Wide Area Network (WAN), cellular, WiFi, Bluetooth, or other networks.
Computer-readable instructions stored on a computer-readable medium are executable by the processing unit 502 of the computer 500. A hard drive, CD-ROM, and RAM are some examples of articles including a non-transitory computer-readable medium such as a storage device. The terms computer-readable medium and storage device do not include carrier waves. For example, a computer program 518 capable of providing a generic technique to perform access control check for data access and/or for doing an operation on one of the servers in a component object model (COM) based system can be included on a CD-ROM and loaded from the CD-ROM to a hard drive. The computer-readable instructions allow computer 500 to provide generic access controls in a COM based computer network system having multiple users and servers.
Baseline Complexity
Conventional light field processing for pattern recognition involves at least three steps which are computationally intensive: (1) interpolating SAIs from the raw sensor image, (2) locating and estimating the depth of the target region, and (3) combining the SAIs to a refocused image. The complexity of steps (1) and (3) is proportional to the number of SAIs which are combined during refocusing, so minimizing the number of SAIs reduces the computational complexity. In an embodiment, correspondence based depth estimation is employed for time-constrained applications, because correspondence based depth estimation can be used with as few as two SAIs. Additionally, domain-specific depth estimation methods can eliminate the need to interpolate SAIs from the sensor image, such as described in U.S. patent application Ser. No. 14/566,464, which has been incorporated by reference, which describes in detail domain-specific depth estimation for 1D barcodes, although those of ordinary skill in the art would understand that other known depth estimation methods can also be used, such as Fourier domain methods.
In conventional shift-and-add refocusing algorithms, the light field is represented as a set L of sub-aperture images (SAIs), each of whose pixels record light passing through a specific region of the main lens aperture. The central SAI L0,0 is made up of light passing through the center of the main lens aperture, with the central SAI pixels being located at the center of a spot behind each microlens. In general, SAIs are denoted L(u,v), where u and v respectively denote the horizontal and vertical displacement of the constituent rays/pixels relative to aperture/spot center; umax to denote the radius of the microlens spots, so u, v≦umax. Each target depth corresponds to a unique value Δ (the ‘shift’) such that the refocused image at pixel (x, y) is sharply focused at that depth when:

R(x,y)|=∫u∫vL(u,v)(x+uΔ,y+vΔ)du dv.  (1)

Because microlens sampling in u,v is usually sparse, out of focus regions of R may appear aliased without interpolating additional views. In an embodiment, interpolation and integrating additional views can be avoided by only rendering a target region, where different views are added as:




  
    
      
        
          R
          ⁡
          
            (
            
              x
              ,
              y
            
            )
          
        
        =
        
          
            ∑
            u
          
          ⁢
          
            
              ∑
              v
            
            ⁢
            
              
            
            ⁢
            
              
                
                  L
                  
                    (
                    
                      u
                      ,
                      v
                    
                    )
                  
                
                ⁡
                
                  (
                  
                    
                      x
                      +
                      
                        u
                        ⁢
                        
                          
                        
                        ⁢
                        Δ
                      
                    
                    ,
                    
                      y
                      +
                      
                        v
                        ⁢
                        
                          
                        
                        ⁢
                        Δ
                      
                    
                  
                  )
                
              
              .
            
          
        
      
    
    
      
        (
        2
        )
      
    
  




In an embodiment, the complexity of the shift-and-add refocusing algorithm for each pixel in the refocused image according to equation 2, is that combining n SAIs involves the summation of n terms. If Δ is an integer, the summands can be found via lookup in the corresponding SAI, and equation 2 is n−1 additions. When uΔ and vΔ are not integers, though, refocusing also involves n−1 2D interpolations. Thus, in an embodiment, when Δ is an integer, shifting and adding one SAI to another is approximately 4× faster than a 2D interpolation with a non-integer shift.
Quantizing the Refocus Parameter
The drawback of quantization is that the multiple views are misregistered before the summation, causing defocus in R. When Δ is rounded to the nearest integer, quantization error is bounded by 0.5 pixel, and a radius of the blur spot is bounded by umax/2 pixels in R.
In an embodiment using 1D and 2D barcode scanning as an example, empirically, barcode decoders do not support integer quantization of the refocus shift when applied to light field images, such as those captured by the LytroTM camera, where umax=5. This is shown by refocusing light field images of a barcode 200 taken at a distance where the smallest bar maps to about 1.5 pixels.
As shown for example in FIG. 3, as the true shift varies continuously over the range [0, 1], rounding reduces the contrast in proportion to quantization error. Integer quantization can reduce contrast below a threshold value of 0.19, where decoding is unsuccessful. Quantizing the shift in half- or third-pixel increments, though, bounds contrast above this threshold, where decoding is successful. When correspondence-only depth estimation contributes additional error, the interval can be chosen so that the net effect of quantization plus a statistical expectation of the depth error produces a result with enough contrast. While half- or third-pixel quantization steps do not avoid interpolation altogether, they do reduce the number of interpolations that are needed. When the quantization steps are 1/q, any two SAIs L(u1,v1) and L(u2,v2) can be combined without interpolation if u1=u2 mod q and v1=v2 mod q. Using half pixel (i.e., q=2) quantization steps, and rounding Δ to Δq, equation 2 can be re-written as

R(x,y)=R(0,0)(x,y)+R(1,0(x+Δq,y)+R(0,1)(x,y+Δq)+R(1,1)(x+Δq,y+Δq)  (3)

where the superscripts on R represent the residue of (u, v) modulo q.

As an example,




  
    
      
        
          
            
              R
              
                (
                
                  0
                  ,
                  0
                
                )
              
            
            ⁡
            
              (
              
                x
                ,
                y
              
              )
            
          
          =
          
            
              ∑
              u
            
            ⁢
            
              
                ∑
                v
              
              ⁢
              
                
              
              ⁢
              
                
                  L
                  
                    
                      2
                      ⁢
                      u
                    
                    ,
                    
                      2
                      ⁢
                      v
                    
                  
                
                ⁡
                
                  (
                  
                    
                      x
                      +
                      
                        2
                        ⁢
                        
                          
                        
                        ⁢
                        u
                        ⁢
                        
                          
                        
                        ⁢
                        
                          Δ
                          q
                        
                      
                    
                    ,
                    
                      y
                      +
                      
                        2
                        ⁢
                        
                          
                        
                        ⁢
                        v
                        ⁢
                        
                          
                        
                        ⁢
                        
                          Δ
                          q
                        
                      
                    
                  
                  )
                
              
            
          
        
        ,
      
    
    
      
        (
        4
        )
      
    
  




with the appropriate bounds on u and v. Generating these Rs avoids interpolation because qΔq is necessarily an integer, i.e. the SAIs in this sum all have integer shifts with respect to one another. Sets containing the summands of the various R are referred to as ‘integer shift classes’ R since each member can be combined with any other via an integer shift and, e.g., denote as R(0,0) the summands in equation 4. The number of interpolations needed to produce R is reduced to 3 when q=2, and q2−1 in general. Additionally, while R(1,1) still requires bi-linear interpolation in equation 3, R(0,1) and R(1,0) require only linear interpolation. So when q=2, refocusing is reduced from n−1 2D interpolations to 2 1D and 1 2D interpolation.

In a microlens-based light field camera, each view of the scene is taken through the same aperture size, so combining additional views doesn't improve sharpness. Combining multiple views maintains the sharpness associated with tin times the f-number, but gives a SNR consistent with the full lens aperture (f/2 in the case of the LytroTM camera). But, depending on the illumination conditions, the full aperture may not be needed to produce a recognizable image; if the exposure time is long enough, the central SAI may itself be recognizable and refocusing unnecessary. The purpose of refocusing in a recognition system is to produce an image of the target which meets or exceeds a threshold SNR—in as little time as possible. So this section describes how to dynamically (i.e., taking into account image exposure) find the number of views needed to produce a recognizable image.
Since each image-based recognition algorithm will have its own signal to noise ratio (SNR) requirements, a function SNR(A) can be generalized, and quantifies the quality of an image refocused using the SAIs in A, and a threshold r on this quantity, satisfying: SNR(A∪B)=SNR(A)+SNR(B)−SNR(A∩B), where zero bias is SNR({ })=0. A minimum threshold where a refocused target will be recognizable is if SNR(•)>=τ. The ordering is reflected by: SNR({L(u1,v1)})>SNR({L(u2,v2)}) if ∥(u1, v1)∥<∥(u2, v2)∥.
Ordering reflects the fact that, because of microlens vignetting, the signal component of an SAI decreases with ∥(u,v)∥ while significant noise sources (from dark current and readout) remain fixed. In an embodiment, de-vignetting of the SAIs in the raw image is avoided during pre-processing, because vignetting the SAIs amplifies noise in proportion to ∥(u,v)∥. This keeps the dark noise level consistent between SAIs, making it easier to know whether a given image will be decodable. After sorting the SAIs in increasing order of ∥(u,v)∥, the minimum value k is reflected in that:

SNR({L(u1,v1),L(u2,v2), . . . L(uk,vk)})>τ.  (5)

In an embodiment shown in Equation 5, the minimum number of SATs needed to reach a given SNR threshold is determined. Sorting the SAIs in increasing order of ∥(u,v)∥, and then summing the first k of them, implicitly acts as a greedy algorithm where the next SAI added is the brightest among unused SAIs. However, as described above, the optimal SAIs having minimal processing complexity, are those SAIs where the quantized shift parameter Δq is an integer, since those SAIs do not need interpolation.
On the other hand if, for example, Δq=1.5 pixels and SNR({L(0,0)}) is so close to τ that adding any other SAI would produce a recognizable image, the greedy algorithm would sub-optimally choose one of L(1,0), L(−1,0), L(0,1), or L(0,−1) depending on how ties are broken during sorting. Since all of these require interpolation to effect the quantized shift, the computational complexity is higher than adding L(2,0) to L(0,0), which only requires memory lookups, since 2Δq is an integer. Likewise, when Δq is quantized to thirds of pixels, adding L(3,0) is optimal because it is the brightest non-central SAIs whose use avoids interpolation. So determining an optimal set of SAIs to combine must consider both) SNR({L(0,0)}) and Δq. Formally, the optimization problem is defined as selecting a set {L(u1,v1), L(u2,v2), . . . }⊂L such that refocusing with these SAI provides SNR greater than τ and that no other subset of L does so at lower computational cost. Thus, w=SNR({L(0,0)}) and denotes our desired set LwΔq. The number of subsets of L is exponential in the number of SAIs so, if Dansereau's toolbox is used, giving 121 SAIs, there are 2121≈2.7*1036 subsets and a brute force approach is simply unpractical. Instead, in an embodiment, a tractable algorithm observes the optimal sub-structure property of property of LwΔq with respect to the integer shift classes.
To determine an Optimal sub-structure lemma: LwΔq represents a least-cost set of SAIs providing a refocused image with SNR(LwΔq). If we remove from LwΔq all SAIs from a given integer shift class R, the then remaining set of SAIs LwΔq\R must be the least cost subset producing a refocused image with SNR(LwΔq\R).
For example, suppose that there is a lower cost set X⊂L\R producing a refocused image with SNR(LwΔq\R). In that case, by the additivity property, the set X∪(LwΔq∩R) must have a lower cost than LwΔq while producing the same SNR, and the premise that LwΔq is least-cost is contradicted.
In light of the optimal sub-structure lemma, LwΔq can be found by dynamic programming. Let M(i,t) represent the maximum SNR that can be achieved in at most t milliseconds of computation using only the first i integer shift classes. The amount of time is denoted as the time it takes to extract an SAI from the sensor image and add that SAI to another SAI in its integer shift class as ta, and the amount of time needed to interpolate the summed result of SAIs selected from the ith integer shift class Ri as ti. The integer shift classes are sorted by increasing ti, and thus

M(i,t)=M(i−1,w) if ti+ta>t,  (6)

when there is insufficient time to interpolate and add even a single SAI from the ith integer shift class. Otherwise





   
  
    
      
        
          
            
              
                
                  M
                  ⁡
                  
                    (
                    
                      i
                      ,
                      t
                    
                    )
                  
                
                =
                
                ⁢
                
                  max
                  (
                  
                    
                      M
                      ⁡
                      
                        (
                        
                          
                            i
                            -
                            1
                          
                          ,
                          t
                        
                        )
                      
                    
                    ,
                  
                
              
            
          
          
            
              
                
                ⁢
                
                  
                    
                      M
                      ⁡
                      
                        (
                        
                          
                            i
                            -
                            1
                          
                          ,
                          
                            t
                            -
                            
                              t
                              i
                            
                            -
                            
                              t
                              a
                            
                          
                        
                        )
                      
                    
                    +
                    
                      SNR
                      ⁡
                      
                        (
                        
                          {
                          
                            L
                            
                              (
                              
                                
                                  u
                                  1
                                  i
                                
                                ,
                                
                                  v
                                  1
                                  i
                                
                              
                              )
                            
                          
                          }
                        
                        )
                      
                    
                  
                  ,
                
              
            
          
          
            
              
                
                ⁢
                ...
              
            
          
          
            
              
                
                  
                  ⁢
                  
                    
                      M
                      ⁡
                      
                        (
                        
                          
                            i
                            -
                            1
                          
                          ,
                          
                            t
                            -
                            
                              t
                              i
                            
                            -
                            
                              kt
                              a
                            
                          
                        
                        )
                      
                    
                    +
                    
                      SNR
                      ⁡
                      
                        (
                        
                          {
                          
                            
                              L
                              
                                (
                                
                                  
                                    u
                                    1
                                    i
                                  
                                  ,
                                  
                                    v
                                    1
                                    i
                                  
                                
                                )
                              
                            
                            ,
                            
                              L
                              
                                (
                                
                                  
                                    u
                                    2
                                    i
                                  
                                  ,
                                  
                                    v
                                    2
                                    i
                                  
                                
                                )
                              
                            
                            ,
                            
                              ...
                              ⁢
                              
                                
                              
                              ⁢
                              
                                L
                                
                                  (
                                  
                                    
                                      u
                                      k
                                      i
                                    
                                    ,
                                    
                                      v
                                      k
                                      i
                                    
                                  
                                  )
                                
                              
                            
                            ,
                          
                          }
                        
                        )
                      
                    
                  
                  )
                
                ,
              
            
          
        
      
      
        
          (
          7
          )
        
      
    
  




with the terms in the max( ) representing the use of 0, 1, . . . k SATs from the ith integer shift class, whose members are sorted in increasing order of ∥(u,v)∥ k is the lesser of the number of SAIs in the ith integer shift class and the value [(t−ti)/ta], i.e. the maximum number of SAIs that can be combined within the time limits.

In order to solve for LwΔq, entries are filled of M for I=1, where the first integer shift class contains L(u,v) where u=0 mod q and v=0 mod q. The maximum value of t can be capped at tmax where M(1, tmax)>τ, and the remaining values of M can be computed using equations 6 and 7. As in other applications of dynamic programming, the computation of M's values can be sped up by dividing ta and ti by their greatest common divisor.
In an embodiment shown in FIG. 4, images of a 13 mil UPC-A barcode are captured at a distance of about 15 cm from a LytroTM camera, with approximately 48 images captured over a range of 16 stops of exposure in 13 stop increments. These stops ranged from 11 stops under-exposed, to 5 stops over-exposed. In order to demonstrate the light-gathering advantages of Lytro's f/2 main aperture relative to a small aperture providing the same depth of field, the central SAI L(0,0) is compared to the captured images to see the exposure range over which the UPC-A barcode can be decoded. On the LytroTM camera, the central SAI corresponds approximately to an f/22 aperture.
FIG. 4 summarizes the dynamic range performance of the refocused images according to the methods described above. At the low exposure range, the first successful decode of the central SAI is 31⁄3 stops underexposed, and the first successful decode using the method is 92⁄3 stops underexposed. This is an increase of 61⁄3 stops of low end decoding dynamic range, meaning decoding can performed with 2−6:3=1:3% the amount of light as the small aperture approach. At the high exposure range, the last successful baseline decode is 21⁄3 stops overexposed and the last successful decode of the images is 32⁄3 stops overexposed. This is an increase of 11⁄3, so the method can handle 21.3≈250% as much light as before.
The embodiment of FIG. 4 also shows the number of SAIs used to make the refocused image. Numerically, 46% of the refocused images are simply single SAIs. At low exposure levels the refocused images use an increasing number of SAIs. Due to vignetting, the number of SAIs more than doubles when the exposure level is reduced by a stop. Since the distribution is so skewed, there is a big difference between the mean number of images used (14) and the median (2), but either represents a large saving relative to naive light field refocusing using all 121 SAIs all the time.







TABLE 1







iMX25 processing times for refocusing









Op Code 
ns/pixel
Operation Description












A
83
Integer shift, add


B
100
1D interpolation by 0.5px, add


C
128
2D interpolation by 0.5px, add


D
260
1D interpolation general, add


E
335
2D interpolation general, add









Table 1 shows empirically derived timing information using the methods described herein, providing performance of embedded recognition systems without high-end modern processors. In Table 1, elements of shift-and-add refocusing according to the methods described herein, were performed on a Freescale Semiconductor iMX25 development board, which has a 32-bit ARM926EJS processor with a single 400 MHz core. The components of shift-and-add refocusing were timed on several images of different sizes, and show the average complexity of per-pixel per-SAI operations. Because the iMX25 doesn't have hardware support for floating point arithmetic, and software emulation is extremely expensive, multiplications and divisions by noninteger quantities are approximated by the nearest rational number, e.g. multiplication by 0.66 is implemented by multiplication by 2 followed by a division by 3.
In a baseline implementation, shift-and-add refocusing involves independently registering each of the non-central SAIs via 2D interpolation and then adding to L(0,0). This has a complexity of 120 SAIs*335 ns/SAI=0.040 ms per pixel, so refocusing a 256×256 pixel grayscale image would take about 2.6 seconds. A more efficient baseline, where all SAIs with a given value of u are combined via 1D interpolation before a second 1D interpolation in the v direction reduces this to 120 1D interpolations taking  ̃0.031 ms per pixel or 2 seconds for the same sized image.
Since the set LwΔq of SAIs combined using the embodiments of the method depends on both w and the quantized shift parameter Δq, the computational complexity of the method depends on both the exposure level and the target's position relative to the main lens' plane of focus. In an ideal case, when LwΔq={L(0,0)} because the central SAI is sufficiently well exposed, the method's refocusing is a nonoperation and does not require any processing time. In the ideal case, the light field camera, such as the LytroTM camera, is simply acting like a traditional camera with a small aperture.
In an embodiment shown in FIGS. 2a-2d, FIG. 2a shows a first image 101 of a 1D barcode 100 using the conventional baseline approach of combining all 121 SAIs. The computational cost in producing the first image 101 is approximately 402 ms. FIG. 2b shows a second image 102 of the 1D barcode 100 produced using the methods described herein by combining only 6 views. The computational cost of producing the second image 102 by processing the limited number of views is approximately 17 ms. FIG. 2c shows a third image 103 of a 2D indicia 110 produced using the conventional baseline approach that does not quantize a refocus parameter (i.e. no shift quantization). The computational cost of producing the third image 103 is approximately 1280 ms. FIG. 2d shows a fourth image 104 of the 2D indicia 110 produced using the methods described herein by quantizing the refocus parameter. The computational cost of producing the fourth image 104 is approximately 21 ms.
As shown in an embodiment of FIG. 5, a method 300 of reducing computational complexity of light field imagers 1 includes capturing light field data of an optical target, such as a decodable indicia, with a light field sensor 30 at block 310, where the light field data comprises a plurality of sub-aperture images.
The method 300 includes estimating signal to noise ratio and depth of the optical target in the light field data at block 315. In an embodiment, estimating the signal to noise ratio is performed using sensor characterization of sensor noise level, gain, exposure time, or any combination thereof. In another embodiment, sensor characterization is determined from pixel intensities of the light field sensor 30. In an embodiment, estimating depth of the optical target from the light field imager is determined directly from the light field data. In an embodiment, estimating depth of the optical target from the light field imager is through registration of two sub-aperture images.
The method 300 includes selecting a subset of sub-aperture images based on the signal to noise ratio and depth at block 320. In an embodiment, the subset of sub-aperture images is selected from a pre-determined table comprising optimal subsets of sub-aperture images at different signal to noise ratios and depths of a theoretical optical target from the light field imager.
The method 300 includes combining the selected subset of sub-aperture images at block 325. In an embodiment, combining the subset of sub-aperture images includes a quantized shifting and adding together of the subset of sub-aperture images.
The method 300 includes performing image analysis on the combined subset of sub-aperture images at block 330. In an embodiment, the image analysis is identifying and decoding a decodable indicia. In another embodiment, the image analysis is facial recognition. In yet another embodiment, the image analysis is iris recognition.
Accordingly, the methods described herein optimally selects a set of SAIs which, after quantized shift-and-add refocusing, produce a recognizable image with the least possible computation compared to conventional approaches. Utilizing the recognition algorithm's dynamic range and robustness to defocus permits the selection of a minimal number of SAIs that need to be combined, and to manipulate the precision with which those SAIs are registered to one another. Jointly optimizing over the number of SAIs and the precision of registration achieves up to a 99% reduction in computational complexity over the conventional approaches.
To supplement the present disclosure, this application incorporates entirely by reference the following patents, patent application publications, and patent applications:

    U.S. Pat. No. 6,832,725; U.S. Pat. No. 7,128,266;
    U.S. Pat. No. 7,159,783; U.S. Pat. No. 7,413,127;
    U.S. Pat. No. 7,726,575; U.S. Pat. No. 8,294,969;
    U.S. Pat. No. 8,317,105; U.S. Pat. No. 8,322,622;
    U.S. Pat. No. 8,366,005; U.S. Pat. No. 8,371,507;
    U.S. Pat. No. 8,376,233; U.S. Pat. No. 8,381,979;
    U.S. Pat. No. 8,390,909; U.S. Pat. No. 8,408,464;
    U.S. Pat. No. 8,408,468; U.S. Pat. No. 8,408,469;
    U.S. Pat. No. 8,424,768; U.S. Pat. No. 8,448,863;
    U.S. Pat. No. 8,457,013; U.S. Pat. No. 8,459,557;
    U.S. Pat. No. 8,469,272; U.S. Pat. No. 8,474,712;
    U.S. Pat. No. 8,479,992; U.S. Pat. No. 8,490,877;
    U.S. Pat. No. 8,517,271; U.S. Pat. No. 8,523,076;
    U.S. Pat. No. 8,528,818; U.S. Pat. No. 8,544,737;
    U.S. Pat. No. 8,548,242; U.S. Pat. No. 8,548,420;
    U.S. Pat. No. 8,550,335; U.S. Pat. No. 8,550,354;
    U.S. Pat. No. 8,550,357; U.S. Pat. No. 8,556,174;
    U.S. Pat. No. 8,556,176; U.S. Pat. No. 8,556,177;
    U.S. Pat. No. 8,559,767; U.S. Pat. No. 8,599,957;
    U.S. Pat. No. 8,561,895; U.S. Pat. No. 8,561,903;
    U.S. Pat. No. 8,561,905; U.S. Pat. No. 8,565,107;
    U.S. Pat. No. 8,571,307; U.S. Pat. No. 8,579,200;
    U.S. Pat. No. 8,583,924; U.S. Pat. No. 8,584,945;
    U.S. Pat. No. 8,587,595; U.S. Pat. No. 8,587,697;
    U.S. Pat. No. 8,588,869; U.S. Pat. No. 8,590,789;
    U.S. Pat. No. 8,596,539; U.S. Pat. No. 8,596,542;
    U.S. Pat. No. 8,596,543; U.S. Pat. No. 8,599,271;
    U.S. Pat. No. 8,599,957; U.S. Pat. No. 8,600,158;
    U.S. Pat. No. 8,600,167; U.S. Pat. No. 8,602,309;
    U.S. Pat. No. 8,608,053; U.S. Pat. No. 8,608,071;
    U.S. Pat. No. 8,611,309; U.S. Pat. No. 8,615,487;
    U.S. Pat. No. 8,616,454; U.S. Pat. No. 8,621,123;
    U.S. Pat. No. 8,622,303; U.S. Pat. No. 8,628,013;
    U.S. Pat. No. 8,628,015; U.S. Pat. No. 8,628,016;
    U.S. Pat. No. 8,629,926; U.S. Pat. No. 8,630,491;
    U.S. Pat. No. 8,635,309; U.S. Pat. No. 8,636,200;
    U.S. Pat. No. 8,636,212; U.S. Pat. No. 8,636,215;
    U.S. Pat. No. 8,636,224; U.S. Pat. No. 8,638,806;
    U.S. Pat. No. 8,640,958; U.S. Pat. No. 8,640,960;
    U.S. Pat. No. 8,643,717; U.S. Pat. No. 8,646,692;
    U.S. Pat. No. 8,646,694; U.S. Pat. No. 8,657,200;
    U.S. Pat. No. 8,659,397; U.S. Pat. No. 8,668,149;
    U.S. Pat. No. 8,678,285; U.S. Pat. No. 8,678,286;
    U.S. Pat. No. 8,682,077; U.S. Pat. No. 8,687,282;
    U.S. Pat. No. 8,692,927; U.S. Pat. No. 8,695,880;
    U.S. Pat. No. 8,698,949; U.S. Pat. No. 8,717,494;
    U.S. Pat. No. 8,717,494; U.S. Pat. No. 8,720,783;
    U.S. Pat. No. 8,723,804; U.S. Pat. No. 8,723,904;
    U.S. Pat. No. 8,727,223; U.S. Pat. No. D702,237;
    U.S. Pat. No. 8,740,082; U.S. Pat. No. 8,740,085;
    U.S. Pat. No. 8,746,563; U.S. Pat. No. 8,750,445;
    U.S. Pat. No. 8,752,766; U.S. Pat. No. 8,756,059;
    U.S. Pat. No. 8,757,495; U.S. Pat. No. 8,760,563;
    U.S. Pat. No. 8,763,909; U.S. Pat. No. 8,777,108;
    U.S. Pat. No. 8,777,109; U.S. Pat. No. 8,779,898;
    U.S. Pat. No. 8,781,520; U.S. Pat. No. 8,783,573;
    U.S. Pat. No. 8,789,757; U.S. Pat. No. 8,789,758;
    U.S. Pat. No. 8,789,759; U.S. Pat. No. 8,794,520;
    U.S. Pat. No. 8,794,522; U.S. Pat. No. 8,794,525;
    U.S. Pat. No. 8,794,526; U.S. Pat. No. 8,798,367;
    U.S. Pat. No. 8,807,431; U.S. Pat. No. 8,807,432;
    U.S. Pat. No. 8,820,630; U.S. Pat. No. 8,822,848;
    U.S. Pat. No. 8,824,692; U.S. Pat. No. 8,824,696;
    U.S. Pat. No. 8,842,849; U.S. Pat. No. 8,844,822;
    U.S. Pat. No. 8,844,823; U.S. Pat. No. 8,849,019;
    U.S. Pat. No. 8,851,383; U.S. Pat. No. 8,854,633;
    U.S. Pat. No. 8,866,963; U.S. Pat. No. 8,868,421;
    U.S. Pat. No. 8,868,519; U.S. Pat. No. 8,868,802;
    U.S. Pat. No. 8,868,803; U.S. Pat. No. 8,870,074;
    U.S. Pat. No. 8,879,639; U.S. Pat. No. 8,880,426;
    U.S. Pat. No. 8,881,983; U.S. Pat. No. 8,881,987;
    U.S. Pat. No. 8,903,172; U.S. Pat. No. 8,908,995;
    U.S. Pat. No. 8,910,870; U.S. Pat. No. 8,910,875;
    U.S. Pat. No. 8,914,290; U.S. Pat. No. 8,914,788;
    U.S. Pat. No. 8,915,439; U.S. Pat. No. 8,915,444;
    U.S. Pat. No. 8,916,789; U.S. Pat. No. 8,918,250;
    U.S. Pat. No. 8,918,564; U.S. Pat. No. 8,925,818;
    U.S. Pat. No. 8,939,374; U.S. Pat. No. 8,942,480;
    U.S. Pat. No. 8,944,313; U.S. Pat. No. 8,944,327;
    U.S. Pat. No. 8,944,332; U.S. Pat. No. 8,950,678;
    U.S. Pat. No. 8,967,468; U.S. Pat. No. 8,971,346;
    U.S. Pat. No. 8,976,030; U.S. Pat. No. 8,976,368;
    U.S. Pat. No. 8,978,981; U.S. Pat. No. 8,978,983;
    U.S. Pat. No. 8,978,984; U.S. Pat. No. 8,985,456;
    U.S. Pat. No. 8,985,457; U.S. Pat. No. 8,985,459;
    U.S. Pat. No. 8,985,461; U.S. Pat. No. 8,988,578;
    U.S. Pat. No. 8,988,590; U.S. Pat. No. 8,991,704;
    U.S. Pat. No. 8,996,194; U.S. Pat. No. 8,996,384;
    U.S. Pat. No. 9,002,641; U.S. Pat. No. 9,007,368;
    U.S. Pat. No. 9,010,641; U.S. Pat. No. 9,015,513;
    U.S. Pat. No. 9,016,576; U.S. Pat. No. 9,022,288;
    U.S. Pat. No. 9,030,964; U.S. Pat. No. 9,033,240;
    U.S. Pat. No. 9,033,242; U.S. Pat. No. 9,036,054;
    U.S. Pat. No. 9,037,344; U.S. Pat. No. 9,038,911;
    U.S. Pat. No. 9,038,915; U.S. Pat. No. 9,047,098;
    U.S. Pat. No. 9,047,359; U.S. Pat. No. 9,047,420;
    U.S. Pat. No. 9,047,525; U.S. Pat. No. 9,047,531;
    U.S. Pat. No. 9,053,055; U.S. Pat. No. 9,053,378;
    U.S. Pat. No. 9,053,380; U.S. Pat. No. 9,058,526;
    U.S. Pat. No. 9,064,165; U.S. Pat. No. 9,064,167;
    U.S. Pat. No. 9,064,168; U.S. Pat. No. 9,064,254;
    U.S. Pat. No. 9,066,032; U.S. Pat. No. 9,070,032;
    U.S. Design Pat. No. D716,285;
    U.S. Design Pat. No. D723,560;
    U.S. Design Pat. No. D730,357;
    U.S. Design Pat. No. D730,901;
    U.S. Design Pat. No. D730,902;
    U.S. Design Pat. No. D733,112;
    U.S. Design Pat. No. D734,339;
    International Publication No. 2013/163789;
    International Publication No. 2013/173985;
    International Publication No. 2014/019130;
    International Publication No. 2014/110495;
    U.S. Patent Application Publication No. 2008/0185432;
    U.S. Patent Application Publication No. 2009/0134221;
    U.S. Patent Application Publication No. 2010/0177080;
    U.S. Patent Application Publication No. 2010/0177076;
    U.S. Patent Application Publication No. 2010/0177707;
    U.S. Patent Application Publication No. 2010/0177749;
    U.S. Patent Application Publication No. 2010/0265880;
    U.S. Patent Application Publication No. 2011/0202554;
    U.S. Patent Application Publication No. 2012/0111946;
    U.S. Patent Application Publication No. 2012/0168511;
    U.S. Patent Application Publication No. 2012/0168512;
    U.S. Patent Application Publication No. 2012/0193423;
    U.S. Patent Application Publication No. 2012/0203647;
    U.S. Patent Application Publication No. 2012/0223141;
    U.S. Patent Application Publication No. 2012/0228382;
    U.S. Patent Application Publication No. 2012/0248188;
    U.S. Patent Application Publication No. 2013/0043312;
    U.S. Patent Application Publication No. 2013/0082104;
    U.S. Patent Application Publication No. 2013/0175341;
    U.S. Patent Application Publication No. 2013/0175343;
    U.S. Patent Application Publication No. 2013/0257744;
    U.S. Patent Application Publication No. 2013/0257759;
    U.S. Patent Application Publication No. 2013/0270346;
    U.S. Patent Application Publication No. 2013/0287258;
    U.S. Patent Application Publication No. 2013/0292475;
    U.S. Patent Application Publication No. 2013/0292477;
    U.S. Patent Application Publication No. 2013/0293539;
    U.S. Patent Application Publication No. 2013/0293540;
    U.S. Patent Application Publication No. 2013/0306728;
    U.S. Patent Application Publication No. 2013/0306731;
    U.S. Patent Application Publication No. 2013/0307964;
    U.S. Patent Application Publication No. 2013/0308625;
    U.S. Patent Application Publication No. 2013/0313324;
    U.S. Patent Application Publication No. 2013/0313325;
    U.S. Patent Application Publication No. 2013/0342717;
    U.S. Patent Application Publication No. 2014/0001267;
    U.S. Patent Application Publication No. 2014/0008439;
    U.S. Patent Application Publication No. 2014/0025584;
    U.S. Patent Application Publication No. 2014/0034734;
    U.S. Patent Application Publication No. 2014/0036848;
    U.S. Patent Application Publication No. 2014/0039693;
    U.S. Patent Application Publication No. 2014/0042814;
    U.S. Patent Application Publication No. 2014/0049120;
    U.S. Patent Application Publication No. 2014/0049635;
    U.S. Patent Application Publication No. 2014/0061306;
    U.S. Patent Application Publication No. 2014/0063289;
    U.S. Patent Application Publication No. 2014/0066136;
    U.S. Patent Application Publication No. 2014/0067692;
    U.S. Patent Application Publication No. 2014/0070005;
    U.S. Patent Application Publication No. 2014/0071840;
    U.S. Patent Application Publication No. 2014/0074746;
    U.S. Patent Application Publication No. 2014/0076974;
    U.S. Patent Application Publication No. 2014/0078341;
    U.S. Patent Application Publication No. 2014/0078345;
    U.S. Patent Application Publication No. 2014/0097249;
    U.S. Patent Application Publication No. 2014/0098792;
    U.S. Patent Application Publication No. 2014/0100813;
    U.S. Patent Application Publication No. 2014/0103115;
    U.S. Patent Application Publication No. 2014/0104413;
    U.S. Patent Application Publication No. 2014/0104414;
    U.S. Patent Application Publication No. 2014/0104416;
    U.S. Patent Application Publication No. 2014/0104451;
    U.S. Patent Application Publication No. 2014/0106594;
    U.S. Patent Application Publication No. 2014/0106725;
    U.S. Patent Application Publication No. 2014/0108010;
    U.S. Patent Application Publication No. 2014/0108402;
    U.S. Patent Application Publication No. 2014/0110485;
    U.S. Patent Application Publication No. 2014/0114530;
    U.S. Patent Application Publication No. 2014/0124577;
    U.S. Patent Application Publication No. 2014/0124579;
    U.S. Patent Application Publication No. 2014/0125842;
    U.S. Patent Application Publication No. 2014/0125853;
    U.S. Patent Application Publication No. 2014/0125999;
    U.S. Patent Application Publication No. 2014/0129378;
    U.S. Patent Application Publication No. 2014/0131438;
    U.S. Patent Application Publication No. 2014/0131441;
    U.S. Patent Application Publication No. 2014/0131443;
    U.S. Patent Application Publication No. 2014/0131444;
    U.S. Patent Application Publication No. 2014/0131445;
    U.S. Patent Application Publication No. 2014/0131448;
    U.S. Patent Application Publication No. 2014/0133379;
    U.S. Patent Application Publication No. 2014/0136208;
    U.S. Patent Application Publication No. 2014/0140585;
    U.S. Patent Application Publication No. 2014/0151453;
    U.S. Patent Application Publication No. 2014/0152882;
    U.S. Patent Application Publication No. 2014/0158770;
    U.S. Patent Application Publication No. 2014/0159869;
    U.S. Patent Application Publication No. 2014/0166755;
    U.S. Patent Application Publication No. 2014/0166759;
    U.S. Patent Application Publication No. 2014/0168787;
    U.S. Patent Application Publication No. 2014/0175165;
    U.S. Patent Application Publication No. 2014/0175172;
    U.S. Patent Application Publication No. 2014/0191644;
    U.S. Patent Application Publication No. 2014/0191913;
    U.S. Patent Application Publication No. 2014/0197238;
    U.S. Patent Application Publication No. 2014/0197239;
    U.S. Patent Application Publication No. 2014/0197304;
    U.S. Patent Application Publication No. 2014/0214631;
    U.S. Patent Application Publication No. 2014/0217166;
    U.S. Patent Application Publication No. 2014/0217180;
    U.S. Patent Application Publication No. 2014/0231500;
    U.S. Patent Application Publication No. 2014/0232930;
    U.S. Patent Application Publication No. 2014/0247315;
    U.S. Patent Application Publication No. 2014/0263493;
    U.S. Patent Application Publication No. 2014/0263645;
    U.S. Patent Application Publication No. 2014/0267609;
    U.S. Patent Application Publication No. 2014/0270196;
    U.S. Patent Application Publication No. 2014/0270229;
    U.S. Patent Application Publication No. 2014/0278387;
    U.S. Patent Application Publication No. 2014/0278391;
    U.S. Patent Application Publication No. 2014/0282210;
    U.S. Patent Application Publication No. 2014/0284384;
    U.S. Patent Application Publication No. 2014/0288933;
    U.S. Patent Application Publication No. 2014/0297058;
    U.S. Patent Application Publication No. 2014/0299665;
    U.S. Patent Application Publication No. 2014/0312121;
    U.S. Patent Application Publication No. 2014/0319220;
    U.S. Patent Application Publication No. 2014/0319221;
    U.S. Patent Application Publication No. 2014/0326787;
    U.S. Patent Application Publication No. 2014/0332590;
    U.S. Patent Application Publication No. 2014/0344943;
    U.S. Patent Application Publication No. 2014/0346233;
    U.S. Patent Application Publication No. 2014/0351317;
    U.S. Patent Application Publication No. 2014/0353373;
    U.S. Patent Application Publication No. 2014/0361073;
    U.S. Patent Application Publication No. 2014/0361082;
    U.S. Patent Application Publication No. 2014/0362184;
    U.S. Patent Application Publication No. 2014/0363015;
    U.S. Patent Application Publication No. 2014/0369511;
    U.S. Patent Application Publication No. 2014/0374483;
    U.S. Patent Application Publication No. 2014/0374485;
    U.S. Patent Application Publication No. 2015/0001301;
    U.S. Patent Application Publication No. 2015/0001304;
    U.S. Patent Application Publication No. 2015/0003673;
    U.S. Patent Application Publication No. 2015/0009338;
    U.S. Patent Application Publication No. 2015/0009610;
    U.S. Patent Application Publication No. 2015/0014416;
    U.S. Patent Application Publication No. 2015/0021397;
    U.S. Patent Application Publication No. 2015/0028102;
    U.S. Patent Application Publication No. 2015/0028103;
    U.S. Patent Application Publication No. 2015/0028104;
    U.S. Patent Application Publication No. 2015/0029002;
    U.S. Patent Application Publication No. 2015/0032709;
    U.S. Patent Application Publication No. 2015/0039309;
    U.S. Patent Application Publication No. 2015/0039878;
    U.S. Patent Application Publication No. 2015/0040378;
    U.S. Patent Application Publication No. 2015/0048168;
    U.S. Patent Application Publication No. 2015/0049347;
    U.S. Patent Application Publication No. 2015/0051992;
    U.S. Patent Application Publication No. 2015/0053766;
    U.S. Patent Application Publication No. 2015/0053768;
    U.S. Patent Application Publication No. 2015/0053769;
    U.S. Patent Application Publication No. 2015/0060544;
    U.S. Patent Application Publication No. 2015/0062366;
    U.S. Patent Application Publication No. 2015/0063215;
    U.S. Patent Application Publication No. 2015/0063676;
    U.S. Patent Application Publication No. 2015/0069130;
    U.S. Patent Application Publication No. 2015/0071819;
    U.S. Patent Application Publication No. 2015/0083800;
    U.S. Patent Application Publication No. 2015/0086114;
    U.S. Patent Application Publication No. 2015/0088522;
    U.S. Patent Application Publication No. 2015/0096872;
    U.S. Patent Application Publication No. 2015/0099557;
    U.S. Patent Application Publication No. 2015/0100196;
    U.S. Patent Application Publication No. 2015/0102109;
    U.S. Patent Application Publication No. 2015/0115035;
    U.S. Patent Application Publication No. 2015/0127791;
    U.S. Patent Application Publication No. 2015/0128116;
    U.S. Patent Application Publication No. 2015/0129659;
    U.S. Patent Application Publication No. 2015/0133047;
    U.S. Patent Application Publication No. 2015/0134470;
    U.S. Patent Application Publication No. 2015/0136851;
    U.S. Patent Application Publication No. 2015/0136854;
    U.S. Patent Application Publication No. 2015/0142492;
    U.S. Patent Application Publication No. 2015/0144692;
    U.S. Patent Application Publication No. 2015/0144698;
    U.S. Patent Application Publication No. 2015/0144701;
    U.S. Patent Application Publication No. 2015/0149946;
    U.S. Patent Application Publication No. 2015/0161429;
    U.S. Patent Application Publication No. 2015/0169925;
    U.S. Patent Application Publication No. 2015/0169929;
    U.S. Patent Application Publication No. 2015/0178523;
    U.S. Patent Application Publication No. 2015/0178534;
    U.S. Patent Application Publication No. 2015/0178535;
    U.S. Patent Application Publication No. 2015/0178536;
    U.S. Patent Application Publication No. 2015/0178537;
    U.S. Patent Application Publication No. 2015/0181093;
    U.S. Patent Application Publication No. 2015/0181109;
    U.S. patent application Ser. No. 13/367,978 for a Laser Scanning Module Employing an Elastomeric U-Hinge Based Laser Scanning Assembly, filed Feb. 7, 2012 (Feng et al.);
    U.S. patent application Ser. No. 29/458,405 for an Electronic Device, filed Jun. 19, 2013 (Fitch et al.);
    U.S. patent application Ser. No. 29/459,620 for an Electronic Device Enclosure, filed Jul. 2, 2013 (London et al.);
    U.S. patent application Ser. No. 29/468,118 for an Electronic Device Case, filed Sep. 26, 2013 (Oberpriller et al.);
    U.S. patent application Ser. No. 14/150,393 for Indicia-reader Having Unitary Construction Scanner, filed Jan. 8, 2014 (Colavito et al.);
    U.S. patent application Ser. No. 14/200,405 for Indicia Reader for Size-Limited Applications filed Mar. 7, 2014 (Feng et al.);
    U.S. patent application Ser. No. 14/231,898 for Hand-Mounted Indicia-Reading Device with Finger Motion Triggering filed Apr. 1, 2014 (Van Horn et al.);
    U.S. patent application Ser. No. 29/486,759 for an Imaging Terminal, filed Apr. 2, 2014 (Oberpriller et al.);
    U.S. patent application Ser. No. 14/257,364 for Docking System and Method Using Near Field Communication filed Apr. 21, 2014 (Showering);
    U.S. patent application Ser. No. 14/264,173 for Autofocus Lens System for Indicia Readers filed Apr. 29, 2014 (Ackley et al.);
    U.S. patent application Ser. No. 14/277,337 for MULTIPURPOSE OPTICAL READER, filed May 14, 2014 (Jovanovski et al.);
    U.S. patent application Ser. No. 14/283,282 for TERMINAL HAVING ILLUMINATION AND FOCUS CONTROL filed May 21, 2014 (Liu et al.);
    U.S. patent application Ser. No. 14/327,827 for a MOBILE-PHONE ADAPTER FOR ELECTRONIC TRANSACTIONS, filed Jul. 10, 2014 (Hejl);
    U.S. patent application Ser. No. 14/334,934 for a SYSTEM AND METHOD FOR INDICIA VERIFICATION, filed Jul. 18, 2014 (Hejl);
    U.S. patent application Ser. No. 14/339,708 for LASER SCANNING CODE SYMBOL READING SYSTEM, filed Jul. 24, 2014 (Xian et al.);
    U.S. patent application Ser. No. 14/340,627 for an AXIALLY REINFORCED FLEXIBLE SCAN ELEMENT, filed Jul. 25, 2014 (Rueblinger et al.);
    U.S. patent application Ser. No. 14/446,391 for MULTIFUNCTION POINT OF SALE APPARATUS WITH OPTICAL SIGNATURE CAPTURE filed Jul. 30, 2014 (Good et al.);
    U.S. patent application Ser. No. 14/452,697 for INTERACTIVE INDICIA READER, filed Aug. 6, 2014 (Todeschini);
    U.S. patent application Ser. No. 14/453,019 for DIMENSIONING SYSTEM WITH GUIDED ALIGNMENT, filed Aug. 6, 2014 (Li et al.);
    U.S. patent application Ser. No. 14/462,801 for MOBILE COMPUTING DEVICE WITH DATA COGNITION SOFTWARE, filed on Aug. 19, 2014 (Todeschini et al.);
    U.S. patent application Ser. No. 14/483,056 for VARIABLE DEPTH OF FIELD BARCODE SCANNER filed Sep. 10, 2014 (McCloskey et al.);
    U.S. patent application Ser. No. 14/513,808 for IDENTIFYING INVENTORY ITEMS IN A STORAGE FACILITY filed Oct. 14, 2014 (Singel et al.);
    U.S. patent application Ser. No. 14/519,195 for HANDHELD DIMENSIONING SYSTEM WITH FEEDBACK filed Oct. 21, 2014 (Laffargue et al.);
    U.S. patent application Ser. No. 14/519,179 for DIMENSIONING SYSTEM WITH MULTIPATH INTERFERENCE MITIGATION filed Oct. 21, 2014 (Thuries et al.);
    U.S. patent application Ser. No. 14/519,211 for SYSTEM AND METHOD FOR DIMENSIONING filed Oct. 21, 2014 (Ackley et al.);
    U.S. patent application Ser. No. 14/519,233 for HANDHELD DIMENSIONER WITH DATA-QUALITY INDICATION filed Oct. 21, 2014 (Laffargue et al.);
    U.S. patent application Ser. No. 14/519,249 for HANDHELD DIMENSIONING SYSTEM WITH MEASUREMENT-CONFORMANCE FEEDBACK filed Oct. 21, 2014 (Ackley et al.);
    U.S. patent application Ser. No. 14/527,191 for METHOD AND SYSTEM FOR RECOGNIZING SPEECH USING WILDCARDS IN AN EXPECTED RESPONSE filed Oct. 29, 2014 (Braho et al.);
    U.S. patent application Ser. No. 14/529,563 for ADAPTABLE INTERFACE FOR A MOBILE COMPUTING DEVICE filed Oct. 31, 2014 (Schoon et al.);
    U.S. patent application Ser. No. 14/529,857 for BARCODE READER WITH SECURITY FEATURES filed Oct. 31, 2014 (Todeschini et al.);
    U.S. patent application Ser. No. 14/398,542 for PORTABLE ELECTRONIC DEVICES HAVING A SEPARATE LOCATION TRIGGER UNIT FOR USE IN CONTROLLING AN APPLICATION UNIT filed Nov. 3, 2014 (Bian et al.);
    U.S. patent application Ser. No. 14/531,154 for DIRECTING AN INSPECTOR THROUGH AN INSPECTION filed Nov. 3, 2014 (Miller et al.);
    U.S. patent application Ser. No. 14/533,319 for BARCODE SCANNING SYSTEM USING WEARABLE DEVICE WITH EMBEDDED CAMERA filed Nov. 5, 2014 (Todeschini);
    U.S. patent application Ser. No. 14/535,764 for CONCATENATED EXPECTED RESPONSES FOR SPEECH RECOGNITION filed Nov. 7, 2014 (Braho et al.);
    U.S. patent application Ser. No. 14/568,305 for AUTO-CONTRAST VIEWFINDER FOR AN INDICIA READER filed Dec. 12, 2014 (Todeschini);
    U.S. patent application Ser. No. 14/573,022 for DYNAMIC DIAGNOSTIC INDICATOR GENERATION filed Dec. 17, 2014 (Goldsmith);
    U.S. patent application Ser. No. 14/578,627 for SAFETY SYSTEM AND METHOD filed Dec. 22, 2014 (Ackley et al.);
    U.S. patent application Ser. No. 14/580,262 for MEDIA GATE FOR THERMAL TRANSFER PRINTERS filed Dec. 23, 2014 (Bowles);
    U.S. patent application Ser. No. 14/590,024 for SHELVING AND PACKAGE LOCATING SYSTEMS FOR DELIVERY VEHICLES filed Jan. 6, 2015 (Payne);
    U.S. patent application Ser. No. 14/596,757 for SYSTEM AND METHOD FOR DETECTING BARCODE PRINTING ERRORS filed Jan. 14, 2015 (Ackley);
    U.S. patent application Ser. No. 14/416,147 for OPTICAL READING APPARATUS HAVING VARIABLE SETTINGS filed Jan. 21, 2015 (Chen et al.);
    U.S. patent application Ser. No. 14/614,706 for DEVICE FOR SUPPORTING AN ELECTRONIC TOOL ON A USER'S HAND filed Feb. 5, 2015 (Oberpriller et al.);
    U.S. patent application Ser. No. 14/614,796 for CARGO APPORTIONMENT TECHNIQUES filed Feb. 5, 2015 (Morton et al.);
    U.S. patent application Ser. No. 29/516,892 for TABLE COMPUTER filed Feb. 6, 2015 (Bidwell et al.);
    U.S. patent application Ser. No. 14/619,093 for METHODS FOR TRAINING A SPEECH RECOGNITION SYSTEM filed Feb. 11, 2015 (Pecorari);
    U.S. patent application Ser. No. 14/628,708 for DEVICE, SYSTEM, AND METHOD FOR DETERMINING THE STATUS OF CHECKOUT LANES filed Feb. 23, 2015 (Todeschini);
    U.S. patent application Ser. No. 14/630,841 for TERMINAL INCLUDING IMAGING ASSEMBLY filed Feb. 25, 2015 (Gomez et al.);
    U.S. patent application Ser. No. 14/635,346 for SYSTEM AND METHOD FOR RELIABLE STORE-AND-FORWARD DATA HANDLING BY ENCODED INFORMATION READING TERMINALS filed Mar. 2, 2015 (Sevier);
    U.S. patent application Ser. No. 29/519,017 for SCANNER filed Mar. 2, 2015 (Zhou et al.);
    U.S. patent application Ser. No. 14/405,278 for DESIGN PATTERN FOR SECURE STORE filed Mar. 9, 2015 (Zhu et al.);
    U.S. patent application Ser. No. 14/660,970 for DECODABLE INDICIA READING TERMINAL WITH COMBINED ILLUMINATION filed Mar. 18, 2015 (Kearney et al.);
    U.S. patent application Ser. No. 14/661,013 for REPROGRAMMING SYSTEM AND METHOD FOR DEVICES INCLUDING PROGRAMMING SYMBOL filed Mar. 18, 2015 (Soule et al.);
    U.S. patent application Ser. No. 14/662,922 for MULTIFUNCTION POINT OF SALE SYSTEM filed Mar. 19, 2015 (Van Horn et al.);
    U.S. patent application Ser. No. 14/663,638 for VEHICLE MOUNT COMPUTER WITH CONFIGURABLE IGNITION SWITCH BEHAVIOR filed Mar. 20, 2015 (Davis et al.);
    U.S. patent application Ser. No. 14/664,063 for METHOD AND APPLICATION FOR SCANNING A BARCODE WITH A SMART DEVICE WHILE CONTINUOUSLY RUNNING AND DISPLAYING AN APPLICATION ON THE SMART DEVICE DISPLAY filed Mar. 20, 2015 (Todeschini);
    U.S. patent application Ser. No. 14/669,280 for TRANSFORMING COMPONENTS OF A WEB PAGE TO VOICE PROMPTS filed Mar. 26, 2015 (Funyak et al.);
    U.S. patent application Ser. No. 14/674,329 for AIMER FOR BARCODE SCANNING filed Mar. 31, 2015 (Bidwell);
    U.S. patent application Ser. No. 14/676,109 for INDICIA READER filed Apr. 1, 2015 (Huck);
    U.S. patent application Ser. No. 14/676,327 for DEVICE MANAGEMENT PROXY FOR SECURE DEVICES filed Apr. 1, 2015 (Yeakley et al.);
    U.S. patent application Ser. No. 14/676,898 for NAVIGATION SYSTEM CONFIGURED TO INTEGRATE MOTION SENSING DEVICE INPUTS filed Apr. 2, 2015 (Showering);
    U.S. patent application Ser. No. 14/679,275 for DIMENSIONING SYSTEM CALIBRATION SYSTEMS AND METHODS filed Apr. 6, 2015 (Laffargue et al.);
    U.S. patent application Ser. No. 29/523,098 for HANDLE FOR A TABLET COMPUTER filed Apr. 7, 2015 (Bidwell et al.);
    U.S. patent application Ser. No. 14/682,615 for SYSTEM AND METHOD FOR POWER MANAGEMENT OF MOBILE DEVICES filed Apr. 9, 2015 (Murawski et al.);
    U.S. patent application Ser. No. 14/686,822 for MULTIPLE PLATFORM SUPPORT SYSTEM AND METHOD filed Apr. 15, 2015 (Qu et al.);
    U.S. patent application Ser. No. 14/687,289 for SYSTEM FOR COMMUNICATION VIA A PERIPHERAL HUB filed Apr. 15, 2015 (Kohtz et al.);
    U.S. patent application Ser. No. 29/524,186 for SCANNER filed Apr. 17, 2015 (Zhou et al.);
    U.S. patent application Ser. No. 14/695,364 for MEDICATION MANAGEMENT SYSTEM filed Apr. 24, 2015 (Sewell et al.);
    U.S. patent application Ser. No. 14/695,923 for SECURE UNATTENDED NETWORK AUTHENTICATION filed Apr. 24, 2015 (Kubler et al.);
    U.S. patent application Ser. No. 29/525,068 for TABLET COMPUTER WITH REMOVABLE SCANNING DEVICE filed Apr. 27, 2015 (Schulte et al.);
    U.S. patent application Ser. No. 14/699,436 for SYMBOL READING SYSTEM HAVING PREDICTIVE DIAGNOSTICS filed Apr. 29, 2015 (Nahill et al.);
    U.S. patent application Ser. No. 14/702,110 for SYSTEM AND METHOD FOR REGULATING BARCODE DATA INJECTION INTO A RUNNING APPLICATION ON A SMART DEVICE filed May 1, 2015 (Todeschini et al.);
    U.S. patent application Ser. No. 14/702,979 for TRACKING BATTERY CONDITIONS filed May 4, 2015 (Young et al.);
    U.S. patent application Ser. No. 14/704,050 for INTERMEDIATE LINEAR POSITIONING filed May 5, 2015 (Charpentier et al.);
    U.S. patent application Ser. No. 14/705,012 for HANDS-FREE HUMAN MACHINE INTERFACE RESPONSIVE TO A DRIVER OF A VEHICLE filed May 6, 2015 (Fitch et al.);
    U.S. patent application Ser. No. 14/705,407 for METHOD AND SYSTEM TO PROTECT SOFTWARE-BASED NETWORK-CONNECTED DEVICES FROM ADVANCED PERSISTENT THREAT filed May 6, 2015 (Hussey et al.);
    U.S. patent application Ser. No. 14/707,037 for SYSTEM AND METHOD FOR DISPLAY OF INFORMATION USING A VEHICLE-MOUNT COMPUTER filed May 8, 2015 (Chamberlin);
    U.S. patent application Ser. No. 14/707,123 for APPLICATION INDEPENDENT DEX/UCS INTERFACE filed May 8, 2015 (Pape);
    U.S. patent application Ser. No. 14/707,492 for METHOD AND APPARATUS FOR READING OPTICAL INDICIA USING A PLURALITY OF DATA SOURCES filed May 8, 2015 (Smith et al.);
    U.S. patent application Ser. No. 14/710,666 for PRE-PAID USAGE SYSTEM FOR ENCODED INFORMATION READING TERMINALS filed May 13, 2015 (Smith);
    U.S. patent application Ser. No. 29/526,918 for CHARGING BASE filed May 14, 2015 (Fitch et al.);
    U.S. patent application Ser. No. 14/715,672 for AUGUMENTED REALITY ENABLED HAZARD DISPLAY filed May 19, 2015 (Venkatesha et al.);
    U.S. patent application Ser. No. 14/715,916 for EVALUATING IMAGE VALUES filed May 19, 2015 (Ackley);
    U.S. patent application Ser. No. 14/722,608 for INTERACTIVE USER INTERFACE FOR CAPTURING A DOCUMENT IN AN IMAGE SIGNAL filed May 27, 2015 (Showering et al.);
    U.S. patent application Ser. No. 29/528,165 for IN-COUNTER BARCODE SCANNER filed May 27, 2015 (Oberpriller et al.);
    U.S. patent application Ser. No. 14/724,134 for ELECTRONIC DEVICE WITH WIRELESS PATH SELECTION CAPABILITY filed May 28, 2015 (Wang et al.);
    U.S. patent application Ser. No. 14/724,849 for METHOD OF PROGRAMMING THE DEFAULT CABLE INTERFACE SOFTWARE IN AN INDICIA READING DEVICE filed May 29, 2015 (Barten);
    U.S. patent application Ser. No. 14/724,908 for IMAGING APPARATUS HAVING IMAGING ASSEMBLY filed May 29, 2015 (Barber et al.);
    U.S. patent application Ser. No. 14/725,352 for APPARATUS AND METHODS FOR MONITORING ONE OR MORE PORTABLE DATA TERMINALS (Caballero et al.);
    U.S. patent application Ser. No. 29/528,590 for ELECTRONIC DEVICE filed May 29, 2015 (Fitch et al.);
    U.S. patent application Ser. No. 29/528,890 for MOBILE COMPUTER HOUSING filed Jun. 2, 2015 (Fitch et al.);
    U.S. patent application Ser. No. 14/728,397 for DEVICE MANAGEMENT USING VIRTUAL INTERFACES CROSS-REFERENCE TO RELATED APPLICATIONS filed Jun. 2, 2015 (Caballero);
    U.S. patent application Ser. No. 14/732,870 for DATA COLLECTION MODULE AND SYSTEM filed Jun. 8, 2015 (Powilleit);
    U.S. patent application Ser. No. 29/529,441 for INDICIA READING DEVICE filed Jun. 8, 2015 (Zhou et al.);
    U.S. patent application Ser. No. 14/735,717 for INDICIA-READING SYSTEMS HAVING AN INTERFACE WITH A USER'S NERVOUS SYSTEM filed Jun. 10, 2015 (Todeschini);
    U.S. patent application Ser. No. 14/738,038 for METHOD OF AND SYSTEM FOR DETECTING OBJECT WEIGHING INTERFERENCES filed Jun. 12, 2015 (Amundsen et al.);
    U.S. patent application Ser. No. 14/740,320 for TACTILE SWITCH FOR A MOBILE ELECTRONIC DEVICE filed Jun. 16, 2015 (Bandringa);
    U.S. patent application Ser. No. 14/740,373 for CALIBRATING A VOLUME DIMENSIONER filed Jun. 16, 2015 (Ackley et al.);
    U.S. patent application Ser. No. 14/742,818 for INDICIA READING SYSTEM EMPLOYING DIGITAL GAIN CONTROL filed Jun. 18, 2015 (Xian et al.);
    U.S. patent application Ser. No. 14/743,257 for WIRELESS MESH POINT PORTABLE DATA TERMINAL filed Jun. 18, 2015 (Wang et al.);
    U.S. patent application Ser. No. 29/530,600 for CYCLONE filed Jun. 18, 2015 (Vargo et al);
    U.S. patent application Ser. No. 14/744,633 for IMAGING APPARATUS COMPRISING IMAGE SENSOR ARRAY HAVING SHARED GLOBAL SHUTTER CIRCUITRY filed Jun. 19, 2015 (Wang);
    U.S. patent application Ser. No. 14/744,836 for CLOUD-BASED SYSTEM FOR READING OF DECODABLE INDICIA filed Jun. 19, 2015 (Todeschini et al.);
    U.S. patent application Ser. No. 14/745,006 for SELECTIVE OUTPUT OF DECODED MESSAGE DATA filed Jun. 19, 2015 (Todeschini et al.);
    U.S. patent application Ser. No. 14/747,197 for OPTICAL PATTERN PROJECTOR filed Jun. 23, 2015 (Thuries et al.);
    U.S. patent application Ser. No. 14/747,490 for DUAL-PROJECTOR THREE-DIMENSIONAL SCANNER filed Jun. 23, 2015 (Jovanovski et al.); and
    U.S. patent application Ser. No. 14/748,446 for CORDLESS INDICIA READER WITH A MULTIFUNCTION COIL FOR WIRELESS CHARGING AND EAS DEACTIVATION, filed Jun. 24, 2015 (Xie et al.).

## Claims

1. An imaging device, comprising:
a light field imager, comprising:
a microlens array; and
a light field sensor positioned proximate to the microlens array, having a plurality of pixels and recording light field data of an optical target from light passing through the microlens array; and

a processor configured to:
receive the light field data of the optical target from the light field sensor;
estimate signal to noise ratio and depth of the optical target in the light field data;
select a subset of sub-aperture images based on the signal to noise ratio and depth;
combine the selected subset of sub-aperture images; and
perform image analysis on the combined subset of sub-aperture images.

2. The imaging device of claim 1, wherein the light field data comprises a plurality of sub-aperture images.

3. The imaging device of claim 2, wherein estimating the signal to noise ratio is performed using sensor characterization.

4. The imaging device of claim 3, wherein sensor characterization includes sensor noise level, gain, exposure time, or any combination thereof.

5. The imaging device of claim 4, wherein sensor characterization is determined from pixel intensities.

6. The imaging device of claim 1, wherein estimating depth of the optical target from the light field imager is directly determined from the light field data.

7. The imaging device of claim 1, wherein estimating depth of the optical target from the light field imager is through registration of two sub-aperture images.

8. The imaging device of claim 1, comprising a pre-determined table of optimal subsets of sub-aperture images at different signal to noise ratios and depths of a theoretical optical target from the light field imager.

9. The imaging device of claim 8, wherein the subset of sub-aperture images is selected from the pre-determined table.

10. The imaging device of claim 1, wherein combining the subset of sub-aperture images includes a quantized shifting and adding together the subset of sub-aperture images.

11. The imaging device of claim 1, wherein the imaging device is an indicia scanner.

12. The imaging device of claim 1, wherein the image analysis is facial recognition.

13. The imaging device of claim 1, where the image analysis is iris recognition.

14. A method, comprising:
capturing light field data of an optical target with a light field sensor;
estimating signal to noise ratio and depth of the optical target in the light field data;
selecting a subset of sub-aperture images based on the signal to noise ratio and depth;
combining the selected subset of sub-aperture images; and
performing image analysis on the combined subset of sub-aperture images.

15. The method of claim 14, wherein the light field data comprises a plurality of sub-aperture images.

16. The method of claim 15, wherein estimating the signal to noise ratio is performed using sensor characterization of sensor noise level, gain, exposure time, or any combination thereof.

17. The method of claim 14, wherein estimating depth of the optical target from the light field imager is determined directly from the light field data.

18. The method of claim 14, wherein estimating depth of the optical target from the light field imager is through registration of two sub-aperture images.

19. The method of claim 16, wherein the subset of sub-aperture images is selected from a pre-determined table comprising optimal subsets of sub-aperture images at different signal to noise ratios and depths of a theoretical optical target from the light field imager.

20. The method of claim 19, wherein combining the subset of sub-aperture images includes a quantized shifting and adding together the subset of sub-aperture images.