Convolutional Neural Network (CNN) is one of the most remarkable networks in the deep learning field and has gained more attention from both industry and academic applicability in the past few years. CNN combines artificial neural networks with contemporary deep learning strategies and a type of feed-forward neural network which has the ability to extract features from data with convolution structures. CNN merges feature extraction and classification processes into a single learning model, which remains a superior advantage. The significant characteristics such as local connection, weight sharing, and down-sampling dimensionality reduction make CNN one of the most representative algorithms among other deep neural networks.
Several researchers have been extended distinct variants of the CNN model, which are deeper, wider, and lighter. LeNet-5, AlexNet, VGGNets, GoogLeNet, ResNet, Deep Convolutional Generative Adversarial Network (DCGAN), MobileNets, ShuffleNets, and GhostNet are the emerged variants of CNN. CNN has influenced almost all aspects of the real-world application; in essence, deep CNNs have equal or even finer learning ability than humans for the complex patterns in immense size data repositories.
CNN models can equip a tremendous amount of data to attain promising outcomes in various application domains, including image classification, object detection, object tracking, pose estimation, text detection, visual saliency detection, action recognition, scene labeling, speech, and natural language processing. Besides the impressive benefits, there are also many challenges faced by CNN that are rigid to handle, such as low generalization ability, lack of equivariance, and poor crowded-scene results, so as further research works and application developments on CNN will reach diverse promising future directions.