QC-SF
Québec Simulated Forest
Dataset
ENCORE

Large-scale

QC-SF provides around 1.7 billions fully annoted point of a virtual boreal forest of Québec region. They were scanned with a virtual airborn LiDAR flying over 65,000 plots of 400m². When added up, they correspond to 20km²

UN COUP

Informative

Each of the 65,000 plots are highly diverse, both in structure and in content. The three main parameters are tree density, species mingling and low vegetation content. We provide classical scan information as well as a detailled segmentation and instance annotations

DE TON ISP

Realistic

Every model used to generate the virtual forest are real, or backed-up by previous litterature : Tree models were scanned with terestrial LiDAR and Ground models are extracted from real airborn LiDAR scans. We carried the LiDAR simulation with the awesome HELIOS++ software.

Download QC-SF Dataset

Compact version (33.1 GB) :
 Each point contain X Y Z intensity speciesClassificiation
Extended version (47.8 GB) :
 Each point contain X Y Z intensity returnNumber numberOfReturn objectInstance SpeciesClassificiation ElementClassificiation

Tasks

QC-SF dataset contain three forest vision tasks :

Tree instance segmentation 🌲

0: Ground
1: tree 1
2: tree 2 ...
n: Low vegetation

Species semantic segmentation 🍂

0: Ground
1: Abies Balsamea
2: Picea Marianna
3: Low vegetation

Element semantic segmentation 🌿

0: Ground
1: Foliage
2: Wood
3: Low vegetation

How to use QC-SF Dataset

Instructions (python 3.8 recommended)

Extract the archive

tar -xvf qc-sf.tar.bz2

Install OSToolBox

pip install ostoolbox

Import OSToolBox

import ostoolbox as ost

Get the path names of .ply files

file_list=ost.getFileBySubstr('path/to/qc-sf','.ply)

Open one .ply file

points=ost.readPly(path/to/file.ply)

Folder architecture

The archive is split in 3 folder: train, validation and test containing respectively 50k, 5k and 10k files.

Each dataset folder follows the same architecture as :

  • test/
  • train/
  • val/
    • td_5/
      • ab_0/
        • 5_0_0.ply
        • 5_0_1.ply
        • 5_0_2.ply
        • ...
      • ab_2/
      • ab_4/
      • ...
    • td_8/
    • td_10/
    • ...

Each .ply file correspond to a plot data saved as little endian binary with following ascii header, for respectively compact and extended versions:

ply
format binary_little_endian 1.0
element vertex 12506
property float32 x
property float32 y
property float32 z
property float32 intensity
property int16 class
end_header
ply
format binary_little_endian 1.0
element vertex 12506
property float32 x
property float32 y
property float32 z
property float32 intensity
property int16 returnNumber
property int16 numberOfReturns
property int16 object
property int16 class
property int16 class_foliage
end_header

Paper

In writting process, hopefully will be published in WACV 2025

Author contact: Olivier Stocker; Images source: icons8.com