This project uses a 4-step pipeline driven by a shared config.json:
- Generate (
Generate.py): Renders synthetic images and COCO annotations topaths.output_base_dir. - Annotate (
Annotate.py): Converts COCO to OBB labels, creates multiple edge/style views, and prepares datasets in white/black splits. - Train (
train.py): Trains YOLO-OBB models for selected styles using dataset paths and training settings. - Benchmark (
Benchmark_Metrics.py): Evaluates trained models on test sets and exports per-class metrics and LaTeX tables.
Only the parameters listed below are read from config.json. All other options remain in-script.
paths.scene_blend_file: Absolute path to the Blender scene.blendfile.paths.category_map_file: Path to the category map JSON for annotation names.paths.output_base_dir: Base directory where generated COCO dataset is written.model.color: Hex color (e.g.,#0f0f13) applied to the imported model.model.model_path: Absolute path to the.stlmodel to import.timing.start_time: Optional epoch start time used for progress reporting. Ifnull, uses current time.timing.initial_count: Baseline image count for generation progress.
Run: blenderproc run /home/reddy/Bachelor_Thesis/Generate.py
paths.output_base_dir: Base dir to read generated COCO data from.paths.dataset_white_dir: Destination root for "white" dataset variant.paths.dataset_black_dir: Destination root for "black" dataset variant.
Run: python /home/reddy/Bachelor_Thesis/Annotate.py
training.model: Style to train (e.g.,control,canny, ...).training.dataset_path: Dataset root used for training.training.model_size: YOLO size key (e.g.,n,s,m).training.epochs: Number of epochs.training.imgsz: Image size.training.patience: Early stopping patience.training.batch: Batch size.training.project_suffix: Suffix segment for the output training directory name.training.yolo_config_pattern: Pattern for model cfg, e.g.,yolo11{size}-obb.yaml.training.yolo_weights_pattern: Pattern for pretrained weights, e.g.,yolo11{size}.pt.
Run: python /home/reddy/Bachelor_Thesis/train.py
paths.test_sets_dir: Root folder containing test sets (withimages/,labels/,data.yaml).paths.trains_base_dir: Base directory of trained model runs (used to locateweights/best.pt).paths.benchmarks_base_dir: Base directory to write benchmark outputs and LaTeX.
Run: python /home/reddy/Bachelor_Thesis/Benchmark_Metrics.py