# GPU Parallel Implementation for Real-Time Feature Extraction of Hyperspectral Images
## 5 Results and Discussion
### UAV Experiment

Table 8: Seven working modes of NVIDIA Jetson Xavier. Figure 10: Run times of INAPC for the three datasets at three different working mode on NVIDIA Jetson Xavier. As shown in Figures 11 and 12, The data acquisition time is fixed at 5 s and is determined by the camera. After the camera scans (data acquisition), it quickly generates a raw data file in the file system, which is then read by our algorithm as the input. The span of the raw data processing is stable and not time-consuming. Then enter the algorithm execution, as the spatial dimension of hyperspectral data increases, our parallel implementation can always control the algorithm execution within one second and a half, accounting for only about 10% of the total duration, but the OpenCV version of the algorithm process time cost increases rapidly, and takes up about 70% of the total time, which exceeds 40 s. It can be seen that our parallel strategy dramatically reduces the total time, and the total time is dominated by the fixed time of the entire platform, rather than our algorithm itself, which significantly increases the real-time processing capabilities and effects. Considering that the fully loaded safe flight time of the UAV is only 15 min, it has a high practical effect and significance. Figure 13 shows a schematic diagram of the flight experiment. We fly the UAV to an altitude of 300 m, 38\({}^{\circ}\) is the horizontal field angle of the hyperspectral camera (more parameters are shown in Table 3), we shoot at several fixed flight waypoints (only two waypoints are shown in Figure 13), and set the distance between each two flight waypoints to 50 m, which can ensure that each image has enough different fields. Hover the UAV at each waypoint, start camera scans, and generate hyperspectral data for a fixed period of 5 s. After that, the drone can be flown to the next waypoint. Taking into account  
Figure 11: Time-consuming of several predominant operations of CUDA and OpenCV version in one shutter process. Figure 12: The total time and the proportion of several predominant operations of CUDA and OpenCV version in one shutter process. the acceleration and deceleration process, the stability of the UAV posture, etc., it takes about 10 s to move the UAV to the next waypoint according to our extensive tests. At the same time, the algorithm process, which includes raw data processing, algorithm execution, and classification inference, will be executed during the UAV movement. According to Figures 11 and 12, the algorithm process of our parallel implementation takes about 3.8 s, which means that we can ensure that we have obtained the results data of the previous waypoint at the next waypoint even if considering the data return time, this is of great significance in real-time applications. In other words, we can quickly make judgments and reactions to the following decisions based on the results of the previous waypoint. We build a scene with several classes to test the classification results of the flight experiment. We customized the jungle tank model, jungle camouflage net, and put them in the real environment. The information of specific classes is given in the form of legends of a specific color in Figure 14.  
Figure 14 shows the classification results of aerial scenes of our flight experiment. We only label part of scenes as ground truth and use the entire flight shooting data for prediction. It can be seen that the classification results are very clear, especially the classification of the tank model, the camouflage net, and the environmental background (grass and trees) because they have the same naked eye color--this fully reflects the superiority of the hyperspectral algorithm. What is more w  
Figure 14: Visualized results of our flight experiment. **(a)** The false color composite image; **(b)** the ground truth image; **(c)** the INAPC classification map. Figure 13: Schematic diagram of the flight experiment.