自动制作用于cnn训练的合成图像

Automatically make a composite image for cnn training

我想使用 tensorflow 训练 CNN 来检测和class化任何类型的标志(主要是实验室和安全标记)。 虽然我可以为 classification 训练集收集足够的训练数据,例如使用Bing API,我正在努力思考一个解决方案来为对象检测训练集获取足够的图像。由于这些标记大多 public 不可用,我想我可以将自然场景图像与标记本身的图像合成,以获得训练集。有什么办法可以自动做到这一点? 我查看了 tensorflow 数据增强 class,但它似乎只提供更简单的数据增强任务的功能。

您可以使用 OpenCV 作为预处理。

算法如下:

  1. 随机选择自然场景图像和标志图像的组合。
  2. 自然场景图片中粘贴标志图片的随机位置样本。
  3. 在该位置粘贴标志图像。
  4. 获取粘贴的图像和位置作为训练数据的一部分。

第 1 步和第 2 步使用 python 标准 random 模块或 numpy.

完成

第三步是用opencv-python完成的。请参阅 将较小的图像叠加在较大的图像上 python OpenCv .