CVAT标注平台导出格式转YOLOv8格式

文章介绍了如何在CVAT平台上处理半自动标注,遇到的YOLO格式导出问题,以及如何将COCO格式中的RLE标注转换为普通像素点格式的过程,包括使用Python脚本进行数据转换和清理无标注图片。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CVAT是一个非常方便的标注平台,可以实现半自动标注,导出的格式也是非常全面,基本的图像检测分割算法需要的标注信息格式它都涵盖。

使用官方的YOLOv8代码正常来说可以直接转成YOLO格式供使用。

但是我这里的YOLO格式导出后txt里面没有标注内容,不知道为什么,因此采用了先转COCO格式,再手动代码转YOLO格式。而在CVAT标注中如果使用了Draw new mask这个按点标注的功能的话,在导出的COCO的Json文件中会出现类似与这种格式

这其实是RLE格式的标注信息,可以使用如下代码转化为普通的segmentation像素点格式。

####RLE格式标签###转化
import numpy as np
import matplotlib.pyplot as plt
rle = [339224, 5, 1, 2, 591, 10, 589, 11, 588, 12, 588, 12, 587, 13, 587, 12, 589, 6, 594, 6, 594, 5, 594, 5, 594, 5, 594, 6, 593, 6, 593, 6, 594, 5, 594, 5, 594, 5, 595, 5, 594, 5, 595, 4, 596, 4, 595, 5, 595, 5, 594, 5, 595, 5, 594, 5, 595, 5, 596, 3, 603986]
assert sum(rle) == 600*1600
M = np.zeros(600*1600)
N = len(rle)
n = 0
val = 1
for pos in range(N):
    val = not val
    for c in range(rle[pos]):
        M[n] = val
        n += 1
# np.savetxt('test.txt',M)
GEMFIELD = M.resha
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值