Skip to content

Latest commit

 

History

History

analysis_3d

analysis_3d

It provides a framework to developers in AWML to add analyses for 3D annotations in T4dataset easily. With this framework, developers don't need to generate any info files or rewrite their data loading for the dataset. They only need to follow AnalysisCallbackInterface to add the analyses they are interested in.

Summary

  • Support priority: Tier B
  • Supported dataset
    • T4dataset
    • [] NuScenes
  • Other supported feature
    • Distribution of categories
    • Distribution of attributes in each category
    • Distribution of sizes/orientation
    • Add unit tests

Get started

1. Setup

docker run -it --rm --gpus all --shm-size=64g --name awml -p 6006:6006 -v $PWD/:/workspace -v $PWD/data:/workspace/data autoware-ml

2. Analysis

2.1. Dataset analysis

Make sure the dataset follows the T4dataset format, note that it doesn't need any info file

# T4dataset (base)
python tools/analysis_3d/run.py --config_path autoware_ml/configs/detection3d/dataset/t4dataset/base.py --data_root_path data/t4dataset/ --out_dir data/t4dataset/analyses/

For developer

  1. Add a new analysis to inherit AnalysisCallbackInterface as a callback, and implement run(), for example, tools/analysis_3d/callbacks/category_attribute.py
  2. Import the new analysis in AnalysisRunner, and add them to the list of analysis_callbacks, for example,
self.analysis_callbacks: List[AnalysisCallbackInterface] = [
    ...
    CategoryAttributeAnalysisCallback(
                out_path=self.out_path,
                category_name='bicycle',
                analysis_dir='remapping_bicycle_attr',
                remapping_classes=self.remapping_classes),
    # This is the new CategoryAttributeAnalysisCallback
    CategoryAttributeAnalysisCallback(
      out_path=self.out_path,
      category_name='vehicle.bus',
      analysis_dir='vehicle_bus_attr'
    ),
]

References