|
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" |
|
|