在可变大小的图像中检测固定大小的对象

Detecting fixed size objects in variable sized images

可以训练神经网络识别对象,然后检测图像中该对象的出现,而不管它们的位置和外观大小。在 PyTorch 中执行此操作的示例位于 https://towardsdatascience.com/object-detection-and-tracking-in-pytorch-b3cf1a696a98

如文中所见,

Most of the code deals with resizing the image to a 416px square while maintaining its aspect ratio and padding the overflow.

所以这个想法是模型总是处理 416 像素的图像,无论是在训练中还是在实际的对象检测中。检测到的对象只是图像的一部分,通常小于 416 像素,但这没关系,因为模型已经过训练,可以以比例不变的方式检测模式。唯一固定的是输入图像的像素大小。

我正在查看需要执行相反操作的上下文:训练以检测固定大小的模式,然后在可变大小的图像中检测它们。例如,训练以检测 10px 正方形的图案,然后在可能为 500px 或 1000px 正方形的图像中寻找它们,无需 调整图像大小,但确保只需要寻找出现 10 像素的图案。

在 PyTorch 中有惯用的方法来做到这一点吗?

即使您使用固定大小的图像训练检测器,您也可以在推理时使用不同的大小,因为在更快的 rcnn/yolo 架构中一切都是卷积的。另一方面,如果您只关心 10X10 的边界框检测,您可以轻松地将其定义为您的 anchors。我建议您使用在 pytorch 中实现的 detectron2 框架,并且很容易 configurable/hackable.