RPN具体生成细节

在这里假设我们想生成100:100、300:300、500:500及1:1、1:2、2:1三种尺寸三种比例的图像,这里要注意100:100的1:2尺寸不是100:200,而是100/√2:100*√2大约71:141,因为同一尺寸的三种比例变化后图像的面积要保存一致

假设以原点为矩阵中心点,生成的9个anchor如下(x1,y1,x2,y2)


然后再把这9个anchor进行x,y方向的平移,convmap_height,convmap_width为最后特征图的大小,把特征图中的每一点映射回原图作为anchor的中心点,一个中心点形成9个anchor。代码如下,

        for i in range(self.convmap_height):
            h = i * 16 + 8
            for j in range(self.convmap_width):
                w = j * 16 + 8
                for k in range(self.anchor_size):
                    index = i * self.convmap_width * self.anchor_size + j * self.anchor_size + k
                    anchor = anchors[k, :]
                    proposals[index, :] = anchor + np.array([w, h, w, h])

得到如下矩阵结果:

边界点形成的anchor会超出原图界限,所以会有第一行和最后一行负数和大整数的存在。

我们把最中间形成的anchors画出来如下图:


评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值