深度学习笔记-014-目标检测基础知识

目标检测任务及发展脉络

图 像 处 理 三 大 任 务 : 物 体 识 别目 标 检 测图 像 分 割

  • 目标检测:
    给 定 一 张 图 像 , 判 断 图 像 中 是 否 存 在 指 定 类 别 的 目 标 , 若 存 在 , 则 输 出 目 标 位 置 、 类 别 及 置 信 度 。
  • 目标检测的任务:
    目 标 检 测 属 于 多 任 务 , 一 个 任 务 是 目 标 分 类 , 另 一 个 是 目 标 位 置 的 确 定 , 即 分 类 与 回 归
  • 目标检测发展历程如下图深度学习笔记-014-目标检测基础知识_第1张图片
基于深层伸进网络的目标检测的两种分类:
  • 双阶段(two stage):第一级网络用于候选区域提取;第二级网络对提取的候选区域进行分类和紧缺坐标回归
  • 单阶段(one-stage):掘弃了候选区域提取这一步 骤,只用一级网络就完成了分类和回归两个任务, 例如YOLO和SSD等
单阶段网络的准确度不如双阶段网络的原因(训练中的不均衡)
  • 负例过多,正例过少,负例产生的损失完全淹没了正例
  • 大多数福利十分容易区分,网络无法学习到有用的信息。如果训练数据中存在大量的简单负例样本,将导致网络难以收敛。
双阶段网络如何解决训练中的不均均衡问题?
  • 在 R P N 网 络 中 , 根 据 前 景 置 信 度 的 高 度 选 择 最 有 可 能 的 候 选 区 域 , 从 而 避 免 大 量 容 易 区 分 的 负 例 ;
  • 训 练 过 程 中 根 据 交 并 比 进 行 采 样 , 将 正 负 样 本 比 例 设 为 1 : 3 , 防 止 过 多 负 例 出 现 。
常见的评价指标
  • True pos itives (TP): 被正确地划分为正例的个数,即实际为正例且被分类器划分为 正例的实例数;
  • Fal se pos itives (FP): 被错误地划分为正例的个数,即实际为负例但被分类器划分为 正例的实例数;
  • Fal se negatives (FN):被错误地划分为负例的个数,即实际为正例但被分类器划分为 负例的实例数;
  • True negatives (TN): 被正确地划分为负例的个数,即实际为负例且被分类器划分为 负例的实例数。
  • Precision = TP / (TP + FP) = TP / 所有被模型预测为正样本的数据的数量
  • Recall = TP / (TP + FN) = TP / 所有真实类别为正样本的数据的数量
PR曲线(PR curve)
  • 我们希望检测的结果P越高越好,R也越高越好,但事实上这两者在某些情况下是矛盾的

  • 所以我们需要做的是找到一种精确率与召 回率之间的平衡。其中一个方法就是画出 PR曲线,然后用PR曲线下方的面积AUC (Area under Curve)去判断模型的好坏。
    深度学习笔记-014-目标检测基础知识_第2张图片

IoU指标()

训练好的目标检测模型会给出大量的预测 结果,但是其中大多数的预测值都会有非 常低的置信度(confidence score),因 此我们只考虑那些置信度高于某个阈值的 预测结果。 将原始图片送入训练好的模型,在经过置 信度阈值筛选之后,目标检测算法给出带 有边界框的预测结果

  • IoU是预测框与ground truth 的交集和并集的比值。 对于每个类,预测框和ground truth重叠的区域是交集,而横 跨的总区域就是并集。
  • 深度学习笔记-014-目标检测基础知识_第3张图片
目标检测中的PR
  • TP: IoU>0.5的检测框数量(同一Ground Truth只计算一次)
  • FP: IoU<=0.5的检测框,或者是检测到同一个GT的多余检测框的数量
  • FN: 没有检测到的GT的数量 由于图片中我们没有预测到物体的每个部分都被视为Negative,因此计算True Negatives比较难办。
  • Precision = TP / (TP + FP) = TP / 所有被模型预测为正样本的数据的数量
  • Recall = TP / (TP + FN) = TP / 所有真实类别为正样本的数据的数量
    在PASCAL VOC数据集中标注为difficult的数据不计入计算
mAP的计算方式

通过PR曲线,我们可以得到对应的AP值:

在2010年以前,PASCAL VOC竞赛中AP是这么定义的:

  1. 首先要对模型预测结果进行排序(ranked output,按照各个预测值置信度降序排列。
  2. 我们把recall的值从0到1划分为11份:0、0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9、1.0。
  3. 在每个recall区间(0-0.1, 0.1-0.2,0.2-0.3,…,0.9-1.0)上我们计算精确率的最大值,然后再计算 这些精确率最大值的总和并平均,就是AP值。

从2010年之后,PASCAL VOC竞赛把这11份recall点换成了PR曲线中的所有recall数据点。 对于某个recall值r,precision值取所有recall>=r中的最大值(这样保证了p-r曲线是单调递 减的,避免曲线出现摇摆)这种方法叫做all-points-interpolation。这个AP值也就是PR曲 线下的面积值

C O C O 中 m A P 的 计 算 方 法 :
采 用 的 是 I O U ( 用 于 决 定 是 否 为 T P ) 在 [ 0 . 5 : 0 . 0 5 : 0 . 9 5 ] 计 算 1 0 次 A P , 然 后 求 均 值 的 方 法 计 算 A P

非极大值一致(NMS)

N具M体S的算实法现一思般路是如为下了:去掉模型预测后的多余框,其一般设有一个nms_threshold=0.5,

  1. 选取这类box中scores最大的哪一个,记为box_best,并保留它
  2. 计算box_best与其余的box的IOU
  3. 如果其IOU>0.5了,那么就舍弃这个box(由于可能这两个box表示同一目标,所以保 留分数高的哪一个)
  4. 从最后剩余的boxes中,再找出最大scores的哪一个,如此循环往复

你可能感兴趣的:(深度学习笔记,深度学习)