0

ラベルに顔のキーポイントがある画像のデータセットに回転を追加しようとしています。tf.contrib は tensorflow 2.0 から削除され、tf.data.Dataset を使用しているため、PIL などの他のライブラリは機能しません。

画像とそのキーポイント ラベルの両方に同じ回転を適用する必要がある一方で、角度をランダムに回転させる必要があります。Tensorflow 2.0 でこれを行う方法はありますか?

以下は私が使用した関数です:

def preprocess_data(image, angle):
    image = tf.image.decode_jpeg(image, channels=3)
    image = tf.image.resize(image, [input_size, input_size])
    image = tf.image.rgb_to_grayscale(image)

    image = Image.fromarray(np.array(tf.squeeze(image)))
    rotated = Image.Image.rotate(image, angle)

    image = tf.convert_to_tensor(np.array(rotated))
    image = tf.expand_dims(image, -1)
    return image

def load_and_preprocess_data(path):
    image = tf.io.read_file(path)
    rotation = tf.random.uniform([1,1], minval=-60, maxval=60, seed=0)
    return preprocess_data(image, rotation)

ここでは PIL を使用しましたが、画像パスを含む tf.data.Dataset を load_and_preprocess_data 関数にマップしようとすると機能しません。

4

0 に答える 0