{"id":19349371,"url":"https://github.com/koldim2001/coco_to_yolov8","last_synced_at":"2025-04-23T06:30:52.517Z","repository":{"id":217301859,"uuid":"743525345","full_name":"Koldim2001/COCO_to_YOLOv8","owner":"Koldim2001","description":"Получение из COCO разметки (CVAT) разметку для YOLOv8-seg (инстанс сегментация) и YOLOv8-obb (детекция повернутых боксов)","archived":false,"fork":false,"pushed_at":"2024-03-17T18:25:35.000Z","size":47,"stargazers_count":48,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"main","last_synced_at":"2024-03-17T19:33:39.968Z","etag":null,"topics":["coco","coco-format-annotations","coco-format-converter","coco-to-yolo","cvat","oriented-bounding-box","yolov8","yolov8-obb","yolov8-seg","yolov8-segmentation"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Koldim2001.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-01-15T12:27:44.000Z","updated_at":"2024-04-15T14:10:10.862Z","dependencies_parsed_at":"2024-02-22T08:31:51.190Z","dependency_job_id":"79b39eda-11cf-4bc5-99b6-be2e90a00d80","html_url":"https://github.com/Koldim2001/COCO_to_YOLOv8","commit_stats":null,"previous_names":["koldim2001/coco_to_yolov8"],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koldim2001%2FCOCO_to_YOLOv8","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koldim2001%2FCOCO_to_YOLOv8/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koldim2001%2FCOCO_to_YOLOv8/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Koldim2001%2FCOCO_to_YOLOv8/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Koldim2001","download_url":"https://codeload.github.com/Koldim2001/COCO_to_YOLOv8/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":250384745,"owners_count":21421786,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["coco","coco-format-annotations","coco-format-converter","coco-to-yolo","cvat","oriented-bounding-box","yolov8","yolov8-obb","yolov8-seg","yolov8-segmentation"],"created_at":"2024-11-10T04:25:57.897Z","updated_at":"2025-04-23T06:30:52.507Z","avatar_url":"https://github.com/Koldim2001.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"#  COCO to YOLO converter for instance segmentation (YOLOv8-seg) and oriented bounding box detection (YOLOv8-obb)\n\nThe repository allows converting annotations in COCO format to a format compatible with training YOLOv8-seg models (instance segmentation) and YOLOv8-obb models (rotated bounding box detection).\n\nKey usage of the repository -\u003e handling annotated **polygons** (or **rotated rectangles** in the case of YOLOv8-obb) exported from the CVAT application in COCO 1.0 format (with the save images mode set to True).\n\nIf you use it without CVAT, make sure that your COCO dataset folder has the following structure:\n\n```\nCOCO_dataset/\n|-- annotations/\n|   |-- instances_train.json\n|   |-- instances_val.json\n|-- images/\n|   |-- image1.jpg\n|   |-- image2.jpg\n|   |-- ...\n```\nPS: For the instance segmentation task, Ultralytics YOLO12-seg, YOLO11-seg, YOLOv9-seg and YOLOv5-seg models are also supported (since they have similar annotation format to v8).\n\n\n## Installation:\n```\ngit clone https://github.com/Koldim2001/COCO_to_YOLOv8.git\n\ncd COCO_to_YOLOv8\n\npip install -r requirements.txt\n```\n\n\n## How to run the code:\n\n__Classic approach with pre-defined train/val/test split from CVAT (Tasks have a defined Subset in CVAT):__\n```\npython coco_to_yolo.py --coco_dataset=\"dataset_folder\"\n```\n__Option with automatic split into train and val:__\n\n```\npython coco_to_yolo.py --coco_dataset=\"dataset_folder\" --autosplit=True --percent_val=30\n```\n\nList of parameters with explanations that can be passed to the program before running it in the command line interface (CLI):\n\n```\n  --coco_dataset TEXT   Folder with COCO 1.0 format dataset (can be exported\n                        from CVAT). Default is \"COCO_dataset\"\n\n  --yolo_dataset TEXT   Folder with the resulting YOLOv8 format dataset.\n                        Default is \"YOLO_dataset\"\n\n  --print_info BOOLEAN  Enable/Disable processing log output mode. Default is\n                        disabled\n\n  --autosplit BOOLEAN   Enable/Disable automatic split into train/val. Default\n                        is disabled (uses the CVAT annotations)\n\n  --percent_val FLOAT   Percentage of data for validation when using\n                        autosplit=True. Default is 25%\n\n  --help                Show existing options for parsing arguments in the CLI\n\n```\n\n\n\u003cbr/\u003e\n\n---\n\n---\n\u003cbr/\u003e\n\n# Russian Version of README:\n\nРепозиторий позволяет преобразовать разметку формата COCO в формат, поддерживаемый для обучения моделей YOLOv8-seg (инстанс сегментация) и YOLOv8-obb (детекция повернутых боксов).\n\nКлючевое применение репозитория -\u003e работа с выгруженной разметкой **полигонов** (или **повернутых прямоугольников** в случае с YOLOv8-obb) из приложения CVAT в формате COCO 1.0 (с указанием режима save images = True).\n\nЕсли же используете без CVAT, то убедитесь перед запуском, что ваша папка с COCO датасетом имеет такую структуру:\n```\nCOCO_dataset/\n|-- annotations/\n|   |-- instances_train.json\n|   |-- instances_val.json\n|-- images/\n|   |-- image1.jpg\n|   |-- image2.jpg\n|   |-- ...\n```\nPS: Для задчи инстанс сегментации имеется также поддержка моделей Ultralytics YOLO12-seg, YOLO11-seg, YOLOv9-seg и YOLOv5-seg и других (так как у них аналогичная разметка с версией v8)\n\n## Примеры использования:\n\nПример использования репозитория для задачи ***YOLOv8-seg*** представлен в видео на YouTube - [__ССЫЛКА__](https://www.youtube.com/watch?v=FF3mIWF0vFs\u0026t=6s?t=34m49s) \u003cbr/\u003e\nПример использования репозитория для задачи ***YOLOv8-obb*** представлен в видео на YouTube - [__ССЫЛКА__](https://www.youtube.com/watch?v=CZ_kZlto3IY\u0026t=920s?t=20m2s)\n\n## Установка:\n```\ngit clone https://github.com/Koldim2001/COCO_to_YOLOv8.git\n\ncd COCO_to_YOLOv8\n\npip install -r requirements.txt\n```\n\n## Как запускать код:\n\n__Классический подход c предустановленным в CVAT разделением на train/val/test (у тасок определен Subset):__\n```\npython coco_to_yolo.py --coco_dataset=\"dataset_folder\" --lang_ru=True\n```\n__Вариант с авторазделением на train и val:__\n\n```\npython coco_to_yolo.py --coco_dataset=\"dataset_folder\" --autosplit=True --percent_val=30 --lang_ru=True\n```\n\nСписок параметров с пояснениями, которые можно передать на вход программы перед ее запуском в cli:\n```bash\n  --coco_dataset TEXT   Папка с датасетом формата COCO 1.0 (можно выгрузить из\n                        CVAT). По умолчанию \"COCO_dataset\"\n\n  --yolo_dataset TEXT   Папка с итоговым датасетом формата YOLOv8. По\n                        умолчанию \"YOLO_dataset\"\n\n  --print_info BOOLEAN  Вкл/Выкл режима вывода логов обработки. По умолчанию\n                        отключен\n\n  --autosplit BOOLEAN   Вкл/Выкл режима автоматического разделения на\n                        train/val. По умолчанию отключен (берет согласно\n                        разметке CVAT)\n\n  --percent_val FLOAT   Процент данных на валидацию при выборе режима\n                        autosplit=True. По умолчанию 25%\n\n  --lang_ru BOOLEAN     Устанавливает русский язык комментариев, если выбрано \n                        значение True. По умолчанию английский \n\n  --help                Покажет существующие варианты парсинга аргументов в CLI\n  ```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoldim2001%2Fcoco_to_yolov8","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkoldim2001%2Fcoco_to_yolov8","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkoldim2001%2Fcoco_to_yolov8/lists"}