Detectron2(Mask-RCNN)多输入图像尺寸的可行性及实现疑问
Detectron2中Mask-RCNN支持多输入尺寸的原因与实现方式
为什么模型能接受不同输入尺寸?
Mask-RCNN属于**全卷积网络(FCN)**架构,整个网络没有依赖固定输入尺寸的全连接层。卷积、池化等核心操作都是基于滑动窗口对空间维度进行计算,只要输入图像的空间维度能让特征图顺利流过后续网络层,就能正常处理,天然支持任意符合比例限制的输入尺寸。
不同尺寸的图像如何输入模型?
你配置的_C.INPUT.MIN_SIZE_TEST = (800, 832, 864, 896)和_C.INPUT.MAX_SIZE_TEST = 1333是多尺度测试的参数,具体流程如下:
- 针对单张输入图像,会按照原始宽高比,分别将短边缩放到列表中的每个尺寸,同时保证长边不超过
MAX_SIZE_TEST的限制,生成多张不同尺度的图像 - 每张尺度的图像单独输入模型,得到对应尺度的预测结果(包括框、掩码等)
- 将所有尺度的预测结果映射回原始图像的尺寸,再通过非极大值抑制(NMS)等方式融合结果,最终输出最优的检测结果
模型不需要固定输入尺寸吗?
传统分类模型(如早期的AlexNet)因为包含全连接层,神经元数量固定,必须匹配固定维度的输入特征,所以需要固定输入尺寸。但Mask-RCNN这类检测模型采用全卷积结构,预测头是基于特征图的每个空间位置进行预测,不管特征图的大小如何,只要通道数匹配就能正常工作,因此不需要固定输入尺寸。多尺度输入反而能提升模型对不同大小目标的检测能力。
内容的提问来源于stack exchange,提问作者Nabil Miri
相关产品推荐
相关产品推荐

