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 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 (A
2), 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.,
. 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.
where
denotes the nominal acquisition altitude of the training data. Consequently, if
, the simulated altitude range becomes
In our experiments, the images were acquired at
m and the augmentation scale range was
(
Table 2), which corresponds to an effective altitude range of approximately
–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
to
. 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
The mean Average Precision (mAP) is then calculated as
where
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,
.
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 along with each captured frame. Detected tree centers in the image frame are represented by their pixel coordinates .
- 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:
where
K is the intrinsic calibration matrix, and
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 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 and principal point coordinates . These intrinsic parameters were treated as static constants during the flight, while the extrinsic parameters 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
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
from the UAV’s nadir point:
where
represents the angular deviation from the optical axis corresponding to the detected tree position.
- 5.
Geographic Coordinate Computation: Finally, the displacements
are converted into latitude and longitude adjustments
relative to the UAV’s GPS coordinates
, using spherical Earth projection formulas:
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
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 (
). 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 pixels. The system achieved an average processing speed of 16.5 FPS with a mean latency of 60.6 ms ( 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
, 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.