coco数据集的理解

该博客介绍了COCO数据集的下载、内容和使用,包括训练和验证图像集、图像路径文件、标签文件的格式。重点解析了标签文件中的人工标注框格式,以及如何将归一化的标注框还原并绘制到图像上,以供YOLO等目标检测模型训练使用。归一化标注框有助于提高检测精度。
摘要由CSDN通过智能技术生成

coco数据集的理解(人工标准框绘制)

一键式下载:https://github.com/pjreddie/darknet/tree/master/scripts/get_coco_dataset.sh,然后在Linux环境下运行.sh文件。

1. coco数据集下载地址

(1) 图像集下载地址

训练图像集:https://pjreddie.com/media/files/train2014.zip

验证图像集:https://pjreddie.com/media/files/val2014.zip

(2) 图像路径文件下载地址

所有训练图像路径的文件:https://pjreddie.com/media/files/coco/trainvalno5k.part

所有验证图像路径的文件:https://pjreddie.com/media/files/coco/5k.part

(3) 标签文件下载地址

人工标注的标签文件(包括训练与验证):https://pjreddie.com/media/files/coco/labels.tgz

2. 图像集内容

(1) 训练集图像内容。其中包括82783张不同尺寸的图像,图像文件命名为:COCO_train2014_xxxxx.jpg。

(2) 验证集图像内容。包括40504张不同尺寸的图像,文件命名格式:COCO_val2014_xxx.jpg

3. 图像路径文件内容

4. 标签文件内容

标签文件中内容:人工标注框与类别。训练与验证标签目录下的txt文件名称,同训练与验证图像集目录下的jpg文件名称一一对应。即下图中COCO_train2014_000000000009.txt与训练图像集COCO_train2014_000000000009.jpg对应。同理验证集相同。

5. 标签文件txt的理解

(1) 标签格式:如下所示,每一列数据表示一个类别代号与人工标注框,存储的格式为[class_num,box_cx,box_cy,box_w,box_h],标注框的坐标是归一化后的数据,即像素单位的[box_cx,box_cy,box_w,box_h]除以整个图像的宽高[W,H]。

(2) 还原标签并绘图

import numpy as np
import cv2
import matplotlib.pyplot as plt

from PIL import Image


'''人工标注框的还原'''

# 加载coco类别名称
def load_classes(path):
    fp = open(path, "r")
    names = fp.read().split("\n")[:-1]
    return names

classes = load_classes('data/coco.names')

# 数据类型:[cls_index, cx, cy, w, h]
boxes = np.loadtxt('E:/DataSets/COCO/labels/train2014/COCO_train2014_000000001926.txt').reshape(-1,5)

img_path = 'E:/DataSets/COCO/images/train2014/COCO_train2014_000000001926.jpg'
image = np.array(Image.open(img_path).convert('RGB'), dtype=np.uint8)

# 人工标注框的绘制 [cx,cy,w,h]
h, w, _ = image.shape
boxes[:,[1,3]] = boxes[:,[1,3]]*w
boxes[:,[2,4]] = boxes[:,[2,4]]*h

for box in boxes:
    p1 = box[1:3] - box[3:5]/2
    p1 = p1.astype(int)
    p2 = box[1:3] + box[3:5]/2
    p2 = p2.astype(int)
    print(p1,p2) # box
    print(classes[int(box[0])]) # class_name
    cv2.rectangle(image, tuple(p1), tuple(p2),(255,0,0),1)
    # arg:图像,标签,坐标,标签字体,字体大小,字体颜色,字体厚度
    cv2.putText(image,classes[int(box[0])],tuple(p1),cv2.FONT_HERSHEY_SIMPLEX,0.35,(255,0,0),0)


plt.figure(figsize=(25,15))
plt.imshow(image)

运行结果:

(3) 人工标注框归一化的作用:供yolo训练使用,有助于提高检测的精度等。

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: minicoco数据集是一个常用的计算机视觉数据集,用于目标检测和场景理解的研究。该数据集是在COCO数据集的基础上进行了裁剪和压缩,以便于在资源有限的设备上使用。 minicoco数据集包含了一系列图像,每个图像都有对应的标注信息。这些标注信息包括对象类别、边界和语义分割掩码。通过对这些图像进行标注,可以用于训练和评估目标检测模型和语义分割模型。 minicoco数据集的特点之一是其相对较小的规模。相比于原始的COCO数据集,minicoco数据集包含的图像数量更少,从而减少了数据集的存储和处理成本。这使得minicoco数据集成为在计算资源有限的情况下进行研究和开发的理想选择。 此外,minicoco数据集在保留了目标检测和语义分割任务所需的标注信息的同时,也可以较好地满足一些特定研究领域的需要。例如,在一些特定的目标检测任务中,只需要勾画出对象的大致边界,而不需要详细的像素级标注。minicoco数据集可以根据具体的需求进行裁剪和定制,以满足不同研究任务的要求。 综上所述,minicoco数据集是一个经过裁剪和压缩的计算机视觉数据集,用于目标检测和场景理解的研究。其规模较小,适合在资源有限的设备上使用,并可以根据需求进行定制。 ### 回答2: minicoco数据集是一个用于计算机视觉领域的图像数据集。它是COCO数据集的一个缩小版本,包含了COCO数据集的一部分图像和标注信息。 minicoco数据集主要用于研究和开发图像识别、目标检测和语义分割等任务。它包含了多个类别的物体图像,每个图像都有对应的标注信息,包括物体的边界、类别标签和物体的分割掩码。 使用minicoco数据集,可以进行许多计算机视觉任务的研究和开发。例如,可以使用这个数据集来训练图像识别模型,使其能够准确地识别出图像中的物体。还可以利用minicoco数据集进行目标检测的研究,通过检测和定位感兴趣的物体。此外,还可以使用分割掩码信息,对图像中的物体进行像素级别的语义分割。 minicoco数据集相对于完整的COCO数据集而言,其规模较小,因此在计算资源和存储空间有限的情况下使用更加方便。同时,其包含的图像和标注信息仍然具有代表性,可以作为一个良好的基准测试集。 总之,minicoco数据集是一个用于计算机视觉领域的缩小的COCO数据集,可用于图像识别、目标检测和语义分割等任务的研究和开发。它提供了一组图像和标注信息,方便研究人员在计算资源有限的情况下进行实验和算法的验证。 ### 回答3: minicoco数据集是一个用于计算机视觉任务的图像数据集。它是基于COCO数据集的一个精简版,旨在提供一个更小规模但包含多种物体类别和场景的数据集,以便于进行算法开发和测试。 minicoco数据集包含了1000张图像,以及这些图像中出现的80个物体类别的标注信息。这些物体类别涵盖了常见的人类、动物、交通工具、家具等物体。每个图像中可能包含多个物体,因此每个物体都有相应的边界标注,以及类别标签。 除了包含物体类别和边界信息外,minicoco数据集还提供了其他一些有用的注释信息,例如实例分割掩码和关键点标注。通过这些注释信息,研究人员可以开展更复杂的计算机视觉任务,如目标检测、实例分割和关键点检测等。 minicoco数据集的提供可以大大简化计算机视觉算法的开发过程,因为它规模较小、标注较全面,同时又保留了COCO数据集中丰富多样的物体类别和场景。研究人员可以利用minicoco数据集进行算法验证、调试和快速原型开发,从而更高效地推动计算机视觉领域的研究和应用。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值