File size: 1,081 Bytes
729628a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#!/usr/bin/env python3
"""Run SAM-based 3D auto-labeling on a fused sequence."""

import argparse
from pathlib import Path

from sensorflow.perception_automator import PerceptionAutomator
from sensorflow.schemas.unified_frame import UnifiedSequence


def main():
    parser = argparse.ArgumentParser(description="3D auto-labeling with SAM")
    parser.add_argument("--manifest", required=True)
    parser.add_argument("--sam-checkpoint", default="models/sam_vit_b.pth")
    parser.add_argument("--device", default="cpu")
    parser.add_argument("--no-sam", action="store_true")
    args = parser.parse_args()

    manifest_path = Path(args.manifest)
    sequence = UnifiedSequence.load(manifest_path)
    output_dir = manifest_path.parent / "proposals"

    automator = PerceptionAutomator(
        sam_checkpoint=args.sam_checkpoint,
        device=args.device,
        use_sam=not args.no_sam,
    )
    proposals = automator.run_sequence(sequence, output_dir)
    print(f"Generated proposals for {len(proposals)} frames -> {output_dir}")


if __name__ == "__main__":
    main()