cnn iou_roi_roc_auc


原文链接: cnn iou_roi_roc_auc

做机器学习,再别把IoU,ROI 和 ROC,AUC 搞混了 !聊聊目标检测,医疗领域的那些评价函数

涉及领域不多的机器学习爱好者经常会把IoU,ROI 和 ROC,AUC 这样的评价函数(Metric functions)搞混。其实记住它们也没那么难,David 9今天就来帮大家理一理:

  1. IoU (Intersection over Union),交集并集比

  2. ROI (region of interest) , 感兴趣区域,就是人工labelImg标注的绿色框,就是真实感兴趣区域

  3. ROC (Receiver Operating Characteristic curve) 受试者工作特征曲线

  4. AUC (Area Under the Curve) , 曲线下区域

首先要区分,前两个目标检测领域的术语;
后两个是从医疗领域引进的,但是所有机器学习准确率都可能用到该指标。

最容易理解的是第2个ROI,我们做任何目标检测在准备数据集时都要选择感兴趣区域, 我们之前的文章也提到过

labelImg 就是一个不错的标注工具。帮助你选择目标检测的感兴趣框。是的这不是一个评价函数,是一个概念而已。

目标检测的训练集图片准备完成后,真正的评价函数是IoU(Intersection over Union)。为什么要用交集与并集的比值呢?

让我们看看一味地追求交集最大会发生什么

[![](http://nooverfit.com/wp/wp-content/uploads/2018/01/QQ%E6%88%AA%E5%9B%BE20180126154935.png)](http://nooverfit.com/wp/wp-content/uploads/2018/01/QQ%E6%88%AA%E5%9B%BE20180126154935.png)
来自:https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/

上图绿色框是真实感兴趣区域,红色框是预测区域,这种情况下交集确实是最大的,但是红色框并不能准确预测物体位置。因为预测区域总是试图覆盖目标物体而不是正好预测物体位置。这时如果我们能除以一个并集的大小,就可以规避这种问题:

[![](http://nooverfit.com/wp/wp-content/uploads/2018/01/QQ%E6%88%AA%E5%9B%BE20180126150126.png)](http://nooverfit.com/wp/wp-content/uploads/2018/01/QQ%E6%88%AA%E5%9B%BE20180126150126.png)
来自:https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/

这样,如果我们控制并集不要让并集太大,对准确预测是有益的。具体IoU的计算大家可以参考文章:https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/

接下来,是两个分类准确率的指标:ROC和AUC

首先ROC受试者工作特征曲线,听名字就是从医疗领域引入的。理解之前我们先要回顾一下真阳率(TP),假阳率(FP),假阴率(FN),真阴率(TN)的概念:

[![](http://nooverfit.com/wp/wp-content/uploads/2018/01/QQ%E6%88%AA%E5%9B%BE20180126160615.png)](http://nooverfit.com/wp/wp-content/uploads/2018/01/QQ%E6%88%AA%E5%9B%BE20180126160615.png)
来自:https://stats.stackexchange.com/questions/132777/what-does-auc-stand-for-and-what-is-it

很熟悉吧?真阳率(TP)就是预测类别1而事实上是类别1, 假阳率(FP)就是预测类别1但是事实上部署类别1.

TP作为纵坐标,FP作为横坐标,就是一个类别的ROC曲线了

[![](http://nooverfit.com/wp/wp-content/uploads/2018/01/QQ%E6%88%AA%E5%9B%BE20180126161740.png)](http://nooverfit.com/wp/wp-content/uploads/2018/01/QQ%E6%88%AA%E5%9B%BE20180126161740.png)
来自; https://stats.stackexchange.com/questions/132777/what-does-auc-stand-for-and-what-is-it

曲线下的蓝色区域就是曲线下区域AUC (Area Under the Curve)了 如果AUC的面积为1,恭喜你,在这个类别上你的准确率是最高的。AUC一般越大越好,说明某个类别的分类准确度越高

参考文献:

  1. https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/
  2. https://www.learnopencv.com/how-to-select-a-bounding-box-roi-in-opencv-cpp-python/
  3. https://stats.stackexchange.com/questions/132777/what-does-auc-stand-for-and-what-is-it
  4. https://github.com/tzutalin/labelImg
  5. https://en.wikipedia.org/wiki/Region_of_interest
`