旋转图像以减少训练图像数量

我正在训练一个用于TensorFlow的对象检测模型。检测的对象是一堆不同的卡片,每张卡片上面都有不同的图案。

由于它们都是普通卡片,用户可以将其以任何角度(360度)放在桌子上,这意味着我需要标记用户可能放置在桌子上的各个角度的图像并进行训练。

这看起来是一项繁重的工作。我想知道是否有任何工具可以帮我完成?例如,我提供一个特定角度的标记图像,它可以自动旋转并为所有其他角度标记?

另一方面,有没有OpenCV的方法可以预处理图像以校正图片中卡片的方向?这样我只需要训练特定方向的图像即可。


回答:

我假设您使用的是TensorFlow对象检测API,它们在训练时的配置文件中提供了数据增强选项。

data_augmentation_options { random_rotation90 {      probability: 0.5    }  }

旋转限制在90度,但还有缩放和翻转选项(以及更多)。您可以在这里查看选项列表 这里

如果您正在寻找离线选项,在训练前处理图像,我推荐aleju/imgaug包。它会处理您的图像并生成新的边界框坐标。

Related Posts

L1-L2正则化的不同系数

我想对网络的权重同时应用L1和L2正则化。然而,我找不…

使用scikit-learn的无监督方法将列表分类成不同组别,有没有办法?

我有一系列实例,每个实例都有一份列表,代表它所遵循的不…

f1_score metric in lightgbm

我想使用自定义指标f1_score来训练一个lgb模型…

通过相关系数矩阵进行特征选择

我在测试不同的算法时,如逻辑回归、高斯朴素贝叶斯、随机…

可以将机器学习库用于流式输入和输出吗?

已关闭。此问题需要更加聚焦。目前不接受回答。 想要改进…

在TensorFlow中,queue.dequeue_up_to()方法的用途是什么?

我对这个方法感到非常困惑,特别是当我发现这个令人费解的…

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注