## 3 Materials and Methods
### Deep Learning and Convolutional Neural Network Model  
Deep learning is an extended subset of the machine learning (ML) family and provides more efficient ways to implement ML. The \"deep\" part of deep learning is a technical term, which refers to the number of layers or sections in the \"network\" part of \"neural networks.\" Deep learning has played a critical role in the development of highly automated systems, such as autonomous vehicles and natural language recognition and understanding. Convolutional neural networks [20] are one of the most widely known and used types of deep learning models. They have achieved significant success and innovation in computer vision and image processing. The basic architecture of a CNN is shown in Figure 10. A CNN consists of multiple layers, including the input layer, convolutional layer, pooling layer, and fully connected layer. The input layer's role is to take the pixel values of the image as input. The next convolutional layer is responsible for producing output based on kernels or specific filter values. The output obtained from a convolution operation and  
Figure 9: Part of the sample image dataset. the pooling layer are used to reduce the representation size and accelerate computation. In the fully connected layer, the image--which has gone through several convolutional layers and pooling layers and is in matrix form--is flattened into a single vector. In our study, we used the \"Roboflow\" online platform to develop a deep learning model for our dataset of 9770 images [21]. The dataset was also subjected to pre-processing for color depths and augmentation. These processes were applied as an auto-orientation of pixel data (with EXIF-orientation stripping) and grayscale (CRT phosphor), respectively. The data, belonging to 23 classes in our dataset, were read from a file and classified by means of sub-file divisions. Of the 9770 images classified, 1954 images, corresponding to 20% of the data, were used as test data. As the images in the datasets were approximately 120 \(\times\) 120 pixels in size, the height of the image was taken as 150 and the width as 150. A value of 32 was given as the batch value. A label dictionary was created to retrieve class names against the label indices used to train the model. After the training dataset preparation stages were completed, a CNN model was created to train the image datasets. The first layer of our CNN model was defined as the input layer. The dimensions of the input data were parametrically input to the system with the relevant input command set of the Keras library. The size input of our dataset was set to 120 \(\times\) 120 with the input shape parameter. The \"sequential\" model was used in model selection. This model is defined as a class object in artificial neural networks. The \"add\" command allowed us to sequentially add model layers to this \"sequential\" model. Our first layer was the Conv2D filter layer. This layer was configured with a kernel size of (5, 5) and a total of 128 filtering parameters. The input size was parametrically defined as the pixel value equivalent to the width and length of our dataset. The second layer, following the convolutional layer, was the activation (\"relu\") layer. The rationale behind selecting this layer was that RELU activation functions, which are only active for positive values, do not activate a potential negative output in the intermediate layers of the neural network. Consequently, it will not be able to designate all neurons as active simultaneously. This is effective in terms of performance, enabling the system to operate faster and more efficiently. Subsequently, MaxPooling2D (2 \(\times\) 2) was utilized with the pool size parameter to diminish the spatial dimensions of the output volume. The pooling layer transformed the matrix inputs from the activation ('relu') layer into 2 \(\times\) 2 matrices with max pooling. These matrices were maximized and output to the subsequent layer.