-
Notifications
You must be signed in to change notification settings - Fork 51
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Added config and hyperparameter files
- Loading branch information
Showing
3 changed files
with
119 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,65 @@ | ||
# General ------------------------------------ | ||
## Deployment ------------ | ||
horizontal_field_of_view: [ -179.9, 179.9 ] # Always this for rotating LiDAR sensors | ||
|
||
## Preprocessing --------- | ||
### Neighborhood estimation | ||
min_num_points_in_neighborhood_to_determine_point_class: 10 # neighborhood below this threshold --> no normal computed | ||
epsilon_plane: 0.01 # 1e-2, this is the epsilon value when eigenvalues are considered to describe a plane | ||
epsilon_line: 0.01 # 1e-2, -"- to describe a line | ||
epsilon_range: 0.5 # Epsilon when points are removed from patch used for normal estimation | ||
|
||
# KITTI -------------------------------------- | ||
kitti: # must be the same as dataset name specified in deployment_options.yaml | ||
## Deployment -------- | ||
### Training/testing configuration | ||
training_identifiers: [ 0 , 1, 2, 3, 4, 5, 6, 7, 8 ] | ||
testing_identifiers: [ 9, 10 ] | ||
### Sensor specs | ||
vertical_field_of_view: [ -24.5, 2.0 ] # taken from the datasheet, in degrees | ||
vertical_cells: 64 # Number of LiDAR rings | ||
horizontal_cells: 720 # Can be defined, should not be larger than horizontal resolution of LiDAR | ||
### Pre-processed file | ||
preprocessed_path: "./datasets/kitti/preprocessed/sequences" | ||
### Ground-truth poses | ||
pose_data_path: "./datasets/kitti/data_odometry_poses/dataset/poses" | ||
|
||
## Pre-processing ---- | ||
### Dataset type, currently supported: "kitti" and "rosbag" | ||
dataset_type: "kitti" | ||
### Specific configurations needed for pre-processing | ||
horizontal_cells_preprocessing: 2250 # Calculated from 10Hz frequency of LiDAR | ||
### Preprocessing hyperparameters | ||
neighborhood_side_length: [ 7, 11 ] # Patch dimensions used for normal estimation | ||
### Source files (before pre-processing) | ||
data_path: "./datasets/kitti/data_odometry_velodyne/dataset/sequences" # Path to dataset | ||
rosbag_path: "./datasets/kitti/rosbags/" # Only needed when converted to rosbag | ||
|
||
# DARPA -------------------------------------- | ||
darpa: | ||
## Deployment -------- | ||
### Training/testing configuration | ||
training_identifiers: [ 0 ] | ||
testing_identifiers: [ 0 ] | ||
### Sensor specs | ||
vertical_field_of_view: [ -22.5, 22.5 ] | ||
vertical_cells: 64 | ||
horizontal_cells: 512 | ||
### Pre-processed file | ||
preprocessed_path: "./datasets/darpa/preprocessed/sequences" | ||
### Ground-truth poses | ||
pose_data_path: null | ||
|
||
## Pre-processing ---- | ||
### Dataset type, currently supported: "kitti" and "rosbag" | ||
dataset_type: "rosbag" | ||
topic: "/sherman/lidar_points" | ||
### Specific configurations needed for pre-processing | ||
horizontal_cells_preprocessing: 512 | ||
### Preprocessing hyperparameters | ||
neighborhood_side_length: [ 7, 11 ] | ||
### Source files (before pre-processing) | ||
data_path: "./datasets/darpa" | ||
|
||
# Custom dataset | ||
custom: # etc. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,21 @@ | ||
# Dataset | ||
## Selection | ||
datasets: ["kitti"] # Can contain multiple datasets, e.g. ["darpa", "kitti"] | ||
mode: "training" # Valid options: "training" and "testing", will also be set by training/testing scripts | ||
experiment: "trainings_experiments_1" | ||
|
||
# System information | ||
device: "cuda" # "cuda", "cpu", if multiple GPUs: select cuda device via CUDA_VISIBLE_DEVICES=... | ||
store_dataset_in_RAM: False # If false, each scan and normal file will be read from disk | ||
# For KITTI requires approximately 50GB RAM/SWAP | ||
num_dataloader_workers: 0 # default: 0 | ||
|
||
## Comfort options | ||
unsupervised_at_start: False # if False, it starts to train supervised in the first epoch (Identity matching) | ||
inference_only: True # During testing, it does not compute any losses, during training: no impact | ||
log_normals: True | ||
visualize_images: True | ||
visualize_single_img_preprocessing: False | ||
|
||
## Performance options | ||
use_jit: False # Only thoroughly tested for inference |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,33 @@ | ||
# Training Parameters ------------------------------- | ||
## Loss Computation | ||
batch_size: 1 # batch_size > 1 currently only supported if single image dims are used (vertical and horizontal cells) | ||
# In general: larger batches currently implemented rather primitively | ||
learning_rate: 0.00001 #1e-5 | ||
lambda_po2pl: 1.0 # 10.0 | ||
## Network training options | ||
use_dropout: False | ||
## Data Augmentation | ||
random_point_cloud_rotations: False # Data augmentation by rotating point cloud during training | ||
random_rotations_only_yaw: False # If set to true, and random_point_cloud_rotations set to true --> rotations only about yaw axis | ||
magnitude_random_rot: 4.0 # in degrees | ||
## Loss Functions | ||
normal_loss: "squared" # "squared" or "linear" | ||
rotation_losses_only_plane_to_plane: False | ||
point_to_point_loss: False | ||
point_to_plane_loss: True | ||
plane_to_plane_loss: True | ||
po2po_alone: False | ||
|
||
# Network Parameters --------------------------------- | ||
## Data Format | ||
normalization_scaling: False # If set to true --> lambda_po2pl should be increased | ||
## Model parameters | ||
###############num_input_channels: 8 # No impact yet | ||
activation_fct: "tanh" # "tanh" or "relu" | ||
resnet_outputs: 1000 # Output of the resnet, then fed into the rot/trans fully connected networks | ||
###############conv_size: [3, 5] # No impact yet | ||
pre_feature_extraction: False # Additional feature extraction layers before concatenation of input | ||
layers: [ 2, 2, 2, 2 ] # 4 down-sampling steps, num resnet blocks (2 layers each) per down-sampling (2 here) | ||
# [ 1, 1, 1, 1 ] e.g. results in half as many layers | ||
factor_fewer_resnet_channels: 1 # 4 leads to approximately 15 times fewer weights | ||
use_single_mlp_at_output: False # Single big MLP at output |