【问题标题】:should I create json annotation for validation images?我应该为验证图像创建 json 注释吗?
【发布时间】:2019-08-29 12:14:46
【问题描述】:

我正在尝试为我自己的数据集实现掩码 rcnn,但找不到有关包含用于验证的图像的 val 文件夹的注释的任何信息。我使用 Via 2.0.8 为我的训练集创建了 json 注释,这很有意义。但是如果验证图像是稍后要测试的图像,那么为什么要为它们进行注释。如果没有 val 文件夹中的 json 文件,我将无法训练我的模块。

我尝试将用于训练图像的 json 注释复制到验证文件夹。我认为它是工作人员,但这意味着我应该在训练和验证中拥有相同数量的图像,并且名称也相同。

【问题讨论】:

    标签: object-detection faster-rcnn


    【解决方案1】:

    你可以看看this answer。基本上,您需要验证集来验证输出并衡量模型的性能。使用训练集对模型进行训练后,验证集用于衡量模型在准确率、平均精度等方面的表现。这意味着验证集需要与训练集具有相似的标注文件(ground truth) ,以便模型的预测结果可以与您定义的真实结果进行比较。例如,模型对图像进行分割并输出一些结果。然后将此结果与验证集中的注释(预期的正确输出)进行比较,以衡量模型预测的准确性。测试集仅供您测试模型并查看其性能。但是,测试集中没有精确的测量值来计算性能和准确度。

    在分割的情况下,一种流行的度量是dice score,我们需要对其进行注释(在验证集中)来计算。

    【讨论】:

    • 我只有一个训练集和一个验证集。 matterport 没有提到那里的任何测试集。我阅读了你的答案和你链接的答案,这是一个很好的澄清。仍然感到困惑......如果验证集中的图像是相同的图像去训练一个?我正在使用 python 3.7 。我将尝试将验证集分成两组,看看情况如何......谢谢
    • 测试集是可选的。 测试集我的意思是一些新的图像,你可以在上面测试你的模型并查看结果;但没有必要拥有它们。 验证集中的图像应该与训练集中的图像不同。例如,如果您有 1000 张图像,在对所有 1000 张进行注释后,您可以将其中的 500 张作为训练集,将另外 500 张作为验证集。训练完成并定义准确率后,您可以使用一些新图像(1000 张除外)来查看自己的性能(这些新图像称为测试集)。
    • 这就是我一直在寻找的答案。我现在明白了这个概念。我的错误是我没有注释训练集中的图像。现在我注释了训练集,然后用一组从未注释过的测试图像替换了其中的一半。它就像一个魅力感谢一百万。我现在需要研究准确性。任何有关准确性的有用链接将不胜感激。
    • 您可以将模型视为对象检测模型,并使用here 中的常规评估指标。或者更具体的细分评估,还有其他指标解释here
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-09-14
    • 1970-01-01
    • 1970-01-01
    • 2012-02-22
    • 2013-09-07
    • 2013-08-06
    相关资源
    最近更新 更多