1. mAP
1.1 基本概念
IoU
IoU的界说:猜测框和实在框的交并比。
IoU用来界说正负样本,若IoU>threshold,则为正样本;若IoU<=threshold,则为负样本。
Precision & Recall
查准率:猜测为正且猜测对的样本与一切猜测为正的样本之比。
Precision=TPTP+FPPrecision=\frac{TP}{TP+FP}
查全率:猜测为正且猜测对的样本与一切实践为正的样本之比。
Recall=TPTP+FNRecall=\frac{TP}{TP+FN}
1.2 mAP核算流程
当一个数据集经过咱们的方针检测算法,得到了猜测的框和猜测的类别。接下来,咱们就需要经过核算IoU来断定这些猜测框的正负性,以及经过mAP来断定咱们算法的好坏。
举例说明
Image1,2猜测猫猫类别。红框为猜测框,绿框为实在框。百分数为猜测猫猫置信度。
依据置信度降序进行排序。将IoU>0.5的猜测框置为TP,IoU<=0.5的猜测框置为FP。 核算每个置信度阈值下的Precision和Recall:例如,confidence>=88%时,一切数据集中,(将confidence<88%的猜测框疏忽掉。多个猜测框对应同一个GT,则置信度最高的那个视为TP,其他的视为FP)TP=1,FP=1,FN=2,因此Precision=1/2,Recall=1/3。
绘制出P-R曲线图,然后核算P-R曲线面积作为AP值。
核算过程
0.选用较低的置信度阈值来挑选网络的猜测框。使用nms去除高度重复的框。
1.依据置信度降序,并依据IoU阈值断定TP、FP、FN。
2.核算不同置信度阈值下的Precision和Recall,绘制P-R曲线。
3.P-R曲线面积即为AP值。
4.核算完每个类的AP值求均匀即为mAP。
COCO数据集的mAP
COCO数据集的”AP”是对不同的IoU阈值
的AP值取均匀,再对类别
取均匀得到终究的mAP(在COCO中mAP也叫AP)。
2. NMS 算法
NMS发生在方针检测算法的终究一步,核算mAP的前一步。
NMS 过程
(1) 将某一类别的bbx按照confidence从高到低排序。
(2) 记录当前confidence最大的bbx。
(3) 核算最大confidence对应的bbx与剩余一切的bbx的IoU,移除一切大于IoU阈值的bbx(保存小于IoU阈值的bbx索引)。
(4) 对剩余的bbx,循环履行(2)和(3)直到一切的bbx均满足要求(即不能再移除bbx)。
(5) 对每个类依次进行(1)~(4)操作。
(6) 跨种类比较,假如该框在多类别中都是较大confidence,保存最大confidence。
3. Focal loss
Focal Loss 原论文链接
咱们首先了解一点,机器都是经过下降loss来到达终究的拟合。那么假如成心增大某一个loss的权重,就会使机器偏向于学习这部分的特征以下降这部分loss,终究提高了机器的在这方面的性能。
3.1 操控难易样本对loss的奉献
图1 绘制不同下的FL丢失函数。横坐标为方针的猜测概率pt,纵坐标为丢失值。
当=0\gamma=0时,FL=CE为二分类穿插熵丢失函数。当前面加上了调制系数(1−pt)(1-p_t)^\gamma,咱们就能够经过这个系数来操控难易样本对loss的奉献程度:
当方针猜测概率为pt=0.9p_t=0.9时(pt∈[0,1]p_t∈[0,1]),咱们能够说这是一个易区别的样本,得知(1−pt)(1-p_t)^\gamma十分挨近于0,FL的结果是十分挨近0的,下降易区别样本的丢失值。
当方针猜测概率为pt=0.1p_t=0.1时,咱们能够说这是一个难区别的样本,得知(1−pt)(1-p_t)^\gamma十分挨近于1,FL的结果是挨近无限大的,添加难区别样本的丢失值。
经过规划Focal Loss,下降易区别样本对loss的奉献,加大难区别样本对loss的奉献,终究使网络愈加重视那些难区别的样本,然后提高网络的猜测才能。
3.2 操控正负样本对loss的奉献
方针检测中往往负样本的数量远远大于正样本,这会导致网络将大部分的精力财力耗在了大量的负样本上,对终究的检测作用将是晦气的,因此咱们能够想到下降负样本对loss的奉献,增大正样本对loss的奉献,使网络对正负样本的重视度做一个权衡。
于是FL前又添加了一个权重因子t\alpha_t操控正负样本对loss的奉献:
FL(pt)=−t(1−pt)log(pt)FL(p_t)=-\alpha_t(1-p_t)^\gamma log(p_t) t∈[0,1]\alpha_t∈[0,1]
正样本,t=\alpha_t=\alpha,一般取0.75。
负样本,t=1−\alpha_t=1-\alpha,则为0.25。