首页 飞桨领航团 帖子详情
AI达人训练营|第二课数据获取与处理
收藏
快速回复
飞桨领航团 文章AI达人创造营 317 0
AI达人训练营|第二课数据获取与处理
收藏
快速回复
飞桨领航团 文章AI达人创造营 317 0

课程目的
数据的获取途径 数据处理与标注 数据预处理方法 模型训练评估

一、数据集的获取

1.1 Kaggle有趣比较火热的数据集1.2 天池1.3 DataFountain1.4 其他常用的数据集官网1.5完整流程图概述

二、数据处理

2.1 官方数据处理成VOC或者COCO

        2.1.1COCO2017数据集介绍
   COCO数据集是Microsoft制作收集用于Detection + Segmentation + Localization + Captioning的数据集,作者收集了其2017年的版本,一共有25G左右的图片和600M左右的标签文件。 COCO数据集共有小类80个,
大类12个。

VOC与COCO简介

COCO格式,文件夹路径样式:

COCO_2017/
├── val2017 # 总的验证集
├── train2017 # 总的训练集
├── annotations # COCO标注
│ ├── instances_train2017.json # object instances(目标实例) ---目标实例的训练集标注
│ ├── instances_val2017.json # object instances(目标实例) ---目标实例的验证集标注
│ ├── person_keypoints_train2017.json # object keypoints(目标上的关键点) ---关键点检测的训练集标注
│ ├── person_keypoints_val2017.json # object keypoints(目标上的关键点) ---关键点检测的验证集标注
│ ├── captions_train2017.json # image captions(看图说话) ---看图说话的训练集标注
│ ├── captions_val2017.json # image captions(看图说话) ---看图说话的验证集标注

VOC格式,文件夹路径样式:

VOC_2017/
├── Annotations # 每张图片相关的标注信息,xml格式
├── ImageSets
│ ├── Main # 各个类别所在图片的文件名
├── JPEGImages # 包括训练验证测试用到的所有图片
├── label_list.txt # 标签的类别数
├── train_val.txt #训练集
├── val.txt # 验证集

2.1.2 Object Keypoint 类型的标注格式
{
"info": info,
"licenses": [license],
"images": [image],
"annotations": [annotation],
"categories": [category]
}

   其中,info、licenses、images这三个结构体/类型,在不同的JSON文件中这三个类型是一样的,定义是共享的(object instances(目标实例), object keypoints(目标上的关键点), image captions(看图说话))。不共享的是annotation和category这两种结构体,他们在不同类型的JSON文件中是不一样的。 新增的keypoints是一个长度为3 X k的数组,其中k是category中keypoints的总数量。每一个keypoint是一个长度为3的数组,第一和第二个元素分别是x和y坐标值,第三个元素是个标志位v,v为0时表示这个关键点没有标注(这种情况下x=y=v=0),v为1时表示这个关键点标注了但是不可见(被遮挡了),v为2时表示这个关键点标注了同时也可见。 um_keypoints表示这个目标上被标注的关键点的数量(v>0),比较小的目标上可能就无法标注关键点。

2.1.3 categories字段
   最后,对于每一个category结构体,相比Object Instance中的category新增了2个额外的字段,keypoints是一个长度为k的数组,包含了每个关键点的名字;skeleton定义了各个关键点之间的连接性(比如人的左手腕和左肘就是连接的,但是左手腕和右手腕就不是)。 目前,COCO的keypoints只标注了person category (分类为人)。

{
"id": int,
"name": str,
"supercategory": str,
"keypoints": [str],
"skeleton": [edge]
}

2.1.4 数据集统计信息

2.2 自定义数据集进行训练

三、数据处理方法
3.1 图像的本质

我们常见的图片其实分为两种,一种叫位图,另一种叫做矢量图

位图的特点:由像素点定义一放大会糊 文件体积较大 色彩表现丰富逼真

矢量图的特点:超矢量定义 放太不模糊 文件体积较小 表现力差

3.2 为什么要做这些数据增强
   是因为很多深度学习的模型复杂度太高了,且在数据量少的情况下,比较容易造成过拟合(通俗来说就是训练的这个模型它太沉浸在这个训练样本当中的一些特质上面了),表现为的这个模型呢受到了很多无关因素的影响。 所得出的结果就是在没有看到过的样本上对它做出预测呢就表现的不太好。

四、模型训练与评估

4.1 比对实验4.2 拓展介绍mAP

五、模型推理预测

使用模型进行预测,同时使用pdx.det.visualize将结果可视化,可视化结果将保存到work/PaddleDetection/output/PPYOLO/vdl_log下,载入模型推理保存图片至work/PaddleDetection/output/PPYOLO/img下。

六、总结
  本次课程主要为大家介绍了数据集获取,以及数据标注、数据划分、数据增强处理方法和简单的口罩检测实现,及其用数据增强和不用数据增强的对比实验,体现了数据增强在AI学习中的重要性。

0
收藏
回复
在@后输入用户全名并按空格结束,可艾特全站任一用户