Above-Ground Biomass (AGB) Estimation Model for Northeast India
Model Description
This is an XGBoost Regressor trained to estimate Above-Ground Biomass (AGB) density (tonnes/ha) across Northeast India.
The model integrates optical and radar satellite data to predict biomass in diverse landscapes, ranging from dense forests to agricultural fields and urban areas. It leverages the synergy between Sentinel-1 (SAR) texture metrics and Sentinel-2 (Optical) vegetation indices.
- Region: Northeast India.
- Time Period: 2022.
- Target Variable: Above-Ground Biomass (AGB) in t/ha.
- Input Data: Sentinel-1, Sentinel-2, SRTM Topography.
- Training Samples: ~10,000 samples.
- Training Performance:
- R² = 0.7303 (Test Set).
- RMSE = 48.11 tonnes/ha.
Intended Use
- Carbon Stock Assessment: Converting AGB (t/ha) to Carbon Stock (tC/ha) using the 0.47 conversion factor.
- Forest Monitoring: Tracking biomass density changes over time.
- REDD+ Reporting: Supporting regional carbon inventory baselines.
Feature Inputs (19 Columns)
To use this model, your input dataframe must contain these 19 columns in this exact order:
| Category | Features |
|---|---|
| Location | latitude, longitude |
| Sentinel-1 (Radar) | VV, VH, VH_ent, VH_var |
| Sentinel-2 (Optical) | B2, B3, B4, B5, B6, B7, B8, B11, B12 |
| Indices | NDVI, NDVI_sigma |
| Terrain | elevation, slope |
How to Use
import xgboost as xgb
from huggingface_hub import hf_hub_download
import pandas as pd
# 1. Download Model
model_path = hf_hub_download(
repo_id="mona0125/agb-biomass-estimation-ne-india",
filename="agb_estimation_model_ne_india.json"
)
# 2. Load Model
model = xgb.XGBRegressor()
model.load_model(model_path)
# 3. Predict (Example Data - Single Pixel)
data = pd.DataFrame({
'latitude': [27.1], 'longitude': [93.5],
'VV': [-8.2], 'VH': [-14.5], 'VH_ent': [18.5], 'VH_var': [5.2],
'B2': [0.03], 'B3': [0.05], 'B4': [0.04], 'B5': [0.09],
'B6': [0.18], 'B7': [0.21], 'B8': [0.24], 'B11': [0.15], 'B12': [0.07],
'NDVI': [0.75], 'NDVI_sigma': [0.02],
'elevation': [400], 'slope': [12.5]
})
# Predict Biomass
agb_pred = model.predict(data)[0]
print(f"Predicted Biomass: {agb_pred:.2f} t/ha")
# Calculate Carbon
carbon_stock = agb_pred * 0.47
print(f"Estimated Carbon: {carbon_stock:.2f} tC/ha")