在caffe中训练数据增强及其多标签

时间:2017-01-03 13:23:14

标签: python deep-learning caffe face-detection keypoint

如何随机裁剪训练图像及其位置标签。

我正在预处理图像数据及其标签以进行咖啡输入。我想在线随机裁剪我的训练图像(当跑步时),我知道caffe在图层random crop中提供随机裁剪参数。问题是我的每个相应图像的标签在变换图像时是变体的。因此,我必须将变换的图像与标签一起更改。我试着长时间搜索我的问题,但没有用。然后我意识到可能有两种方法可以解决这些问题:

  1. 获取原始图像上随机裁剪图像的偏移量。但我用谷歌搜索没有答案。
  2. 我将在线指定随机偏移,然后按特定偏移量crop specific offset裁剪图像。但是如何在caffe训练时产生一个随机数。
  3. 我知道预处理随机裁剪图像并且其标签离线可能是一种可行的方法。但是,它会占用相当大的磁盘空间,因为我的训练数据集太大了。
  4. 我的位置对应标签: 我将每个训练图像分割为10x10=100网格。标签是图像中特定关键点的网格索引。例如,当我的头部关键点位于<2th row, 1th col>图像网格的位置时,标签将为11。

1 个答案:

答案 0 :(得分:0)

您可以使用"Python" layer执行此任务,因为您已pointed out(我认为这是最简单的方法)。 如果您关心此图层的运行时间,可以将其设置为多线程:让图层调用多个线程来裁剪图像并重新计算其标签。这些线程将在后台运行,并且应该能够及时为下一个小批量提供足够的数据。

请参阅Thread类的python threading模块。您可能还会发现使用Queue类同步线程和主输入层很方便。