A super-resolution technology is used for filling the gap between high-resolution displays and lower-resolution images. One of various algorithms to interpolate the lost information is to use a convolutional neural network (CNN). This paper shows an FPGA implementation and a performance evaluation of our CNN-based super-resolution system, which can process moving images in real time. We apply horizontal and/or vertical flips to input images instead of pre-enlargement. This method prevents information loss and enables the network to make the best use of its input size. In addition, we adopted the residue number system (RNS) to reduce resource utilization. The proposed system can perform super-resolution from 960×540 to 1920×1080 at 60fps with a latency of less than 1ms. In spite of resource restriction of the FPGA, the system generates clear super-resolution images with smooth edges. The evaluation results also revealed the superior quality in terms of the peak signal-to-noise ratio (PSNR), compared to other systems using pre-enlargement.
[1]
Xiaoou Tang,et al.
Image Super-Resolution Using Deep Convolutional Networks
,
2014,
IEEE Transactions on Pattern Analysis and Machine Intelligence.
[2]
Yoshua Bengio,et al.
Deep Sparse Rectifier Neural Networks
,
2011,
AISTATS.
[3]
Harvey L. Garner,et al.
RESIDUE NUMBER SYSTEM ENHANCEMENTS FOR PROGRAMMABLE PROCESSORS
,
2008
.
[4]
Yuichiro Shibata,et al.
FPGA implementation of a real-time super-resolution system using a convolutional neural network
,
2016,
2016 International Conference on Field-Programmable Technology (FPT).
[5]
Jimmy Ba,et al.
Adam: A Method for Stochastic Optimization
,
2014,
ICLR.
[6]
Xiaoou Tang,et al.
Learning a Deep Convolutional Network for Image Super-Resolution
,
2014,
ECCV.
[7]
Andrew L. Maas.
Rectifier Nonlinearities Improve Neural Network Acoustic Models
,
2013
.