Skip to content

[CLEF 2025 Working Notes에 논문 게재] Global 및 Local Descriptor를 활용하고 이를 Feature Fusion, Calibration, Thresholding 방식으로 최종 예측을 수행하는 동물 이미지 재식별 모델

Notifications You must be signed in to change notification settings

hanjuhn/animal-re-identification

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🐾 Wild Animal Re-Identification

You can find the full paper about this project here.

pipeline


📌 Project Overview

This project aims to address the problem of wild animal re-identification (Re-ID) across various species such as lynx, sea turtles, and salamanders.

This system was developed to participate in the AnimalCLEF25 / LifeCLEF Wild Animal Re-Identification Challenge, part of the CVPR 2025 - FGVC10 Workshop.

To identify individuals accurately, the system leverages multiple global and local descriptors, combining them through Feature Fusion + Calibration + Thresholding to generate final predictions.

Project Duration

March 12, 2025 - May 28, 2025


🚀 Pipeline Overview

This project consists of the following stages:

1. Image Preprocessing

  • Orientation normalization tailored for salamander images
  • 5-Crop Test-Time Augmentation (TTA)

2. Feature Extraction

  • MegaDescriptor: Extracts global embeddings
  • ALIKED: Local keypoint-based similarity
  • EVA02: Pretrained global descriptor based on CLIP

3. Feature Fusion

  • Combines MegaD and ALIKED outputs using the WildFusion calibration module
  • WildFusion normalizes scores via calibration

4. Final Similarity Computation

  • Combines WildFusion similarity and EVA02 cosine similarity using weighted sum
  • Can be extended with a Fusion MLP in the future

5. Individual Identification

  • Threshold-based binary classification:
    • Above threshold → existing individual
    • Below threshold → classified as new_individual

💡 Key Features

component Description
MegaDescriptor Global feature extractor using Timm
ALIKED Local keypoint matcher
WildFusion Fusion and calibration of two matchers
EVA02 Large-scale pretrained vision model (CLIP-based)
Rerank Cascade Improves accuracy via top-k candidate reranking
Species-specific Strategy Custom handling for special cases (e.g., salamanders)

📁 Project Structure

AnimalCLEF2025/
│
├── main.py                  # Main entry point
├── config.py                # Configuration constants
├── sample_submission.csv    # Final predictions for submission
│
├── src/
│   ├── dataset.py           # Dataset loading and sampling
│   ├── matcher.py           # Mega, ALIKED, EVA02 matcher definitions
│   ├── fusion.py            # WildFusion module
│   ├── fusion_head.py       # Fusion MLP head
│   ├── transforms.py        # Preprocessing and TTA strategies
│   └── utils.py             # Utility functions
│
├── assets/
│   └── pipeline.png         # Pipeline diagram

🔧 How to Run

  1. Install dependencies:
pip install -r requirements.txt
  1. Set up Kaggle API (download kaggle.json from your Kaggle account settings and place it in ~/.kaggle/):
mkdir -p ~/.kaggle
mv ~/Downloads/kaggle.json ~/.kaggle/
chmod 600 ~/.kaggle/kaggle.json
  1. Run the main script:
python main.py

About

[CLEF 2025 Working Notes에 논문 게재] Global 및 Local Descriptor를 활용하고 이를 Feature Fusion, Calibration, Thresholding 방식으로 최종 예측을 수행하는 동물 이미지 재식별 모델

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 100.0%