将翻转图像用于机器学习数据集



我遇到了一个二进制分类问题。我正试图训练一个神经网络来识别图像中的物体。目前我有大约1500张50x50的图片。问题是,用水平翻转的相同图像来扩展我当前的训练集是否是个好主意?(图像不是对称的)

感谢

我认为您可以在更大程度上做到这一点,不仅可以水平翻转图像,还可以将图像的角度更改1度。这将为训练集中的每个实例生成360个样本。根据你的算法的速度,这可能是一个很好的方法,可以确保算法不仅被训练来识别图像及其镜像。

这可能是个好主意,但话说回来,我不知道图像识别的目标或领域是什么。假设图像包含字符,并且您要求图像识别软件确定图像是否包含正斜杠/或反斜杠,那么翻转图像将使您的训练数据变得无用。如果你的域名没有遇到这样的问题,那么我认为翻转它们,甚至不同程度地旋转是个好主意。

我在AdaBoost中使用了翻转图像,在课程中取得了巨大成功:http://www.csc.kth.se/utbildning/kth/kurser/DD2427/bik12/Schedule.php来自zip"TrainingImages.tar.gz"。

我知道在幻灯片的某个地方(主页上)有一些关于使用翻转图像的利弊信息,但我找不到http://www.csc.kth.se/utbildning/kth/kurser/DD2427/bik12/DownloadMaterial/FaceLab/Manual.pdf(和幻灯片一起)经历一些事情,比如在不同的尺度和方向上寻找东西。

如果图像补丁不是对称的,我认为翻转不是一个好主意。更好的想法是对有一些限制的训练集进行一些相似性转换。增加数据集的另一种方法是添加高斯平滑模板。确保正样本和负样本的数量成比例。太多的阳性和太少的阴性可能会使分类器偏斜,并在测试集上给出糟糕的性能。

这取决于你的神经网络基于什么。如果你提取旋转不变的特征或不依赖于图像中空间位置的特征(如直方图或其他),并用这些特征训练你的神经网,那么旋转不是一个好主意。

如果你直接训练像素值,那么这可能是个好主意。更多的细节可能会有用。

最新更新