Detectron2 的 DefaultPredictor 中的图像大小

问题描述

对于物体检测,我使用的是detectron2。 我想修复输入图像的大小,所以我制作了我的自定义数据加载器:

def build_train_loader(cls,cfg):
    DataLoader = build_detection_train_loader(cfg,mapper=DatasetMapper(cfg,is_train=True,augmentations=[
            T.Resize((1200,1200))
        ]))

我想知道的是预测,我可以使用检测器 2 的 DefaultPredictor 并将我的图像大小调整为 (1200,1200) 作为预置,然后再发送到预测器? 或者 DefaultPredictor 正在预测之前调整图像大小,而我必须覆盖一个函数以将大小调整为 (1200,1200)?

解决方法

您必须自己预处理图像或编写自己的预测器,以便在调用模型之前应用调整大小。

DefaultPredictor 应用了 ResizeShortestEdge 转换(可以在配置文件中配置),但这并不是您想要的。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...