思想:yolo主模型输出三个特征图,如(?,13,13,anchor_num*(5+num_classes))、(?,26,26,anchor_num*(5+num_classes))、(?,52,52,anchor_num*(5+num_classes)),之后如尺度为13的特征图 会 变形为(?,13,13,anchor_num,5+num_classes),最后一维前五个分别为4个框值xywh和1个框中含有物体的置信度。
后面为各类别概率。 ?为batch,13*13 为检测的尺度,最后会还原成:框坐标(?*13*13*3,4),相当于每张图检测了13*13*3个框(当然有很多无效的和重复的,之后会筛选),3是对应于一层3个anchor中心值,此值是原框d w聚类来的。
一张图相当于输出3层特征图,第一层相当于检测了13*13*3个框,第二三层相当于检测了26*26*3和52*52*3个框,所以说大尺寸检测的小物体,小尺寸检测的大物体,然后把三层检测的框纵向拼接到一起,在进行筛选。
每里面的最大框数 是指某一类别的框不超过最大框数,所有类别加一起有可能超过最大框数
anchor:相当于每张图会生成13*13*3(26和52) 个框,每个框都去和9个anchor做交叉比iou,选出交叉比比大于阈值的,这样虽然选的很糙,但之后会有边界框修正操作。就是相当于先找了几个固定位置,让选的框不要偏离这几个位置太多。之后在对选出的框作偏移修正。
论文解读
https://blog.csdn.net/yangchengtest/article/details/80664415