# Robust Airport Surface Object Detection Based on Graph Neural Network
## 3 Results
### Dataset and Set Up  
Dataset. The datasets we use include LEVIR [31] and the airport surface dataset. LEVIR is a popular remote sensing target detection dataset derived from Google Earth, which is one order of magnitude larger than any other datasets in this field. This dataset contains 3.8 k labeled images with three kinds of labels: plane, ship, and tank (i.e., oil pot). The instance numbers of plane, ship, and tank are 5030, 3197, and 2851, respectively. Each image in LEVIR has a size of 800 \(\times\) 600 pixels and a resolution of 0.2\(\sim\)1.0 m/pixels. Building upon the methodology of prior research [32], we adopt a randomized dataset division approach, apportioning the images into training, validation, and testing sets in a ratio of 8:1:1, respectively.  
To meet the demand for airport surveillance, we collect several airport surface videos from public resources on the Internet. Since the difference between adjacent frames is too slight, we select an image every five frames and annotate it manually. Finally, we build a small-scale dataset with only 143 images of 1920 \(\times\) 1080 pixels and two label categories: airplane and vehicle. The instance numbers of airplane and vehicle are 187 and 56, respectively. We employed a random partitioning of the dataset according to distinct videos three times, maintaining a training, validation, and testing split ratio of 8:1:1. We ensured that no frame from any single video was concurrently represented in the training, validation, and testing subsets.  
Experiment Set up. All experiments in this paper are performed on the same server with CPU of Intel Xeon Gold 6226R 2.90 GHz, 4 GPUs of NVIDIA RTX 3090, the operating system of Ubuntu 18.04, and PyTorch version 1.10.1. Each minibatch comprises 32 images with the resolution of 512 \(\times\) 512 pixels. We use SGD optimizer to implement gradient descent with an initial learning rate of 0.1, momentum of 0.937, and weight decay of 0.0005. Image preprocessing is the same as YOLOv5, which keeps the width-height ratio, reshapes to a given size, and uses gray padding. To improve the performance on small objects, we follow YOLOv5 to employ mosaic data augmentation, which joins four images into one single image where objects are at a smaller scale. We train each model no more than 300 epochs with patience value of 100. It means that if the loss does not decrease lasting for 100 epochs, we treat the training loss as convergent, stop training, and save the best and the last models' parameters. It is noted that the best model performs the best on the evaluation set. With the best and the last models' parameters, we test both of them on the test set and record the one that reaches higher accuracy.  
The models we compare in this paper includes vanilla YOLOv5s, YOLOv5m, YOLOv5s -ViGE, YOLOv5s -ViG, YOLOv5s -A, YOLOv5s -ViGE -A, and YOLOX-s [5]. The vanilla YOLOv5 series is derived from Ultralytics' source code on GitHub, including small-size YOLOv5s and middle-size YOLOv5m mentioned above; '-ViG' denotes a base model added a ViGE block in the backbone, which defines 12-nearest-neighbor in pixel space with dilation number =3; '-ViG' denotes a base model added an original ViG [21] block in the backbone, which defines 12-nearest-neighbor in pixel space with dilation number =3; '-A' denotes implementing adversarial training by attacking location loss for one iteration. Considering the computational cost, we only set one message-passing layer in each ViGE block. YOLOX-s is another outstanding model of YOLO series after YOLOv5. All the models we used are trained from scratch.