# Design and Control of an Ultra-Low-Cost Logistic Delivery Fixed-Wing UAV
## 3 Overview of Image Recognition Technology
### Image Recognition Algorithm and Implementation  
In this study, experiments were conducted using two algorithms, OpenCV and the YO-LO deep-learning algorithm, as shown in Figure 21, for processing the same images for detection. The left figure shows an example of the OpenCV algorithmic detection, where the target is not accurately framed; the right figure demonstrates an example of the YOLO-based deep-learning algorithm, where the target is accurately framed. It is clear that in complex environments with a variety of distractions, conventional vision may not be able to completely filter out impurities to recognize a target. However, YOLO-based deep learning can accurately recognize targets in complex environments, showing high recognition accuracy and robustness. So, we chose YOLO-based deep learning as our target recognition algorithm.  
Figure 20: Acquired target images. The red boxes represent detected objects or targets.  
The purpose of the image recognition system in this study is to automate and interpret the image recognition tasks for the delivery of fixed-wing UAVs, providing effective information support for the design and control of the UAVs. Figure 22 presents a schematic diagram of the image recognition system developed in this study.  
According to References [60; 61], this study utilizes a feature extraction algorithm based on convolutional neural networks (CNNs) because they offer the following advantages:  
CNNs can automatically learn and extract useful features from images without the need for manual design or selection;  
Through multilayer convolutional structures, CNNs can extract different levels of features from images, ranging from low-level edges, lines, and colors to high-level objects, scenes, and semantics [62; 63];  
CNNs can map images directly to target categories through end-to-end training, without the need for additional feature encoding or classifiers.  
The principle of CNNs involves using convolutional operations for the local receptive-field processing of images, thereby extracting local features. A convolutional operation acts as a filter, applying a weighted summation to a small area around each pixel point in the image to produce a new pixel value. The parameters of the convolutional operation  
Figure 21: Traditional OpenCV recognition and YOLO-based deep-learning recognition examples. The green boxes represent specific objects or targets that are identified or labeled.  
Figure 22: Schematic of image recognition and positioning system.  
are defined by the convolutional kernel, a matrix representing the weighting method for the area around each pixel point. The training process of CNNs, through backpropagation algorithms, continuously updates the parameters of the convolutional kernels, aiming to align the network's output as closely as possible with the image's actual labels, as shown in Figure 23, which illustrates the architecture of a CNN. The training process of CNNs can be seen as a feature-learning process, enabling convolutional kernels to automatically adapt to features within the image, thus extracting useful information [64; 65].