深度学习数据处理(数据获取、整理以及数据增强)

文章目录

  • 一、数据获取
    • 1. 图片数据集
    • 2. 行人数据集
  • 二、数据整理
    • 1. 统一格式
    • 2. 错误数据清除
    • 3. 相似图去重
    • 4. 数据预处理
    • 5. 数据标注
  • 三、数据增强
    • 1. 数据增强定义
    • 2. 有监督的数据增强
      • (1)单样本数据增强
      • (2)多样本数据增强(以插值、混淆的方式)
    • 3. 无监督的数据增强

一、数据获取

  • 公开数据集
    MNIST ImageNet
  • 自建数据集
    • 爬虫
      图片爬虫(ImageDownloader)
      视频爬虫 ((Annie)[https://github.com/iawia002/annie ])
    • 数据采集(摄像头采集,数据众包)

1. 图片数据集

(1)MNIST 图像处理领域的"Hello,World!"
(2)CIFAR10 60000张图 10类物体
CIFAR100 60000张图 100类物体
(3)ImageNET1400万图片,2万多个标注,数百万标注框
(4)Microsoft COCO328000图像和250万个LABEL

更难,更加详细的标注,更为丰富的前景以及背景

2. 行人数据集

二、数据整理

1. 统一格式

图片格式统一:bmp,jpg,png
名字格式统一
图片格式统一代码:

import os
import cv2
import sys

def listfiles(rootDir):
    list_dirs=os.walk(rootDir)  #os.walk遍历目录地址, 返回的是一个三元组(root,dirs,files)
    for root,dirs,files in list_dirs:
        for d in dirs:
            print(os.path.join(root,d)) # 把目录和文件名合成一个路径
        for f in files:
            fileid=f.split('.')[0]
            filepath=os.path.join(root,f)
            try:
                src=cv2.imread(filepath,1)
                print("src=",filepath,src.shape)
                os.remove(filepath)
                cv2.imwrite(os.path.join(root,fileid+".jpg"),src)
            except:
                os.remove(filepath)
                continue
listfiles(sys.argv[1]) # 获取命令行的第一个参数

2. 错误数据清除

对于图片数据需要调用opencv的函数

3. 相似图去重

  • 基于Hash函数的去重方法:适合连续视频帧 图片重复的场景
    python-Levenshtein包
  • sudo pip install python-Levenshtein

4. 数据预处理

5. 数据标注

  • Labelme
    • 类别
    • 边框
    • 轮廓
      深度学习数据处理(数据获取、整理以及数据增强)_第1张图片
  • 标注任务结果
    • 分割
    • 分类

三、数据增强

1. 数据增强定义

从有限的数据产生无限的数据变化,数据增强是隐式的正则化方法,可以提高模型的泛化能力

深度学习数据处理(数据获取、整理以及数据增强)_第2张图片
深度学习数据处理(数据获取、整理以及数据增强)_第3张图片

2. 有监督的数据增强

(1)单样本数据增强

  • 颜色变换:
    对颜色的数据增强:
    Color Jittering:图像亮度、饱和度、对比度的变化
    Noise:高斯噪声、模糊处理、颜色扰动
  • 几何变换:
    翻转、旋转、裁剪、缩放,
    平移变换(Shift)
  • PCA Jettering:首先按照RGB三颜色通道,计算均值以及标准差,再在整个训练集上计算协方差矩阵,进行特征分解,得到特征值以及特征向量。

(2)多样本数据增强(以插值、混淆的方式)

Lablel Shuffle:用于类别不平衡数据的增广
SMOT
Sample Pairing
Mixup

3. 无监督的数据增强

  • GAN(对抗生成网络)
  • 增强规则学习:学习已有的数据增强操作,不同的任务采用不同的数据增强形式

你可能感兴趣的:(深度学习)