弄浪的鱼

数据增强

在实际工作中有很大一个难题就是收集到足够的数据,而数据就像是燃料,没有足够的数据训练的模型效果不会太好。所以要保证完美完成任务,有两件事必须要做好:

  1. 寻找更多的数据
  2. 充分利用已有的数据进行数据增强

本文就来聊聊数据增强的话题。

覆盖主流数据增强算法

https://github.com/aleju/imgaug

数据增强注意事项:

  1. 在线使用,不要离线生产样本
  2. 不要过度使用,过多的数据增强可能增加训练难度和事件
  3. 有些任务某些增强不能做,比如姿态估计中随机反转,旋转

ImageNet

ImageNet 是李飞飞实验室主导的一个项目,目标是构建一个计算机视觉研究的大型数据库,关键词从 WordNet 中选取.完整的 ImageNet 数据集有 1400 多万幅图片,涵盖 2 万多个类别的标注与超过百万的边界狂标注,每一个类别大概是 500~1000 张图片,标注采用亚马逊的众包平台,这个平台之后被用于构建各种数据集。

2009年CVPR会议室李飞飞实验室正式发布了 ImageNet,此后从2010年到2017年共举办了8届 Large Scale Visual Recognition Challenge,即为人熟知的 yILSVRC比赛,包括图像分类,目标检测,目标定位单元。

数据集地址: http://www.image-net.org/.

TensorFlow2.0

本文介绍如何使用 TensorFlow2.0 实现前向传播,先介绍用 TensorFlow 普通的 API 来实现前向传播,将会介绍:如何加载数据集,如何完成参数初始化和构建前向传播网络,如何计算 accuracy.

由于神经网络的训练流程大同小异,就可以使用 tf.keras 封装的 API 来简化模型训练和测试的流程.本文第二部分将会介绍如何使用 tf.keras 来定义神经网络以及优化器,如何用tf.keras.metrics来计算 accuracy 和 loss.