ROI Pooing

ROI Pooling在目标检测算法中起到关键作用,将不同大小的ROI调整为固定尺寸,实现网络端到端的训练。该操作基于最近邻插值原理,通过max pooling处理每个分割区域。在Keras的Faster R-CNN实现中,RoiPoolingConv层用于此功能。
摘要由CSDN通过智能技术生成

参考文章
在目标检测算法中,region proposal产生的ROI大小不一,而分类网络的输入要固定的输入,所以ROI Pooing起到一个连接作用,实现了网络的end to end.
下图为一个特征图,黑色框为产生的ROI区域,需要把该区域通过ROI Pooing操作输出为2x2大小的维度。

ROI Pooing的操作很简单,如下操作:
框的宽 W = 7,高H = 5,左上角的右下角坐标为(x,y)=(W/2,3+H/2)=(3.5,5.5),由于坐标都是整数,ROI Pooing直接舍去了小数部分变为(3,5),所以ROI Pooing依据了最近邻插值的原理。

对每个分割的区域用max pooing操作得到
这里写图片描述
keras版faster rcnn中RoiPoolingConv层的实现如下:

class RoiPoolingConv(Layer):
    '''ROI pooling layer for 2D inputs.
    See Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition,
    K. He, X. Zhang, S. Ren, J. Sun
    # Arguments
        pool_size: int
            Size of pooling region to use. pool_size = 7 will result in a 7x7 region.
        num_rois: number of regions of interest to be used
    # Input shape
        list of two 4D tensors [X_img,X_roi] with shape:
        X_img:
        `(1, channels, rows, cols)` if dim_ordering='th'
        or 4D tensor with shape:
        `(1, rows, cols, channels)` if dim_ordering='tf'.
        X_roi:
        `(1,num_rois,4)` list of rois, with orderin
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值