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

时间:2018-11-07 20:33:05

标签: python tensorflow dataset conv-neural-network data-augmentation

我想训练一个CNN,以便使用张量流对任何种类的迹象(主要是实验室和安全标记)进行检测和分类。 虽然我可以使用以下方法为分类训练集收集足够的训练数据: Bing API,我正在努力思考一种解决方案,以为对象检测训练集获取足够的图像。由于这些标记大多数是不公开的,因此我认为我可以将自然场景图像与标记本身的图像进行合成,以获得训练集。有什么办法可以自动做到这一点? 我看过tensorflow数据增强类,但看来它仅提供用于更简单的数据增强任务的功能。

1 个答案:

答案 0 :(得分:0)

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

算法如下:

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

步骤1和步骤2是使用python标准的random模块或numpy完成的。

Step3是使用opencv-python完成的。参见overlay a smaller image on a larger image python OpenCv