【问题标题】:how to draw ROC curve in computer vision algorithm?如何在计算机视觉算法中绘制 ROC 曲线?
【发布时间】:2012-11-30 19:47:40
【问题描述】:

我使用检测算法检测了 100 张图像中的对象,每张图像恰好包含 2 个真值,即每张图像包含 2 个对象。然后我添加了噪音并找到了最好的。我计算了检测结果与ground truth intArea的交集区域,以及联合区域unionArea = rectA + rectB - intArea。然后我打算用这些比率来绘制ROC曲线如下:

init TP, FP as 100X1 array.
for threshold = 0..1, step = 0.01
    curIdx = 1;
    for each ratio(i), i = 1..100
        if ratio(i) > threshold then
           TP(curIdx) = TP(curIdx) + 1;
        else
           FP(curIdx) = FP(curIdx) + 1;
     end
end

然后我用TP/100作为Y轴值,TP/(TP+FP)作为X轴值来绘制ROC曲线。 但结果不如预期:(我现在无法发布图片,因为我是新用户-_-) https://lh4.googleusercontent.com/-cuNKyobdV7E/UMkiJmrhTFI/AAAAAAAAEQg/B5twqcZtlQA/s560/roc.jpg

那么,有没有人可以帮助我并告诉我哪里错了?谢谢大家!

【问题讨论】:

    标签: curve roc


    【解决方案1】:

    如果你想了解ROC图生成的内部原理,可以阅读Tom Fawcett's report on ROC Graphs或他的 ScienceDirect article

    如果您只想生成绘图而不涉及其技术细节,您可以使用Yard phyton libraryROCR R package

    【讨论】:

      【解决方案2】:

      VLFeat在Matlab环境下实现了一种非常简单的绘制ROC曲线的方法。请查看此链接:http://www.vlfeat.org/overview/plots-rank.html

      【讨论】:

      猜你喜欢
      • 2012-10-10
      • 1970-01-01
      • 2018-07-30
      • 1970-01-01
      • 2014-09-20
      • 2017-07-27
      • 2013-08-10
      • 2017-09-11
      • 2016-12-26
      相关资源
      最近更新 更多