Convolution and max pooling layer accelerator for convolutional neural network

Convolutional Neural Network (CNN) are widely used in the field of computer vision and show its great advantages in image classification, object recognition, video surveillance. Hence, the performance of CNN playing more important role during the development of the application which applying CNN alg...

Full description

Saved in:
Bibliographic Details
Main Author: Goh, Jinn Chyn
Format: Thesis
Language:English
Published: 2020
Subjects:
Online Access:http://eprints.utm.my/id/eprint/93001/1/GohJinnChynMSKE2020.pdf
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Convolutional Neural Network (CNN) are widely used in the field of computer vision and show its great advantages in image classification, object recognition, video surveillance. Hence, the performance of CNN playing more important role during the development of the application which applying CNN algorithm. In this paper, an accelerator is developed for improving the performance of CNN. The proposed accelerator targeted the most computation intensive functions in CNN, which are convolution and max pooling. The developed accelerator is targeting on CNN with 64 x 64 input image size, 5 x 5 filter size and 2 x 2 max pooling.. By using Vivado, the period, clock cycle and resources required to run convolution and max pooling are measured. Three proposed methodology are combined to enhance the performance of CNN: (i) unrolling (ii) pipelining (iii) combination of convolution and max pooling layer. Tradeoff between the performance and hardware cost required to build the accelerator are simulated and analyzed. The performance of the new proposed accelerator are proven to be four times better and with limited increase of the hardware cost, addition of 60% of logic gates compared to the existing work.