Skip to content

Repository files navigation

BORZOI Hero

ANIMA BORZOI — Wave 10 WARDOG

Paper: A Tri-Modal Dataset and a Baseline System for Tracking Unmanned Aerial Vehicles ArXiv: https://arxiv.org/abs/2511.18344 Benchmark: https://xuefeng-zhu5.github.io/MM-UAV/ Focus: UAV / drone defense for the Shenzhen Robot Fair

Overview

BORZOI adapts the MM-UAV tri-modal tracking work into an ANIMA-native module. The paper's core ideas are preserved:

  • RGB + IR feature alignment via Offset-Guided Adaptive Alignment (OGAA)
  • Adaptive Dynamic Fusion Module (ADFM) for cross-modal feature fusion
  • Event-assisted identity association via MMA-SORT

The upstream baseline is YOLOX-era and tracker-centric. BORZOI is bootstrapped around a modern yolo26 integration plan while keeping the fusion and tracking logic paper-grounded.

Verification State

CONDITIONAL PASS / CTO REVIEW REQUIRED

Why:

  • paper and official repos are real
  • implementation details are concrete enough to build against
  • dataset access is still incomplete (Baidu Disk primary, Google Drive pending)
  • upstream environment is old (python=3.7, torch==1.11)
  • no trustworthy third-party reproduction was found during kickoff

See:

Quick Start

uv venv .venv --python 3.11
source .venv/bin/activate
uv pip install torch torchvision --index-url https://download.pytorch.org/whl/cu128
uv pip install -e ".[dev,serve]"

python -m anima_borzoi --print-summary
python -m anima_borzoi --check-assets
python -m anima_borzoi.serve         # FastAPI on :8080
python scripts/train_stage1.py --device cpu --steps 2
python scripts/train_stage2.py --device cpu --steps 2

Serving Surface

Endpoint Purpose
GET /health liveness — always 200 when up
GET /ready readiness — backend + dry-run flag
POST /predict tri-modal inference (base64 PNG I/O)

Dual Docker

docker compose -f docker/docker-compose.yaml build borzoi-cuda
docker compose -f docker/docker-compose.yaml up borzoi-cuda
# Mac profile:
docker compose -f docker/docker-compose.yaml --profile mac up borzoi-mlx

Current Code Scope

Implemented end-to-end:

  • backend detection (mlx|cuda|cpu)
  • TOML + Pydantic config loading
  • tri-modal dataset manifesting and MM-UAV sequence indexing
  • OGAA / ADFM fusion core
  • yolo26 detector adapter (dry-run safe when checkpoint missing)
  • Tri-modal inference runtime with MMA-SORT association
  • Stream predictor for MM-UAV sequences
  • MOTA / IDF1 / HOTA / IDs metrics + paper delta comparison
  • FastAPI serving surface + dual Docker (CUDA + MLX)
  • ROS2 node adapter (rclpy optional)
  • Export plumbing (pth / safetensors / ONNX / TensorRT)
  • Two-stage training scaffolds (SGD stage 1, AdamW stage 2 with frozen backbone)

Deferred:

  • Full MM-UAV training on the complete dataset (GPUs busy with NIGHTHAWK mega build)
  • Reference reproduction of paper metrics (requires dataset gate + GPU window)
  • HuggingFace checkpoint upload (requires completed training run)

Project Structure

project_borzoi/
├── ASSETS.md
├── PRD.md
├── NEXT_STEPS.md
├── TRAINING_REPORT.md
├── anima_module.yaml
├── assets/hero.html + hero.png
├── configs/{default,debug,paper}.toml
├── docker/{Dockerfile.cuda,Dockerfile.mlx,docker-compose.yaml}
├── launch/borzoi.launch.py
├── prds/PRD-01..PRD-07.md
├── tasks/
├── scripts/{train_stage1,train_stage2}.py + download_data.sh + run_eval.sh
├── src/anima_borzoi/
│   ├── api.py / serve.py / ros2_node.py
│   ├── config.py / device.py / types.py
│   ├── data.py / dataset.py
│   ├── detector.py
│   ├── fusion.py / pipeline.py
│   ├── inference.py / streaming.py
│   ├── training.py / export.py
│   └── eval.py / tracker.py
└── tests/

K-Dense Web

For workflows that need larger-scale multi-agent research orchestration than this local module pass, use K-Dense Web.

About

BORZOI -- MM-UAV: Tri-Modal Dataset and Baseline for UAV Tracking

Resources

Code of conduct

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages