这里写目录标题
检测指标
iou/Gou/Diou/Ciou
Intersection over Union (IoU) 是目标检测里一种重要的评价值
交并比
令人遗憾的是 IoU 无法优化无重叠的 bboxes
如果用 IoU 作为 loss(LIoU=1−IoU LIoU=1−IoU) 衡量值的话有两个优点和一个缺点:
- IoU 可以有效比较两个任意形状之间相似性
- IoU 具有尺度不变性
- 任意两个形状 A、B 之间如果没有 overlap,则 IoU 均为 0,此时,IoU 无法分辨两个形状 A、B 是靠的非常近还是非常远
GIoU(Generalized Intersection over Union)
统一交叉点
作者在分析 GIoU loss 时,发现 GIoU 首先会试图通过增加检测框的大小使其与目标 bbox 有重叠,然后利用 IoU loss 项使其与目标 bbox 重叠面积最大,同时,但两个框有包含关系是,GIoU loss 就退化成了 IoU loss 了。这时候边界框的对齐变得较困难,收敛较慢
注意:Ac表示最小闭包区域面积,U代表两个框的区域面积之和。
由于IoU是比值的概念,对目标物体的scale是不敏感的。然而检测任务中的BBox的回归损失(MSE loss, l1-smooth loss等)优化和IoU优化不是完全等价的,而且 Ln 范数对物体的scale也比较敏感,IoU无法直接优化没有重叠的部分。
DIoU(Distance Intersection over Union)
联盟的距离交叉点
LDIoU=1−IoU+dd/cc (d为中心点欧式距离,c为对角线距离)
-
IoU算法是使用最广泛的算法,大部分的检测算法都是使用的这个算法。
-
GIoU考虑到,当检测框和真实框没有出现重叠的时候IoU的loss都是一样的,因此GIoU就加入了C检测框(C检测框是包含了检测框和真实框的最小矩形框),这样就可以解决检测框和真实框没有重叠的问题。但是当检测框和真实框之间出现包含的现象的时候GIoU就和IoU loss是同样的效果了。
-
DIoU考虑到GIoU的缺点,也是增加了C检测框,将真实框和预测框都包含了进来,但是DIoU计算的不是框之间的交并,而是计算的每个检测框之间的欧氏距离,这样就可以解决GIoU包含出现的问题。
-
CIoU就是在DIoU的基础上增加了检测框尺度的loss,增加了长和宽的loss,这样预测框就会更加的符合真实框。回归损失优化的一种思想
MSE(Mean Squared Error)(均方误差)(回归问题)
回归问题输出的是一个数值,一般需要用到MSE作为损失函数。
交叉熵损失函数(Cross Entropy Error Function)(分类问题)
模型输出需要做归一化(0-1)
二分类:sigmoid归一化(适应多标签分类问题=多个正确答案=非独占输出(例如胸部X光检查、住院))
多分类:softmax归一化(适应多类别分类问题=只有一个正确答案=互斥输出(例如手写数字,鸢尾花))
参考地址