separate pipeline

This commit is contained in:
chk
2026-06-03 19:49:07 +02:00
parent 6d4a61f4d5
commit 222f0e55f7
30 changed files with 5579 additions and 15 deletions

View File

@@ -14,6 +14,7 @@ Funktionales Äquivalent zu run/run_pipeline.bat:
Aufruf:
python pipeline/run_pipeline.py data/simulation/Scene8
python pipeline/run_pipeline.py data/simulation/Scene8 --robot data/robot/robot.json
python pipeline/run_pipeline.py data/simulation/Scene8 --cameras a,c,f
Im Container (Pipeline-Image) ist das der Standard-Einstiegspunkt.
"""
@@ -51,6 +52,8 @@ def main() -> None:
ap.add_argument("--robot", default=os.environ.get("ROBOT_JSON", str(ROOT / "data" / "robot" / "robot.json")))
ap.add_argument("--evalDir", default=None, help="Ausgabeordner (Default: data/evaluations/<SceneName>)")
ap.add_argument("--lambdaWeight", default="100.0")
ap.add_argument("--cameras", default=None,
help="Kommagetrennte Kamera-IDs, z.B. a,b,d (Standard: alle)")
args = ap.parse_args()
scene = Path(args.scene).resolve()
@@ -59,10 +62,14 @@ def main() -> None:
robot = args.robot
imgs = sorted(glob.glob(str(scene / "render_*.png")))
if args.cameras:
wanted = set(args.cameras.split(","))
imgs = [img for img in imgs if cam_id_of(img) in wanted]
if not imgs:
print(f"[ERROR] keine render_*.png in {scene}")
print(f"[ERROR] keine passenden render_*.png in {scene}")
sys.exit(1)
print(f"[INFO] Scene={scene.name} Bilder={len(imgs)} -> {eval_dir}")
cam_ids = [cam_id_of(i) for i in imgs]
print(f"[INFO] Scene={scene.name} Kameras={cam_ids} -> {eval_dir}")
# ── Schritt 1: ArUco-Detektion (pro Bild seine EIGENE npz) ──
print("\n[STEP 1] ArUco-Detektion")