网络结构
卷积层+池化层+全连接层
输入
448
∗
448
448*448
448∗448大小的图片
输出
7
∗
7
∗
30
7*7*30
7∗7∗30的张量
30维张量包括20个对象的概率,2个bounding box的置信度及其位置(一个bounding box位置信息需要四个值,两个bounding box总需要8个值)
20个对象的概率即为条件概率,如果该网格中存在一个检测对象,那么该检测对象为类别A的概率:
p
(
P
A
∣
e
x
i
s
t
_
o
b
j
e
c
t
s
)
p(P_A|exist\_objects)
p(PA∣exist_objects)
2个bounding box的置信度,其中置信度=p(exist_objects) * 该预测的bounding box与该对象的真实边框的IOU值
两个bounding box的置信度分别于20个类别的概率相乘,可得到分在在两个bounding box中的每一类的概率。
重点分析
bounding box相关内容
每一个网格给出两个bounding box信息,但一个对象只需要一个bounding box。为此,通过一定的个标准进行舍取。
输出的30维向量中,包含两个bounding box的置信度,该置信度反应出预测框与真实框IOU交并比。那么两个框IOU交并比,谁大就由谁负责预测一个对象,并且
p
(
e
x
i
s
t
_
o
b
j
e
c
t
s
)
p(exist\_objects)
p(exist_objects)为1,另一个bounding box的
p
(
e
x
i
s
t
_
o
b
j
e
c
t
s
)
p(exist\_objects)
p(exist_objects)为0。那么根据公式可知置信度其实就为IOU交并比值。
grid cell 与 bounding box
将图片分成
7
∗
7
7*7
7∗7的网格(grid cell),每一个grid cell生成两个预测框bounding box,该预测框的中心点都落在该grid cell格子内部。每一个grid cell只能预测一个物体。
损失函数
公式分析,其中
1
i
o
b
j
1_i^{obj}
1iobj表示网格
i
i
i存在检测对象,
1
i
j
o
b
j
1_{ij}^{obj}
1ijobj表示网格
i
i
i的第
j
j
j个bounding box存在检测对象,
1
i
j
n
o
b
j
1_{ij}^{nobj}
1ijnobj表示网格
i
i
i的第
j
j
j个bounding box不存在检测对象
第一行表示边框中心点的误差,grid cell中负责预测的bounding box框与真实框的误差
第二行表示预测框相对于真实框的宽和高的误差。其中开方旨在降低因为大小不同带来的敏感问题
第三行表示置信度误差,即边框内存在对象,
C
i
ˉ
\bar{C_i}
Ciˉ越高越好
第四行也表示置信度误差,即边框内不存在对象,
C
i
ˉ
\bar{C_i}
Ciˉ越低越好
最后一行表示对象分类误差