Next Article in Journal
Machine Learning-Based Classification of Wheelchair Task Intensity for Injury Risk Prediction
Next Article in Special Issue
The AgriTrust Framework: Federated Semantic Governance for Trusted and Interoperable Agricultural Data Sharing
Previous Article in Journal
Hierarchical Data-Driven and PSO-Based Energy Management of Hybrid Energy Storage Systems in DC Microgrids
Previous Article in Special Issue
Path Optimization for Aircraft Based on Geographic Information Systems and Deep Learning
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

Innovative Real-Time Palm Tree Detection, Geo-Localization and Counting from Unmanned Aerial Vehicle (UAV) Aerial Images Using Deep Learning

1
Advanced Research Laboratory in Control and Agricultural Robotics, School of Mechanical Engineering, Sharif University of Technology, Tehran 11155-9466, Iran
2
Faculty of Technology, Arts and Culture, School of Engineering, Infrastructure and Sustainability, Leicester LE1 9BH, UK
*
Authors to whom correspondence should be addressed.
These authors contributed equally to this work.
Automation 2026, 7(2), 51; https://doi.org/10.3390/automation7020051
Submission received: 18 December 2025 / Revised: 25 February 2026 / Accepted: 27 February 2026 / Published: 16 March 2026

Abstract

Accurate real-time detection, geolocation, and counting of palm trees are essential for plantation management, yield estimation, and resource allocation in precision agriculture. Traditional approaches such as manual surveys or offline image processing are labor-intensive and unsuitable for large-scale applications. This study introduces a fully onboard real-time framework that integrates Unmanned Aerial Vehivle (UAV) imagery, the YOLOv12 deep learning model, and a camera projection technique to detect, geolocate, and count palm trees directly during flight. The lightweight YOLOv12n variant, deployed on an NVIDIA Jetson Nano edge device, achieved a detection precision of 92.4%, an average geolocation error of 2.14 m, and a counting error of only 0.2% across 915 trees. Unlike many existing methods that rely on offline processing or offboard computation, the proposed system performs all computations in real time, enabling immediate decision-making for tasks such as plantation density analysis, replanting planning, and yield forecasting. Experimental results demonstrate that the proposed approach provides a scalable, cost-effective, and autonomous solution for modern precision agriculture.

1. Introduction

The development and advancement of the agricultural industry are essential for sustainable food production and efficient resource utilization. Sustainable agriculture increasingly relies on technological innovations to optimize productivity, reduce labor, and minimize environmental impact [1]. Among these innovations, the use of UAV technology has gained significant attention due to its ease of use and cost-effectiveness, making it a valuable tool for precision agriculture [2,3,4]. One of the primary applications of UAVs in agriculture is crop monitoring, where they capture high-resolution images to assist farmers in making informed decisions [5]. UAVs are widely employed for crop health assessment [6], targeted pesticide and fertilizer application [7], and seed planting [8], ultimately improving efficiency while reducing environmental impact. Another important application of UAVs is in remote sensing, which integrates satellite imagery, ground-based sensors, and aerial imagery to enhance agricultural management [9,10]. UAV-based inspections have also been successfully utilized for disease detection (including yellow rust in wheat [11]), weed identification [12], and crop mapping [6] to improve agricultural productivity.
Beyond crop monitoring, one significant application of UAV technology is tree counting in agricultural environments. Accurate enumeration of palm trees within plantations is crucial for assessing productivity and optimizing management practices [13,14,15,16]. Traditional tree counting methods, such as manual field surveys and satellite-based assessments, are time-consuming, labor-intensive, and often limited by low-resolution imagery, cloud cover, and infrequent updates [17,18]. UAVs overcome these limitations by providing high-resolution, up-to-date imagery; however, analyzing such large datasets manually remains a challenge [19,20,21].
Deep learning provides a powerful solution to automate tree detection and counting from UAV images. By training Convolutional Neural Network (CNN)s on labeled datasets, palm tree recognition and counting can be performed with higher accuracy, efficiency, and scalability than traditional methods [22,23,24]. Several studies have explored palm tree detection and counting using deep learning models. Prior works have utilized architectures such as Faster R-CNN, YOLOv3, YOLOv4, YOLOv5, EfficientDet, DeepLabV3+, PSPNet, and vision transformers for palm tree segmentation and enumeration [24,25,26,27,28]. Deep vision transformers have been evaluated against CNN-based models, with reported mIoU scores of 85–86.3% and mean F-scores of 91.62–92.44%, where SegFormer achieved the highest segmentation accuracy in UAV-based datasets [29].
Other research efforts have applied CNNs for palm tree detection and geolocation, using Faster R-CNN, YOLOv3, YOLOv4, and EfficientDet on datasets containing more than 11,000 palm trees from aerial imagery [27,30,31,32,33]. However, these methods rely on offline processing, limiting their applicability for real-time detection [34]. Battsere et al. [35] proposed a UAV-based method combining deep learning for tree detection and a projection technique for geolocation of infected trees; however, their approach is limited to offline forest inspection and does not support real-time counting or localization from live UAV imagery. A recent study proposed a real-time orthophoto mosaicing-based framework for tree detection and counting using sequential UAV images, demonstrating high accuracy for oil palm and acacia trees [31]. However, their approach still relies on point-level supervision and requires data transmission to a ground station, limiting its real-time autonomy.
Additional studies have investigated tree crown extraction using orthophotos and digital surface models to segment individual trees [36]. Methods combining edge detection and marker segmentation have also been explored for extracting tree crowns and top locations [37]. Other approaches using YOLO models—such as YOLOv3, YOLOv4, and YOLOv5m—have demonstrated high accuracy in detecting oil palm trees from aerial images, proving the efficiency of deep learning in handling complex backgrounds and varying tree densities [24,38]. The Faster R-CNN model has also been applied to drone images for oil palm tree detection, yielding significant accuracy across different plantation layouts [18,23]. Counting other tree species, such as Amorphophallus konjac or citrus and eucalyptus, which have different appearances from palm trees, has been explored using aerial RGB or multispectral images [27,30,39].
Recent work has further improved tree counting accuracy by incorporating CNNs and multi-scale feature learning, achieving an impressive 99% accuracy [40,41]. However, these approaches still rely on offline processing, requiring significant computation time, and the challenge of real-time palm tree counting remains unaddressed.
In this study, a real-time deep learning framework is presented for palm tree detection, counting, and geolocalization using UAV-captured imagery. Unlike previous works that rely on offline processing of large orthomosaic datasets, the proposed approach enables onboard inference in real time by deploying a pre-trained YOLOv12 model on an NVIDIA Jetson edge device. This eliminates the need for external computation and allows live palm tree detection directly during flight.
To achieve accurate geolocalization, the framework integrates a camera projection matrix to convert image-space detections into real-world coordinates on the fly, rather than relying on pre-processed orthomosaic projections generated in software like Metashape. The YOLOv12 model is first trained offline using annotated UAV imagery but is then optimized for real-time deployment, processing raw frames directly during UAV missions. This research details the complete pipeline—from UAV-based data collection and annotation to deep learning training, real-time model deployment, onboard detection, and geo-referenced palm tree counting. Experimental results validate the feasibility of the proposed system, demonstrating that YOLOv12 can achieve accurate, scalable, and real-time palm tree detection and geolocalization, providing a practical solution for precision agriculture.
Unlike earlier studies that claimed real-time performance but relied on offboard cloud processing for inference [42], the proposed method performs all inference and projection computations directly on the onboard NVIDIA Jetson module during flight, increasing autonomy and reducing latency significantly. To the best of the authors’ knowledge, this work represents an early fully onboard real-time UAV-based framework that performs palm tree detection, geolocation via camera projection, and counting during flight on an embedded edge device, without relying on cloud or ground-station processing.
This paper presents the methodology in Section 2, covering data collection using UAVs, preprocessing steps such as orthomosaic generation with Metashape and manual labeling, model training, selection of the optimal YOLOv12 model, deployment on real-time UAV-captured images, and projection to estimate real-world tree positions for geolocalization. Section 3 details the flight tests and experimental procedures based on the methodology described in Section 2. Finally, Section 4 provides conclusions and discusses potential future directions for improving real-time palm tree detection, counting, and geolocalization.

2. Methodology

In this research, a real-time method is presented for detecting and counting palm trees in UAV-captured aerial images of agricultural land using the YOLOv12 deep learning algorithm. The proposed approach supports timely decision-making in agriculture by providing accurate, real-time information on tree density and distribution. This section presents the complete pipeline for detecting and geolocating palm trees using UAV-captured imagery and the YOLOv12 object detection framework. The process is illustrated in Figure 1.

2.1. Data Acquisition and Preprocessing

The process begins with data acquisition using a quadrotor UAV equipped with a high-resolution RGB camera. Aerial images of the farmland were collected through flight missions, and overlapping raw images were processed using Agisoft Metashape to generate high-resolution orthomosaic images. These orthomosaics provide a detailed and continuous map of the area.
To prepare training data for the neural network, the large orthomosaics were divided into smaller image patches of size 320 × 320 pixels. This ensures manageable input dimensions for the detection model and allows for localized training. A total of 406 patches were generated, containing approximately 22,641 annotated palm trees.

2.2. Annotation and Dataset Preparation

Accurate palm tree annotations are critical for training the YOLOv12 model. Label Studio software was used for manual annotation, where bounding boxes were drawn around each visible palm tree. The annotated dataset was then split into training and testing subsets to evaluate model performance and minimize overfitting.

2.3. Model Selection and Training

YOLOv12 was selected for this study due to its exceptional balance between accuracy and computational efficiency, making it well suited for real-time UAV-based detection tasks. This latest version builds upon prior YOLO advancements by introducing several key innovations. Notably, it incorporates Area Attention (A2), which replaces costly global self-attention with a more efficient mechanism that captures long-range dependencies using spatial pooling, resulting in a larger receptive field without significant computational overhead. Additionally, the Residual Efficient Layer Aggregation Network (R-ELAN) enhances feature fusion through scaled residual shortcuts and stable multi-branch aggregation, improving both training dynamics and convergence in deeper models. YOLOv12 also streamlines architectural efficiency by integrating FlashAttention to reduce memory access latency, eliminating positional embeddings, lowering the Multi Layer Perceptron (MLP) expansion ratio, compressing block depth, and selectively reintegrating convolutional layers. These combined refinements yield a model that is both lightweight and powerful [43]. Five variants of the YOLOv12 architecture, nano (YOLOv12n), small (YOLOv12s), medium (YOLOv12m), large (YOLOv12l), and extra-large (YOLOv12x), were trained and evaluated based on inference time, model size, and mean Average Precision (mAP(.50:.95)).
Performance benchmarks show that YOLOv12n achieves 94% mAP with only 1.7 ms latency on NVIDIA GPUs, outperforming previous versions such as YOLOv10n and YOLOv11n in both speed and accuracy. These features make YOLOv12 an ideal candidate for deployment in embedded UAV systems requiring real-time, high-precision object detection.

2.4. Hyperparameter Tuning and Augmentation

Model training involved tuning hyperparameters to best suit the characteristics of our dataset. The final set of hyperparameters is shown in Table 1.
To improve generalization, data augmentation techniques were applied (Table 2), including color jittering, flipping, translation, and scaling.
Under a nadir-view pinhole model, the apparent pixel footprint of an object is approximately inversely proportional to the flight altitude, i.e., pixel size 1 / H . Therefore, applying a random scale factor s to the input image during training is approximately equivalent to observing the same scene at an effective altitude.
H ( s ) = H 0 s ,
where H 0 denotes the nominal acquisition altitude of the training data. Consequently, if s [ s min , s max ] , the simulated altitude range becomes
H H 0 s max , H 0 s min .
In our experiments, the images were acquired at H 0 = 70  m and the augmentation scale range was s [ 0.5 , 1.5 ] (Table 2), which corresponds to an effective altitude range of approximately 46.7 –140 m.
To improve robustness to sensing degradations, we extended the augmentation pipeline with representative noise and quality variations (e.g., additive noise and compression/blur-like degradations) to better reflect adverse imaging conditions. We note that severe electromagnetic interference or intentional jamming may still degrade image quality beyond the assumed operating envelope; such cases are treated as a practical limitation and motivate future work on explicit quality-aware processing.
In addition, to ensure the system’s versatility across different flight altitudes, the model was trained using aggressive multi-scale data augmentation. As shown in Table 2, a scale factor of 0.5 was applied, which randomly resizes input images during training by a factor of 0.5 × to 1.5 × . This effectively simulates the visual variation in object size that would occur if the UAV were flying at altitudes ranging from approximately 47 m to 140 m. By exposing the network to this wide range of simulated GSDs, the model learns scale-invariant features, minimizing the need for altitude-specific retraining.
Training was performed on a GPU-equipped system to accelerate model convergence. The hardware setup is listed in Table 3.

2.5. Performance Evaluation and Deployment

The trained model was evaluated using standard object detection metrics, including precision, recall, and mean Average Precision (mAP). Before presenting the evaluation formulas, the following notations are defined:
  • TP (True Positive): The number of correctly detected palm trees.
  • FP (False Positive): The number of detections incorrectly classified as palm trees.
  • FN (False Negative): The number of palm trees that were missed by the detector.
  • TN (True Negative): The number of correctly identified background regions (not used in precision/recall calculations but included for completeness).
Based on these definitions, precision (P) and recall (R) are computed as
P = T P T P + F P
R = T P T P + F N
The mean Average Precision (mAP) is then calculated as
mAP = 1 N i = 1 N 0 1 P i ( R ) d R
where P i ( R ) represents the precision as a function of recall for the i-th detection class, and N denotes the total number of detected classes. In this study, since only one object class (palm tree) is considered, N = 1 .

2.6. Onboard Inference and Real-Time Localization

Once the YOLOv12 network was trained and validated, it was deployed onto an NVIDIA Jetson nano platform mounted on the UAV. This embedded system enables real-time inference during flight, allowing the UAV to autonomously detect and count palm trees without requiring offline post-processing.
During flight, the UAV captures aerial images, which are directly passed to the onboard YOLOv12 inference engine. Detected trees are identified via bounding boxes, and the image coordinates of tree centers are extracted.
To localize the detected trees geographically, the UAV’s camera projection model and flight telemetry data were utilized. The localization process aims to map the 2D pixel coordinates of detected trees to real-world geographic coordinates.
The pixel coordinates alone are insufficient for precise localization. Therefore, additional parameters, including UAV altitude, GPS position, and camera calibration data, are integrated into the localization pipeline. The overall process consists of the following main steps:
1.
Data Consolidation: The UAV continuously records its GPS coordinates ( φ 1 , λ 1 ) along with each captured frame. Detected tree centers in the image frame are represented by their pixel coordinates ( x , y ) .
2.
Height Calculation: The UAV’s altitude above the ground level is critical for projecting pixel coordinates into real-world positions. Ground altitude is obtained using either direct UAV telemetry or from a Digital Elevation Model (DEM) raster dataset. The relative height h of the UAV above ground is calculated by subtracting the ground elevation from the UAV’s altitude above sea level.
3.
Camera Projection Model: The relationship between a detected tree’s image coordinates and its real-world location is governed by the pinhole camera model:
X i m a g e = K [ R | t ] X w o r l d
where K is the intrinsic calibration matrix, and [ R | t ] are the extrinsic rotation and translation matrices. Based on the assumption of a flat ground plane at a constant height, a homography transformation simplifies the mapping between the image and world frames. The gimbal maintains a near-nadir view, and the measured attitude (including yaw) is incorporated in the per-frame rotation used for projection.
To ensure high geometric accuracy in the projection model, the camera’s intrinsic matrix K and radial distortion coefficients were determined through an offline pre-flight calibration procedure. A standard planar chessboard pattern with dimensions of 10 × 7 internal corners and a square size of 25 mm was utilized as the calibration target. A total of 50 images were captured from varying angles, distances, and orientations to ensure robust parameter estimation covering the entire field of view.
The calibration was executed using the Zhang method implemented in the OpenCV library. This process yielded the precise focal lengths ( f x , f y ) and principal point coordinates ( c x , c y ) . These intrinsic parameters were treated as static constants during the flight, while the extrinsic parameters [ R | t ] were computed dynamically for each frame using the UAV’s real-time IMU and GPS telemetry.
4.
Ground Displacement Estimation: Using the camera’s field of view (FOV) parameters and the pixel position ( x , y ) relative to the image center, the angular offsets ( α , β ) in horizontal and vertical directions are computed. These offsets are then used to calculate the horizontal ground displacement ( d x , d y ) from the UAV’s nadir point:
d = h · tan ( θ )
where θ represents the angular deviation from the optical axis corresponding to the detected tree position.
5.
Geographic Coordinate Computation: Finally, the displacements ( d x , d y ) are converted into latitude and longitude adjustments ( φ 2 , λ 2 ) relative to the UAV’s GPS coordinates ( φ 1 , λ 1 ) , using spherical Earth projection formulas:
φ 2 = arcsin sin φ 1 cos d r + cos φ 1 sin d r cos θ
λ 2 = λ 1 + arctan 2 sin θ sin d r cos φ 1 , cos d r sin φ 1 sin φ 2
where r is the Earth’s radius.
The complete pipeline allows the estimation of each detected tree’s real-world latitude and longitude in real time during UAV flight operations, enabling precision agricultural analysis.
Figure 2 illustrates the complete pipeline, from UAV image capture and real-time detection to geolocation and its application in agriculture.
This integration allows the system to generate spatial maps of tree locations on-the-fly, helping identify planting gaps, monitor plantation health, and support data-driven precision agriculture.
In Section 3, the experimental results are presented, and the effectiveness of the detection framework is evaluated under real-world conditions.

3. Flight Test and Results

Aerial imagery was acquired using a DJI Phantom 4 drone equipped with a high-resolution FC6310R RGB camera. The drone was flown over agricultural lands in Khosravi village, Qasr Shirin, Kermanshah Province, Iran. This location was selected for its accessibility, uniform palm layout, and suitability for UAV-based analysis. The study area and its geographic context are shown in Figure 3.
To ensure consistent image resolution and minimize geometric distortion, the UAV was flown at a constant altitude of 70 m. Flights were conducted under clear weather conditions, ensuring optimal lighting and minimal atmospheric interference. This setup provided high-quality image data for both training and mapping tasks.
The collected imagery served two primary purposes: (1) generating orthomosaic maps using Agisoft Metashape and (2) training the YOLOv12 deep learning model for palm tree detection. These mosaics offered seamless, georeferenced visualizations of the plantation, enabling spatial analysis and dataset generation.
Figure 4 shows a sample raw UAV image. The corresponding orthomosaic, created from overlapping frames, is shown in Figure 5. These orthomosaics were divided into smaller patches of 320 × 320 pixels, forming the input for training and evaluation.
To enable supervised learning, image patches were manually annotated using Label Studio software. Each palm tree was enclosed in a tight bounding box around its crown. This labeled dataset formed the ground truth for the detection model.
Table 4 summarizes key specifications of the dataset.

3.1. Model Training and Evaluation

The annotated dataset was used to train five YOLOv12 model variants—YOLOv12n, YOLOv12s, YOLOv12m, YOLOv12l, and YOLOv12x. The training process was monitored using loss curves that track both localization (box loss) and classification (class loss) errors over epochs. Figure 6 presents the box loss and class loss curves for both training and validation datasets in a consolidated format. All model variants show steadily declining losses, indicating successful optimization and convergence.
Model performance was further evaluated using precision and recall metrics. Figure 7 shows the precision and recall curves on the validation dataset for each YOLOv12 model. YOLOv12n, YOLOv12s, and YOLOv12m demonstrated both high precision and recall, confirming accurate detection across test data.
The mean Average Precision metrics (mAP50 and mAP(.50:.95)), shown in Figure 8, further confirm the stability and detection quality across models.
Since the model is intended to be implemented on an NVIDIA Jetson device, and the YOLOv12n variant is lightweight enough to run efficiently on it, YOLOv12n was selected for deployment. Although it has slightly lower accuracy compared to larger models, the results show that the precision and recall values are very close across all variants. Therefore, YOLOv12n offers a suitable balance between performance and deployability for real-time applications. Table 5 compares all model variants.
Finally, visual results from the YOLOv12m model on validation images are shown in Figure 9. The model reliably detects and localizes palm trees in complex field conditions, supporting real-time deployment.

3.2. Real-Time Detection, Localization, and Validation

The NVIDIA Jetson Nano was selected as a low-cost, resource-constrained baseline platform (4 GB RAM and limited CUDA capacity) to stress-test real-time onboard inference and geolocalization. Demonstrating reliable performance on this entry-level device suggests scalability to more capable Jetson platforms (e.g., Xavier/Orin) with lower latency. Accordingly, the lightweight YOLOv12n variant was chosen to match the Nano’s memory constraints while maintaining the FPS required for continuous UAV flight.
Following training and evaluation, the YOLOv12n model was deployed onto an NVIDIA Jetson Nano development board, mounted onboard the UAV. The model was optimized for real-time inference, reducing latency and computational load. During each flight, aerial images were captured in real time and passed through the onboard detection engine, enabling immediate palm tree detection without requiring offline processing.
Each detected bounding box was mapped from image coordinates to world coordinates using a camera projection matrix. This matrix incorporates both the intrinsic parameters of the UAV camera and the extrinsic data (including GPS position, orientation, and altitude) to estimate geographic locations of detected palm tree centers.
While the proposed framework focuses on onboard vision-based detection and geolocation, its localization pipeline relies on onboard telemetry (e.g., GNSS/IMU/gimbal states), which could be corrupted under false data injection (FDI) attacks. Addressing attack-resilient navigation/control is beyond the scope of this work; however, practical mitigation can be achieved by integrating anomaly detection and consistency checks across redundant sensors, and by employing resilient/fault-tolerant estimation and control schemes that explicitly account for corrupted measurements [44]. We therefore treat robustness to FDI as an important direction for future extensions of the proposed system.
To prevent duplicate counts of palm trees detected in overlapping UAV images, a spatial clustering technique was employed using the Density-Based Spatial Clustering of Applications with Noise (DBSCAN) algorithm from scikit-learn [45]. After projecting each detected tree’s image-based coordinates into real-world space via the camera matrix, all detections across the flight were combined into a single point set. The DBSCAN hyperparameters were determined based on physical constraints rather than arbitrary tuning. The minimum sample threshold (min_samples) was set to 1 to ensure that isolated valid detections—such as those appearing at the boundaries of the flight path—were not discarded as noise. The neighborhood radius ( ϵ ) was set to 3.0 m, a value derived from the agronomic spacing of the plantation. Since the average distance between adjacent palm trees typically exceeds 8 m, a 3-m radius effectively merges multiple detections of a single tree caused by GPS variance (typically 2.14  m) without merging distinct neighboring trees. This geometric approach ensures the method’s transferability; for other datasets, ϵ can simply be adjusted to be less than half the minimum planting distance ( d m i n / 2 ). DBSCAN was then applied with a small radius parameter and a minimum sample count of one to group nearby detections into clusters representing the same physical tree. This density-based clustering automatically merges multiple detections of the same tree, while filtering out isolated false positives as noise. The center of each cluster was then used to uniquely represent individual trees, ensuring accurate real-time counting without duplication.
Figure 10 presents a comprehensive visualization used to validate the real-time palm tree detection pipeline. The central image displays the entire agricultural field, where ground-truth palm tree positions (green points) are plotted alongside trees detected by the onboard Jetson system (red points). This comparison enables immediate visual assessment of detection coverage across the terrain. Four zoomed-in inset views—placed on either side of the main image—highlight specific regions of interest, allowing close inspection of detection accuracy in both dense and sparse areas. The high correspondence between predicted and reference positions demonstrates the effectiveness of the georeferenced detection process. The system’s real-time counting performance was further validated by comparing detected tree counts with manually annotated ground-truth data.
To assess the real-time feasibility of the proposed system, the trained YOLOv12n model was converted to a TensorRT engine with FP16 precision to optimize inference on the NVIDIA Jetson Nano. The performance was evaluated over a test sequence of 500 frames with an input resolution of 640 × 640 pixels. The system achieved an average processing speed of 16.5 FPS with a mean latency of 60.6 ms ( ± 2.1 ms). While standard video operates at higher frame rates, 15–17 FPS is sufficient for agricultural UAV missions, where the flight speed is typically moderate (5–10 m/s), ensuring no gaps in detection coverage.

3.3. Quantitative Evaluation of Tree Counting and Localization Accuracy

To quantitatively assess the performance of the proposed system, the total number of palm trees in the surveyed area was manually counted from the ground-truth orthomosaic image. This reference count was then compared with the number of trees automatically detected and mapped during UAV flights.
The geolocation accuracy of detected trees was evaluated by measuring the average and maximum Euclidean distance between detected tree centers and their corresponding ground-truth positions. These errors arise from camera pose estimation inaccuracies, GPS drift, and detection bounding box misalignment.
Table 6 summarizes the results of the field experiment, including the ground-truth tree count, the number of trees detected by the system, the counting error, and geolocation error metrics.
Although the detector’s per-frame precision (0.9239, i.e., 92.4%) is reported in Table 5, the final counting metric is computed at the mission level after geo-localization and spatial clustering across temporally overlapping frames. In practice, the same palm crown is observed multiple times during a flight; therefore, a missed detection in one frame is often compensated by correct detections in adjacent frames. If the per-observation detection probability is p and a given tree is observed in N overlapping frames, the probability of detecting that tree at least once during the mission can be approximated as P mission = 1 ( 1 p ) N , which increases rapidly with N. Moreover, sporadic false positives that do not persist at consistent geolocations are largely suppressed by the DBSCAN de-duplication stage, while repeated detections of the same tree are consolidated into a single unique coordinate. Consequently, the mission-level counting error can be lower than what might be inferred from single-frame detection metrics alone.
The geolocation error analysis indicates that the dominant source of the 2.14-m average error is the positioning accuracy of the UAV’s onboard standard GNSS module, which typically operates within a range of 2–3 m. Secondary factors include the flat-terrain assumption in the projection model and minor bounding box centering deviations. Despite this, the achieved accuracy is sufficient for the system’s primary goal of rapid, real-time plantation density estimation and approximate localization.
These results confirm that the proposed real-time detection system, running onboard the UAV with YOLOv12n and TensorRT optimization, can accurately detect and geolocate palm trees with minimal error, making it suitable for large-scale agricultural monitoring applications.
Having validated the effectiveness of the proposed system for real-time palm tree detection and mapping through field deployment, the concluding remarks are presented in the following section.

4. Conclusions

In this research, a real-time framework was developed and validated for palm tree detection and geolocalization using UAV imagery and deep learning. Aerial images were collected with a DJI Phantom 4 drone and processed into high-resolution orthomosaics using Agisoft Metashape. These mosaics were annotated and used to train multiple YOLOv12 model variants for object detection.
The core contribution of this work is the deployment of the trained YOLOv12n model on an NVIDIA Jetson Nano platform mounted on the UAV, enabling onboard real-time inference. This setup allows the system to detect and count palm trees instantly during flight without requiring post-processing or offboard computation. Real-time geographic localization was achieved through camera projection using UAV pose and height data, converting pixel coordinates to global coordinates during mission execution.
Experimental results showed that the YOLOv12n model achieved a high accuracy and stable training performance, while maintaining a low inference latency suitable for embedded systems. Among the tested models, YOLOv12n provided the optimal balance between detection quality and speed, making it the most practical for real-time field deployment.
This research demonstrates a scalable, cost-effective, and autonomous solution for precision agriculture. The system can support tasks such as tree counting, plantation monitoring, and yield forecasting—all performed in real time during UAV flight. By eliminating the need for offline processing, the method enhances responsiveness and provides immediate decision-making support to agronomists and farmers in the field.
To further reduce redundant onboard computation under high frame overlap, future work will investigate event-triggered scheduling, where costly steps (e.g., neural inference and geo-projection) are executed only when informative changes are detected (e.g., scene changes or low-confidence outputs) [46].
Future work may include extending the framework to detect multiple tree species, integrating multispectral or thermal imaging for health monitoring, or deploying the system on alternative embedded platforms. Enhancing the system’s capability to count densely planted trees—where overlapping canopies and occlusions challenge detection—remains an important direction for improvement. Further gains in localization accuracy could also be achieved through sensor fusion techniques and terrain-adaptive projection models. Future work will also address planting density estimation in highly dense plantations by improving robustness to canopy overlap/occlusions, which can otherwise introduce counting ambiguities.

Author Contributions

A.M.: writing—original draft preparation, writing—review and editing, visualization, conceptualization; M.N.: methodology, software, conceptualization; A.T.: investigation, resources, supervision, project administration, funding acquisition, conceptualization; A.A.: supervision; M.S.F.: supervision; A.K.: formal analysis. All authors have read and agreed to the published version of the manuscript.

Funding

This research received no external funding.

Institutional Review Board Statement

Not applicable.

Informed Consent Statement

Not applicable.

Data Availability Statement

The data presented in this study are available from the corresponding author upon reasonable request.

Acknowledgments

The authors acknowledge the High Performance Computing Center (HPC) at Sharif University of Technology for providing computational resources that have contributed to this research. The authors also express their gratitude to SharifAgRobot for their valuable collaboration in data acquisition and their assistance in data labeling.

Conflicts of Interest

The authors declare no conflicts of interest.

Abbreviations

The following abbreviations are used in this manuscript:
UAVUnmanned Aerial Vehicle
YOLOv12You Only Look Once Version 12
CNNConvolutional Neural Network

References

  1. Moshayedi, A.J.; Khan, A.; Geng, K.; Hu, J.; Kolahdooz, A. Advancing Agricultural Practices: Analyzing the Role of Robotics in Corn Farming. Int. J. Eng. Trans. A Basics 2025, 38, 1517–1532. [Google Scholar] [CrossRef] [Scilit]
  2. Tsouros, D.C.; Bibi, S.; Sarigiannidis, P.G. A review on UAV-based applications for precision agriculture. Information 2019, 10, 349. [Google Scholar] [CrossRef] [Scilit]
  3. Velusamy, P.; Rajendran, S.; Mahendran, R.K.; Naseer, S.; Shafiq, M.; Choi, J.G. Unmanned Aerial Vehicles (UAV) in precision agriculture: Applications and challenges. Energies 2021, 15, 217. [Google Scholar] [CrossRef] [Scilit]
  4. Moshayedi, A.J.; Khan, A.S.; Yang, Y.; Hu, J.; Kolahdooz, A. Robots in agriculture: Revolutionizing farming practices. EAI Endorsed Trans. AI Robot. 2024, 3. [Google Scholar] [CrossRef] [Scilit]
  5. Olson, D.; Anderson, J. Review on unmanned aerial vehicles, remote sensors, imagery processing, and their applications in agriculture. Agron. J. 2021, 113, 971–992. [Google Scholar] [CrossRef] [Scilit]
  6. Cuaran, J.; Leon, J. Crop monitoring using unmanned aerial vehicles: A review. Agric. Rev. 2021, 42, 121–132. [Google Scholar] [CrossRef] [Scilit]
  7. Hafeez, A.; Husain, M.A.; Singh, S.; Chauhan, A.; Khan, M.T.; Kumar, N.; Chauhan, A.; Soni, S. Implementation of drone technology for farm monitoring & pesticide spraying: A review. Inf. Process. Agric. 2023, 10, 192–203. [Google Scholar] [CrossRef] [Scilit]
  8. Marzuki, O.F.; Teo, E.Y.L.; Rafie, A.S.M. The mechanism of drone seeding technology: A review. Malays. For. 2021, 84, 349–358. [Google Scholar]
  9. Phang, S.K.; Chiang, T.H.A.; Happonen, A.; Chang, M.M.L. From satellite to UAV-based remote sensing: A review on precision agriculture. IEEE Access 2023, 11, 127057–127076. [Google Scholar] [CrossRef] [Scilit]
  10. Moshayedi, A.J.; Wang, Z.; Sharifdoust, M.; Khoojine, A.S.; Zhang, W.; Kolahdooz, A.; Hu, J. Smart Farming Solutions: A User-Friendly GUI for Maize Tassel Estimation Using YOLO With Dynamic and Fixed Labelling, Featuring Video Support. IEEE Access 2025, 13, 57809–57833. [Google Scholar] [CrossRef] [Scilit]
  11. Guo, A.; Huang, W.; Dong, Y.; Ye, H.; Ma, H.; Liu, B.; Wu, W.; Ren, Y.; Ruan, C.; Geng, Y. Wheat yellow rust detection using UAV-based hyperspectral technology. Remote Sens. 2021, 13, 123. [Google Scholar] [CrossRef] [Scilit]
  12. Sandoval-Pillajo, L.; García-Santillán, I.; Pusdá-Chulde, M.; Giret, A. Weed Detection Based on Deep Learning from UAV Imagery: A Review. Smart Agric. Technol. 2025, 12, 101147. [Google Scholar] [CrossRef] [Scilit]
  13. Kipli, K.; Osman, S.; Joseph, A.; Zen, H.; Salleh, D.N.S.D.A.; Lit, A.; Chin, K.L. Deep learning applications for oil palm tree detection and counting. Smart Agric. Technol. 2023, 5, 100241. [Google Scholar] [CrossRef] [Scilit]
  14. Li, W.; Fu, H.; Yu, L.; Cracknell, A. Deep learning based oil palm tree detection and counting for high-resolution remote sensing images. Remote Sens. 2016, 9, 22. [Google Scholar] [CrossRef] [Scilit]
  15. Ghazali, K.H.; Liu, X.; Yan, S.; Ji, Y. FRCNN for Oil Palm Tree Counting-A Deep Learning-Based Approach. In Proceedings of the 2024 2nd International Symposium on Information Technology and Digital Innovation (ISITDI); IEEE: New York, NY, USA, 2024; pp. 306–311. [Google Scholar]
  16. Putra, Y.C.; Wijayanto, A.W. Automatic detection and counting of oil palm trees using remote sensing and object-based deep learning. Remote Sens. Appl. Soc. Environ. 2023, 29, 100914. [Google Scholar] [CrossRef] [Scilit]
  17. Culman, M.; Delalieux, S.; Van Tricht, K. Individual palm tree detection using deep learning on RGB imagery to support tree inventory. Remote Sens. 2020, 12, 3476. [Google Scholar] [CrossRef] [Scilit]
  18. Yarak, K.; Witayangkurn, A.; Kritiyutanont, K.; Arunplod, C.; Shibasaki, R. Oil palm tree detection and health classification on high-resolution imagery using deep learning. Agriculture 2021, 11, 183. [Google Scholar] [CrossRef] [Scilit]
  19. Jintasuttisak, T.; Edirisinghe, E.; Elbattay, A. Deep neural network based date palm tree detection in drone imagery. Comput. Electron. Agric. 2022, 192, 106560. [Google Scholar] [CrossRef] [Scilit]
  20. Hajjaji, Y.; Boulila, W.; Farah, I.R. Leveraging artificial intelligence techniques for smart palm tree detection: A decade systematic review. Procedia Comput. Sci. 2022, 207, 2823–2832. [Google Scholar] [CrossRef] [Scilit]
  21. Malek, S.; Bazi, Y.; Alajlan, N.; AlHichri, H.; Melgani, F. Efficient framework for palm tree detection in UAV images. IEEE J. Sel. Top. Appl. Earth Obs. Remote Sens. 2014, 7, 4692–4703. [Google Scholar] [CrossRef] [Scilit]
  22. Rizky, A.P.; Liyantono; Solahudin, M. Analysis of aerial photo for estimating tree numbers in oil palm plantation. In Proceedings of the IOP Conference Series: Earth and Environmental Science; IOP Publishing: Bristol, UK, 2019; Volume 284, p. 012003. [Google Scholar]
  23. Liu, X.; Ghazali, K.H.; Han, F.; Mohamed, I.I. Automatic detection of oil palm tree from UAV images based on the deep learning method. Appl. Artif. Intell. 2021, 35, 13–24. [Google Scholar] [CrossRef] [Scilit]
  24. Chowdhury, P.N.; Shivakumara, P.; Nandanwar, L.; Samiron, F.; Pal, U.; Lu, T. Oil palm tree counting in drone images. Pattern Recognit. Lett. 2022, 153, 1–9. [Google Scholar] [CrossRef] [Scilit]
  25. Ammar, A.; Koubaa, A.; Benjdira, B. Deep-learning-based automated palm tree counting and geolocation in large farms from aerial geotagged images. Agronomy 2021, 11, 1458. [Google Scholar] [CrossRef] [Scilit]
  26. Talib, N.; Saad, M.S.M.; Anshah, S.A.; Saad, N.M.; Ghazali, M.D.; Abdullah, M.A.; Jailani, W.J.H.W.M. A Comparative Flight Altitude Using Multi-Rotor UAV for Oil Palm Tree Counting. In Proceedings of the IOP Conference Series: Earth and Environmental Science; IOP Publishing: Bristol, UK, 2021; Volume 620, p. 012006. [Google Scholar]
  27. Osco, L.P.; De Arruda, M.d.S.; Junior, J.M.; Da Silva, N.B.; Ramos, A.P.M.; Moryia, É.A.S.; Imai, N.N.; Pereira, D.R.; Creste, J.E.; Matsubara, E.T.; et al. A convolutional neural network approach for counting and geolocating citrus-trees in UAV multispectral imagery. ISPRS J. Photogramm. Remote Sens. 2020, 160, 97–106. [Google Scholar] [CrossRef] [Scilit]
  28. Guldogan, O.; Rotola-Pukkila, J.; Balasundaram, U.; Le, T.H.; Mannar, K.; Chrisna, T.M.; Gabbouj, M. Automated tree detection and density calculation using unmanned aerial vehicles. In Proceedings of the 2016 Visual Communications and Image Processing (VCIP); IEEE: New York, NY, USA, 2016; pp. 1–4. [Google Scholar]
  29. Gibril, M.B.A.; Shafri, H.Z.M.; Al-Ruzouq, R.; Shanableh, A.; Nahas, F.; Al Mansoori, S. Large-scale date palm tree segmentation from multiscale uav-based and aerial images using deep vision transformers. Drones 2023, 7, 93. [Google Scholar] [CrossRef] [Scilit]
  30. Picos, J.; Bastos, G.; Míguez, D.; Alonso, L.; Armesto, J. Individual tree detection in a eucalyptus plantation using unmanned aerial vehicle (UAV)-LiDAR. Remote Sens. 2020, 12, 885. [Google Scholar] [CrossRef] [Scilit]
  31. Han, P.; Ma, C.; Chen, J.; Chen, L.; Bu, S.; Xu, S.; Zhao, Y.; Zhang, C.; Hagino, T. Fast tree detection and counting on UAVs for sequential aerial images with generating orthophoto mosaicing. Remote Sens. 2022, 14, 4113. [Google Scholar] [CrossRef] [Scilit]
  32. Aparna, P.; Hebbar, R.; Harshita, M.; Sounder, H.; Nandkishore, K.; Vinod, P. CNN based technique for automatic tree counting using very high resolution data. In Proceedings of the 2018 International Conference on Design Innovations for 3Cs Compute Communicate Control (ICDI3C); IEEE: New York, NY, USA, 2018; pp. 127–129. [Google Scholar]
  33. Yao, L.; Liu, T.; Qin, J.; Lu, N.; Zhou, C. Tree counting with high spatial-resolution satellite imagery based on deep neural networks. Ecol. Indic. 2021, 125, 107591. [Google Scholar] [CrossRef] [Scilit]
  34. Djerriri, K.; Ghabi, M.; Karoui, M.S.; Adjoudj, R. Palm trees counting in remote sensing imagery using regression convolutional neural network. In Proceedings of the IGARSS 2018-2018 IEEE International Geoscience and Remote Sensing Symposium; IEEE: New York, NY, USA, 2018; pp. 2627–2630. [Google Scholar]
  35. Battseren, B.; Mohamed, S.H.; Diego, A.O.A.; Saleh, S.; Hardt, W. Tree Detection and Localization Approach for UAV-based Forest Inspection. Embed. Selforganising Syst. 2022, 9, 73–81. [Google Scholar] [CrossRef] [Scilit]
  36. Hirschmugl, M.; Ofner, M.; Raggam, J.; Schardt, M. Single tree detection in very high resolution remote sensing data. Remote Sens. Environ. 2007, 110, 533–544. [Google Scholar] [CrossRef] [Scilit]
  37. Wang, L.; Gong, P.; Biging, G.S. Individual tree-crown delineation and treetop detection in high-spatial-resolution aerial imagery. Photogramm. Eng. Remote Sens. 2004, 70, 351–357. [Google Scholar] [CrossRef] [Scilit]
  38. Bazi, Y.; Malek, S.; Alajlan, N.; AlHichri, H. An automatic approach for palm tree counting in UAV images. In 2014 IEEE Geoscience and Remote Sensing Symposium; IEEE: New York, NY, USA, 2014. [Google Scholar]
  39. Yang, Z.; Hu, K.; Kou, W.; Xu, W.; Wang, H.; Lu, N. Enhanced recognition and counting of high-coverage Amorphophallus konjac by integrating UAV RGB imagery and deep learning. Sci. Rep. 2025, 15, 6501. [Google Scholar] [CrossRef] [Scilit] [PubMed]
  40. Lee, C.C.; Koo, V.C.; Lim, T.S.; Lee, Y.P.; Abidin, H. A multi-layer perceptron-based approach for early detection of BSR disease in oil palm trees using hyperspectral images. Heliyon 2022, 8, e09252. [Google Scholar] [CrossRef] [Scilit]
  41. Mansur, M.A.; Mukhtar, R.B.; Al-Doksi, J. The usefulness of unmanned airborne vehicle (UAV) imagery for automated palm oil tree counting. J. For. 2014, 1, 1–12. [Google Scholar]
  42. Salamí, E.; Gallardo, A.; Skorobogatov, G.; Barrado, C. On-the-fly olive tree counting using a UAS and cloud services. Remote Sens. 2019, 11, 316. [Google Scholar] [CrossRef] [Scilit]
  43. Tian, Y.; Ye, Q.; Doermann, D. Yolov12: Attention-centric real-time object detectors. arXiv 2025, arXiv:2502.12524. [Google Scholar]
  44. Liu, G.; Sun, Q.; Su, H.; Wang, M. Adaptive cooperative fault-tolerant control for output-constrained nonlinear multi-agent systems under stochastic fdi attacks. IEEE Trans. Circuits Syst. I Regul. Pap. 2025, 72, 6025–6036. [Google Scholar] [CrossRef] [Scilit]
  45. Ester, M.; Kriegel, H.P.; Sander, J.; Xu, X. A density-based algorithm for discovering clusters in large spatial databases with noise. In KDD’96: Proceedings of the Second International Conference on Knowledge Discovery and Data Mining; AAAI Press: Washington, DC, USA, 1996; Volume 96, pp. 226–231. [Google Scholar]
  46. Liu, G.; Liang, H.; Wang, R.; Sui, Z.; Sun, Q. Adaptive event-triggered output feedback control for nonlinear multiagent systems using output information only. IEEE Trans. Syst. Man Cybern. Syst. 2025, 55, 7639–7650. [Google Scholar] [CrossRef] [Scilit]
Figure 1. Overview of the proposed system setup for real-time palm tree detection and geolocalization using UAV and YOLOv12.
Figure 1. Overview of the proposed system setup for real-time palm tree detection and geolocalization using UAV and YOLOv12.
Automation 07 00051 g001
Figure 2. Real-time palm tree detection and localization pipeline. The UAV captures aerial images, which are processed by a YOLOv12 model running on a Jetson Nano board. Detected trees are projected to world coordinates using the camera matrix, and their positions are used for agricultural decision-making.
Figure 2. Real-time palm tree detection and localization pipeline. The UAV captures aerial images, which are processed by a YOLOv12 model running on a Jetson Nano board. Detected trees are projected to world coordinates using the camera matrix, and their positions are used for agricultural decision-making.
Automation 07 00051 g002
Figure 3. Study area for palm tree detection. The left panel shows a high-resolution satellite image of the palm cultivation region, outlined in green. The right panels show the geographic location of the study site within Iran.
Figure 3. Study area for palm tree detection. The left panel shows a high-resolution satellite image of the palm cultivation region, outlined in green. The right panels show the geographic location of the study site within Iran.
Automation 07 00051 g003
Figure 4. Sample raw UAV images captured during flight using the DJI Phantom 4. These images were used as inputs for orthomosaic generation and tree detection.
Figure 4. Sample raw UAV images captured during flight using the DJI Phantom 4. These images were used as inputs for orthomosaic generation and tree detection.
Automation 07 00051 g004
Figure 5. Georeferenced orthomosaic generated using Agisoft Metashape. The mosaic provides a seamless visual reconstruction of the plantation from overlapping aerial images.
Figure 5. Georeferenced orthomosaic generated using Agisoft Metashape. The mosaic provides a seamless visual reconstruction of the plantation from overlapping aerial images.
Automation 07 00051 g005
Figure 6. Training and validation loss curves across all YOLOv12 model variants.
Figure 6. Training and validation loss curves across all YOLOv12 model variants.
Automation 07 00051 g006
Figure 7. Precision and recall curves for YOLOv12 variants on validation data.
Figure 7. Precision and recall curves for YOLOv12 variants on validation data.
Automation 07 00051 g007
Figure 8. Mean Average Precision metrics for YOLOv12 variants.
Figure 8. Mean Average Precision metrics for YOLOv12 variants.
Automation 07 00051 g008
Figure 9. Detection results on validation images using YOLOv12m. Bounding boxes indicate successful palm tree localization.
Figure 9. Detection results on validation images using YOLOv12m. Bounding boxes indicate successful palm tree localization.
Automation 07 00051 g009
Figure 10. Combined spatial map showing the full agricultural field with palm trees detected by the onboard Jetson system (red) and the corresponding ground-truth positions (green). Two zoomed-in insets illustrate detection precision in representative subregions.
Figure 10. Combined spatial map showing the full agricultural field with palm trees detected by the onboard Jetson system (red) and the corresponding ground-truth positions (green). Two zoomed-in insets illustrate detection precision in representative subregions.
Automation 07 00051 g010
Table 1. Hyperparameters of YOLOv12.
Table 1. Hyperparameters of YOLOv12.
HyperparameterValue
Initial learning rate0.01
Final learning rate0.01
Batch size16
Momentum0.937
Weight decay0.0005
Number of epochs300
Image size 640 × 640
Table 2. Data augmentation parameters.
Table 2. Data augmentation parameters.
ParameterValue
HSV_Hue0.015
HSV_Saturation0.7
HSV_Value0.4
Fliplr0.5
Translate0.1
Scale0.5
Table 3. Specifications of the hardware used.
Table 3. Specifications of the hardware used.
Hardware ComponentSpecification
GPU/TPURTX 4080 super
CPUcore i9 14900k
RAM32 GB
Table 4. Dataset specifications used for training and evaluation.
Table 4. Dataset specifications used for training and evaluation.
SpecificationValue
Flight altitude70 m
Image patch dimensions320 × 320 pixels
Number of annotated palm trees12,105
Number of classes1
Number of training images329
Number of testing images77
Table 5. Comparison of YOLOv12 model performance.
Table 5. Comparison of YOLOv12 model performance.
ModelPrecisionRecallmAP(.50:.95)
YOLOv12n0.92390.8990.594
YOLOv12s0.9310.9250.605
YOLOv12m0.9380.9220.609
YOLOv12l0.9360.9250.604
YOLOv12x0.9470.9160.603
Table 6. Quantitative evaluation of palm tree detection and localization performance.
Table 6. Quantitative evaluation of palm tree detection and localization performance.
MetricValue
Ground-truth number of trees915
Detected number of trees917
Counting error2 trees (0.2%)
Average geolocation error2.14 m
Disclaimer/Publisher’s Note: The statements, opinions and data contained in all publications are solely those of the individual author(s) and contributor(s) and not of MDPI and/or the editor(s). MDPI and/or the editor(s) disclaim responsibility for any injury to people or property resulting from any ideas, methods, instructions or products referred to in the content.

Share and Cite

MDPI and ACS Style

Mazinani, A.; Norouzi, M.; Talaeizadeh, A.; Alasty, A.; Saadat Foumani, M.; Kolahdooz, A. Innovative Real-Time Palm Tree Detection, Geo-Localization and Counting from Unmanned Aerial Vehicle (UAV) Aerial Images Using Deep Learning. Automation 2026, 7, 51. https://doi.org/10.3390/automation7020051

AMA Style

Mazinani A, Norouzi M, Talaeizadeh A, Alasty A, Saadat Foumani M, Kolahdooz A. Innovative Real-Time Palm Tree Detection, Geo-Localization and Counting from Unmanned Aerial Vehicle (UAV) Aerial Images Using Deep Learning. Automation. 2026; 7(2):51. https://doi.org/10.3390/automation7020051

Chicago/Turabian Style

Mazinani, Ali, Mostafa Norouzi, Amin Talaeizadeh, Aria Alasty, Mahmoud Saadat Foumani, and Amin Kolahdooz. 2026. "Innovative Real-Time Palm Tree Detection, Geo-Localization and Counting from Unmanned Aerial Vehicle (UAV) Aerial Images Using Deep Learning" Automation 7, no. 2: 51. https://doi.org/10.3390/automation7020051

APA Style

Mazinani, A., Norouzi, M., Talaeizadeh, A., Alasty, A., Saadat Foumani, M., & Kolahdooz, A. (2026). Innovative Real-Time Palm Tree Detection, Geo-Localization and Counting from Unmanned Aerial Vehicle (UAV) Aerial Images Using Deep Learning. Automation, 7(2), 51. https://doi.org/10.3390/automation7020051

Article Metrics

Back to TopTop