Shrinkage fields is a random field-based machine learning technique that aims to perform high quality image restoration (denoising and deblurring) using low computational overhead.
 The restored image 
  
    
      
        x
      
    
    {\displaystyle x}
  
 is predicted from a corrupted observation 
  
    
      
        y
      
    
    {\displaystyle y}
  
 after training on a set of sample images 
  
    
      
        S
      
    
    {\displaystyle S}
  
.
 A shrinkage (mapping) function 
  
    
      
        
          
            f
          
          
            
              
                π
              
              
                i
              
            
          
        
        
          (
          v
          )
        
        =
        
          
            ∑
          
          
            j
            =
            1
          
          
            M
          
        
        
          
            π
          
          
            i
            ,
            j
          
        
        exp
        ⁡
        
          (
          
            −
            
              
                γ
                2
              
            
            
              
                
                  (
                  
                    v
                    −
                    
                      
                        μ
                      
                      
                        j
                      
                    
                  
                  )
                
              
              
                2
              
            
          
          )
        
      
    
    {\displaystyle {f}_{{\pi }_{i}}\left(v\right)={\sum }_{j=1}^{M}{\pi }_{i,j}\exp \left(-{\frac {\gamma }{2}}{\left(v-{\mu }_{j}\right)}^{2}\right)}
  
 is directly modeled as a linear combination of radial basis function kernels, where 
  
    
      
        γ
      
    
    {\displaystyle \gamma }
  
 is the shared precision parameter, 
  
    
      
        μ
      
    
    {\displaystyle \mu }
  
 denotes the (equidistant) kernel positions, and M is the number of Gaussian kernels.
 Because the shrinkage function is directly modeled, the optimization procedure is reduced to a single quadratic minimization per iteration, denoted as the prediction of a shrinkage field 
  
    
      
        
          
            g
          
          
            
              Θ
            
          
        
        
          (
          
            x
          
          )
        
        =
        
          
            
              F
            
          
          
            −
            1
          
        
        
          [
          
            
              
                
                  
                    F
                  
                
                
                  (
                  
                    λ
                    
                      
                        K
                      
                      
                        T
                      
                    
                    y
                    +
                    
                      
                        ∑
                      
                      
                        i
                        =
                        1
                      
                      
                        N
                      
                    
                    
                      
                        F
                      
                      
                        i
                      
                      
                        T
                      
                    
                    
                      
                        f
                      
                      
                        
                          
                            π
                          
                          
                            i
                          
                        
                      
                    
                    
                      (
                      
                        
                          
                            F
                          
                          
                            i
                          
                        
                        x
                      
                      )
                    
                  
                  )
                
              
              
                λ
                
                  
                    
                      
                        K
                        ˇ
                      
                    
                  
                  
                    *
                  
                
                ∘
                
                  
                    
                      K
                      ˇ
                    
                  
                
                +
                
                  
                    ∑
                  
                  
                    i
                    =
                    1
                  
                  
                    N
                  
                
                
                  
                    
                      
                        F
                        ˇ
                      
                    
                  
                  
                    i
                  
                  
                    *
                  
                
                ∘
                
                  
                    
                      
                        F
                        ˇ
                      
                    
                  
                  
                    i
                  
                
              
            
          
          ]
        
        =
        
          
            
              Ω
            
          
          
            −
            1
          
        
        η
      
    
    {\displaystyle {g}_{\mathrm {\Theta } }\left({\text{x}}\right)={\mathcal {F}}^{-1}\left\lbrack {\frac {{\mathcal {F}}\left(\lambda {K}^{T}y+{\sum }_{i=1}^{N}{F}_{i}^{T}{f}_{{\pi }_{i}}\left({F}_{i}x\right)\right)}{\lambda {\check {K}}^{\text{*}}\circ {\check {K}}+{\sum }_{i=1}^{N}{\check {F}}_{i}^{\text{*}}\circ {\check {F}}_{i}}}\right\rbrack ={\mathrm {\Omega } }^{-1}\eta }
  
 where 
  
    
      
        
          
            F
          
        
      
    
    {\displaystyle {\mathcal {F}}}
  
 denotes the discrete Fourier transform and 
  
    
      
        
          F
          
            x
          
        
      
    
    {\displaystyle F_{x}}
  
 is the 2D convolution 
  
    
      
        
          f
        
        ⊗
        
          x
        
      
    
    {\displaystyle {\text{f}}\otimes {\text{x}}}
  
 with point spread function filter, 
  
    
      
        
          
            
              F
              ˘
            
          
        
      
    
    {\displaystyle {\breve {F}}}
  
 is an optical transfer function defined as the discrete Fourier transform of 
  
    
      
        
          f
        
      
    
    {\displaystyle {\text{f}}}
  
, and 
  
    
      
        
          
            
              
                F
                ˘
              
            
          
          
            *
          
        
      
    
    {\displaystyle {\breve {F}}^{\text{*}}}
  
 is the complex conjugate of 
  
    
      
        
          
            
              F
              ˘
            
          
        
      
    
    {\displaystyle {\breve {F}}}
  
.
 
  
    
      
        
          
            
              
                x
                ^
              
            
          
          
            t
          
        
      
    
    {\displaystyle {\hat {x}}_{t}}
  
 is learned as 
  
    
      
        
          
            
              
                x
                ^
              
            
          
          
            t
          
        
        =
        
          
            g
          
          
            
              
                
                  Θ
                
              
              
                t
              
            
          
        
        
          (
          
            
              
                
                  x
                  ^
                
              
            
            
              t
              −
              1
            
          
          )
        
      
    
    {\displaystyle {\hat {x}}_{t}={g}_{{\mathrm {\Theta } }_{t}}\left({\hat {x}}_{t-1}\right)}
  
 for each iteration 
  
    
      
        t
      
    
    {\displaystyle t}
  
 with the initial case 
  
    
      
        
          
            
              
                x
                ^
              
            
          
          
            0
          
        
        =
        y
      
    
    {\displaystyle {\hat {x}}_{0}=y}
  
, this forms a cascade of Gaussian conditional random fields (or cascade of shrinkage fields (CSF)). Loss-minimization is used to learn the model parameters 
  
    
      
        
          
            
              Θ
            
          
          
            t
          
        
        =
        
          
            
              {
              
                
                  
                    λ
                  
                  
                    t
                  
                
                ,
                
                  
                    π
                  
                  
                    
                      t
                      i
                    
                  
                
                ,
                
                  
                    f
                  
                  
                    
                      t
                      i
                    
                  
                
              
              }
            
          
          
            i
            =
            1
          
          
            N
          
        
      
    
    {\displaystyle {\mathrm {\Theta } }_{t}={\left\lbrace {\lambda }_{t},{\pi }_{\mathit {ti}},{f}_{\mathit {ti}}\right\rbrace }_{i=1}^{N}}
  
.
 The learning objective function is defined as 
  
    
      
        J
        
          (
          
            
              
                Θ
              
            
            
              t
            
          
          )
        
        =
        
          
            ∑
          
          
            s
            =
            1
          
          
            S
          
        
        l
        
          (
          
            
              
                
                  
                    x
                    ^
                  
                
              
              
                t
              
              
                
                  (
                  s
                  )
                
              
            
            ;
            
              
                x
              
              
                g
                t
              
              
                
                  (
                  s
                  )
                
              
            
          
          )
        
      
    
    {\displaystyle J\left({\mathrm {\Theta } }_{t}\right)={\sum }_{s=1}^{S}l\left({\hat {x}}_{t}^{\left(s\right)};{x}_{gt}^{\left(s\right)}\right)}
  
, where 
  
    
      
        l
      
    
    {\displaystyle l}
  
 is a differentiable loss function which is greedily minimized using training data 
  
    
      
        
          
            
              {
              
                
                  
                    x
                  
                  
                    g
                    t
                  
                  
                    
                      (
                      s
                      )
                    
                  
                
                ,
                
                  
                    y
                  
                  
                    
                      (
                      s
                      )
                    
                  
                
                ,
                
                  
                    k
                  
                  
                    
                      (
                      s
                      )
                    
                  
                
              
              }
            
          
          
            s
            =
            1
          
          
            S
          
        
      
    
    {\displaystyle {\left\lbrace {x}_{gt}^{\left(s\right)},{y}^{\left(s\right)},{k}^{\left(s\right)}\right\rbrace }_{s=1}^{S}}
  
 and 
  
    
      
        
          
            
              
                x
                ^
              
            
          
          
            t
          
          
            
              (
              s
              )
            
          
        
      
    
    {\displaystyle {\hat {x}}_{t}^{\left(s\right)}}
  
.
 Preliminary tests by the author suggest that RTF5 obtains slightly better denoising performance than 
  
    
      
        
          
            CSF
          
          
            7
            ×
            7
          
          
            
              {
              
                3
                ,
                4
                ,
                5
              
              }
            
          
        
      
    
    {\displaystyle {\text{CSF}}_{7\times 7}^{\left\lbrace \mathrm {3,4,5} \right\rbrace }}
  
, followed by 
  
    
      
        
          
            CSF
          
          
            5
            ×
            5
          
          
            5
          
        
      
    
    {\displaystyle {\text{CSF}}_{5\times 5}^{5}}
  
, 
  
    
      
        
          
            CSF
          
          
            7
            ×
            7
          
          
            2
          
        
      
    
    {\displaystyle {\text{CSF}}_{7\times 7}^{2}}
  
, 
  
    
      
        
          
            CSF
          
          
            5
            ×
            5
          
          
            
              {
              
                3
                ,
                4
              
              }
            
          
        
      
    
    {\displaystyle {\text{CSF}}_{5\times 5}^{\left\lbrace \mathrm {3,4} \right\rbrace }}
  
, and BM3D.
 BM3D denoising speed falls between that of 
  
    
      
        
          
            CSF
          
          
            5
            ×
            5
          
          
            4
          
        
      
    
    {\displaystyle {\text{CSF}}_{5\times 5}^{4}}
  
 and 
  
    
      
        
          
            CSF
          
          
            7
            ×
            7
          
          
            4
          
        
      
    
    {\displaystyle {\text{CSF}}_{7\times 7}^{4}}
  
, RTF being an order of magnitude slower.