panlabel 0.2 is out. It's a CLI tool (and Rust library) for converting between different dataset annotation formats. Now also available via Homebrew.

The origin story is pretty mundane: I hit one too many bounding box bugs caused by format inconsistencies and decided someone should just build a Pandoc equivalent for annotation data.

What it does:

→ Convert between annotation formats (focusing on object detection first, but segmentation and classification coming soon)

→ Validate your datasets
→ Generate statistics
→ Semantic diff between dataset versions
→ Create random or stratified subsets

There are a ridiculous number of object detection formats out there, and each one has its own quirks about how it handles bounding boxes, coordinates, or class mappings. I'm working through them slowly, format by format.

Not going to change the world, but it might save someone a few hours of debugging coordinate transforms or prevent silent data corruption between tools.

Full roadmap and install instructions in the repo. If you work with annotated datasets and have hit similar pain points, would be curious to hear what formats or features would be most useful.

GitHub - strickvl/panlabel: Universal annotation converter

Universal annotation converter. Contribute to strickvl/panlabel development by creating an account on GitHub.

GitHub