Skip to content

Commit 81030bc

Browse files
authored
Add new yolo formats is (#23)
* Mention support for up to YOLOv11 in docs * Update links in readme to hosted docs * Add support for YOLOv9 - 11
1 parent d63c72d commit 81030bc

File tree

7 files changed

+79
-13
lines changed

7 files changed

+79
-13
lines changed

README.md

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -19,18 +19,21 @@ and time-consuming. Labelformat aims to solve this pain.
1919
#### Supported Tasks and Formats
2020

2121
- object-detection
22-
- [COCO](https://cocodataset.org/#format-data)
23-
- [KITTI](https://github.com/bostondiditeam/kitti/blob/master/resources/devkit_object/readme.txt)
24-
- [Lightly](https://docs.lightly.ai/docs/prediction-format#prediction-format)
25-
- [PascalVOC](http://host.robots.ox.ac.uk/pascal/VOC/voc2012/index.html#devkit)
26-
- [YOLOv5](https://github.com/ultralytics/yolov5)
27-
- [YOLOv6](https://github.com/meituan/YOLOv6)
28-
- [YOLOv7](https://github.com/WongKinYiu/yolov7)
29-
- [YOLOv8](https://docs.ultralytics.com/datasets/detect/)
30-
- [Labelbox](https://docs.labelbox.com/reference/label-export) (input only)
22+
- [COCO](https://labelformat.com/formats/object-detection/coco/)
23+
- [KITTI](https://labelformat.com/formats/object-detection/kitti/)
24+
- [Labelbox](https://labelformat.com/formats/object-detection/labelbox/) (input only)
25+
- [Lightly](https://labelformat.com/formats/object-detection/lightly/)
26+
- [PascalVOC](https://labelformat.com/formats/object-detection/pascalvoc/)
27+
- [YOLOv5](https://labelformat.com/formats/object-detection/yolov5/)
28+
- [YOLOv6](https://labelformat.com/formats/object-detection/yolov6/)
29+
- [YOLOv7](https://labelformat.com/formats/object-detection/yolov7/)
30+
- [YOLOv8](https://labelformat.com/formats/object-detection/yolov8/)
31+
- [YOLOv9](https://labelformat.com/formats/object-detection/yolov9/)
32+
- [YOLOv10](https://labelformat.com/formats/object-detection/yolov10/)
33+
- [YOLOv11](https://labelformat.com/formats/object-detection/yolov11/)
3134
- instance-segmentation
32-
- [COCO](https://cocodataset.org/#format-data)
33-
- [YOLOv8](https://docs.ultralytics.com/datasets/segment/)
35+
- COCO
36+
- YOLOv8
3437

3538
#### Features
3639

docs/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Welcome to **Labelformat**—an open-source tool designed to effortlessly conver
88

99
## Why Choose Labelformat?
1010

11-
- **Comprehensive Format Support:** Convert seamlessly between formats like COCO, YOLOv5-8, PascalVOC, KITTI, and more.
11+
- **Comprehensive Format Support:** Convert seamlessly between formats like COCO, YOLOv5-11, PascalVOC, KITTI, and more.
1212
- **Ease of Use:** Intuitive CLI and Python API for flexible integration into your workflows.
1313
- **Efficiency:** Memory-conscious processing ensures optimal performance, even with large datasets.
1414
- **Reliability:** Thoroughly tested with round-trip tests to maintain label consistency.

src/labelformat/cli/cli.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ def main() -> None:
2121
The CLI interface is available as the `labelformat` command.
2222
2323
Supported label formats for object detection:
24-
- YOLOv5, YOLOv6, YOLOv7, YOLOv8
24+
- YOLOv5, YOLOv6, YOLOv7, YOLOv8, YOLOv9, YOLOv10, YOLOv11
2525
- COCO
2626
- VOC
2727
- Labelbox

src/labelformat/formats/__init__.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,3 +35,15 @@
3535
YOLOv8ObjectDetectionInput,
3636
YOLOv8ObjectDetectionOutput,
3737
)
38+
from labelformat.formats.yolov9 import (
39+
YOLOv9ObjectDetectionInput,
40+
YOLOv9ObjectDetectionOutput,
41+
)
42+
from labelformat.formats.yolov10 import (
43+
YOLOv10ObjectDetectionInput,
44+
YOLOv10ObjectDetectionOutput,
45+
)
46+
from labelformat.formats.yolov11 import (
47+
YOLOv11ObjectDetectionInput,
48+
YOLOv11ObjectDetectionOutput,
49+
)

src/labelformat/formats/yolov10.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from labelformat.cli.registry import Task, cli_register
2+
3+
from .yolov8 import YOLOv8ObjectDetectionInput, YOLOv8ObjectDetectionOutput
4+
5+
"""
6+
YOLOv10 format follows the same specs as YOLOv8.
7+
"""
8+
9+
10+
@cli_register(format="yolov10", task=Task.OBJECT_DETECTION)
11+
class YOLOv10ObjectDetectionInput(YOLOv8ObjectDetectionInput):
12+
pass
13+
14+
15+
@cli_register(format="yolov10", task=Task.OBJECT_DETECTION)
16+
class YOLOv10ObjectDetectionOutput(YOLOv8ObjectDetectionOutput):
17+
pass

src/labelformat/formats/yolov11.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from labelformat.cli.registry import Task, cli_register
2+
3+
from .yolov8 import YOLOv8ObjectDetectionInput, YOLOv8ObjectDetectionOutput
4+
5+
"""
6+
YOLOv11 format follows the same specs as YOLOv8.
7+
"""
8+
9+
10+
@cli_register(format="yolov11", task=Task.OBJECT_DETECTION)
11+
class YOLOv11ObjectDetectionInput(YOLOv8ObjectDetectionInput):
12+
pass
13+
14+
15+
@cli_register(format="yolov11", task=Task.OBJECT_DETECTION)
16+
class YOLOv11ObjectDetectionOutput(YOLOv8ObjectDetectionOutput):
17+
pass

src/labelformat/formats/yolov9.py

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
from labelformat.cli.registry import Task, cli_register
2+
3+
from .yolov8 import YOLOv8ObjectDetectionInput, YOLOv8ObjectDetectionOutput
4+
5+
"""
6+
YOLOv9 format follows the same specs as YOLOv8.
7+
"""
8+
9+
10+
@cli_register(format="yolov9", task=Task.OBJECT_DETECTION)
11+
class YOLOv9ObjectDetectionInput(YOLOv8ObjectDetectionInput):
12+
pass
13+
14+
15+
@cli_register(format="yolov9", task=Task.OBJECT_DETECTION)
16+
class YOLOv9ObjectDetectionOutput(YOLOv8ObjectDetectionOutput):
17+
pass

0 commit comments

Comments
 (0)