Abstract:
A new high dynamic range image synthesis which can handle the local object motion, wherein an interactive graphical user interface is provided for the end user, through which one can specify the source image for separate part of the final high dynamic range image, either by creating a image mask or scribble on the image. The high dynamic range image synthesis includes the following steps: capturing low dynamic range images with different exposures; registering the low dynamic range images; estimating camera response function; converting the low dynamic range images to temporary radiance images using estimated camera response function; and fusing the temporary radiance images into a single high dynamic range (HDR) image by employing a method of layered masking.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
       [0001]    This application is claims benefit of the filing date under 35 U.S.C. §119(e) of Provisional Patent Application No. 61/336,786, filed Jan. 27, 2010. 
     
    
     FIELD OF INVENTION 
       [0002]    The present invention relates to a method of generating a high dynamic range (HDR) image, and in particular, a method of generating a high dynamic range (HDR) image from multiple exposed low dynamic range (LDR) images having local motion. 
       BACKGROUND OF THE INVENTION 
       [0003]    Dynamic range of the real world is very large, usually more than five orders of magnitude at the same time. The dynamic range of everyday scenes can hardly be recorded by a conventional sensor. Therefore some portions of the picture can be over-exposed or under-exposed. 
         [0004]    In recent years, High Dynamic Range (HDR) imaging techniques make it possible to reconstruct the radiance map that covers the full dynamic range by combining multiple exposures of the same scene. These techniques usually estimate the camera response function (CRF), and then further estimate the radiance of each pixel. This is generally known as “HDR synthesis”. 
         [0005]    However, a large number of high dynamic range (HDR) synthesis algorithms assume that there is no local object motion between the multiple exposures of the same scene (see P. E. Debevec and J. Malik,  Recovering high dynamic range radiance maps from photographs , ACM Siggraph 1998; A. A. Bell, C. Seiler, J. N. Kaftan and T. Aach,  Noise in High Dynamic Range Imaging , International conference on image processing 2008; and N. Barakat, T. E. Darcie, and A. N. Hone,  The tradeoff between SNR and exposure - set size in HDR imaging , International conference on image processing 2008). 
         [0006]    In some cases local object motion is absent, especially in landscape photograph; however, it is not always true in a great number of circumstances. In fact, ghosting artifacts will appear in a final synthesized high dynamic range (HDR) image if local motion is present in the exposures of the same scene. Therefore, most recent research focus on automatically removing local object motion, as disclosed in E. A. Khan, A. O. Akyuz, and E. Reinhard,  Ghost removal in high dynamic range images , International conference on image processing 2006; K. Jacobs, C. Loscos and G. Ward,  Automatic high dynamic range image generation for dynamic scenes , IEEE Computer Graphics and Applications, 2008, and T. Jinno and M. Okuda,  Motion blur free HDR image acquisition using multiple exposures , International conference on image processing 2008. 
         [0007]    It is believed that available methods have two main issues: at first, some methods rely on local motion estimation to isolate moving objects. However, motion estimation is not always reliable especially in case of large displacement. Inaccurate motion will sometimes cause artifacts that are visually unpleasant (see Jinno et al.). Secondly, there is usually less than enough exposures to remove moving object by statistical filtering or similar techniques. Some previously proposed method may work well in case that many exposures are taken for the same scene such that the static background can be estimated with statistical model (see Khan et al.). In practice, it is difficult to define how many exposures are enough to eliminate the uncertainty and in many circumstances it is impossible to have enough exposures. 
         [0008]    Debevec et al. proposed an early method to combine multiple exposures into a high dynamic range (HDR) image. In their method, it is assumed that the camera is placed on a tripod and there is no moving object. The method starts with the estimating of camera response function using least square optimization. Afterwards, the CRF is used to convert pixel value into relative radiance value. The final absolute radiance is obtained by multiplying a scaling constant. 
         [0009]    In Bell et al. and Barakat et al., the noise issue in high dynamic range (HDR) image is discussed and improved image synthesis methods are proposed. However, the results are essentially the same as the one obtained from Debevec et al., except with higher SNR. Note that in these works it is also assumed that there is no camera motion and no moving object. 
         [0010]    In Khan et al., Jacobs et al, and Jinno et al. on the other hand, the problem of local motion was faced and there were attempts to eliminate ghosting artifacts. In Khan et al., no explicit motion estimation is employed. Instead, the weight to compute the pixel radiance is estimated iteratively and applied to pixels to determine their contribution to the final image. This approach usually need enough exposure to eliminate ghosting artifacts and can still have minor ghosting if picture is examined carefully. In Jinno et al., pixel-level motion estimation is employed to calculate the displacement between different exposures while at the same time, the occlusion and saturated areas are also detected. Then a Markov random field model is used to fuse the information to obtain final high dynamic range (HDR) image. As we pointed out before, this method relies on accurate motion estimation and can exhibits artifacts wherever motion estimation fails. In Jacobs et al., the moving object detection is done by computing the entropy difference between different exposures. For each moving cluster only one exposure is used to recover the radiance of the moving object instead of using a weighted average of radiance values. This method can be generally good in handling object movement, but can still have a problem with complex object motion. Artifacts will be exhibited in the area where the motion detector fails as can be observed in the figures of the paper. 
       SUMMARY OF THE INVENTION 
       [0011]    The invention provides a new semi-automatic high dynamic range (HDR) image synthesis method which can handle the local object motion, wherein an interactive graphical user interface is provided for the end user, through which one can specify the source image for separate part of the final high dynamic range (HDR) image, either by creating a image mask or scribble on the image. This interactive process can effectively incorporate the user&#39;s feedback into the high dynamic range (HDR) image synthesis and maximize the image quality of the final high dynamic range (HDR) image. 
         [0012]    A method of high dynamic range (HDR) image synthesis with user input includes the steps of: capturing low dynamic range images with different exposures; registering the low dynamic range images; obtaining or estimating camera response function; converting the low dynamic range images to temporary radiance images using estimated camera response function; and fusing the temporary radiance images into a single high dynamic range (HDR) image by employing a method of layered masking. 
         [0013]    In another method of high dynamic range (HDR) image synthesis, a user performs the steps of: capturing low dynamic range images with different exposures; registering the low dynamic range images; estimating camera response function; converting the low dynamic range images to temporary radiance images by using the estimated camera response function; and fusing the temporary radiance images into a single high dynamic range (HDR) image by obtaining a labeling image L, wherein the value of a pixel in the labeling image represents its temporary radiance image at that particular pixel. 
     
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         [0014]    The invention will now be described by way of example with reference to the accompanying figures of which: 
           [0015]      FIG. 1  is a flow chart showing steps of a high dynamic range (HDR) synthesis according to the invention, and addresses localized motion between multiple low dynamic range (LDR) images; 
           [0016]      FIG. 2A  is a collection of source low dynamic range (LDR) images having localized motion; 
           [0017]      FIG. 2B  is a tone mapped synthesized high dynamic range (HDR) image having a ghosting artifact displayed in a graphical user interface box; 
           [0018]      FIG. 3  is a flow chart of a high dynamic range (HDR) image synthesis according to the invention having user controlled layered masking; and 
           [0019]      FIG. 4  is a flow chart of another high dynamic range (HDR) image synthesis according to the invention that solves labeling problems. 
       
    
    
     DETAILED DESCRIPTION OF THE INVENTION 
       [0020]    The invention will now be described in greater detail with reference to the figures. 
         [0021]    With respect to  FIG. 1 , the general steps of a high dynamic range (HDR) synthesis according to the invention are described. The first step of a high dynamic range (HDR) synthesis, according to the invention, is to capture several low dynamic range (LDR) images with different exposures at step  10 . This is usually done by varying the shutter speed of a camera such that each LDR image captures a specific range of a high dynamic range (HDR) scene. In subsequent step  12 , all images are registered, such to eliminate the effect of global motion. In general, the image registration process transforms the LDR images into a one coordinate system in order to compare or integrate the LDR images. This can be done with a Binary Transform Map, for example. 
         [0022]    When there is local motion between selected LDR images, registration between LDR images can still be done effectively, as well as the camera response curve estimation. However, the fusion process is sometimes problematic because of the uncertainty of local motion. Ghosting artifacts can be observed if the fusion method fails.  FIG. 2B  illustrates ghosting artifacts in a high dynamic range (HDR) image from a collection of LDR images (see  FIG. 2A ) and synthesized by commercial software (i.e. photomatix, for example). However, if maximum quality of the high dynamic range (HDR) image is required, such artifacts are undesirable and should be eliminated completely. To achieve this goal, user input is introduced to resolve uncertainty and imperfections during the fusion process. According to the invention, one of the low dynamic range (LDR) images is chosen as a reference image to perform registration and all the other low dynamic range (LDR) images are registered to align with this reference image. The reference image is carefully chosen by the area, e.g., the area with local motion should be under an optimal exposure value in the low dynamic range (LDR) image chosen as the reference image. 
         [0023]    After the low dynamic range (LDR) images are registered, the camera response function (CRF) can be estimated at step  14 , and consequently all low dynamic range (LDR) images are then converted to temporary radiance images by using the estimated camera response function (CRF) at step  16 . A temporary radiance image represents the physical quantity of light at each pixel. It is similar to a high dynamic range (HDR) image, except that the values of some pixels are not reliable due to the saturation in highlight. In subsequent steps, a fusion process  20  is used to combine the information in these temporary radiance images into a final high dynamic range (HDR) output. 
         [0024]    The high dynamic range (HDR) synthesis according to the invention focuses on steps during the fusion process. With reference to  FIGS. 3 and 4 , the high dynamic range (HDR) synthesis, according to the invention, provides two methods of differing complexity and flexibility. 
         [0025]    The first method, subsequent steps of the fusion process  20 , is based on layered masking and has a straightforward control of the fusion process  20 . The first method has low complexity and is easy to implement steps, but may need more user input than a second method, other subsequent steps of the fusion process  20 . The second method tries to solve labeling problems within a Markov random field framework, which requires less user control than the first method. 
         [0026]    With reference to  FIG. 3 , the high dynamic range (HDR) synthesis is shown having subsequent steps of the fusion process  20 , which are based on layered masking. 
         [0027]    At step  22 , the temporary radiance images are treated as layers and a mask is created for each layer. Assume the temporary radiance images and their corresponding aligned LDR images (intensity) are represented by R i  and I i  (i=1 . . . N), and another temporary radiance image is created by a weighted average of R i . For a pixel with coordinate (x, y), the value of the pixel is expressed as: 
         [0000]        R   x,y   N+1 =Σ i=1   N   W ( I   x,y   i ) I   x,y   i ,  (1)
 
         [0000]    where W(I) is a weighting function and could take the form: 
         [0000]    
       
         
           
             
               
                 
                   
                     W 
                      
                     
                       ( 
                       x 
                       ) 
                     
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             0 
                             , 
                           
                         
                         
                           
                             x 
                             &lt; 
                             
                               3 
                                
                               
                                   
                               
                                
                               or 
                                
                               
                                   
                               
                                
                               x 
                             
                             &gt; 
                             253 
                           
                         
                       
                       
                         
                           
                             1 
                             , 
                           
                         
                         
                           
                             else 
                             . 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   2 
                   ) 
                 
               
             
           
         
       
     
         [0000]    Here, x in W(x) in (2) is the value of I and N or n is the number of layers. 
         [0028]    Essentially, the new temporary radiance image R n+1  is an initial high dynamic range (HDR) image that is synthesized at step  26 , which is consistent with known. However, as pointed out earlier, this high dynamic range (HDR) image assumes there is no local motion in the low dynamic range (LDR) images. Then a set of binary masks M i  are created for these temporary radiance images (step  24 ) and the initial value of M i  are set as follows: 
         [0000]        M   x,y   N+1 =1 for all  x, y , and  (3)
 
         [0000]        M   x-y   i =0 for all  x, y  and  i≠N+ 1.  (4)
 
         [0029]    It is important to note that the use binary masks can be used and can turn out to be quite sufficient. In general, these masks can be floating point and meet the following requirement: 
         [0000]      0≦ M   x,y   i ≦1 for all  x,y  and  i ., and  (5)
 
         [0000]      Σ i=1   N+1   M   x,y   i =1 for all  x,y.   (6)
 
         [0030]    The high dynamic range (HDR) image is synthesized at step  26 , as 
         [0000]      Σ i=1   N+1   M   x,y   i =1 for all  x, y.   (7)
 
         [0031]    Now the user is given the flexibility to change the mask with a graphics user interface at step  28 . For instance, in  FIG. 2B , the only ghost happens within the rectangle and this particular area has only limited dynamic range. Thus the user can choose to mask out the specific area only from one proper exposed input image. More specifically, this can be described for all coordinates (x,y) within red rectangle, set as: 
         [0000]        M   x,y   K =1 and  (8)
 
         [0000]        M   x,y   i =0 for  i≠N+ 1.  (9)
 
         [0000]    where K is the index of input image which does not have over-exposure or under-exposure in the specific area (within rectangle in this example). 
         [0032]    Once the user changes the masks, Eq. (7) is used again to regenerate the synthesized high dynamic range (HDR) image and, then a tone map is employed. The synthesized high dynamic range (HDR) image is presented to the user for further modification of masking, or if a quality check is performed at step  30 , and no apparent ghosting is present, then an output of the final high dynamic range (HDR) image is provided at step  40 . 
         [0033]    The second method will be discussed with reference to  FIG. 4 . While the previous method is flexible and the user has very good control of eliminating ghosting, the first method, however, may require more manual effort than the second method in some cases. Therefore, a further method, the second method, is proposed that transforms the mask generation problem into a labeling problem, and then uses an optimization method such as Markov Random Field (MRF) to solve the labeling problem. 
         [0034]    In the first method, although the masks can be binary or floating point number, it has been discovered that binary masks are sufficient. In such a case, the value of each pixel in the final high dynamic range (HDR) image is only from one temporary radiance image. In another term, one can consider the fusion process as a labeling problem, where each pixel is given a label that is representative of its source image. To get the final high dynamic range (HDR) image, a user copies the radiance value from its source image for each pixel. 
         [0035]    In the second method, after step  22  as described above, labeling of the image is performed at step  50 . Formally, labeling image L, whose value can be from 1 to N+1, is sought. The value of a pixel in the label image represents its source temporary radiance image at that particular pixel. At the very beginning, the label image L can be initialized to have labeling (N+1) for every pixel. The high dynamic range (HDR) image is synthesized in the same way as step  26 . If a ghosting artifact is present at step  30 , then a graphic user interface is used by the user to scribble on the areas that contain ghosting artifacts and specify the labeling for these scribbles at step  54 . Different from the previous first method, where user has to carefully create the mask to cover all pixels that has a ghosting artifact(s), the user draws a few simple scribbles, and does not need to necessarily cover all the pixels that are affected by the ghosting artifact(s). The user&#39;s scribbles define the labeling for the underlying pixels; therefore the next step is to infer the labeling for the rest pixels in the labeling image L. 
         [0036]    To achieve this goal, one can employ the Markov Random Field (MRF) framework to solve this inference problem, at step  56 . In MRF framework, the labeling problem can be transformed into an optimization problem as follows. The labeling image should minimize the following cost function: 
         [0000]        J ( L )=Σ D ( L   x,y )+λΣ V ( L   x,y   ,L   x′,y′ )  (10)
 
         [0037]    The cost function contains two terms, where the first term is usually called data fidelity term and the second term smoothness term. 
         [0038]    The data terms define the “cost” if a pixel is labeled as a particular value. In this problem, one defines the data term in following way: 
         [0039]    If a pixel (x,y) is on a user-defined scribble and specified as label i then 
         [0000]    
       
         
           
             
               
                 
                   
                     D 
                      
                     
                       ( 
                       
                         L 
                         
                           x 
                           , 
                           y 
                         
                       
                       ) 
                     
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             0 
                             , 
                           
                         
                         
                           
                             
                               L 
                               
                                 x 
                                 , 
                                 y 
                               
                             
                             = 
                             i 
                           
                         
                       
                       
                         
                           
                             ∞ 
                             , 
                           
                         
                         
                           else 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   11 
                   ) 
                 
               
             
           
         
       
     
         [0040]    If a pixel (x,y) is not on a user-defined scribble, then L x,y =j and 
         [0000]    
       
         
           
             
               
                 
                   
                     D 
                      
                     
                       ( 
                       
                         L 
                         
                           x 
                           , 
                           y 
                         
                       
                       ) 
                     
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             ∞ 
                             , 
                           
                         
                         
                           
                             
                               I 
                               
                                 x 
                                 , 
                                 y 
                               
                               
                                 L 
                                 
                                   x 
                                   , 
                                   y 
                                 
                               
                             
                             = 
                             
                               
                                 255 
                                  
                                 
                                     
                                 
                                  
                                 or 
                                  
                                 
                                     
                                 
                                  
                                 
                                   I 
                                   
                                     x 
                                     , 
                                     y 
                                   
                                   
                                     L 
                                     
                                       x 
                                       , 
                                       y 
                                     
                                   
                                 
                               
                               = 
                               0 
                             
                           
                         
                       
                       
                         
                           
                             1 
                             , 
                           
                         
                         
                           else 
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   12 
                   ) 
                 
               
             
           
         
       
     
         [0041]    For the smoothness term, one can define it as below, although more complicated smoothness function can also be used: 
         [0000]    
       
         
           
             
               
                 
                   
                     V 
                      
                     
                       ( 
                       
                         i 
                         , 
                         j 
                       
                       ) 
                     
                   
                   = 
                   
                     { 
                     
                       
                         
                           
                             0 
                             , 
                           
                         
                         
                           
                             i 
                             = 
                             j 
                           
                         
                       
                       
                         
                           
                             
                               abs 
                                
                               
                                 ( 
                                 
                                   i 
                                   - 
                                   j 
                                 
                                 ) 
                               
                             
                             , 
                           
                         
                         
                           
                             i 
                             ≠ 
                             j 
                           
                         
                       
                     
                   
                 
               
               
                 
                   ( 
                   13 
                   ) 
                 
               
             
           
         
       
     
         [0042]    Once the cost function is well defined, an algorithm, such as Graph-cut or Belief-Propagation, can be used to solve the optimization problem efficiently. The flow of this method is shown in  FIG. 4 . Once the user performs the labeling, Eq. (7) is used again to regenerate the synthesized high dynamic range (HDR) image and, then a tone map is employed. The synthesized high dynamic range (HDR) image is presented to the user for further modification by labeling, or if a quality check is performed at step  30 , and no apparent ghosting is present, then an output of the final high dynamic range (HDR) image is provided at step  40 . 
         [0043]    While certain embodiments of the present invention have been described above, these descriptions are given for purposes of illustration and explanation. Variations, changes, modifications and departures from the systems and methods disclosed above may be adopted without departure from the scope or spirit of the present invention.