Yolov3详解
- 1.模型结构
- 2.Yolo_v3损失函数
- 3.IoU算法
- 4.Yolo_v3的边框预测公式
- 5.边框选择算法
1.模型结构
模型图:
Darknet-53结构图:
Yolo_v3卷积模型结构:
2.Yolo_v3损失函数
3.IoU算法
IoU算法计算的是bounding box和ground truth box的交集和并集之间的比值,如图所示:
bounding box与ground truth box之间按照相对位置可能出现的情况有(包含、左下、左上、右上、右下、互不相交)6种,如图1所示;通过分析图1可得:计算两个框的交集可视为计算两个集合交集,因此可以将两个框的交集的计算简化为如图2。
图1:
图2:
4.Yolo_v3的边框预测公式
Yolo_v3的边框预测公式采用逻辑回归(logistic regression),其公式如下:
5.边框选择算法
先将置信度低于阈值的边框过滤掉,然后按置信度从大到小排序,最后采用非极大值抑制算法NMS。
算法举例:
假设过滤并排序后的边框集A里有[a,b,c,d],现有空集B。
step1:抽出a加入B,然后将a与b,c,d进行对比。
step2:首先对比两框是否同类(假设a,b,c同类)。
step3:若同类,再进行计算IOU,若IOU大于阈值则为同一物体,则将其扔掉。(假设a与b的IOU大于阈值,a与c的IOU小于阈值,则将A里面的b扔掉,c保留。)
step4:此时A里面还剩c,d,B里有a,重复step1-3,直到A为空为止。
由上述的假设可得B为[a,c,d],即最终得到的边框为a,c,d。