YOLO V1小结
1. 从Two-Stage到One-Stage
以发展的眼光看待问题,回顾two stage算法,为什么一定要先产生proposal,再做回归呢,为什么不可以直接找出目标而后标注呢?
2.YOLO V1细节
YOLO网络结构由24个卷积层与2个全连接层构成,网络入口为448x448,图片进入网络先经过resize,输出格式为:S * S *(5 * B + C)
2.1 流程
先打格子使448 * 448 落到7 * 7 里的格子里,如果某一个物体的中心点落入到了某一个格子当中,那么那个格子就会去预测那个物体,每个格子预测B个bbox外加一个confidence。
即:
bbox:x,y,w,h(center)
Confidence:Pr(object) * IOU,即置信度,分类的概率 * IOU
final output tensor: S * S *(5 * B + C),即7 * 7 *(5 * 2 + 20),其中5分为4 + 1,4代表着bbox的中心坐标及宽高,而1代表confidence,而2代表预测2个bbox,C相当于是分多少类,作者给出的是20,即分20类。
2.2 损失函数
此损失函数分为3个部分,一是上面所说bbox的回归,二是置信度的回归confidence,三则是后面20个分类的回归。
2.2.1 一,bbox Loss
对它的坐标做平方损失,至于w和h要加sqrt,可以理解为起到一个抑制作用。
2.2.2 二,confidence Loss
分两个部分,一个是针对正样本的confidence,一个是针对负样本的confidence
2.2.3 三,classfication Loss
即一个softmax损失。
3.优点及缺点
优点:它只有一步所谓One-Stage 非常快
缺点:1.对很稠密的物体不友好,它打成7 * 7的格子,一个格子只预测一个物体,倘若两个物体都落在一个格子上,它就没办法了。
2.对小物体不好,
3.没有BN