Command line utilities

Download + preprocess data

Data downloading + preprocessing (EPSG:3857 - Web Mercator)

Prepare the data for the local and Cesium Ion processing.

usage: python scripts/preprocess_data.py [-h] [-dataDownload]
                                         dataset [dataset ...]

Positional Arguments

dataset

Name of the dataset

Named Arguments

-dataDownload

Download the data. If true, CSV file must exists. If false, data folder must exist

Default: False

Data downloading + preprocessing (EPSG:2056 - swiss coordinate system)r

Please refer to this page for data preprocessing steps.

We provide a quick demo dataset for you to explore and reproduce the workflow using an open-sourced geodata database. The provided EPFL and comballaz assets are respectively used to produce the urbanscape and naturescape sets in our CrossLoc Benchmark Datasets.

Please note that there is no strictly standardized data preprocessing steps, and it is out of the scope of this repo.

Process data

Tasks to do before running this processing :

  • having run the Data downloading + preprocessing

  • having uploaded the points clouds and and digital surface model on Cesium Ion

  • having referenced the token and AssetID into the config file

usage: python scripts/start_generate.py [-h] [-p P]
                                        [-matchPhantom MATCHPHANTOM]
                                        [-prepare] [-movefiles]
                                        [-startindex STARTINDEX [STARTINDEX ...]]
                                        [-stopindex STOPINDEX [STOPINDEX ...]]
                                        [-nproc NPROC] [-gpumode {0,1,multi}]
                                        [-restart] [-force_cuda]
                                        [-cesiumhome CESIUMHOME]
                                        name [name ...] scene_name
                                        [scene_name ...]

Positional Arguments

name

Custom name of dataset(s) to generate. If several names are used, datasets need to be prepared beforehand.

scene_name

Name of the underlying scene assets to use. It must be consistent with the pre-processed data.

Named Arguments

-p

Preset file name (to generate brand new LHS poses)

-matchPhantom

Provide a directory of real photos from DJI Phantom 4 to be matched

-prepare

Use this flag to only prepare datasets generation without actually starting

Default: False

-movefiles

Move files from Download folder to dataset directory

Default: False

-startindex

Start generation at specific index instead of 0

-stopindex

Stop generation at specific index instead of going to the end

-nproc

Define number of processes to launch in parallel

Default: 1

-gpumode

Possible choices: 0, 1, multi

Select the gpu to use. If nproc > 1, ‘multi’ will send half of the processes to each GPU and use different firefox profiles. Note that for a new profile, webgl.force-enabled might have to be enabled on firefox about:config

Default: “0”

-restart

Use this flag to force restart jobs (if not set, it will try to continue from last time)

Default: False

-force_cuda

To forcecully enable cuda feature to speed up rendering.

Default: False

-cesiumhome

Location of Cesium datasets home directory

Default: “/home/docs/Documents/Cesium”

Create rasters final products

Create the different products (scene coordiantes, Semantics map, Euclidean depth, Surface normals, ORB keypoints).

usage: python scripts/export_data.py [-h] [--pose_dir POSE_DIR [POSE_DIR ...]]
                                     [--out_dir OUT_DIR [OUT_DIR ...]]

Named Arguments

--pose_dir

Path of the synthetic folder

--out_dir

Path of the output rasters