fastrcnn、yolo输出层的比较,以及anchor是啥

一、Fastrcnn里的anchor是啥

https://blog.csdn.net/as472780551/article/details/81227408

所谓anchor,就是特征图上的点预测的大小和长宽比例不同的K个框,这些框以该点对应到原图上的坐标点为中心。在Fastrcnn中,一个点预测9个框(9个anchor),这9个框的大小和比例都是事先设定好的。

 

二、Fastrcnn的输出层

fastrcnn、yolo输出层的比较,以及anchor是啥_第1张图片

51x39x256的特征图,每个点用一个3x3的卷积滑动。生成51x39x(9*4)和51x39x(9*2)的两个特征图,(9*4)和(9*2)就分别用来预测该点的anchor框与GT框的平移缩放值和前景背景概率。(与IOU最大的那个GT)

三、YOLO V1输出层:

7x7x30,表示SxSx(B∗5+C) = 7x7x(2*5 + 20)。

SxS表示网格数量,B表示每个点预测框的个数,C表示能检测识别的种类。5表示直接预测框的坐标,宽高,和置信度。

划定网络,把原图分成7x7块。如果GT的中心落在某一个块上,那么这个块对应特征图上的这个点就要按照有目标来计算损失。

如下面前三行。否则按照第四行计算损失。

fastrcnn、yolo输出层的比较,以及anchor是啥_第2张图片

四、YOLO V2的输出层

13x13x(5x5+??)

首先通过K-Means聚类,确定了5种大小比例不同的anchor。每个特征点,预测,5个bounding box的5值(tx,ty,tw,th,to)。

前两个表示框的中心点,与特征点所对应的原图单元格左上角的偏移量。后两个表示长宽(用到了聚类出来的anchoer的长宽),最后一个表示概率。

fastrcnn、yolo输出层的比较,以及anchor是啥_第3张图片

yolo的思路总是:用特征图上的点,表示原图上的一个单元格,在单元格的基础上进行一些操作。

V1是利用GT中心点是否在单元格上进行一些操作。V2是利用了单元格左上角的坐标,预测BBOX中心点与其之间的偏移量。

 

v1和v2的区别:预测的对象不一样

v1是直接预测两个框的坐标点和宽高,比较暴力。

V2是先用聚类做5个anchor,anchor是为了提供比较合适的长宽。

后面对长宽的预测,是预测bbox与anchor框长宽的比例。

坐标预测的是与该特征点所代表的单元格左上角的偏移量。

五、YOLO V3的输出层

跟V2一样,不过多了两个尺度。每个点预测3个框。3个尺度正好把9个聚类anchoer长宽用完。

 

 

你可能感兴趣的:(深度学习)