[PERSON] defined machine learning as the study of computer algorithms that automatically improve through experience [15]. [PERSON] believed that \"machine learning is the programming of computers to optimize performance criteria using sample data or past experience\" [16]. As early as 1958, [PERSON] stated that \"the world now contains machines that think, learn, and create. Moreover, their ability to do these things will increase rapidly until, in the foreseeable future, the range of problems they can solve will match human mental abilities\" [17]. The general prevailing view of machine learning is that computers gradually develop by improving their intellectual abilities by imitating human behavior. However, unlike humans, computers do not get tired, distracted, or make human-like errors. Machine learning can be roughly divided into two categories, supervised and unsupervised learning, depending on whether the training data is labeled [18]. In supervised learning, an algorithm learns from an example of labeled training data in order to be able to independently label new data. Unsupervised learning uncovers key features and patterns from unlabeled training data. Currently, the convolutional neural network (CNN) is one of the popular object detection methods. As time passed by, the need for the use of larger datasets arose, and technological advances have provided opportunities to meet these needs. In 2012, the deep learning network AlexNet proposed by [PERSON] [19] became the winner of the ImageNet Large Scale Visual Recognition Challenge (ILSVRC) competition. The presented model became a sensation that shook the AI industry. AlexNet had a 10.9% lower error rate than the second-place model. Since then, AlexNet has been considered the pioneer of deep learning, and much more advanced and accurate algorithms have emerged after it, including VGG [20], LSTM [21], and ResNet [22]. These models are widely used in image recognition, speech recognition, translation, and other fields. In a brief introduction to convolutional neural networks (CNNs), let us discuss the widely used CNN VGG16 as an example to introduce the components of a CNN [23]. The most important part of a convolutional neural network is the convolutional layer. Each convolutional layer has a certain set of convolution kernels, which are responsible for extracting specific features from the input. The output or set of extracted features is also called a feature map. The input and output are usually of the same size, and a pooling layer is used to reduce the size of the feature map. For example, our input is a 224 \(\times\) 224 RGB image, and after applying our convolutional layer, we obtain 64 224 \(\times\) 224 outputs or 64 feature maps of size 224 \(\times\) 224. Thus, our output represents 64 different pixels that were detected by 64 different convolution kernels. By applying a pooling layer, we reduce the resulting feature maps to 112 \(\times\) 112; we then apply a convolutional layer and a pooling layer again, and the process is repeated until we obtain a 7 \(\times\) 7 output. It is important to note that each time we apply a convolutional layer, the number of detected objects also increases. Typically, algorithms can be divided into two categories: one-stage and two-stage algorithms. The most well-known two-stage algorithms are the R-CNN series of algorithms: R-CNN [24], Fast R-CNN [25], and Faster R-CNN [26]. Examples of one-stage algorithms include the \"YOLO\" series or the \"SSD\" algorithms [27; 28]. You Only Look Once (YOLO) pioneered single-stage detection algorithms that combine object classification and localization in a single neural network. Single-Shot Detector (SSD) is another single-stage detection algorithm based on YOLO, borrowing the anchor box idea from Faster R-CNN and emphasizing the extraction of multiple feature maps [29]. Recent advances in unsupervised and weakly supervised object detection have introduced powerful transformer-based and self-supervised techniques.