NEON Tree Genus Classification - RESNET18
A resnet18 model trained for tree genus classification on the NEON Tree Crown Dataset. This model is designed for integration with DeepForest as a CropModel.
Model Details
- Architecture: resnet18
- Task: Tree genus classification
- Classes: 60 genus classes
- Input size: 224x224 RGB images
- Normalization: ImageNet (mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
- Dataset: NEON Tree Crown Dataset (~48,000 tree crowns from 30 NEON sites)
Usage with DeepForest
from deepforest import CropModel
# Load model
model = CropModel.load_model("ritesh313/neon-tree-resnet18-genus")
# Use with DeepForest predictions
# (after running detection with main DeepForest model)
results = model.predict(image_crops)
Direct PyTorch Usage
import torch
from safetensors.torch import load_file
from torchvision import transforms
# Load model weights
state_dict = load_file("model.safetensors")
# Load config for label mapping
import json
with open("config.json") as f:
config = json.load(f)
# Create your model architecture and load weights
# model.load_state_dict(state_dict)
# Preprocessing
preprocess = transforms.Compose([
transforms.Resize((224, 224)),
transforms.ToTensor(),
transforms.Normalize(mean=[0.485, 0.456, 0.406], std=[0.229, 0.224, 0.225])
])
Training Details
- Framework: PyTorch Lightning
- Optimizer: AdamW
- Learning Rate: 1e-3
- Scheduler: ReduceLROnPlateau
- Data Split: 70/15/15 (train/val/test)
- Seed: 42
Dataset
The model was trained on the NEON Tree Crown Dataset, which includes:
- 47,971 individual tree crowns
- 167 species / 60 genera
- 30 NEON sites across North America
- Multi-modal data: RGB, Hyperspectral, LiDAR (this model uses RGB only)
Citation
If you use this model, please cite:
@software{neontreeclassification,
author = {Chowdhry, Ritesh},
title = {NeonTreeClassification: Multi-modal Tree Species Classification},
url = {https://github.com/Ritesh313/NeonTreeClassification},
year = {2026}
}
License
MIT License
- Downloads last month
- 11