πŸ—οΈ SiteSense β€” Model Weights

Real-Time Construction Equipment Monitoring via Aerial Computer Vision

GitHub License: MIT Python 3.11 PyTorch 2.2+


Overview

This repository hosts the trained model weights for SiteSense β€” a real-time pipeline that detects, tracks, identifies, and classifies the activity of heavy construction equipment from drone/aerial video footage.

The system processes each frame through a multi-phase pipeline:

Video Frame β†’ RF-DETR Detection β†’ BoT-SORT Tracking β†’ DINOv3 Re-ID β†’ Activity Classification β†’ Kafka Events

Model Weights

File Size Architecture Task Training Data
rfdetr_construction.pth 122 MB RF-DETR (Real-time Foundation DETR) 8-class object detection Custom aerial construction dataset (Roboflow)
dinov3_reid_head.pth 5.4 MB Linear projection head (1536β†’256β†’128) Equipment re-identification Contrastive pairs from tracked equipment
osnet_x0_25_msmt17.pt 2.9 MB OSNet x0.25 Appearance-based ReID for BoT-SORT MSMT17 (pretrained)

Note: The DINOv3 ViT-B/16 backbone (~327 MB) is not included here. It is auto-downloaded from facebook/dinov3-vitb16-pretrain-lvd1689m on first run using your HF_TOKEN.


Detection Classes

The RF-DETR detector is fine-tuned to recognize 8 classes of construction equipment from aerial perspectives:

ID Class ID Class
0 Excavator 4 Mobile Crane
1 Dump Truck 5 Tower Crane
2 Bulldozer 6 Roller Compactor
3 Wheel Loader 7 Cement Mixer

Training Results

RF-DETR Detector

Metric Value
mAP@50 0.8340
mAP@50:95 0.7607
F1 Score 0.8859
Precision 0.8666
Recall 0.9061
Resolution 560Γ—560
Epochs 70

DINOv3 Re-ID Projection Head

Metric Value
Contrastive Loss 0.0482
Accuracy 96.8%
Embedding Dim 128-d L2-normalized
Training Pairs ~12,000 positive pairs

Quick Start

Option A: Download All Weights (Recommended)

pip install huggingface_hub
huggingface-cli download Zaafan/sitesense-weights --local-dir models/

Option B: Python API

from huggingface_hub import hf_hub_download

# Download individual weights
hf_hub_download(repo_id="Zaafan/sitesense-weights", filename="rfdetr_construction.pth", local_dir="models/")
hf_hub_download(repo_id="Zaafan/sitesense-weights", filename="dinov3_reid_head.pth", local_dir="models/")
hf_hub_download(repo_id="Zaafan/sitesense-weights", filename="osnet_x0_25_msmt17.pt", local_dir="models/")

Option C: Auto-Download (Zero Setup)

The SiteSense pipeline automatically downloads missing weights on first run:

# In services/cv-inference/main.py β€” resolve_weights() handles this transparently
weights_path = resolve_weights('rfdetr_construction.pth')  # local first, HF fallback

Usage with SiteSense Pipeline

# 1. Clone the repository
git clone https://github.com/Mahmoud-Zaafan/asdfqer.git
cd asdfqer

# 2. Download weights
huggingface-cli download Zaafan/sitesense-weights --local-dir models/

# 3. Configure environment
cp .env.example .env

# 4. Launch infrastructure + run pipeline
docker compose up --build
docker compose --profile pipeline up cv-inference

Citation

If you use these weights in your research or projects, please cite:

@misc{sitesense2025,
  author = {Mahmoud Zaafan},
  title  = {SiteSense: Real-Time Construction Equipment Monitoring via Aerial Computer Vision},
  year   = {2025},
  url    = {https://github.com/Mahmoud-Zaafan/SiteSense}
}

License

All weights are released under the MIT License.

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support