This research paper investigates the efficacy of leading machine learning
(ML) models for detecting and identifying ungulate species in the African
savanna using nadir imagery from unmanned aerial vehicles (UAVs).
Traditional aerial counting methods, while widely used, suffer from
significant limitations in accuracy and precision, in part due to human
biases. We examine the use of ML and its potential for aerial censuses by
evaluating the performance of nine leading ML models, focusing on their
ability to detect and identify five ungulate species: impala (Aepyceros
melampus), nyala (Tragelaphus angasii), sable (Hippotragus niger), roan
(Hippotragus equinus), and buffalo (Syncerus caffer). Using a UAV, 20137
nadir images were obtained from two properties in north-east South Africa.
Data were manually annotated using bounding boxes and split into training,
validation and test sets. ML models were trained on the same sets and run
for the detection of wildlife as a single class and for identification of
each individual species. The models were compared across four metrics:
precision, recall, F1-score and mean average precision (mAP). The
resulting highest wildlife detection scores were: precision 86.7%, recall
81%, F1 82.6% and mAP 85%, with newer and smaller models generally
achieving higher scores than older and larger models respectively. Our
results show ML model’s animal detection rates comparable to highest human
detections during aerial censuses. However, species identification results
were overall lower with highest scores being: precision 59.4, recall 74.2,
F1-score 52.1% and mAP 55.7%, with significant variation between models
and species, influenced by body size, colour and dataset size. The lower
scores in species identification demonstrate that ML models are not yet
suitable for performing fully automated censuses. Incorporating ML in a
semi-automated process may however, achieve higher precision than using
human observers through the removal of human biases and greater
repeatability through the ability to pre-programme flight paths. # Data from: Evaluating machine learning models for multi-species wildlife
detection and identification on remotely sensed nadir imagery in the South
African savanna Dataset DOI:
[10.5061/dryad.9ghx3ffvc](
doi.org) ##
Description of the data and file structure Nadir imagery was obtained
using a DJI Matrice 300 RTK UAV with a DJI Zenmuse P1 45MP RGB camera.
Flight paths were preprogrammed, with 70% front overlap and 53% side
overlap, and 11 m/s flying at 180 m above ground level, resulting in a
ground sampling distance (GSD) of 2.3 cm. All camps were flown three times
during the dry season (2–5 October 2023) and three times during the wet
season (4–6 February 2024). In addition, several extra flights were
conducted for algorithm training. These files can be identified by the
word extradite in their filenames. The additional files are automatically
generated by the drone and contain information on the actual flight
specifications and flight paths. ### Files and variables The raw images
are uploaded per season (Dry/Wet), per property (Kapiri/LeopardRock), per
group of camps flown as one (CampX-Y), and per repetition (Rep1-3). For
the purpose of labelling, the images were tiled using a Python script (see
section oncoded) and labelled as bounding boxes using Label Studio
([www.lablestud.io](
lablestud.io)). The tiled images have been
combined in a zip file per season per property. All annotations of the
tiled images can be found in coco and Label Studio format in
Annotations.zip, as well as a log file of all the processing. Within the
annotations we include all, as well as the specific split between
training, testing and validation sets as described in the journal article.
The stats.xlsx shows where and how often different species and features
were detected across camps and locations during the dry season, based on
tiled image analysis. Each row represents a specific dataset, identified
by The files available are: * Annotations.zip * Dry_Kapiri.zip *
Dry_Leopard_rock.zip * Dryseason_Kapiri_Camp145_extradata-tiled.zip *
Dryseason_Kapiri_Camp145_extradata.zip *
Dryseason_Kapiri_Camp145_extradata4.zip *
Dryseason_Kapiri_Camp145_Rep1.zip * Dryseason_Kapiri_Camp145_Rep2.zip *
Dryseason_Kapiri_Camp145_Rep3.zip *
Dryseason_Kapiri_Camp2_extradata-tiled.zip *
Dryseason_Kapiri_Camp2_extradata.zip *
Dryseason_Kapiri_Camp2_Rep1-tiled.zip * Dryseason_Kapiri_Camp2_Rep1.zip *
Dryseason_Kapiri_Camp2_Rep2.zip * Dryseason_Kapiri_Camp2_Rep3.zip *
Dryseason_Kapiri_Camp3_Rep1.zip * Dryseason_Kapiri_Camp3_Rep2.zip *
Dryseason_Kapiri_Camp3_Rep3.zip *
Dryseason_Kapiri_Camp6-8_Camp6extradata2.zip *
Dryseason_Kapiri_Camp6-8_extradata.zip * Dryseason_Kapiri_Camp6-8_Rep1.zip
* Dryseason_Kapiri_Camp6-8_Rep2.zip * Dryseason_Kapiri_Camp6-8_Rep3.zip *
Dryseason_Kapiri_Camp9-11_Rep1.zip * Dryseason_Kapiri_Camp9-11_Rep2.zip *
Dryseason_Kapiri_Camp9-11_Rep3.zip *
Dryseason_LeopardRock_Camp1-8_Rep1.zip *
Dryseason_LeopardRock_Camp1-8_Rep2.zip *
Dryseason_LeopardRock_Camp1-8_Rep3.zip *
Dryseason_LeopardRock_Camp22_37-40_Rep1.1.zip *
Dryseason_LeopardRock_Camp22_37-40_Rep1.2.zip *
Dryseason_LeopardRock_Camp22_37-40_Rep2.zip *
Dryseason_LeopardRock_Camp22_37-40_Rep3.zip *
Dryseason_LeopardRock_Camp23-26_Rep1.zip *
Dryseason_LeopardRock_Camp23-26_Rep2.zip *
Dryseason_LeopardRock_Camp23-26_Rep3.zip *
Dryseason_LeopardRock_Camp27_28_Rep1.zip *
Dryseason_LeopardRock_Camp27_28_Rep2.zip *
Dryseason_LeopardRock_Camp27_28_Rep3.zip *
Dryseason_LeopardRock_Camp29-32_Rep1.zip *
Dryseason_LeopardRock_Camp29-32_Rep2.zip *
Dryseason_LeopardRock_Camp29-32_Rep3.zip *
Dryseason_LeopardRock_Camp35_36_Rep1.zip *
Dryseason_LeopardRock_Camp35_36_Rep2.zip *
Dryseason_LeopardRock_Camp35_36_Rep3.zip * processing_log.json *
Wet_Kapiri.zip * Wet_Leopard_rock.zip * Wetseason_Kapiri_Camp1_Rep1.zip *
Wetseason_Kapiri_Camp1_Rep2.zip * Wetseason_Kapiri_Camp1_Rep3.zip *
Wetseason_Kapiri_Camp2_Rep1.zip * Wetseason_Kapiri_Camp2_Rep2.zip *
Wetseason_Kapiri_Camp2_Rep3.zip * Wetseason_Kapiri_Camp3_Rep1.zip *
Wetseason_Kapiri_Camp3_Rep2.zip * Wetseason_Kapiri_Camp3_Rep3.zip *
Wetseason_Kapiri_Camp4_5_Rep1.zip * Wetseason_Kapiri_Camp4_5_Rep2.zip *
Wetseason_Kapiri_Camp4_5_Rep3.zip * Wetseason_Kapiri_Camp6-8_Rep1.zip *
Wetseason_Kapiri_Camp6-8_Rep2.zip * Wetseason_Kapiri_Camp6-8_Rep3.zip *
Wetseason_Kapiri_Camp9-11_Rep1.zip * Wetseason_Kapiri_Camp9-11_Rep2.zip *
Wetseason_Kapiri_Camp9-11_Rep3.zip *
Wetseason_LeopardRock_Camp1_8_35-36_Rep1.zip *
Wetseason_LeopardRock_Camp1_8_35-36_Rep2.zip *
Wetseason_LeopardRock_Camp1_8_35-36_Rep3.zip *
Wetseason_LeopardRock_Camp22_37-41_Rep1.zip *
Wetseason_LeopardRock_Camp22_37-41_Rep2.zip *
Wetseason_LeopardRock_Camp22_37-41_Rep3.zip *
Wetseason_LeopardRock_Camp23-28_Rep1.zip *
Wetseason_LeopardRock_Camp23-28_Rep2.zip *
Wetseason_LeopardRock_Camp23-28_Rep3.zip *
Wetseason_LeopardRock_Camp29-32_Rep1.zip *
Wetseason_LeopardRock_Camp29-32_Rep2.zip *
Wetseason_LeopardRock_Camp29-32_Rep3.zip ## Code/software The code for
tiling, as well as for the pre processing and training of all the
algorithms can be found at the following Github
page: [
github.com](
github.com) ## Access information Other publicly accessible locations of the data: * NA Data was derived from the following sources: * NA