Tensorflow - как дополнить изображения и ограничивающие рамки во время тренировки с помощью файлов tfrecord - PullRequest
0 голосов
/ 17 января 2020

В настоящее время у меня есть тренировочный конвейер, использующий изображения и метки в формате tfrecord. Дополнить их с помощью tf.image было очень легко, но я ограничен аугментациями, которые не влияют на это расположение объектов, потому что функции tf.image, кажется, не влияют на ограничивающие рамки.

В настоящее время я есть это:

train_dataset = train_dataset.map(
    lambda image, label: (tf.image.convert_image_dtype(image, tf.float32), label)
).map(
    lambda image, label: (tf.image.random_contrast(image, lower=0.0, upper=1.0), label)
).repeat().shuffle(buffer_size=512)

Но мне бы очень хотелось добавить несколько случайных переворотов, поворотов, наклонов и обрезок, чтобы сделать его более устойчивым. Функции tf.image.random_flip были бы идеальными, но я не знаю, как справиться с переворачиванием ограничивающих рамок.

Я изучал использование пакета imgaug, но я не знаю, как обращаться с Записать данные ограничивающего прямоугольника, или это было бы эффективно сделать во время обучения, потому что он использует numpy.

Есть ли более простой способ дополнения данных во время обучения? Или есть даже простой способ использования imgaug с tfrecords, чтобы я мог сделать все дополнения перед тренировкой и сохранить их как новые изображения?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...