大数据,机器学习,人工智能深度学习

目标检测系列 Mask R-CNN—FPN

2020-08-26  本文已影响0人  zidea
mask-rcnn.jpg

其实卷积是和图片无关的

FPN(Feature pyramid networks)

Faster R-CNN 使用标准的 Res​​net 网络结构作为基础网络,他们喜欢将 backbone ,来对图像进行编码,所谓编码就是提取特征过程,这一次提取大小不同的特征图来解决图像中目标大小不等问题,也就是相当在一系列尺寸不同的图片上进行特征提取和图像识别。

在每一层,特征图的大小减小一半,特征图的数量增加一倍。如图所示,我们从 resnet-50 架构的 4 个特征图中提取了特征(第1层,第2层,第3层,第4层输出)。

为了生成最终的特征图,使用一种称为从上至下路径(top-bottom path)的方法。从最小的特征图开始,然后通过扩维操作 (upscale) 逐步得到更大尺寸的 256 特征图。然后逐个元素地将其添加到上一次迭代的上采样输出中。这样好处是不会丢失信息,不同大小尺寸特征图都会融合之后特征图的信息。

此过程的所有输出都经过 3 \times 3 卷积层以创建最终的 4 个特征图(P2,P3,P4,P5。第五个特征图(P6) 是通过对 P5 进行 max pooling 而生成的特征图。注意,在这里我们一定要对尺寸格外小心,上采样操作涉及的最小尺寸特征图是 (w/32,h / 32)。这里需要确保输入张量(tensor)的尺寸可被 32 整除。

这里通过一个例子来说明,假设图片大小为 w = 800 和 h = 1080。将宽和高同时除以 32 w/32 = 25,h/32 = 33.75,得到的特征图的大小为 (25,33)。接下来在上采样时,特征图尺寸将为 (50,66),应该将其逐元素添加到另一个尺寸为 (50,67) 的特征图中,因为两个 tensor 只有维度保持一致才能进行相加,所以这里因为维度不一致无法相加(合并)而会抛出错误。这雨是我们在使用 FPN 时,输入张量应为 32 的倍数的原因。

上一篇下一篇

猜你喜欢

热点阅读