输入图像先缩放成448*448的3通道图像,经过若干卷积和池化提取图像特征,通过两个全连接层得到7*7*30的tensor。
输出的到的7*7*30的tensor,其中的7指的是图像网格化得到7*7的grid cell,30指的是每个grid cell有2个bounding box,每个bounding box有4个位置相关数据(x,y,w,h)中心坐标和宽高来确定box和1个box置信度,还有20个类别的条件概率,因此是2*(4+1)+20=30,最终得到7*7*(2*(4+1)+20)即7*7*30的tensor输出。
每个grid cell有2个bounding box,因此总共有7*7*2个bounding box,每个bounding box有1个box置信度,置信度越高线越粗。
每个grid cell有20个类别的条件概率,取最高概率的类别然后进行同类别gride cell涂色,得到上图的类别分布。
也就是说7*7=49个grid cell最多只能得到49个物体,因此YOLOv1对小目标和密集目标识别性能较差。
每个grid cell有一个代表类别,每个代表类别用一种颜色。
每个grid cell有两个bounding box,分别有box置信度,置信度用粗细表示。
对每个grid cell的两个bounding box进行类别涂色,得到上中图,对7*7*2个检测框进行解析、后处理就得到了最终的目标检测结果。
完整流程图