首页 > 解决方案 > 如何使用 tensorflow 对象检测 api 添加自定义增强?

问题描述

目前,在使用 TensorFlow 对象检测 API 的预处理步骤中不支持 Cutout 图像增强。

我的问题是:

1. 如何向 TensorFlow 对象检测预处理器添加自定义增强(在本例中为 Cutout)?

我试图遵循:

https://github.com/tensorflow/models/commit/ec4b78f3e7030184b255099c369c52e9b404d71f

在遵循该拉取请求并protoc object_detection/protos/*.proto --python_out=.在 protoc 目录中运行之后

并尝试使用我在目标检测器训练期间实现的剪切增强,我收到以下错误:

google.protobuf.text_format.ParseError: 140:5 : Message type "object_detection.protos.PreprocessingStep" has no field named "CutOut".

另外,对于 Cutout 的实现,我正在使用https://www.tensorflow.org/addons/api_docs/python/tfa/image/cutout

非常感谢任何帮助和指导!:-)

标签: tensorflowobject-detectionobject-detection-api

解决方案


我对 Tensorflow 的对象检测 API 没有那么丰富的经验,但我认为您可以添加一个名为“random_black_patches”的增强,类似于 cutout。你可以在这里的原型中看到它。

如果你看到参数,你可以看到你控制了补丁的数量、概率和纵横比。

我在我pipeline.config的如下使用它:


train_config {
  batch_size: 4
  data_augmentation_options{
    random_black_patches {
    }
  }
}


推荐阅读