Patent Publication Number: US-2021166350-A1

Title: Fusion network-based method for image super-resolution and non-uniform motion deblurring

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     The present application is a continuation of International Application No. PCT/CN2018/107710, filed on Sep. 26, 2018, which claims priority to Chinese patent application No. 201810785846.9, filed on Jul. 17, 2018, both of which are hereby incorporated by reference in their entireties. 
    
    
     TECHNICAL FIELD 
     The present disclosure relates to the field of computer vision and image processing, and more particularly, to a fusion network-based method for image super-resolution and non-uniform motion deblurring. 
     BACKGROUND 
     Image super-resolution is a basic task in computer vision applications, aiming to restore high-resolution images from low-resolution images while improving image quality and restoring detail information of images. It can not only generate satisfying high-resolution images, but also provide higher-quality image source for a deeper level of image processing such as target detection and face recognition. However, since there are moving objects with different depths and motion occlusions in natural images, non-uniform motion-blurred phenomena often exist in real low-resolution images. Consequently, researches of super-resolution algorithms can be significantly affected. 
     Different from a uniform motion-blurred image, a non-uniform motion-blurred image is formed by fusion of adjacent frames in a clear video. The fusion process is represented by Formula 1: 
     
       
         
           
             
               
                 
                   
                     
                       H 
                       blur 
                     
                     = 
                     
                        
                        
                       
                         ( 
                         
                           
                             1 
                             M 
                           
                            
                           
                             
                               ∑ 
                               
                                 i 
                                 = 
                                 0 
                               
                               
                                 M 
                                 - 
                                 1 
                               
                             
                              
                             
                               
                                  
                                 
                                   - 
                                   1 
                                 
                               
                                
                               
                                 ( 
                                 
                                   
                                     H 
                                     ^ 
                                   
                                    
                                   
                                     [ 
                                     i 
                                     ] 
                                   
                                 
                                 ) 
                               
                             
                           
                         
                         ) 
                       
                     
                   
                   , 
                 
               
               
                 
                   ( 
                   1 
                   ) 
                 
               
             
           
         
       
     
     where M denotes a number of consecutive frames for generating a non-uniform motion-blurred image, Ĥ[i] denotes an i-th frame of image captured by a camera, and g denotes a camera response function configured to represent a mapping relationship between a brightness received by a photosensitive element and a pixel value of the captured image. An approximate relationship of g is represented by Formula 2: 
         g ( x )= x   1/γ   (2).
 
     On this basis, a low-resolution non-uniform motion-blurred image L blur  is obtained by downsampling a blurred image H blur  in Formula 1, and is represented by Formula 3: 
         L   blur   =D ( H   blur )  (3),
 
     where D denotes a downsampling interpolation algorithm. 
     According to the above formulas, it may be seen that the low-resolution non-uniform motion-blurred image is formed by superimposing of two degradation models. It is a highly ill-conditioned problem to recover a high-resolution sharp image from a single frame of low-resolution non-uniform motion-blurred image. Therefore, in the existing related research, image super-resolution and non-uniform motion deblurring of an image are often researched as two independent issues. The non-uniform motion deblurring of the image is a method to restore a sharp image from a highly complex and blurred image. Non-uniform motion blur, which takes into account different depths of moving objects and a phenomenon of motion occlusion in a real-world scenario, is a more complex image degradation model than uniform motion blur. In recent years, with the maturity of deep neural network technology, the research on the non-uniform motion deblurring has made significant progress. However, in a case where both the above two degradation models exist in an image to be processed, although a blur phenomenon may be removed with the above algorithms, neither the image resolution may be increased, nor the detail information may be recovered, such that the quality of an output image is unable to meet an expected effect. Similarly, existing super-resolution algorithms cannot effectively eliminate the motion blur phenomenon in the image, resulting in that the generated high-resolution image still has a severely blurred area. 
     Existing methods to achieve super-resolution and non-uniform motion deblurring include: (1) a simple concatenation method, that is, a simple concatenation of methods for handling two types of tasks, in which one degradation model is processed first, and a result of the one degradation model is used as an input of another method to eliminate a second degradation model, one main disadvantage of the simple serial method is that it cannot guarantee an optimal solution of a problem to be obtained as that an error caused by the first method will be further amplified in the second method, and the serial connection prevents middle features in the first method from being effectively reused in the second method, resulting in a relatively low operating efficiency; and (2) an end-to-end deep neural network training method, which utilizes the powerful learning ability of a deep neural network and use a large number of training samples to enable the network to perform both super-resolution and motion deblurring. The representative literatures of these methods are [1] and [2] as listed below. However, these methods focus on processing uniform motion blur [1] or Gaussian blur [2]. When these methods are applied to the more complex non-uniform motion blur scenes, results obtained by these methods are far from meeting the actual application requirements. 
     [1] Xu X, Sun D, Pan J, et al. Learning to super-resolve blurry face and text images[C]//Proceedings of the IEEE international conference on computer vision (ICCV). 2017: 251-260. 
     [2] Zhang X, Wang F, Dong H, et al. A deep encoder-decoder networks for joint deblurring and super-resolution[C]//2018 IEEE International Conference on Acoustics, Speech and Signal Processing (ICASSP). IEEE, 2018: 1448-1452. 
     SUMMARY 
     An objective of the present disclosure is to provide a fusion network-based method for image super-resolution and non-uniform motion deblurring, so as to solve the above problems. 
     To implement the above objective, the present disclosure adopts the following technical solutions. 
     A fusion network-based method for image super-resolution and non-uniform motion deblurring, including: 
     step 1: preprocessing an original video to obtain a set of triples of image patches as training and testing data: converting a number of segments of videos captured by a high-speed motion camera into a plurality of triples of image patches {l blur , l, h} that are spatially aligned, where l blur  denotes a non-uniform motion-blurred image patch at a low resolution and serves as an input of neural network training; and l and h denote a low-resolution sharp image patch and a high-resolution sharp image patch, respectively, and serve as true values of different branches in the neural network training; 
     step 2: building a deep neural network: using, by the deep neural network, two branch modules to respectively extract features for image super-resolution and for non-uniform motion deblurring, and performing, by the deep neural network, adaptive fusion on the features extracted by the two branch modules through a feature fusion module that is trainable; and using an upsampling reconstruction module to perform a super-resolution and non-uniform motion deblurring task; 
     step 3: model training: using the triples of image patches of a training set obtained in the step 1 to update parameters of the built neural network to obtain a network model for restoring a low-resolution non-uniform motion-blurred image; and 
     step 4: model test: preprocessing the low-resolution non-uniform motion-blurred image to be processed, and inputting the low-resolution non-uniform motion-blurred image into a neural network model that has been trained, to obtain a high-resolution sharp image. 
     Further, a process of generating the triples of image patches in the step 1 includes: 
     substep 1: randomly sampling N frames of images from a plurality of segments of real-scene videos as a set H of ground truth images of the training set; for each frame of image H i  in the set of ground truth images, sampling, by taking the frame of image H i  as a center, M frames of images adjacent to the frame of image H i  and the frame of image H i  to form a set T of images, T={H i−(M−1)/2  . . . , H i  . . . , H i+(M−1)/2 }, where a subscript denotes a frame number of an image; and generating the set T of images into a set H blur  of high-resolution blurred images based on a formula 
     
       
         
           
             
               
                 H 
                 blur 
               
               = 
               
                  
                  
                 
                   ( 
                   
                     
                       1 
                       M 
                     
                      
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           0 
                         
                         
                           M 
                           - 
                           1 
                         
                       
                        
                       
                         
                            
                           
                             - 
                             1 
                           
                         
                          
                         
                           ( 
                           
                             H 
                             i 
                           
                           ) 
                         
                       
                     
                   
                   ) 
                 
               
             
             , 
           
         
       
     
     where M denotes a number of consecutive frames for generating non-uniform motion-blurred images, H i  denotes an i-th frame of image captured by the high-speed motion camera, and g denotes a camera response function configured to represent a mapping relationship between a brightness received by a photosensitive element and a pixel value of an image that is captured, an approximate function of g being g(x)=x 1/γ ; and 
     substep 2: for N pairs of high-resolution sharp/blurred images {H, H blur } generated in the substep 1, downsampling each of the N pairs of high-resolution sharp/blurred images {H, H blur } with three zooming scales {0.5, 0.7, 1} to obtain 3*N pairs of high-resolution sharp/blurred images; for the 3*N pairs of high-resolution sharp/blurred images, cropping a set of image patches of a size M*M using a sliding window with a stride of S; for each pair of high-resolution image patches {h, h blur }, performing downsampling using a formula L=D(H) to obtain a pair of low-resolution image patches {l, l blur }, where D denotes a downsampling interpolation algorithm, H denotes a high-resolution image, and L denotes a low-resolution image obtained after the downsampling; and obtaining each of the plurality of pairs of triples of image patches {l blur , l, h} in the step 1, the downsampling being bicubic interpolation downsampling. 
     Further, in the step 2, a module of the neural network for extracting a deblurring feature adopts an encoding-decoding structure, the encoding-decoding structure module includes a convolutional layer configured to directly process an input, a number of residual network blocks without Batch-Normalization (BN) layers, two downsampling convolutional layers, and two deconvolutional layers; a plurality of skip connections are provided between features of a same scale in the encoding-decoding structure; an output of the encoding-decoding structure module is the deblurring feature Φ deblur ; and a pixel regression network composed of two convolutional layers is connected after the encoding-decoding structure to generate a low-resolution sharp image {circumflex over (L)}. 
     Further, in the step 2, a module for extracting a super-resolution feature includes a convolutional layer configured to directly process an input, and a number of residual network blocks without BN layers, and an output of the branch module is a super-resolution feature Φ SRF . 
     Further, in the step 2, the feature fusion module includes two convolutional layers performing the adaptive fusion on the features extracted by the two branch modules by outputting a pixel-wise fusion weight, and the feature fusion module takes {l blur , Φ SRF , Φ deblur } as an input, and performs the adaptive fusion on Φ SRF , Φ deblur  according to a formula Φ fusion =G fusion (l blur , Φ SRF , Φ deblur ) ⊗Φ deblur +Φ SRF , where G fusion  denotes a network for the feature fusion module, and ⊗ denotes element-wise multiplication. 
     Further, in the step 2, the upsampling reconstruction module takes a feature Φ deblur  obtained after fusion as an input, adopts a number of residual network blocks without BN layers to optimize and refine the fused feature, and achieves a recovery of a high-resolution sharp image Ĥ through two pixel shuffle layers and a number of convolutional layers. 
     Further, in the step 3, a loss function used for network training is defined as L=L SR (Ĥ, H)+αL deblur ({circumflex over (L)}, L), where L SR  and L deblur  denote an output error of the upsampling reconstruction module and an output error of a deblurring module, respectively, and both use a Mean Square Error (MSE) function to calculate a distance between an output of an output network and a true value, and a denotes a weight between two losses. 
     Further, a two-stage training strategy is adopted when training a model of the step 2; in a first stage of training, a pixel-wise fusion weight of a feature fusion network is mandatory to be 1, and all parts except the feature fusion module are updated; in a second stage of training, a weight restriction is cancelled, and on a basis of the first stage of training, the entire network is retrained together with the feature fusion module; and in a whole training process, an ADAM optimization algorithm is adopted for optimization, and to increase a diversity of training data, a random horizontal flip and a random rotation are adopted to perform data enhancement on the generated plurality of triples of image patches. 
     Further, in the step 4, an image to be tested is preprocessed by edge trimming in such a manner that the image to be tested has a length and a width that are divisible by four. 
     Compared with the related art, the present disclosure has the following technical effects. 
     The method for super-resolution and non-uniform motion deblurring of a natural image based on a deep feature fusion network according to the present disclosure achieves recovery of the low-resolution non-uniform motion-blurred image based on the deep neural network for the first time. The network of the present disclosure effectively decouples the aforementioned joint task into two subtasks through two parallel branch modules for feature extraction, thereby reducing the difficulty of network training and improving the effect of the network. In addition, the existence of the feature fusion module enables the network to better fuse features of different subtasks. Finally, since most calculations of the network are concentrated on low-resolution scales, the method has an extremely high computational efficiency and good real-time performance, and thus is very suitable for applications such as restoration and enhancement on images captured by mobile devices and monitoring equipment. 
    
    
     
       BRIEF DESCRIPTION OF DRAWINGS 
         FIG. 1  is a flowchart of an implementation of the present disclosure; 
         FIG. 2  illustrates an architecture of a convolutional neural network of the present disclosure; and 
         FIG. 3A  and  FIG. 3B  are examples illustrating image super-resolution and non-uniform motion deblurring. 
     
    
    
     DESCRIPTION OF EMBODIMENTS 
     The present disclosure will be further described below in combination with the drawings. 
     A fusion network-based method for image super-resolution and non-uniform motion deblurring includes the following steps. 
     In step 1, an original video is preprocessed to obtain a set of triples of image patches as training data and testing. A number of segments of videos captured by a high-speed motion camera are converted into multiple triples of image patches {l blur , l, h} that are spatially aligned, where l blur  denotes a non-uniform motion-blurred image patch at a low resolution and serves as an input of neural network training; and l and h denote a low-resolution sharp image patch and a high-resolution sharp image patch, respectively, and serve as true values of different branches in the neural network training. 
     In step 2, a deep neural network is built. The deep neural network uses two branch modules to respectively extract features for image super-resolution and for non-uniform motion deblurring, and performs adaptive fusion on the features extracted by the two branch modules through a feature fusion module that is trainable. An upsampling reconstruction module is used to perform a super-resolution and non-uniform motion deblurring task. 
     In step 3, model training is performed. The triples of image patches of a training set obtained in the step 1 are used to update parameters of the built neural network to obtain a network model for restoring a low-resolution non-uniform motion-blurred image. 
     In step 4, model test is performed. The low-resolution non-uniform motion-blurred image to be processed is preprocessed, and the low-resolution non-uniform motion-blurred image is inputted into a neural network model that has been trained, to obtain a high-resolution sharp image. 
     A process of generating the triples of image patches in the step 1 includes: 
     substep 1: randomly sampling N frames of images from a plurality of segments of real-scene videos as a set H of ground truth images of the training set; for each frame of image H i  in the set of ground truth images, sampling, by taking the frame of image H i  as a center, M frames of images adjacent to the frame of image H i  and the frame of image H i  to form a set T of images, T={H i−(M−1)/2  . . . , H i  . . . , H i+(M−1)/2 }, where a subscript denotes a frame number of an image; and generating the set T of images into a set H blur  of high-resolution blurred images based on a formula 
     
       
         
           
             
               
                 H 
                 blur 
               
               = 
               
                  
                  
                 
                   ( 
                   
                     
                       1 
                       M 
                     
                      
                     
                       
                         ∑ 
                         
                           i 
                           = 
                           0 
                         
                         
                           M 
                           - 
                           1 
                         
                       
                        
                       
                         
                            
                           
                             - 
                             1 
                           
                         
                          
                         
                           ( 
                           
                             H 
                             i 
                           
                           ) 
                         
                       
                     
                   
                   ) 
                 
               
             
             , 
           
         
       
     
     where M denotes a number of consecutive frames for generating non-uniform motion-blurred images, H i  denotes an i-th frame of image captured by the high-speed motion camera, and g denotes a camera response function configured to represent a mapping relationship between a brightness received by a photosensitive element and a pixel value of an image that is captured, an approximate function of g being g(x)=x 1/γ ; and 
     substep 2: for N pairs of high-resolution sharp/blurred images {H, H blur } generated in the substep 1, downsampling each of the N pairs of high-resolution sharp/blurred images {H, H blur } with three zooming scales {0.5, 0.7, 1} to obtain 3*N pairs of high-resolution sharp/blurred images; for the 3*N pairs of high-resolution sharp/blurred images, cropping a set of image patches of a size M*M using a sliding window with a stride of S; for each pair of high-resolution image patches {h, h blur }, performing downsampling using a formula L=D(H) to obtain a pair of low-resolution image patches {l, l blur }, where D denotes a downsampling interpolation algorithm, H denotes a high-resolution image, and L denotes a low-resolution image obtained after the downsampling; and obtaining each of the plurality of pairs of triples of image patches {l blur , l, h} in the step 1, the downsampling being bicubic interpolation downsampling. 
     In the step 2, a module of the neural network for extracting a deblurring feature adopts an encoding-decoding structure, the encoding-decoding structure module comprises a convolutional layer configured to directly process an input, a number of residual network blocks without BN layers, two downsampling convolutional layers, and two deconvolutional layers. A plurality of skip connections are provided between features of a same scale in the encoding-decoding structure; an output of the encoding-decoding structure module is the deblurring feature Φ deblur ; and a pixel regression network composed of two convolutional layers is connected after the encoding-decoding structure to generate a low-resolution sharp image {circumflex over (L)}. 
     In the step 2, a module for extracting a super-resolution feature comprises a convolutional layer configured to directly process an input, and a number of residual network blocks without BN layers, and an output of the branch module is a super-resolution feature Φ SRF . 
     In the step 2, the feature fusion module comprises two convolutional layers performing the adaptive fusion on the features extracted by the two branch modules by outputting a pixel-wise fusion weight, and the feature fusion module takes {l blur , Φ SRF , Φ deblur } as an input, and performs the adaptive fusion on Φ SRF , Φ deblur  according to a formula Φ fusion =G fusion (l blur , Φ SRF , Φ deblur ) ⊗Φ deblur +Φ SRF , where G fusion  denotes a network for the feature fusion module, and ⊗ denotes element-wise multiplication. 
     In the step 2, the upsampling reconstruction module takes a feature Φ deblur  obtained after fusion as an input, adopts a number of residual network blocks without BN layers to optimize and refine the fused feature, and achieves a recovery of a high-resolution sharp image Ĥ through two pixel shuffle layers and a number of convolutional layers. 
     In the step 3, a loss function used for network training is defined as L=L SR (Ĥ, H)+αL deblur ({circumflex over (L)}, L), where L SR  and L deblur  denote an output error of the upsampling reconstruction module and an output error of a deblurring module, respectively, and both use a MSE function to calculate a distance between an output of an output network and a true value, and a denotes a weight between two losses. 
     A two-stage training strategy is adopted when training a model of the step 2; in a first stage of training, a pixel-wise fusion weight of a feature fusion network is mandatory to be 1, and all parts except the feature fusion module are updated; in a second stage of training, a weight restriction is cancelled, and on a basis of the first stage of training, the entire network is retrained together with the feature fusion module; and in a whole training process, an ADAM optimization algorithm is adopted for optimization, and to increase a diversity of training data, a random horizontal flip and a random rotation are adopted to perform data enhancement on the generated plurality of triples of image patches. 
     In the step 4, an image to be tested is preprocessed by edge trimming in such a manner that the image to be tested has a length and a width that are divisible by four. 
     A flow chart of implementation will be described as follows. 
     As illustrated in  FIG. 1 , the fusion network-based method for the image super-resolution and non-uniform motion deblurring includes the following steps. 
     In step 1, an original video is preprocessed to obtain a set of training data of an image. A plurality of segments of clear videos of natural scenes captured by the high-speed motion camera into a plurality of pairs of triples of image patches {l blur , l, h} that are spatially aligned, where l blur  denotes a non-uniform motion-blurred image patch at a low resolution and serves as an input of neural network training; and l and h denote a low-resolution sharp image patch and a high-resolution sharp image patch, respectively, and serve as true values of different stages in the neural network training. 
     Specifically, with the method, 2,100 frames of images are randomly selected from 21 segments of videos to form the set H of ground truth images of the training set. In addition, according to the method, 11 frames of images adjacent to the 2,100 frames of images are processed by the formula 
     
       
         
           
             
               H 
               blur 
             
             = 
             
                
                
               
                 ( 
                 
                   
                     1 
                     M 
                   
                    
                   
                     
                       ∑ 
                       
                         i 
                         = 
                         0 
                       
                       
                         M 
                         - 
                         1 
                       
                     
                      
                     
                       
                          
                         
                           - 
                           1 
                         
                       
                        
                       
                         ( 
                         
                           
                             H 
                             ^ 
                           
                            
                           
                             [ 
                             i 
                             ] 
                           
                         
                         ) 
                       
                     
                   
                 
                 ) 
               
             
           
         
       
     
     to generate the set H blur  of high-resolution blurred images. In this manner, a total of 2,100 pairs of high-resolution sharp/blurred images {H, H blur } are generated. Each of the 2,100 pairs of high-resolution sharp/blurred images {H, H blur } is downsampled with three zooming scales {0.5, 0.7, 1} to obtain 6,300 pairs of high-resolution sharp/blurred images. For the 6,300 pairs of high-resolution sharp/blurred images, a pair of image patches of a size 256*256 is cropped using a sliding window with a stride of 128. A total of 107,584 pairs of image patches are cropped from the above pairs of images. A formula g(x)=x 1/γ  is applied to each pair of high-resolution image patches {h, h blur }. The method performs the downsampling to obtain the pair of low-resolution image patches {l, l blur }, and to obtain the pairs of triples of image patches {l blur , l, h} in the step 1. The downsampling is bicubic interpolation downsampling. 
     In step 2, the deep neural network is built. As illustrated in  FIG. 2 , The deep neural network uses two branch modules to respectively extract features for the image super-resolution and for the non-uniform motion deblurring, and performs adaptive fusion on outputs of the two feature extraction branches through a feature fusion module that is trainable. And then, the upsampling reconstruction module is used to implement the super-resolution and non-uniform motion deblurring task. 
     A blur feature extraction module adopts an encoding-decoding structure to increase a receptive field of a feature extraction network, so as to deal with a possible large-scale blur phenomenon. The encoding-decoding structure is composed of “C1-Res(1-6)-C2-Res(7-12)-C3-Res(13-18)-D1-D2-C4”. C1 is a convolutional layer with a convolution kernel size of 7*7, and an output channel number of 64. Res denotes a residual network block with the BN layer removed. Each residual network block is composed of a convolutional layer with a convolution kernel size of 3*3, an activation function Leaky-ReLU with a slope of 0.2, and a convolutional layer with a convolution kernel size of 3*3, which are connected in sequence. Finally, the entire residual network block is added in series from end to end to form a final output. Res(1-6) denotes six residual network blocks connected in series, of which a number of output channels of all convolutional layers is 64. C2 is a convolutional layer with a convolution kernel size of 3*3 and a stride of 2, and a number of output channels of C2 is 128. C2 plays a role of downsampling a feature map. Res(7-12) denotes six residual network blocks connected in series, of which a number of output channels of all convolutional layers is 128. C3 is a convolutional layer with a convolutional kernel size of 3*3 and a stride of 2, and a number of output channels of C3 is 256. C3 plays a role of downsampling the feature map. Res (13-18) denotes six residual network blocks connected in series, of which a number of output channels of all convolutional layers is 256. D1 is composed of a deconvolutional layer with a convolution kernel size of 4*4 and a stride of 2, and the activation function Leaky-ReLU. A number of output channels of D1 is 128. D1 plays a role of upsampling the feature map. D2 is composed of a deconvolutional layer with a convolution kernel size of 4*4 and a stride of 2, and the activation function Leaky-ReLU. A number of output channels of D2 is 64. D2 plays a role of upsampling the feature map. C4 is a convolutional layer with a convolution kernel size of 7*7, and a number of output channels of C4 is 64. A skip connection is provided between an output of Res6 and an output of C1, between an output of Res12 and an output of C2, and between an output of Cl and an output of C4. An output of the encoding-decoding structure module is the deblurring feature Φ deblur . 
     In addition, a pixel regression network composed of two convolutional layers is connected after the encoding-decoding structure. A structure of the pixel regression network is composed of “C5-C6”. C5 is composed of a convolutional layer with a convolution kernel size of 3*3 and the activation function Leaky-ReLU. A number of output channels of C5 is 64. C6 is a convolutional layer with a convolution kernel size of 3*3, and a number of output channels of C6 is 3. The pixel regression network will eventually generate the low-resolution sharp image {circumflex over (L)}. 
     A module structure for extracting super-resolution features according to the method is “C7—Res(19-26)—C8”. C7 is a convolutional layer with a convolution kernel size of 7*7, and a number of output channels of C7 is 64. Res(19-26) denotes six residual network blocks connected in series, of which a number of output channels of all convolutional layers is 64. C8 is a convolutional layer with a convolution kernel size of 3*3, and a number of output channels of C8 is 64. A skip connection is provided between an output of C7 and an output of C8. An output of this branch is the super-resolution feature Φ SRF . 
     The feature fusion module according to the method performs the adaptive fusion on the features extracted by the feature extraction branches by outputting a pixel-wise fusion weight. Specifically, the feature fusion module takes {l blur , Φ SRF , Φ deblur } as an input, and performs feature fusion on Φ SRF , Φ deblur  with the formula Φ fusion =G fusion (l blur , Φ SRF , Φ deblur ) ⊗Φ deblur Φ SRF . 
     A structure of the feature fusion module is composed of “C9—C10—MUL”. C9 is composed of a convolutional layer with a convolution kernel size of 3*3 and the activation function Leaky-ReLU, and a number of output channels of C9 is 64. C10 is a convolutional layer with a convolution kernel size of 1*1, and a number of output channels of C10 is 64. MUL denotes an element-wise multiplication layer, which is responsible for a product of a fusion weight outputted by C10 and Φ deblur . An output of MUL and Φ SRF  are summed point by point to obtain a final fused feature Φ fusion . 
     The upsampling reconstruction module according to the method takes the fused feature Φ fusion  as an input to achieve the recovery of the high-resolution sharp image Ĥ. A structure of the upsampling reconstruction module is composed of “Res(27-34)—C11—P1—C12—P2—C13—C14”. Res(27-34) denotes six residual network blocks connected in series, of which a number of output channels of all convolutional layers is 64. C11 is a convolutional layer with a convolution kernel size of 3*3, and a number of output channels of C11 is 256. P1 is composed of a pixel shuffle layer and the activation function Leaky-ReLU. A number of output channels of P1 is 64. P1 plays a role of performing two-fold upsampling on the feature map. C12 is a convolutional layer with a convolution kernel size of 3*3, and a number of output channels of C12 is 256. P2 is composed of a pixel shuffle layer and the activation function Leaky-ReLU, and a number of output channels of P2 is 64. P2 plays a role of performing two-fold upsampling on the feature map. C13 is composed of a convolutional layer with a convolution kernel size of 3*3 and the activation function Leaky-ReLU. A number of output channels of C13 is 64. C14 is a convolutional layer with a convolution kernel size of 3*3, and a number of output channels of C14 is 3, that is, the final high-resolution sharp result Ĥ. 
     In step 3, the model training is performed by using the triples of image patches of the training set obtained in the step 1 to update the parameters of the built neural network, so as to obtain the network model for restoring the low-resolution non-uniform motion-blurred image. The loss function used in the network training is defined as L=L SR (Ĥ, H)+αL deblur ({circumflex over (L)}, L), where L SR  and L deblur  denote the output error of the upsampling reconstruction module and the output error of the deblurring module, respectively, and both use the MSE (mean square error) function to calculate the distance between the output of the output network and the true value, and a denotes the weight between two losses. 
     The training process is divided into two stages. In the first stage of training, the pixel-wise fusion weight obtained by the feature fusion network is mandatory to be 1, and all network layers except the feature fusion module are updated. In the first stage, a number of Epochs is set to 60, an initial learning rate is set to 1e-4, a learning rate decays to 0.2 times a previous value every 8 epochs, Batch size is set to 16, and a weight a between loss functions is set to 1. In the second stage of training, the above restrictions are cancelled, and on the basis of the first stage of training, the entire network is updated together with the feature fusion module. In the second stage, the number of Epochs is set to 50, the initial learning rate is set to 5e-5, the learning rate decays to 0.2 times the previous value every 8 epochs, the Batch size is set to 16, and the weight a between the loss functions is set to 0.5. Both of the two stages of optimization adopt the ADAM optimization algorithm. In order to increase the diversity of the training data, the random horizontal flip and four random angles, 
     
       
         
           
             
               [ 
               
                 0 
                 , 
                 
                   π 
                   2 
                 
                 , 
                 π 
                 , 
                 
                   
                     3 
                      
                     π 
                   
                   2 
                 
               
               ] 
             
             , 
           
         
       
     
     of rotation are adopted to perform the data enhancement on the generated triples of image patches. 
     In step 4, the model test is performed. First, the image to be tested is preprocessed by the edge trimming in such a manner that the length and the width of the image to be tested are divisible by four, thereby resulting in that the feature map obtained by the encoding-decoding network is consistent with the size of the inputted image. And then, a test image processed is inputted to the neural network model trained in step 3 to obtain the high-resolution sharp image. 
       FIGS. 3A and 3B  illustrate an example of recovering a low-resolution non-uniform motion-blurred image.  FIG. 3A  illustrates a low-resolution non-uniform motion-blurred image that is inputted; and  FIG. 3B  illustrates a high-resolution sharp image obtained by the above neural network model. 
     The present disclosure may be implemented by a variety of programming languages, such as C++, python, matlab, etc. The description in the specification is for illustrative purposes only, and should not be considered as limiting. The scope of the present disclosure is limited only by the attached claims.