【问题标题】:Using flipped images for machine learning dataset将翻转图像用于机器学习数据集
【发布时间】:2012-07-31 14:42:03
【问题描述】:

我遇到了一个二元分类问题。我正在尝试训练神经网络从图像中识别对象。目前我有大约 1500 张 50x50 的图像。 问题是通过水平翻转的相同图像扩展我当前的训练集是否是一个好主意? (图像不是对称的)

谢谢

【问题讨论】:

    标签: machine-learning computer-vision


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

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

      我知道在幻灯片(主页)的某处使用翻转图像的利弊方面有一些信息,但我找不到。 http://www.csc.kth.se/utbildning/kth/kurser/DD2427/bik12/DownloadMaterial/FaceLab/Manual.pdf(连同幻灯片)也是一个很好的资源,通过诸如查找不同比例和方向的东西之类的东西。

      【讨论】:

        【解决方案3】:

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

        【讨论】:

          【解决方案4】:

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

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

          【讨论】:

            猜你喜欢
            • 2017-11-08
            • 2018-02-04
            • 2017-04-20
            • 1970-01-01
            • 2019-06-22
            • 2019-03-21
            • 1970-01-01
            • 2016-08-16
            相关资源
            最近更新 更多