|
|
from dataclasses import dataclass
|
|
|
from typing import Optional, Any, Dict
|
|
|
from pathlib import Path
|
|
|
|
|
|
@dataclass
|
|
|
class AugmentationConfiguration:
|
|
|
gaussian_noise: dict
|
|
|
brightness_contrast: dict
|
|
|
|
|
|
enabled: bool = False
|
|
|
brightness: float = 0.5
|
|
|
contrast: float = 0.5
|
|
|
saturation: float = 0.5
|
|
|
hue: float = 0.5
|
|
|
random_resized_crop: Any = False
|
|
|
random_flip: float = 0.5
|
|
|
|
|
|
|
|
|
@dataclass(kw_only=True)
|
|
|
class DataConfiguration:
|
|
|
augmentations: AugmentationConfiguration
|
|
|
|
|
|
loading: Dict[str, Dict[str, Any]]
|
|
|
|
|
|
target_focal_length: Optional[int] = None
|
|
|
reduce_fov: Optional[bool] = None
|
|
|
resize_image: Optional[Any] = None
|
|
|
pad_to_square: Optional[bool] = None
|
|
|
pad_to_multiple: Optional[int] = None
|
|
|
gravity_align: Optional[bool] = None
|
|
|
rectify_pitch: Optional[bool] = True
|
|
|
num_classes: int
|
|
|
|
|
|
name: str
|
|
|
seed: Optional[int] = 0
|
|
|
random: Optional[bool] = True
|
|
|
num_threads: Optional[int] = None
|
|
|
|
|
|
@dataclass(kw_only=True)
|
|
|
class MIADataConfiguration(DataConfiguration):
|
|
|
|
|
|
scenes: list[str]
|
|
|
split: Any
|
|
|
data_dir: Path
|
|
|
pixel_per_meter: int
|
|
|
crop_size_meters: int
|
|
|
|
|
|
name: str = "mapillary"
|
|
|
filter_for: Optional[str] = None
|
|
|
filter_by_ground_angle: Optional[float] = None
|
|
|
min_num_points: int = 0
|
|
|
|
|
|
@dataclass(kw_only=True)
|
|
|
class KITTIDataConfiguration(DataConfiguration):
|
|
|
seam_root_dir: Path
|
|
|
dataset_root_dir: Path
|
|
|
bev_percentage: float
|
|
|
|
|
|
pixel_per_meter: int
|
|
|
crop_size_meters: int
|
|
|
|
|
|
class_mapping: Optional[Any] = None
|
|
|
percentage: float = 1.0
|
|
|
|
|
|
@dataclass(kw_only=True)
|
|
|
class NuScenesDataConfiguration(DataConfiguration):
|
|
|
data_dir: Path
|
|
|
map_dir: Path
|
|
|
pixel_per_meter: int
|
|
|
crop_size_meters: int
|
|
|
|
|
|
percentage: float = 1.0
|
|
|
class_mapping: Optional[Any] = None
|
|
|
version: str = "v1.0-trainval"
|
|
|
|