【问题标题】:Comparison of HoG with CNNHoG与CNN的比较
【发布时间】:2017-10-23 04:39:49
【问题描述】:

我正在研究用于杂草检测的定向梯度直方图 (HoG) 和卷积神经网络 (CNN) 的比较。我有两个不同杂草的两个数据集。
CNN 架构是 3 层网络。

1) 第一个数据集包含两个类,有 18 张图像。 使用数据增强(旋转、添加噪声、光照变化)增加数据集

使用 CNN,我得到了 77% 的测试准确率,而使用 SVM 的 HoG 测试准确率为 78%。

2) 第二个数据集接触两种不同植物的叶子。 每个类包含 2500 张没有数据增强的图像。

对于这个数据集,我使用 CNN 获得了 94% 的测试准确度,而使用 SVM 的 HoG 测试准确度为 80%。

我的问题是为什么我使用第一个数据集获得了更高的 HoG 准确度? CNN 应该比 HoG 好很多。

我想到的唯一原因是第一个数据只有 18 张图像,与第二个数据集相比,多样性更少。这是正确的吗?

【问题讨论】:

    标签: computer-vision histogram conv-neural-network feature-extraction


    【解决方案1】:

    是的,您的直觉是正确的,拥有这个小数据集(在数据增强之前只有 18 张图像)可能会导致性能下降。一般来说,对于 CNN,您通常需要至少数千张图像。由于正则化(您最有可能使用)以及模型具有的参数数量可能要少得多,SVM 的性能并没有那么差。有很多方法可以规范深度网络,例如,使用您的第一个数据集,您可能想尝试dropout,但我宁愿尝试获取更大的数据集。

    【讨论】:

    • 我已将第二个数据集的结果更新为 80% 而不是 60%。
    • 这是一个很大的变化。你确定你的其他数字是正确的吗?尽管如此,答案仍然成立,很可能是 CNN 中缺乏正则化导致第一个数据集的性能下降。
    • 是的,我已经检查了其他数字并且它是正确的。我在 CNN 架构中添加了 dropout,但性能仍然相同。有一件事,训练准确率是 77%,这是相当低的。这种低准确度意味着什么?
    • 好的,现在您对这两种方法的测试准确度大致相同,这很可能是您使用这几个样本所能获得的最大准确度。鉴于您的 CNN 足够复杂,您可以尝试训练更多迭代。也许这会提高您的测试准确性,但我不希望它不会。如果你真的对自动化这个分类任务感兴趣,你能做的最好的事情就是收集更多的数据。
    猜你喜欢
    • 1970-01-01
    • 2011-09-15
    • 1970-01-01
    • 2021-07-14
    • 2016-10-22
    • 2012-07-12
    • 2014-02-26
    • 2012-05-26
    • 2013-04-12
    相关资源
    最近更新 更多