MXnet - 支持 ROI-Pooling 的 CNN 的 ImageRecordIter 和数据增强
MXnet - ImageRecordIter and data augmentation for ROI-Pooling enabled CNN
在使用 MXnet 开发的 CNN 网络中使用 ROI-Pooling 时如何进行数据增强?
例如,假设我有一个使用 roi-pooling 层的 resnet50 架构,我想在 ImageRecord 迭代器中使用随机裁剪数据增强。
是否有一种自动方式将 rois 中的数据坐标传递到 roi 池化层,进行转换以应用于由 ImageRecord Iterator 的数据增强过程生成的图像?
您应该能够为此重新调整 ImageDetRecordIter
的用途。它旨在与包含边界框的对象检测数据一起使用,但您可以将边界框定义为 ROI。现在,当您应用增强操作(例如翻转和旋转)时,边界框的坐标将根据图像进行调整。
否则,您可以使用 Gluon 轻松编写您自己的 transform
函数,并且可以利用任何 OpenCV 增强来应用于您的图像和 ROI。只需编写一个获取数据和标签的函数,以及 returns 增强数据和标签。
在使用 MXnet 开发的 CNN 网络中使用 ROI-Pooling 时如何进行数据增强?
例如,假设我有一个使用 roi-pooling 层的 resnet50 架构,我想在 ImageRecord 迭代器中使用随机裁剪数据增强。
是否有一种自动方式将 rois 中的数据坐标传递到 roi 池化层,进行转换以应用于由 ImageRecord Iterator 的数据增强过程生成的图像?
您应该能够为此重新调整 ImageDetRecordIter
的用途。它旨在与包含边界框的对象检测数据一起使用,但您可以将边界框定义为 ROI。现在,当您应用增强操作(例如翻转和旋转)时,边界框的坐标将根据图像进行调整。
否则,您可以使用 Gluon 轻松编写您自己的 transform
函数,并且可以利用任何 OpenCV 增强来应用于您的图像和 ROI。只需编写一个获取数据和标签的函数,以及 returns 增强数据和标签。