本文介绍机器学习目标检测相关各种基础概念的介绍。
目标检测
目标检测,也叫目标提取,是一种基于目标几何和统计特征的图像分割,它将目标的分割和识别合二为一,其准确性和实时性是整个系统的一项重要能力。 目标检测是计算机视觉和数字图像处理的一个热门方向,广泛应用于机器人导航、智能视频监控、工业检测、航空航天等诸多领域,通过计算机视觉减少对人力资本的消耗,具有重要的现实意义。因此,目标检测也就成为了近年来理论和应用的研究热点,它是图像处理和计算机视觉学科的重要分支,也是智能监控系统的核心部分,同时目标检测也是泛身份识别领域的一个基础性的算法,对后续的人脸识别、步态识别、人群计数、实例分割等任务起着至关重要的作用。由于深度学习的广泛运用,目标检测算法得到了较为快速的发展。
Ground Truth
Ground Truth(GT) 代表通过人工等方式为数据赋予的真实标签,用于训练模型与验证、测试模型性能。
Bounding Box (bbox)
目标检测需要定位图像中的目标位置和类别,反映在数据上的形式就是使用矩形框框出目标区域,并标记类别标签,这就是目标检测的Bounding Box ,标注与算法输出都使用该形式,以便机器学习并对比实验结果。
ROI (region of interest)
感兴趣区域,与bbox概念类似,定义图像中我们感兴趣的部分,交给机器进行学习。
IoU (Intersection over Union)
交集并集比(交并比),在已有的数据库中,我们会用某种方法 标注数据,赋予数据中目标区域与类别,也就是标注ROI,检测算法学习数据后得到检测模型,模型作用于某个图像输出检测结果bbox。 IoU就是用于评价检测模型输出结果的,计算方法就是输出bbox与标记bbox交集面积与并集面积的比值。比值越高表明结果越准,反之亦然。
confidence
confidence(置信度)表明检测模型对于自己检测出目标的置信程度,值越大表明模型更加笃定自己检测结果的准确性。
检测判定
在分类任务中,分类模型输出的结果作为其分类的类别,将该输出与真实类别标签比较即可确定此次预测是否正确,相应地得可以将此次预测划定到TP、FP、TN、FN中。 而目标检测任务中的输出结果不同于分类,该结果 包含了图像中某位置属于某类别的信息,而且很可能包含多个目标,而事实上,输出结果与标注标签完全一致是不现实的,那么如何判定检测结果是否正确呢。 在目标检测中判定结果正确需要预先设定IoU阈值,然后逐个类别判定检测框:
- 遍历每个类别
- 将该类别的预测框按confidence降序排列
- 对于每个预测bbox,找出与其有最大IoU的gt_bbox
- 如果该gt_bbox之前没有被分配且IoU大于给定的阈值(比如0.5),那将该gt_bbox分配该给预测bbox,设置该预测bbox为TP;否则设置该预测bbox为FP
- 没有被正确预测到的gt_bbox设置为FN
- 在检测结果中没有显式的TN
性能评估
判定出结果后就可以用分类的评价体系计算性能指标了:
机器学习-基础知识 - Precision, Recall, Sensitivity, Specificity, Accuracy, FNR, FPR, TPR, TNR, F1 Score, Balanced F Score
也可以绘制ROC、PR曲线:
机器学习-基础知识 - PR、ROC曲线与AUC