Skip to content

GeoscienceAustralia/GA_Floor_Height

Repository files navigation

GA Floor Height Pipeline

Estimate building first-floor heights from panoramas and LiDAR.

The main CLI is fh. The pipeline loads region data into DuckDB, clips LiDAR and imagery per building, estimates FFH, validates against configured ground truth, and can build ensemble range/confidence outputs.

Object detection results

Setup

conda env create -f environment.yml
conda activate floor-heights
python -m pip install -e .

Developer tooling:

python -m pip install pre-commit detect-secrets commitizen

Configuration

Copy .env.example to .env and set the paths you actually use:

cp .env.example .env

Environment variables:

  • AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, AWS_DEFAULT_REGION
  • FH_OUTPUT_ROOT
  • FH_DB_PATH
  • FH_DATA_ROOT
  • FH_REGIONS
  • FH_LIDAR_DATA_ROOT if LiDAR is available locally

Checks:

fh check
fh info

Regions

Configured regions:

  • wagga
  • launceston
  • tweed
  • shepparton

Database Bootstrap

Build the source parquet files and load DuckDB:

fh db pipeline

Database commands:

fh db info
fh db audit

fh download-data is available if you want the AWS helper for ancillary trajectory and tileset files, but the pipeline also supports a pre-arranged FH_DATA_ROOT.

Pipeline

Single stage:

fh stage01 --region wagga
fh stage02a --region wagga
fh stage02b --region wagga
fh stage03 --region wagga
fh stage04a --region wagga
fh stage04b --region wagga
fh stage05 --region wagga
fh stage06 --region wagga
fh stage07 --region wagga
fh stage08
fh stage09a --region wagga

Multiple stages:

fh run 1 2a 2b 3 4a 4b 5 6 7 8 9a -r wagga

CLI:

fh --help
fh stages
fh regions

Stage Summary

Stage Command Purpose
1 fh stage01 Clip LiDAR tiles to building footprints
2a fh stage02a Harvest candidate panorama views
2b fh stage02b Download or link panorama images
3 fh stage03 Clip panoramas to building views
4a fh stage04a Detect building features with YOLO
4b fh stage04b Select the best view with SigLIP scoring
5 fh stage05 Project LiDAR onto facade rasters
6 fh stage06 Estimate ground elevation
7 fh stage07 Estimate first-floor heights
8 fh stage08 Validate against region ground truth
9a fh stage09a Extract LiDAR statistics

Ensemble Model

The ensemble workflow builds FFH range/confidence outputs from the unified DuckDB and the upstream stage outputs.

Config:

  • configs/ensemble_model.yaml

Commands:

fh ensemble-model build-features
fh ensemble-model train
fh ensemble-model predict
fh ensemble-model calibrate
fh ensemble-model validate
fh ensemble-model export

By default the ensemble config trains on shepparton and predicts on wagga, tweed, and launceston.

Utilities

fh qa --help
fh yolo --help
fh config --help

About

CONDITION OF USE: First floor height parameter data that is collected through use of this code must be provided back to Geoscience Australia to update the national first floor height product. This code allows generation of a FFH values from remotely sensed data and machine learning

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages