Skip to content

robot-perception-group/Real-time_Animal_reID

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

RAPID: Real-time Animal Pattern re-Identification on edge-Devices


Concept_image


What is RAPID?

RAPID is a patterned animal reID (re-identification) modul we developed to support animal reID on edge. The algorithm is accurate, fast, lightweight and easy to deploy. The pipeline is streamlined to contain only the essential components for accuracy, ensuring high query throughput without unnecessary complexity and computational needs.

  • RAPID.py predicts IDs for query animals based on a set of database images
  • FalseTagFinder.py is an additional feature, which helps researchers to identify potentially wrong labels within ground truth databases

For more, read our preprint and watch the video abstract.


Accuracy

Benchmark dataset Top-1 accuracy
StripeSpotter 99 %
ATRW 95 %
AerialCattle 99 %
GiraffeZebraID 89 %

Speed (solely on CPU)

Hardware Query processing
PC ~ 60 fps
Laptop ~ 50 fps
Edge ~ 12 fps
  • PC - DELL Precision 3630 Tower with Intel(R)492 Xeon(R) E-2174G@ 3,80GHz CPU, 8 cores, 63 GB RAM
  • Laptop - VivoBook-ASUSLaptop X513UA-M513UA with AMD Ryzen 7 5700U, Radeon Graphics, 16 cores, 16 GB RAM
  • Edge - Texas Instruments SK-TDA4VM with ARM Cortex-A72, 2 cores, 2.25 GB RAM

Installation

  • open a terminal
  • navigate to the directory in which you want to install RAPID. Run the below commands:
  • git clone https://github.com/robot-perception-group/Real-time_Animal_reID.git
  • python3 -m venv venv
  • source venv/bin/activate
  • pip install -r requirements.txt

How to use

  • RAPID:

    • open RAPID.py
    • provide database path in line 122: database_path = 'data/demo/example_database'
      • database image names must follow the convention: animalID_viewpoint_frameID.jpg
      • if viewpoint is not known, give arbitrary string in the middle
      • examples: jaguar7_left_23.jpg, tiger18_unknownvp_54.jpg, giraffe74_right_32.jpg
    • provide query path in line 123: query_path = 'data/demo/example_query')
    • run RAPID.py
    • results are saved under saved directory
      • query filenames are modified, containing the predicted ID
      • example: query1.jpg --> PRED-ID17_query1.jpg
  • FalseTagFinder:

    • open FalseTagFinder.py
    • provide database path in line 127 ground_truth_database = 'data/demo/example_database'
    • results will be saved to saved/potential_false_labels

Limitations

  • Patterned animals
    • RAPID only works with patterned animals
  • Database and query images
    • RAPID works with images that are cropped bounding boxes of individuals or at least one animal occupies most of the image
    • Low resolution, blur, and more than one animals in one image can also cause wrong predictions
  • Closed set scenario
    • RAPID is not yet capable of identifying new individuals that are not within the database. So query animals should already be represented within the database
  • Viewpoints
    • For successful predictions, there should be similar viewpoint in the database about the query animal as the query viewpoint

Cite

Zábó, A., Nagy, M., & Ahmad, A. (2025). RAPID: Real-time Animal Pattern re-Identification on edge Devices. bioRxiv. https://doi.org/10.1101/2025.07.07.663143

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages