Computer vision 高的mAP@50准确率和召回率低。这意味着什么?什么指标更重要?

Computer vision 高的mAP@50准确率和召回率低。这意味着什么?什么指标更重要?,computer-vision,conv-neural-network,object-detection,yolo,faster-rcnn,Computer Vision,Conv Neural Network,Object Detection,Yolo,Faster Rcnn,我正在比较用于海上搜救SAR目标探测的模型。从我使用的模型中,我得到了改进版YOLOv3的最佳结果,用于小对象检测和更快的RCNN 对于约洛夫,我得到了最好的mAP@50,但对于更快的RCNN,我得到了更好的所有其他指标精度、召回率、F1分数。现在,我想知道如何阅读它,在这种情况下,哪种模型真的更好 我想补充一点,数据集中只有两个类:小对象和大对象。我们选择这个解决方案是因为对象在类之间的区别对于我们来说并不像检测任何人类起源的对象那样重要 但是,小对象并不意味着小GT边界框。这些物体实际上面积

我正在比较用于海上搜救SAR目标探测的模型。从我使用的模型中,我得到了改进版YOLOv3的最佳结果,用于小对象检测和更快的RCNN

对于约洛夫,我得到了最好的mAP@50,但对于更快的RCNN,我得到了更好的所有其他指标精度、召回率、F1分数。现在,我想知道如何阅读它,在这种情况下,哪种模型真的更好

我想补充一点,数据集中只有两个类:小对象和大对象。我们选择这个解决方案是因为对象在类之间的区别对于我们来说并不像检测任何人类起源的对象那样重要

但是,小对象并不意味着小GT边界框。这些物体实际上面积很小,小于2平方米,例如人、浮标。大型物体是指面积较大的物体,如船只、独木舟等

以下是每个类别的结果:

以及来自数据集的两个样本图像,其中YOLOv3检测到:

用于目标检测的贴图是为所有类别计算的AP的平均值。mAP@0.5意味着它是在IOU阈值0.5下计算的映射

平均精度AP的一般定义是找到精度召回曲线下的区域

绘制模型精度和召回率作为模型置信阈值函数的过程就是精度召回曲线

精确性衡量你的预测有多准确。i、 e.你的预测正确的百分比。回忆衡量你发现所有积极因素的程度。F1分数是精确性和召回率的HM调和平均值

现在回答你的问题

如何阅读它,在这种情况下,哪种型号更好

映射是神经网络灵敏度的一个很好的度量。因此,良好的映射表明模型在不同置信阈值之间是稳定和一致的。在您的案例中,更快的rcnn结果表明,与Yolov3相比,精度召回曲线度量不好,这意味着更快的rcnn在较高置信阈值下具有非常差的召回率,或者在较低置信阈值下具有非常差的精度,与Yolov3相比,尤其是对于小对象。 针对给定的置信阈值计算精度、召回率和F1分数。我假设您运行的模型的默认置信阈值可能是0.25。因此,更快的rcnn的更高精确度、召回率和F1分数表明,在该置信阈值下,与Yolov3相比,它在所有3个指标方面都更好。 什么指标应该更重要

一般来说,为了分析性能更好的模型,我建议您使用用于调整超参数的验证集数据集和用于评估经过充分训练的模型性能的测试集数据集

注:FP-假阳性FN-假阴性

在验证集上:

使用mAP从迭代/历次的所有训练权重中选择性能最好、更稳定和一致的模型。使用mAP了解是否应该进一步培训/调整模型

检查类级AP值,确保模型在所有类中稳定且良好

根据用例/应用程序,如果您完全容忍FNs,高度不容忍FPs,那么相应地训练/调整模型时,请使用精度

根据用例/应用程序,如果您对FPs完全容忍,对FNs高度不容忍,则要相应地训练/调整模型,请使用Recall

在测试集上:

若你们对FPs和FNs持中立态度,那个么使用F1分数来评估表现最好的模型

如果FPs不为您所接受,而不太关心FNs,请选择精度更高的模型

如果您不太关心FPs,而不接受FNs,请选择召回率较高的型号

一旦确定了应该使用的度量标准,请尝试多个置信阈值,例如-0.25,0.35和0.5对于给定的模型,为了了解您选择的指标对您有利的置信阈值,并且为了了解可接受的权衡范围,您希望精度至少达到80%,并有一些不错的召回率。一旦确定了置信阈值,您就可以在不同的模型中使用它来找出性能最佳的模型


用于对象检测的贴图是为所有类计算的AP的平均值。mAP@0.5意味着它是在IOU阈值0.5下计算的映射

平均精度AP的一般定义是找到精度召回曲线下的区域

绘制模型精度和召回率作为模型置信阈值函数的过程就是精度召回曲线

精确性衡量你的预测有多准确。i、 e.你的预测正确的百分比。雷卡 我会衡量你发现所有积极因素的程度。F1分数是精确性和召回率的HM调和平均值

现在回答你的问题

如何阅读它,在这种情况下,哪种型号更好

映射是神经网络灵敏度的一个很好的度量。因此,良好的映射表明模型在不同置信阈值之间是稳定和一致的。在您的案例中,更快的rcnn结果表明,与Yolov3相比,精度召回曲线度量不好,这意味着更快的rcnn在较高置信阈值下具有非常差的召回率,或者在较低置信阈值下具有非常差的精度,与Yolov3相比,尤其是对于小对象。 针对给定的置信阈值计算精度、召回率和F1分数。我假设您运行的模型的默认置信阈值可能是0.25。因此,更快的rcnn的更高精确度、召回率和F1分数表明,在该置信阈值下,与Yolov3相比,它在所有3个指标方面都更好。 什么指标应该更重要

一般来说,为了分析性能更好的模型,我建议您使用用于调整超参数的验证集数据集和用于评估经过充分训练的模型性能的测试集数据集

注:FP-假阳性FN-假阴性

在验证集上:

使用mAP从迭代/历次的所有训练权重中选择性能最好、更稳定和一致的模型。使用mAP了解是否应该进一步培训/调整模型

检查类级AP值,确保模型在所有类中稳定且良好

根据用例/应用程序,如果您完全容忍FNs,高度不容忍FPs,那么相应地训练/调整模型时,请使用精度

根据用例/应用程序,如果您对FPs完全容忍,对FNs高度不容忍,则要相应地训练/调整模型,请使用Recall

在测试集上:

若你们对FPs和FNs持中立态度,那个么使用F1分数来评估表现最好的模型

如果FPs不为您所接受,而不太关心FNs,请选择精度更高的模型

如果您不太关心FPs,而不接受FNs,请选择召回率较高的型号

一旦确定了应该使用的度量标准,请尝试多个置信阈值,例如-0.25,0.35和0.5对于给定的模型,为了了解您选择的指标对您有利的置信阈值,并且为了了解可接受的权衡范围,您希望精度至少达到80%,并有一些不错的召回率。一旦确定了置信阈值,您就可以在不同的模型中使用它来找出性能最佳的模型


你说过——好的地图表明了一个模型,它在不同的置信阈值之间是稳定和一致的。然而,当我们计算mAP时,我们改变了IOU阈值,对吗?例如,当我们说mAP@0.5:0.05:0.95,我们的意思是mAP计算的IOU阈值为-0.5,0.55,06…0.95。那么,这句话应该是好的吗?mAP表明了一个模型在不同的IOU阈值之间是稳定和一致的?mAP正在计算不同的置信阈值,如Venkatesh所说。当我们计算mAP@0.5:0.05:0.95我们也在跨不同的IoU阈值执行此操作。但是,当跨配置计算时,跨IoU计算只是一个加法。阈值是mAP的定义。您说过-所以好的mAP表示跨差异置信阈值稳定一致的模型。然而,当我们计算mAP时,我们改变了IOU阈值,对吗?例如,当我们说mAP@0.5:0.05:0.95,我们的意思是mAP计算的IOU阈值为-0.5,0.55,06…0.95。那么,这句话应该是好的吗?mAP表明了一个模型在不同的IOU阈值之间是稳定和一致的?mAP正在计算不同的置信阈值,如Venkatesh所说。当我们计算mAP@0.5:0.05:0.95我们也在跨不同的IoU阈值执行此操作。但当跨配置计算时,跨IoU计算只是一个加法。阈值是mAP的定义。