The third operation is the max-pooling layer, which partitions the input feature vectors into a set of non-overlapping rectangles and returns the maximum value of each such rectangular feature set. Furthermore, it significantly reduces the input size and number of network parameters, hence controlling CNN overfitting. It is usually implemented after multiple stages of convolutional and nonlinearity layers in order to minimize both the computational requirements as well as the likelihood of overfitting. The max-pooling layer q has two hyper parameters: the spatial extent of the filter F(q), and the step size S(q). The pooling layer describes a window of size F(q) × F(q) and minimizes the data within this window to a single value. Similarly to the convolutional layer, the window is moved by S(q) positions after each operation. The minimization of the data is repeated at each position of the window until the entire activation volume is spatially reduced. In this study, we evaluated max pooling with a 2 × 2 window, using a step size of 2. The output feature maps of these operations can then be fed as the input to another round of the same three operations (convolutional, ReLU, max-pooling layers). The last operation for final classification is to create fully connected layers of mono-dimensional features, which are designed to map the activation volume from the fusion of previous different layers to a class probability distribution. If (q − 1) is a fully connected layer, then it is defined as ya(q)=f(za(q))(10) where za(q)=∑b=1n(q−1)wa,b(q)ya(q−1)(11)