【问题标题】:How to speed up data augmentation of images如何加快图像的数据增强
【发布时间】:2018-07-15 19:02:26
【问题描述】:

我正在 python 中使用 opencv2 进行数据增强。我使用的数据集包含大约 4000 张 96x96 单通道图像。

我正在应用一系列平移和缩放的仿射变换,使用 cv2.warpAffine。但是我注意到,随着代码遍历数据集,过程变得越来越慢。下面的旋转变换代码 - 我在每张图像上调用它。

def augment_rotation(depth):
augment_rotate = []
rows,cols = depth.shape
for i in range(-180,181):
    M = cv2.getRotationMatrix2D(((cols-1)/2.0,(rows-1)/2.0),i,1)
    augment_rotate.append(cv2.warpAffine(depth,M,(cols,rows)))
return augment_rotate

这不仅限于我的计算机,因为我在其他计算机上尝试过并且遇到了同样的问题。知道如何解决这个问题或让它更快,这样我就不必等待数小时来执行增强了吗?

【问题讨论】:

  • 您是否将增强后的图像存储到本地硬盘?
  • 是的,增强后的图像是在图像增强后腌制的

标签: python opencv computer-vision


【解决方案1】:

我遇到了 joblib 库内置 python。它是为此目的而设计的。根据the documentationjoblib 帮助使用后端的multiprocessing 库并行执行循环。

文档说明了一个数字示例,用于对一系列数字并行执行简单的数学运算。我能够将此功能扩展到处理图像。作为示例演示,我选择在我的桌面上执行所有图像的加权总和withwithout joblib

事实证明,对于 14 张集体大小为 58Mb 的图像,我得到了以下结果:

('Using Joblib : ', 0.09400010108947754)
('Without Joblib : ', 15.386000156402588)

Here is the write-up for the answer I wrote recently。我相信你也可以用它来增强!

试试看,告诉我它是如何工作的!

【讨论】:

    猜你喜欢
    • 2019-10-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-11
    • 2020-05-01
    • 1970-01-01
    • 2019-02-06
    • 1970-01-01
    相关资源
    最近更新 更多