Anchors

这是源代码定义的anchors概念:

Anchors_第1张图片

实现过程:

Anchors_第2张图片

假如有一张500×500的图片,那么经过第一步深度卷积网络之后(4次池化),最终就会变成一个32×32的特征:

Anchors_第3张图片

在开源代码实现里面:

Anchors_第4张图片

所以经过卷积完之后,每一个红点就是32×32上的每一个特征像素点经过乘以16(feat_stride)后映射回原图的位置。红点就是特征层经过反映射回原图的特征点,然后会在每个特征点上加上anchors偏移量,最后就会得到每一个像素点上会生成9个不同大小,不同形状比例的边框,如下:

anchors

至于9是如何来的以及生成红点的细节...后续会更  吧?

引入anchors的作用:

1.为了解决计算效率问题;

2.为了让rpn训练的时候有目标参考,做目标检测需要考虑的问题,始终要有一个参考值,每一个anchor是属于前景还是背景。

你可能感兴趣的:(pyhton,pytorch,深度学习,人工智能)