一种方法是计算“平均平均精度:mAP”。
但是我不知道在darkflow 中实现了这个功能。
您对哪个暗网存储库或人员编写了脚本来执行此操作有任何建议吗?
https://github.com/thtrieu/darkflow/blob/master/darkflow/utils/box.py具有评估或计算两个图像之间重叠所需的基本实现。 您可以根据需要修改它,并将平均精度计算为类和 box_iou 概率的乘积
没有人以前做过吗?
没有人测试他们的准确性吗?
我不知道为什么这么重要的东西还没有实现。
如果没有,也许我需要自己实现这个功能并永远提交它。
我也会对这个功能感兴趣。
@off99555 ,我看到这个人在研究 F1 分数。
你好@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
上运行代码,这是一个深度学习云,只允许您使用某些文件夹。
首先我使用darkflow
和mAP
然后我后来发现我不能指定输出路径,所以我切换到darknet
并使用它的内部mAP
计算.
最重要的是, darknet
repo 的所有者(AlexeyAB 作为所有者的 fork 版本)的所有者非常有帮助。 他回答了我发布的所有问题,这些问题使我在截止日期前完成。 当时压力很大。 我非常感谢他,我还在论文中写下了他的名字。
首先我使用
darkflow
和mAP
然后我后来发现我不能指定输出路径,所以我切换到darknet
并使用它的内部mAP
计算.
您要指定哪个变量?
首先我使用
darkflow
和mAP
然后我后来发现我不能指定输出路径,所以我切换到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.5
和11
的数字。 我只是不知道他们叫什么。
附注。 我回去找到我的论文幻灯片(当我知道 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.5
和11
的数字。 我只是不知道他们叫什么。附注。 我回去找到我的论文幻灯片(当我知道 mAP 是什么意思时),这是我当时的描述:
非常感谢 。 我将研究 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感谢您的建议
最有用的评论
没有人以前做过吗?
没有人测试他们的准确性吗?
我不知道为什么这么重要的东西还没有实现。
如果没有,也许我需要自己实现这个功能并永远提交它。