Implementation Details and Results
- Mahalakshmi Sundaresan
- May 4, 2020
- 1 min read
Implementation Details [1]:
For performing the training, the test data set “testImages” containing 21 images in the MATLAB Image Processing Toolbox is used. Data augmentation is done to increase the training data and 41x41 patches are obtained from these images. The network is trained using Stochastic Gradient Descent with Momentum (SGDM) optimization with a learning rate of 0.1 initially which is then reduced by a factor of 10 every 10 epochs. Gradient Clipping is performed by setting the Gradient threshold as 0.01 adopting the L2 norm. The maximum number of epochs is set as 100. A CUDA-capable NVIDIA™ GPU with compute capability 3.0 or higher is highly recommended for training. It takes about 6 hours on an NVIDIA™ Titan X to train. Alternatively, the pre-trained VDSR network inbuilt in MATLAB that has been trained to super-resolved images for scale factors 2, 3, and 4 can be used. The Low-Resolution versions of the high-resolution reference images are obtained by using imresize with different scaling factors of 0.1,0.2,0.25,0.5 and 0.75.
Results:
On re-implementation of the existing VDSR model based on the MATLAB documentation [1], the following results were obtained:
Note: Deep Learning Toolbox and Image Processing Toolbox were used. (available at MATLAB versions above R2018a)
[Image source: MATLAB’s Image Processing Toolbox]
Image Set - Flowers_3
Image Set - Cherry_4
Image Set - Dog_6
Image Set - Veg_10
Image Set - Strawberry_20
Resolution of the images:

Quantitative Results:

(* blue indicates the best performance)
Reference:
Comments