Downloads · 30 days
0
sulagnasaharasha/bci-crown-model
bci-crown-model is a image classification model from sulagnasaharasha. Use it when you need a label for an image. The card lists the license as mit.
Fine-tuned species classifier for tropical tree crowns from the Barro Colorado Island (BCI) dataset. The model predicts one of 84 tropical tree species from aerial crown-view RGB tiles (512×512 px).
Downloads · 30 days
0
Access
Public
Updated Apr 11, 2026
Repo size
2.4 GB
Likes
0
Public
Click a slice to open those files.
.ckpt2.1 GB · 85%
From the Hugging Face model README
Fine-tuned species classifier for tropical tree crowns from the Barro Colorado Island (BCI) dataset. The model predicts one of 84 tropical tree species from aerial crown-view RGB tiles (512×512 px).
| Backbone | DINOv3 ViT-B/16 (dinov3_vitb16), pretrained on LVD-1689M |
| Classifier | Linear head (768 → 84), dropout 0.1 |
| Fine-tuning | Full model (backbone unfrozen), AdamW, lr=1e-4, wd=1e-4 |
| Experiment | exp11, fold 0, epoch 14 |
| Input size | 512×512 RGB, ImageNet normalization |
| Top-1 | Top-3 | Top-5 |
|---|---|---|
| 63.5% | 76.0% | 80.6% |
This model uses DINOv3 — a family of versatile vision foundation models trained with a self-supervised method that produces high-quality dense features across a broad range of vision tasks.
dinov3_vitb16, pretrained on the LVD-1689M web dataset.dinov3_repo/ and is loaded via torch.hub.dinov3_repo/MODEL_CARD.md for full DINOv3 model details.Note: The
dinov3_repo/folder in this HuggingFace repo contains the DINOv3 source code needed to instantiate the backbone viatorch.hub.load(..., source="local"). This is a local copy required because DINOv3 is not yet available on the standard torch.hub registry.
bci-crown-model/
├── dinov3-14-0.000.ckpt # Fine-tuned Lightning checkpoint (backbone + classifier)
├── dinov3_vitb16_pretrain_lvd1689m # DINOv3 ViT-B/16 pretrained backbone weights
├── random_split_species_84.json # List of 84 class names (index = model output index)
└── dinov3_repo/ # DINOv3 source code for torch.hub.load
├── hubconf.py
├── dinov3/
└── ...
from pathlib import Path
from huggingface_hub import hf_hub_download, snapshot_download
import torch
from bci_crown_classifier.models.dinov3_classifier import DinoV3LinearClassifier
HF_REPO = "sulagnasaharasha/bci-crown-model"
ckpt_path = hf_hub_download(HF_REPO, "dinov3-14-0.000.ckpt")
weights_path = hf_hub_download(HF_REPO, "dinov3_vitb16_pretrain_lvd1689m")
repo_dir = snapshot_download(HF_REPO, allow_patterns="dinov3_repo/**")
repo_path = Path(repo_dir) / "dinov3_repo"
model = DinoV3LinearClassifier.load_from_checkpoint(
ckpt_path,
map_location="cpu",
strict=False,
weights_path=weights_path,
repo_path=str(repo_path),
)
model.eval()
See the tutorial notebook in the bci-crown-classifier repository for a full end-to-end inference example.
84 tropical tree species from BCI, Panama. Full list in random_split_species_84.json.
If you use this model, please cite the BCI crown classifier work and the DINOv3 paper:
@misc{dinov3,
title = {DINOv3: Learning Robust Visual Features without Supervision},
author = {Oquab, Maxime and others},
year = {2024},
}