卷积神经网络

您所在的位置:网站首页 proposal和propose的区别 卷积神经网络

卷积神经网络

2023-10-02 06:37| 来源: 网络整理| 查看: 265

刚开始看到anchor和Proposal的时候有一些细节搞不清楚,在这里记录一下。 anchor是Proposal的基础,现有anchor以后,从 anchor中根据条件选择出来的就可以作为Proposal了。Proposal后面再经过RoIPooling就可以做分类和回归了。

拷贝的图片,侵删 拷贝的图片,侵删 下面先介绍一下anchor的生成过程。

anchor 概念

anchor(锚):个人理解是基于一个中心点创建出的几种大小和长宽比的框,这个中心点怎么确定呢?是根据Feature Map中每一个点在输入图片中对应的点。

anchor的创建是在Faster R-CNN的哪个阶段呢?是在backbone的输入传入RPN后首先生成anchor,然后将anchor分别给两个分支去处理,一个分支使用softmax进行二分类,判断该anchor的框内有没有物体,有则为positive,没有则为negative;另一个分支进行边框回归,使anchor的边框更接近ground truth的框,因为默认生成的anchor框与实际框还是有偏差的。最终根据两个输出加原始图片信息生成Proposal。 在这里插入图片描述

anchor的生成过程

anchor的生成就是在上图中的红色框中完成。

anchor生成主要分为一下几步: 第一步:使用一个kernel_size为3x3,stride=1,padding=2的卷积核,使用该卷积核遍历backbone输出的Feature Map; 第二步:然后取3x3的滑动窗口的中心点对应的输入图像的点作为锚点; 第三步:以图像中的锚点作为中心取3种面积{128128, 256256, 512*512}和3种长宽比{1:1, 1:2, 2:1}的anchor。也就是说每一个点对应9个anchor。

那么第二步中特征图中滑动窗口的点怎么映射回输入图像呢? 这就涉及到另一个概念:感受野。这块还是单独写一个文章介绍吧,又欠账了。

Proposal的生成过程

当anchor生成以后就要生成最终的Proposal了。首先对anchor有两部分的操作:分类和边框回归。 分类是上图中上面的分支,通过softmax进行二分类,将anchor分为前景和背景,分别对应positive和negative。 边框回归获取anchor针对ground true的偏移。得到这两个信息后开始选取符合条件的anchor作为Proposal。

主要分为以下几步: 第一步:先将前景的anchor按照softmax得到的score进行排序,然后取前N个positive anchor; 第二步:利用im_info中保存的信息,将选出的anchor由MxN的尺度还原回PxQ的尺度,刨除超出边界的anchor,M N P Q参考最上面的图; 第三步:执行NMS(nonmaximum suppression,非极大值抑制); 第四步:将NMS的结果再次按照softmax的score进行排序,取N个anchor作为最终的Proposal;

至此Proposal的生成就结束了,需要注意的是最后的Proposal是这对赢MxN的尺度。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3