一、yolo网络
网络结构
网络结构包含24个卷积层和2个全连接层;其中前20个卷积层用来做预训 练,后面4个是随机初始化的卷积层,和2个全连接层。
YOLO包围框
我们有 𝑠 2个框,每个框的bb个数为𝐵,分类器可以识别出𝐶种不同的物体, 那么所有整个ground truth的长度为𝑆 × 𝑆 × (𝐵 × 5 + 𝐶) YOLO v1中,这个数量是30 YOLO v2和以后版本使用了自聚类的anchor box为bb, v2版本为𝐵 = 5, v3中 𝐵 =9。
归一化
四个关于位置的值,分别是𝑥, 𝑦, ℎ和𝑤,均为整数,实际预测中收敛慢 因此,需要对数据进行归一化,在0-1之间。例子是一个448*448的图 片,有3*3的grid,每个 cell是149。 目标中心点是(220,190)。
置信度
𝐼𝑂𝑈:图中绿框为真实标注,其余五个颜色框为预测值,可计算对应𝐼𝑂U。
训练值(ground truth):Pr 𝑜𝑏𝑗 的ground truth:三个目标中点对应格子为1,其它为0。
训练数据与网络输出
YOLO损失函数
YOLO损失函数——边界框对应损失项
第2项要开根号,让误差更显著,保证回归精度。
YOLO损失函数——边界框对应损失项
YOLO损失函数——𝝀取值
非极大值抑制
NMS核心思想:选择得分最高的作为输出,与该输出重叠的去掉,不断重复这一过程直到
所有备选处理完。NMS算法要点:
1. 首先丢弃概率小于预定IOU阈值(例如0.5)的所有边界框;对于剩余的边界框:
2. 选择具有最高概率的边界框并将其作为输出预测;
3. 计算 “作为输出预测的边界框”,与其他边界框的相关联IoU值;舍去IoU大于阈值的边界框;其实就是舍弃与“作为输出预测的边界框”很相近的框框。
4. 重复步骤2,直到所有边界框都被视为输出预测或被舍弃
数据集训练
预训练与训练&#