Darkflow: 如何评估测试集的准确性?

创建于 2018-03-05  ·  34评论  ·  资料来源: thtrieu/darkflow

一种方法是计算“平均平均精度:mAP”。
但是我不知道在darkflow 中实现了这个功能。
您对哪个暗网存储库或人员编写了脚本来执行此操作有任何建议吗?

最有用的评论

没有人以前做过吗?
没有人测试他们的准确性吗?
我不知道为什么这么重要的东西还没有实现。
如果没有,也许我需要自己实现这个功能并永远提交它。

所有34条评论

https://github.com/thtrieu/darkflow/blob/master/darkflow/utils/box.py具有评估或计算两个图像之间重叠所需的基本实现。 您可以根据需要修改它,并将平均精度计算为类和 box_iou 概率的乘积

没有人以前做过吗?
没有人测试他们的准确性吗?
我不知道为什么这么重要的东西还没有实现。
如果没有,也许我需要自己实现这个功能并永远提交它。

我也会对这个功能感兴趣。

@off99555 ,我看到这个人在研究 F1 分数。

377

你好@off99555 ,我也在从我自己的测试数据中寻找计算 mAP。
我认为@sandeeprepakula有一个很好的答案,你能一步一步解释如何从 iou box 计算 mAP 吗? 我在深度学习和对象检测方面非常菜鸟

谢谢你的帮助

@andikira我还没做过。 我也不确定。

你好@off99555 ,你必须看到这个 repo https://github.com/Cartucho/mAP然后看到额外的文件夹,你可以转换 .xml 和 .json 文件,这个 repo 可以完美地与 darkflow 配合使用。

@andikira @thtrieu我在 PASCAL V0C 0712 trainval 集上训练了 yolo2-voc 网络并在 PASCAL VOC 2007 测试集上进行了测试,考虑到我初始化,mAP 性能只有 52% 左右(经过相当多的 epoch (200~))它具有预训练的权重)。 它远低于官方性能(76.8% mAP)。 我想在我的论文中包含使用 YOLO v2 的实验结果。 有谁知道原因吗?

我以前见过这个问题,请检查另一个问题@bareblackfoot

@andikira mAP回购非常有效。 我也在那里贡献了一个脚本。 谢谢!

你是否可以

@andikira mAP回购非常有效。 我也在那里贡献了一个脚本。 谢谢!

你能更具体地解释一下吗? 它是如何工作的 ? 你是怎么得到结果的?

@srhtyldz转到https://github.com/Cartucho/mAP网站并转到快速入门部分。
这个想法是你需要克隆 repo,使用 darkflow 预测你的图像,然后将预测文件复制到 mAP 文件夹中。 还要复制地面实况文件。
并且您按照mAP repo 的 README 文件建议执行所有操作,您应该将mAP视为单个数字输出。

您还需要将文件从暗流格式转换为它们的格式。 他们在这里提供了将暗流格式转换为其格式的脚本: https :
阅读自述文件。

您还需要将文件从暗流格式转换为它们的格式。 他们在这里提供了将暗流格式转换为其格式的脚本: https :
阅读自述文件。

我发现暗网有地图属性。你试过了吗? 它们之间有区别还是哪个更准确?

@srhtyldz我认为算法是一样的。 除了mAP是一种算法,您可以设置一些参数。 通常,这是由算法的作者手动设置的。 因此,只有当它们具有不同的参数时,您才会看到它们报告不同的数字。
我建议您阅读mAP工作原理的说明,以便您了解其隐藏参数。
我试过他们两个。 我在论文中使用了darknet ,因为darkflow没有指定输出文件夹的选项。 这对我的高级项目至关重要,因为我在FloydHub上运行代码,这是一个深度学习云,只允许您使用某些文件夹。

首先我使用darkflowmAP然后我后来发现我不能指定输出路径,所以我切换到darknet并使用它的内部mAP计算.

最重要的是, darknet repo 的所有者(AlexeyAB 作为所有者的 fork 版本)的所有者非常有帮助。 他回答了我发布的所有问题,这些问题使我在截止日期前完成。 当时压力很大。 我非常感谢他,我还在论文中写下了他的名字。

首先我使用darkflowmAP然后我后来发现我不能指定输出路径,所以我切换到darknet并使用它的内部mAP计算.

您要指定哪个变量?

首先我使用darkflowmAP然后我后来发现我不能指定输出路径,所以我切换到darknet并使用它的内部mAP计算.

我的观点也适用于暗网。我认为您只能通过计算 mAP 来切换阈值? 对 ?

您要指定哪个变量?

@srhtyldz在大约半年前的darkflow ,当我开始这个线程时,不允许我指定输出文件夹路径。 输出文件夹路径是写入预测图像的路径。
如果我没记错的话,输出文件夹设置为数据集文件夹内的out文件夹。
例如,如果您在img/有一些图像,则预测将在img/out/
FloydHub ,它们不允许您将输出写入数据集文件夹。 因此,如果数据集文件夹是img/ ,则不能将新文件夹创建为img/out因为您会遇到权限被拒绝的情况。

也许它现在允许您指定输出路径,但您必须检查。 我不确定。

我的观点也适用于暗网。我认为您只能通过计算 mAP 来切换阈值? 对 ?

如果我没记错的话, mAP有一个作者需要定义的参数。 您决定是否正确预测图像是从 0 到 1 的阈值。 通常,这设置为 0.5。 因此,如果面积比超过 0.5,则表示图像正确。
之后,您还必须定义Average Precision 。 要细化平均值,您需要找出有多少精度。 事实证明,您还可以定义精度数。 通常,精度数设置为11以便您可以将它们从 0, 0.1, 0.2, ..., 0.9, 1.0 排列起来。

我不确定我在说什么。 因为我已经忘记了大部分。 你必须学习它以确保我是对的。 但我很确定0.511的数字。 我只是不知道他们叫什么。

附注。 我回去找到我的论文幻灯片(当我知道 mAP 是什么意思时),这是我当时的描述:
image

image

您要指定哪个变量?

@srhtyldz在大约半年前的darkflow ,当我开始这个线程时,不允许我指定输出文件夹路径。 输出文件夹路径是写入预测图像的路径。
如果我没记错的话,输出文件夹设置为数据集文件夹内的out文件夹。
例如,如果您在img/有一些图像,则预测将在img/out/
FloydHub ,它们不允许您将输出写入数据集文件夹。 因此,如果数据集文件夹是img/ ,则不能将新文件夹创建为img/out因为您会遇到权限被拒绝的情况。

也许它现在允许您指定输出路径,但您必须检查。 我不确定。

我的观点也适用于暗网。我认为您只能通过计算 mAP 来切换阈值? 对 ?

如果我没记错的话, mAP有一个作者需要定义的参数。 您决定是否正确预测图像是从 0 到 1 的阈值。 通常,这设置为 0.5。 因此,如果面积比超过 0.5,则表示图像正确。
之后,您还必须定义Average Precision 。 要细化平均值,您需要找出有多少精度。 事实证明,您还可以定义精度数。 通常,精度数设置为11以便您可以将它们从 0, 0.1, 0.2, ..., 0.9, 1.0 排列起来。

我不确定我在说什么。 因为我已经忘记了大部分。 你必须学习它以确保我是对的。 但我很确定0.511的数字。 我只是不知道他们叫什么。

附注。 我回去找到我的论文幻灯片(当我知道 mAP 是什么意思时),这是我当时的描述:
image

非常感谢 。 我将研究 mAP 和 IoU。 我得到了结果,但我无法解释它们。我可以再问一个问题吗? 您是否使用了“召回”功能? 地图和召回功能是否具有相同的功能? 你有什么想法_?

@srhtyldz mAP是根据作为召回函数的精度计算的。 所以精度和召回率已经包括在内。 mAP是用于对象检测任务的流行且传统的评估指标。 所以你不必单独做召回或精确度。 只需计算mAP ,如果它很高,则表示您的模型性能良好。

@srhtyldz mAP是根据作为召回函数的精度计算的。 所以精度和召回率已经包括在内。 mAP是用于对象检测任务的流行且传统的评估指标。 所以你不必单独做召回或精确度。 只需计算mAP ,如果它很高,则表示您的模型性能良好。

我从 mAP 中获得了 90.4%。我认为它表现得很好。

@srhtyldz如果您有很多课程,那就太高了。 (大数据集上的流行模型只有 50-60% 左右)但即使你只有两个类,它仍然很好。
确保使用人眼检查预测图像以验证mAP是否合理。

@srhtyldz如果您有很多课程,那就太高了。 (大数据集上的流行模型只有 50-60% 左右)但即使你只有两个类,它仍然很好。
确保使用人眼检查预测图像以验证mAP是否合理。

我只有一个班级。另外,我用边界框保存了所有图像。
你画了地图吗? 在 Alex repo 中,有 mAP 图表,当你训练你的模型时,你应该把“-map”放在图表上。我没有放这个词。即使你放了那个,你怎么能得到 mAP 图表?是吗?你试一下? 您是否也尝试过“有效”功能? 你知道区别吗?
我知道我问了很多问题,但您的回答对我的论文非常重要:)。

darknet ,我只使用它的终端评估mAP并拍摄控制台的快照。
我不知道有效的功能。
对于mAP图表,如果您使用darkflow并使用上面的mAP repo,则是可能的。 有一个脚本可以生成动画和图表。
我认为 mAP 存储库也可能与暗网一起使用。

darknet ,我只使用它的终端评估mAP并拍摄控制台的快照。
我不知道有效的功能。
对于mAP图表,如果您使用darkflow并使用上面的mAP repo,则是可能的。 有一个脚本可以生成动画和图表。
我认为 mAP 存储库也可能与暗网一起使用。

问题是我不知道动画将如何运行。我在训练时尝试这样做,但我无法获得地图动画。 @alexeyAB可能会对此有所帮助。

我得到了我的测试结果的地图。 从 56 张图像中,我得到了 48 张适合我的测试的图像。 我有四节课。 如何从中制作混淆矩阵。 有人能帮我吗 。

@srhtyldz我使用了 /darknet 探测器地图 cfg/aerial.data cfg/test_tiny.cfg backup\my_yolov3_tiny_final.weights 函数,但在训练结束时我无法获得任何分数或图表。 你是如何在暗网中获得 mAP 分数的

@mustafabuyuk将 -map 参数传递给 ./darknet (darknet.exe)。 它将在大约 1000 次迭代时显示在图表上。 我不确定是否需要它,但我也有一组图像验证。

任何人都可以有想法吗? YOLOv5 在训练期间根据验证数据集计算 mAP。 通过哪个命令我们可以计算未见过的测试数据集(mAP 和 Class wise mAP)

@off99555该线程似乎已关闭。 你得到答案了吗?
我有一组图像和 Yolo 注释文件(txt 格式)用于验证。

如何使用 -map 参数验证图像以获得 mAP 分数? 是否有可能从中推导出混淆矩阵?

@sandeeprepakula在我关闭问题之前直接阅读我的答案。 这就是您可以计算 mAP 的方法。
但我会进一步建议,不要再使用这个 repo。 我已经几个月没有使用对象检测了,所以不确定哪个 repo 是最好的,但是从快速查看这个 repo 的最后一次提交,它是在 2020 年 2 月。你认为一个没有更新的 repo一年值得用吗? 如果你在某件事上遇到困难,没有人会帮助你。 在选择使用哪个存储库时,也要考虑社区部分。

@off99555感谢您的建议

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

jubjamie picture jubjamie  ·  4评论

xunkaixin picture xunkaixin  ·  4评论

hrshovon picture hrshovon  ·  5评论

anonym24 picture anonym24  ·  5评论

wonny2001 picture wonny2001  ·  4评论