DOI: 10.5061/dryad.9ghx3ffvc
title: Data from: Evaluating machine learning models for multi-species wildlife detection and identification on remote sensed nadir imagery in South African savanna

description: 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.
description: # 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](https://doi.org/10.5061/dryad.9ghx3ffvc) ##
 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](http://www.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: [https://github.com/FadelMamar/wildetect](https://github.com/FadelMamar/wildetect) ## Access information Other publicly accessible locations of the data: * NA Data was derived from the following sources: * NA