# Patent

## Title
Image enhancement using semantic components

## Abstract

A system for determining a high resolution output image that includes receiving a low resolution image and determining an intermediate high resolution image. The system detects semantic features based upon the input image and selects corresponding semantic components from a database based upon the detected semantic features. The first intermediate high resolution image is modified based upon information from the corresponding semantic components to determine the high resolution output image.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. patent application Ser. No. 14/093,425, filed Nov. 30, 2013, now U.S. Pat. No. 9,208,539 B2.


BACKGROUND OF THE INVENTION
The present invention relates to image enhancement using a semantic based technique.
Digital images are typically represented as an array of pixels. Similarly, digital video is typically represented as a series of images or frames, each of which contains an array of pixels. Each pixel includes information, such as intensity and/or color information. In many cases, each pixel is represented as a set of three colors, each of which is defined by eight bit color values.
In many cases, image and/or video encoding and/or transmission systems degrade the quality of the image content in order to reduce the storage requirements and/or the bandwidth requirements for transmission. After encoding and/or transmitting an image and/or video, a restoration technique is used on the image and/or video to attempt to recover the high-quality original image content from the degraded version. The degradation of the image content may occur as a result of numerous reasons, such as for example, image transmission, image coding, limitations of capture or display devices, etc. On the other hand, the enhancement of a degraded image attempts to improve the appearance of the image and/or video.
In other cases, the image content is provided at a first lower resolution, such as a progressive or interlaced scanning (e.g., 720×480 pixels). The image content may be provided in a non-degraded manner or in a degraded manner. The lower resolution image content may be enhanced in some manner to be suitable for displaying on a display having a resolution greater than the lower resolution image content, such as a 4K display (e.g., 3840 by 2160 pixels).
Restoration and/or enhancement of the image and/or video is often a processing step in an image/video display system, especially in large-sized displays. One of the goals may be to restore and enhance the visual appearance of important components of the image and/or video, for example edges, textures and other detail. Another goal is to limit the introduction of undesirable visual artifacts and/or amplification of existing artifacts during restoration and enhancement. A specific example is to limit the introduction or amplification of existing noise in the image and/or video, such as camera noise or compression noise. Another example is to limit introduction of artifacts near edges and contours known as “halo”, “undershoot” and “overshoot”.
Many different techniques have been used to attempt to perform image (inclusive of video) detail enhancement in order to restore an image. Many such techniques are based upon a hierarchical framework using a Laplacian pyramid to decompose the image into multiple levels, including a smooth low frequency image and other high frequency components. Each level is then enhanced and combined together to form the enhanced image. While decomposing the image, edge preservation techniques may be used to reduce halo effects.
Another technique to perform image detail enhancement involves applying a bilateral filter to get different components of the image under multiple lighting conditions and enhance the details of the image by combining these components. The range of the bilateral filter may be modified to simultaneously perform both detail enhancement and noise removal. Another technique includes acquiring information about oscillations of the image from local extrema at multiple scales and using this information to build a hierarchy which is used to enhance details of the image. Yet another technique involves using wavelets to build a multi-resolution analysis framework to decompose an image into smooth and its detail components, where the wavelets are specifically constructed according to the edge content of the image to reduce halo effects.
Another technique to perform image detail enhancement uses a filter to perform multi-scale decomposition of images. The filter is edge-preserving and the smoothing is based on a Weighted Least Squares (i.e., WLS) optimization framework. This may be mathematically represented as calculating the minimum of,




  
    ∑
    p
  
  ⁢
  
    (
    
      
        
          (
          
            
              u
              p
            
            -
            
              g
              p
            
          
          )
        
        2
      
      +
      
        λ
        (
        
          
            
              
                a
                
                  x
                  ,
                  p
                
              
              ⁡
              
                (
                g
                )
              
            
            ⁢
            
              
                (
                
                  
                    ∂
                    u
                  
                  
                    ∂
                    x
                  
                
                )
              
              p
              2
            
          
          +
          
            
              
                a
                
                  y
                  ,
                  p
                
              
              ⁡
              
                (
                g
                )
              
            
            ⁢
            
              
                (
                
                  
                    ∂
                    u
                  
                  
                    ∂
                    y
                  
                
                )
              
              p
              2
            
          
        
        )
      
    
    )
  




where g is the input image, u is the output image and subscript p is the spatial location of the pixel. This function tries to maintain u as close as possible to g and achieves smoothness by minimizing the partial derivatives of u. The smoothness weight is determined by ax and ay, while λ controls the amount of smoothing. Greater λ implies more smoothing. For example, this technique may be used in a Laplacian pyramid framework to obtain abstraction at different levels.
As previously described there are many different techniques to provide image enhancement together with increased resolution. For example, D. Glasner, S. Bagon, M. Irani, Super-resolution from a single image, ICCV 2009, describe the use of redundancies in the input image to construct a pyramid having low-res/high-res image pairs and uses a learning-based method to perform super-resolution of the input image. For example, J. Sun, J. Sun, Z. Xu, H. Y. Shum, Gradient Profile Prior, CVPR 2008, describe the use of a large database of natural images to learn the distribution of gradient profiles and modifies the gradient information of the input image to fit this distribution in order to obtain sharp edges and consequently perform super-resolution of images. For example, Yang, J. Wright, T. Huand and Y. Ma., Image super-resolution via sparse representation, IEEE TIP 2010, describe the use of a dictionary-based super-resolution method based on ideas in sparse signal processing and show how a joint compact dictionary can be trained to learn the correspondence between high-resolution and low-resolution training image patches. H. He, W. C. Siu., Single image super-resolution using Gaussian Process Regression, CVPR 2010, describe a super-resolution technique using a Gaussian Process Regression model without any training dataset. R. Fattal, Upsampling via imposed edge statistics, SIGGRAPH 2007, describe the use of a super-resolution method based on the relationship between the edge statistics based on local intensity continuity of low-resolution and the high-resolution images. W. Freeman, T. Jones, E. Pasztor, Example-based super-resolution, IEEE Computer Graphics and Applications 2002, describe using a technique to hallucinate high frequency details from a training set of high-resolution and low-resolution image pairs. Y. W. Tai, S. Liu, M. Brown, S. Lin, Super resolution using edge prior and single image detail synthesis, CVPR 2010, describe the use of an extended gradient profile technique using exemplar texture patches to get improved details in the image. J. Sun, J. Zhu, M. Tappen, Context constrained hallucination for image super-resolution, CVPR 2010, describe an image super-resolution technique formulated as an energy minimization framework that enforces different criteria such as fidelity of the high-resolution image to the input image, the fidelity of pixel to discrete candidate examples and the smoothness of edge. This method analyzes textural characteristics of a region surrounding each pixel to search database for segments with similar characteristics. All references described herein are incorporated by reference in their entirety.
Many existing techniques for detail enhancement, such as those mentioned above, are effective in enhancing the image and/or video. However, such techniques may still result in images that are not aesthetically pleasing to the viewer.
The foregoing and other objectives, features, and advantages of the invention will be more readily understood upon consideration of the following detailed description of the invention, taken in conjunction with the accompanying drawings.



BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS
FIG. 1 illustrates an image enhancement system using semantic content.
FIG. 2 illustrates an image enhancement system using facial semantic content.



DETAILED DESCRIPTION OF PREFERRED EM BODIMENT
While viewing an image or a video, the focus of a person is different for different regions of the image, depending on the content depicted therein. The salient components of the image content drive people's attention to different regions of the image. For example, when a viewer looks at the image of a tree, there are semantic components such as the leaves or the branches that are important to the viewer. For example, when a viewer looks at the image of a face, there are semantic components such as the eyes, eyebrows, nose, and mouth that are important to the viewer. Existing resolution enhancement techniques tend to either perform interpolation of the different pixels, or use a reconstruction based approach that includes the assumption that the high-resolution images should accurately reproduce the low-resolution images when down-sampled or use a learning-based approach where the high frequency details of the image are reconstructed on a patch-by-patch basis using a training dataset of low-resolution and high-resolution images. However, to enhance the image content in a manner suitable for the viewer, it is desirable to modify the enhanced image based upon the semantic content of the image content in an efficient manner.
Referring to FIG. 1, the image enhancement technique may receive an input image 100, which is a low resolution image Ll 102. The low resolution image Ll 102 may be used to determine an intermediate high-resolution output image 110 using any suitable technique. The intermediate high resolution output image 110 preferably has a higher resolution than the low resolution image Ll 102. Also, preferably the intermediate high resolution output image 110 has the same number of pixels as the output image. Referring also to FIG. 2, which is an exemplary implementation of FIG. 1, the intermediate high resolution output image 110 is preferably implemented using a dictionary based technique 210, using any suitable technique. Also, preferably the intermediate high resolution output image 210 has the same number of pixels as the output image. The term “high-resolution” is used in general to mean high-quality image and/or video data, for example image data containing high-frequency components, and/or image data containing fine details and textures, and/or image data with sharp edges and contours and/or data with more pixels than the input data. The term “low-resolution” is used in general to mean image and/or video data that may have been degraded during capture, encoding or transmission, and generally contains fewer high-frequency components, and/or fewer detail and/or compression artifacts and/or fewer pixels than output data.
The low resolution image Ll 102 is preferably increased in resolution to a predetermined resolution for subsequent processing. The low resolution image Ll 102, after being increased in resolution, may be used to detect semantic features 120 of the image using any suitable technique. The detected semantic features 120 identify those features of the image that carry semantic information in the image regions which correspond to semantic objects in the image. For example, the features in the image may be a face, a tree, a desk, a cat, a girl, a boy, a waterfall, a ball, etc. Referring also to FIG. 2, which is an exemplary implementation of FIG. 1, the detected semantic features 120 is preferably implemented using a key point extraction technique 220 on the increased resolution image. The key point extraction technique 220 identifies points or regions in the image of the semantic content, using any suitable technique. In the case of the semantic content detection of facial images, the key point extraction may be related to the different facial component
The detected semantic features 120 may be used to select low-resolution semantic components 130 of the image. There may be one or more semantic components 130 that are selected, such as semantic component 1 132, semantic component 2 134, semantic component 3 136, to semantic component n138. Referring also to FIG. 2, which is an exemplary implementation of FIG. 1, a detection technique to detect low-resolution semantic components 230 is preferably implemented for facial components to select eyebrows 232, eyes 234, a nose, 236 and a mouth 238. The semantic components 230 are preferably point representations, or otherwise, rather than full two dimensional blocks of pixels encompassing the semantic component. This permits enhanced matching to a database.
The information from the low resolution semantics components 130 is provided to the high resolution semantic components 140. The high resolution semantic components 140 may include a high resolution semantic component 1 142, a high resolution semantic component 2 144, a high resolution semantic component 3 146, through a high resolution semantic component n 148. The high resolution semantic components 140 also receive corresponding information from a database of high resolution and low resolution images 150 for each of the semantic components. The database 150 may include a dataset of high resolution images with labeled semantic components corresponding to the semantic components 142, 144, 146, 148 of the high resolution semantic components 140. For each of the components, a preferred match is selected from the database 150 corresponding to the low resolution semantic components 132, 134, 136, 138, each at a predetermined matching resolution to the low resolution images of the database 150. Greater computational efficiency and proper matching is achieved when the low resolution images 150 match the resolution of the low resolution semantic components 130. Also, input image 100 with different resolutions are more readily effectively processed by using the increased resolution process.
Referring also to FIG. 2, which is an exemplary implementation of FIG. 1, the information from the low resolution semantic components 230 are provided to the high resolution semantic components 240. The high resolution semantic components 240 may include eyebrows 242, eyes 244, a nose 246, and a mouth 248. The high resolution semantic components 240 also receive corresponding information from a database of high resolution and low resolution images 250 for each of the facial components. The database 250 may include a database of high resolution images with labeled semantic components from database 250 corresponding to the semantic components 242, 244, 246, 248 of the high resolution semantic components 240. In particular, the database may be based upon semantically labeled facial images, with a separate database (or parts thereof) being constructed for each anticipated pose. In particular, for a face image each labeled semantic component SCi may be included such as eyes, eyebrows, nose, and mouth where i is the label of semantic component. This deconstruction may be used for other semantic image content and components thereof.
Referring to FIG. 2, for each test image, the system may first determine the pose of the face and then use the database corresponding to that pose of the face. Then, the system may perform 2 up-sampling operations. First, the image may be up-sampled using a naïve bicubic interpolation Il and then label the different semantic components. Then, the system may up-sample the image Dl using a dictionary based technique. Information about the gradients of the semantic components is transferred to this image in order to obtain the final enhanced image. The system may label the different semantic components in Il.
For each of the semantic components in the test image Ci where i is the label of the semantic component, the system may determine the best matching aligned component from the training database. Before aligning and matching these components, the system may also use information the particular semantic content, such as about people wearing glasses. For people wearing glasses, to align eyes and eyebrows the system may use training examples of eyes, nose and eyebrows only from people wearing glasses. Similarly, for people not wearing glasses the system may use training examples of eyes, nose and eyebrows only from people not wearing glasses. For the other semantic component such as mouth, the system may use the entire database because the glasses do not obstruct the mouth region of the face. For a specific component, let T be the images being considered from the training database.
In order to estimate the aligned component the system may do affine transformation at more than one dimension on SCi to determine the parameters pertaining to rotation, scaling and translation. This can be determined by solving the following equation for every image in the database




  
    
      ∀
      i
    
    ⁢
    
      
        
          arg
          ⁢
          
            
          
          ⁢
          min
        
        
          r
          ,
          
            s
            x
          
          ,
          
            s
            y
          
          ,
          
            t
            x
          
          ,
          
            t
            y
          
        
      
      ⁢
      
        
          
          
            
              A
              ⁡
              
                (
                
                  SC
                  i
                
                )
              
            
            -
            
              C
              i
            
          
          
        
        2
      
    
  
  ,




where i stands for each semantic component label, A is the affine transformation that is performed on the semantic components of the training database, r is the parameters for rotation, s_x is the parameter for scaling in the X-direction, s_y is the parameter for scaling in the Y-direction, t_x is the translational parameter in the X-direction, and t_y is the translational parameter in the Y-direction. Since the system preferably uses the alignment independently for each semantic component label i, the system can effectively consider different expressions and sizes of the components. The system may use these transformation parameters to transform T to obtain AT,

Once the system has aligned each component of the training dataset to the corresponding component of the image, the next step may be to find the best matching component from those aligned components. The criterion to find the best matching component is preferably gradient information. The system may down-sample images in AT and then up-scale those images by bicubic interpolation to obtain UT. For every component label i, the system may define a region that is a convex hull of the set of key-points. Let p be the pixels present in the convex hull of the semantic component. The best match  for each component label i can be determined as follows




  
    
      ∀
      i
    
    ⁢
    
      
        
          x
          i
        
        ^
      
      ⁢
      
        
          =
          
            arg
            ⁢
            
              
            
            ⁢
            min
          
        
        x
      
      ⁢
      
        
          ∑
          
            p
            ∈
            
              H
              ⁡
              
                (
                
                  C
                  i
                
                )
              
            
          
        
        ⁢
        
          
            
            
              
                ∇
                
                  
                    I
                    l
                  
                  ⁡
                  
                    (
                    p
                    )
                  
                
              
              =
              
                ∇
                
                  
                    UT
                    x
                  
                  ⁡
                  
                    (
                    p
                    )
                  
                
              
            
            
          
          2
        
      
    
  
  ,




where ∇ is the gradient operator, H is the convex hull defined by component Ci, x are the indices of images UT in UT. This provides a matching matched aligned component for each component of the face image and a different match  may be retrieved for each component.

The semantic components 140, 240 are preferably two-dimensional images from which useful characteristics may be extracted. Referring again to FIG. 1, the system may obtain information for each component 160 from the selected semantic components 142, 144, 146, 146. For example, this information may be edge based information (e.g., gradient information), color based information, texture information, or other suitable information related to one or more of the semantic components. Referring also to FIG. 2, which is an exemplary implementation of FIG. 1, the system may obtain gradient information for each component 260, each of which is preferably aligned and scaled. In addition, the spatial location of each component 250 is likewise maintained.
This process of obtaining information for each component 150 (FIG. 1), 250 (FIG. 2) may be repeated for all the desired semantic components of the image. The system may also, if desired, merge all the information 160, 260 together in a suitable manner. This merged information is provided to a transformation process 170 which suitably modifies the intermediate high resolution output image 110 to determine a high resolution output image 180, based upon the semantic features. In this manner, the intermediate high resolution output image which would otherwise be the high resolution output image, is further modified in accordance with the semantic content of the input image 100 to obtain the refined high resolution output image 180 that is more suitable for viewing.
Referring to FIG. 2, which is an exemplary implementation of FIG. 1, the gradient information 260 may be merged together to obtain a transformed gradient map ∇IhT. This gradient map is then transferred to the corresponding component of Dl using the equation E(Ih|Ll,∇IhT)=Ei(Ih|Ll)+αEg(∇Ih|∇hT), where ∇ is the gradient operator, Ei(Ih|Ll) is the reconstruction constraint in the image domain, Eg(∇Ih|∇IhT) is the reconstruction constraint in the gradient domain and α balances the image domain constraint and the gradient domain constraint. Ll, is the low resolution image and the high-resolution image Ih is constructed by minimizing the energy function that enforces constraints in both gradient domain and the image domain. The energy may be minimized by a gradient descent technique




  
    
      I
      h
      
        t
        +
        1
      
    
    =
    
      
        I
        h
        t
      
      -
      
        τ
        ·
        
          
            ∂
            
              E
              ⁡
              
                (
                
                  I
                  h
                
                )
              
            
          
          
            ∂
            
              I
              h
            
          
        
      
    
  
  ,
  
    

  
  ⁢
  
    
      where
      ⁢
      
        
      
      ⁢
      
        
          ∂
          
            E
            ⁡
            
              (
              
                I
                h
              
              )
            
          
        
        
          ∂
          
            I
            h
          
        
      
    
    =
    
      
        
          
            (
            
              
                (
                
                  
                    I
                    h
                  
                  *
                  G
                
                )
              
              ↓
              
                -
                
                  D
                  l
                
              
            
            )
          
          ↑
        
        *
        G
      
      -
      
        α
        ·
        
          
            (
            
              
                
                  ∇
                  2
                
                ⁢
                
                  I
                  h
                
              
              -
              
                
                  ∇
                  2
                
                ⁢
                
                  I
                  h
                  T
                
              
            
            )
          
          .
        
      
    
  




This is an iterative process and the system may use Dl as an initialization step for Ih and τ is the step size. The final enhanced image Ih comprises of the enhanced semantic components.

The terms and expressions which have been employed in the foregoing specification are used therein as terms of description and not of limitation, and there is no intention, in the use of such terms and expressions, of excluding equivalents of the features shown and described or portions thereof, it being recognized that the scope of the invention is defined and limited only by the claims which follow.

## Claims

1. A method, using an image enhancement system, for determining a high resolution output image comprising:
(a) receiving a low resolution image having a first resolution;
(b) determining a first intermediate high resolution image having a second resolution based upon said low resolution image;
(c) determining a second intermediate high resolution image having a third resolution based upon said low resolution image;
(d) detecting semantic features of said second intermediate high resolution image and selecting corresponding semantic components from a database based upon said detected semantic features;
(e) modifying said first intermediate high resolution image based upon information from said corresponding semantic components to determine said high resolution output image having a fourth resolution.

2. The method of claim 1 wherein said determining said first intermediate high resolution image is based upon a dictionary technique.

3. The method of claim 1 wherein said detecting semantic features is based upon a key point extraction technique.

4. The method of claim 1 wherein said detected semantic features is used to select first semantic components.

5. The method of claim 4 where said corresponding semantic components is based upon said first semantic components.

6. The method of claim 5 wherein said first semantic components have a first semantic resolution, said corresponding semantic components have a second semantic resolution.

7. The method of claim 6 wherein said database includes information representative of said first semantic components and said corresponding semantic components.

8. The method of claim 7 wherein said database includes information related to different variants of the same semantic content.

9. The method of claim 6 wherein a multi-dimensional scaling operation is used to determine said corresponding semantic components.

10. The method of claim 1 wherein said information from said corresponding semantic components is edge based information.

11. The method of claim 10 wherein said information is combined for a plurality of corresponding semantic components.

12. The method of claim 1 wherein modifying said first intermediate high resolution image is based upon reducing an error function.