欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

YOLOv3学习笔记之简单介绍

程序员文章站 2022-03-22 14:26:20
这里写自定义目录标题数据格式YOLOv3网络结构数据格式用于目标检测的数据集有VOC和COCO两种格式:VOC数据格式的目标检测数据,是指每个图像文件对应一个同名的xml文件,xml文件中标记物体框的坐标和类别等信息COCO数据格式的目标检测数据,是指将所有训练图像的标注都存放到一个json文件中,数据以字典嵌套的形式存放。json文件中存放了 info licenses images annotations categories的信息:info中存放标注文件标注时间、版本等信息...

数据格式

用于目标检测的数据集有VOC和COCO两种格式:

VOC数据格式的目标检测数据,是指每个图像文件对应一个同名的xml文件,xml文件中标记物体框的坐标和类别等信息

YOLOv3学习笔记之简单介绍

COCO数据格式的目标检测数据,是指将所有训练图像的标注都存放到一个json文件中,数据以字典嵌套的形式存放。

json文件中存放了 info licenses images annotations categories的信息:

  • info中存放标注文件标注时间、版本等信息

  • licenses中存放数据许可信息

  • images中存放一个list,存放所有图像的图像名,下载地址,图像宽度,图像高度,图像在数据集中的id等信息

  • annotations中存放一个list,存放所有图像的所有物体区域的标注信息,每个目标物体标注以下信息:

 {
    	'area': 899, 
    	'iscrowd': 0, 
        'image_id': 839, 
        'bbox': [114, 126, 31, 29], #左上角坐标,宽高
        'category_id': 0, 'id': 1, 
        'ignore': 0, 
        'segmentation': []
    }

查看json文件,图中是COCO2014数据集中annotation文件夹中的json文件
YOLOv3学习笔记之简单介绍

#查看json文件
# 查看一条数据
import json
coco_anno = json.load(open('../coco2014/annotations/instances_train2014.json'))

# coco_anno.keys
print('\nkeys:', coco_anno.keys())

# 查看类别信息
print('物体类别:', coco_anno['categories'])
# 查看一共多少张图
print('图像数量:', len(coco_anno['images']))
# 查看一共多少个目标物体
print('标注物体数量:', len(coco_anno['annotations']))

print('\n查看一张图像中的信息:')
img=coco_anno['images'][0]
# print('图片信息有:',img.keys())
# 遍历字典列表
for key,values in img.items():
    print(key,':',values)

# 查看一条目标物体标注信息
print('\n查看一条目标物体标注信息:', )
anno=coco_anno['annotations'][0]
print('标注信息有:',anno.keys())
# 遍历字典列表
for key,values in anno.items():
    print(key,':',values)

print('\n查看指定图像中的标注信息:')
ans=[an for an in coco_anno['annotations'] if an['image_id']==57870]
print('id=57870图像中,一共有标注框:',len(ans))
for i in ans:
    print(i['category_id'],i['bbox'])

#id=57870图像中,一共有标注框: 17
#62 [233.29, 270.45, 170.32, 203.36]
#67 [1.02, 279.96, 533.09, 200.04]
#62 [476.76, 261.03, 119.73, 201.71]
#...

在YOLOv3项目中,数据集文件夹如下
YOLOv3学习笔记之简单介绍

YOLOv3网络结构

YOLOv3属于Anchor-Base单步目标检测方法,即由骨干网络提取特征,再有检测网络进行分类与定位pic_center)
YOLOv3学习笔记之简单介绍

本文地址:https://blog.csdn.net/qq_33682559/article/details/109801990