ps自己之前也不理解这个FROC是什么鬼,连mAP,AP也不太理解(还有APs,APm,APl,AP0.5等等)后来花了挺长时间的,今天又有人问我FORC是什么,这里我就稍微总结下:

1.Precision-Recall曲线,ROC曲线,AP,mAP可以参考我之前的博客转过的知乎上大神的评论,还没理解的可以看下。

2.APs,APm,APl,AP0.5等的是在基于coco数据时候定义出来评论检测模型的指标具体含义如下图:

关于肺结节检测相关的FROC曲线和目标检测中Precision-Recall曲线,ROC曲线,mAP,AP,APs,APm,APl,AP0.5等的理解。

  • 1)除非另有说明,否则AP和AR在多个交汇点(IoU)值上取平均值。具体来说,我们使用10个IoU阈值0.50:0.05:0.95。这是对传统的一个突破,其中AP是在一个单一的0.50的IoU上计算的(这对应于我们的度量APIoU=.50 )。超过均值的IoUs能让探测器更好定位。

  • 2)AP是所有类别的平均值。传统上,这被称为“平均准确度”(mAP,mean average precision)。我们没有区分AP和mAP(同样是AR和mAR),并假定从上下文中可以清楚地看出差异。

  • 3)AP(所有10个IoU阈值和所有80个类别的平均值)将决定赢家。在考虑COCO性能时,这应该被认为是最重要的一个指标。

  • 4)在COCO中,比大物体相比有更多的小物体。具体地说,大约41%的物体很小(面积<322),34%是中等(322 < area < 962)),24%大(area > 962)。测量的面积(area)是分割掩码(segmentation mask)中的像素数量。

  • 5)AR是在每个图像中检测到固定数量的最大召回(recall),在类别和IoU上平均。AR与提案评估(proposal evaluation)中使用的同名度量相关,但是按类别计算。

  • 6)所有度量标准允许每个图像(在所有类别中)最多100个最高得分检测进行计算。

  • 7)除了IoU计算(分别在框(box)或掩码(mask)上执行)之外,用边界框和分割掩码检测的评估度量在所有方面是相同的。

这是从这位大神的简书上参考的,COCO数据集说的很清楚:https://www.jianshu.com/p/d7a06a720a2b。

3.FROC曲线:FROC曲线与之前的ROC只是横坐标的不同。横坐标是误报率(测试中所有不是实际结节预测成结节的个数/测试CT个数),纵坐标是召回率(测试所有CT数据中实际是结节的检测出来个数/测试所有CT数据中实际是结节个数)。

具体举个简单的例子:我们的测试集就两个ct序列:

第一个其中真结节2个,检测出的结节自信度列表[0.99,0.8,0.7,0.5,0.4,...](已经从大到小排列过了),其中真结节是0.99和0.5对应的结节。

第二个其中真结节1个,检测出的结节自信度列表[0.9,0.8,0.7,0.6,0.5,...]其中真结节0.8对应的结节.

假设你把自信度阈值设置为0.90(这个值在计算时一般有一个等比列表),那么这时检测到了一个真结节,召回率是(1+0)/(2+1)=1/3,而误报率是(0+1)/(2)=1/2,(0+1)代表所有CT序列中误报结节数,(2)代表CT序列的个数。这可以画出FROC中的点(1/2,1/3)。

然后,你再把自信度阈值设置为0.80,那么这时检测到的还是二个真结节,召回率是(1+1)/(2+1)=2/3,而误报率是(1+1)/(2)=1,这可以画出FROC中的点(1,2/3)。

以此类推当你把自信度阈值设置为0.5时,那么这时检测到的就是三个真结节,召回率是3/3=1,而误报率是(6)/(2)=3,这可以画出FROC中的点(3,1)。

这样你就能画出一条FROC曲线来了。其实原理跟ROC曲线曲线一样的。这是我的理解如果有错误请指出。