"Hack The Carbon" hackathon challenged participants to use ML and open-source satellite imagery to accurately estimate Above-Ground Biomass in African forests. The goal is to generate high-resolution biomass maps that support carbon accounting, conservation, and REDD+ reporting. Submissions were judged on the accuracy, scalability, and clarity.
# Model Description
**Hack The Carbon ππ±** was an instadeep project that intended to build a machine learning model to estimate forest Above-Ground Biomass (AGB) across Africa efficiently and accurately. African forests are key carbon sinks, but deforestation and degradation can turn them into carbon sources. Using **open-source multispectral satellite imagery** and **ESA CCI biomass data**, the model I built for this project (ranked first and awarded $2500) provided high-resolution (30 m) biomass estimates to support carbon accounting, REDD+ reporting, and conservation policy.
# Intended Use
The models are designed to:
- Enable accurate **carbon monitoring** and reporting.
- Support **policy-making and forest conservation** efforts.
- Detect **spatio-temporal changes** in biomass.
- (Optional) Provide **uncertainty estimates** for policy-grade decisions.
This project is ideal for **remote sensing specialists, data scientists, and climate advocates** aiming to track forest health and support climate solutions.
# Biomass Inference with Docker
This repository provides a Dockerized solution to run biomass inference on satellite image chips using a trained U-Net model.
---
## Project Main Structure
```
./JuliusFx131/
βββ Dockerfile
βββ requirements.txt
βββ app.py
βββ .dockerignore
βββ unet_weights.pth # Your trained model file
```
---
## 1οΈβ£ Build the Docker Image
```bash
docker build --no-cache -t biomass-inference .
```
> `--no-cache` ensures a fresh build. Omit it for faster rebuilds after the first build.
---
## 2οΈβ£ Run Inference
### Windows (PowerShell)
```powershell
docker run --rm -it `
-v "D:\ZINDI\hack-the-carbon\test\chips:/input_chips" `
-v "C:\Users\PC\Downloads\Julius Fx\unet_weights.pth:/app/model_weights.pth:ro" `
-v "D:\predictions:/output" `
juliusfx/biomass-inference:latest `
python app.py `
--chips_dir /input_chips `
--model_weights /app/model_weights.pth `
--output_dir /output
```
### Linux / macOS (bash)
```bash
docker run --rm β¦