元数据

除了扩展性文档中列出的核心元数据建议外,还有额外的实验性元数据,用于帮助提供模型输入和输出的信息。

此元数据适用于给定类别的所有输入和输出张量。我们定义的第一个类别是:Image

动机

这种机制的动机是允许模型作者向模型消费者传达足够的信息,以便他们能够使用模型。

在图像的情况下,有许多选项可以提供有效的图像数据。然而,消耗图像的模型是在一组特定的选项下训练的,这些选项在推理过程中必须使用。

本提案的目标是提供足够的元数据,使模型使用者能够在运行模型之前执行自己的特征化,并提供兼容的输入或检索输出,并了解其格式。

图像类别定义

对于此模型中每个使用类型标注声明自己为IMAGE的张量,您应该提供元数据以帮助模型使用者。请注意,使用此机制提供的任何元数据对于所有具有相应标注的类型都是全局的。

键和值不区分大小写。

具体来说,我们在这里定义了以下图像元数据集:

描述

Image.BitmapPixelFormat

字符串

指定像素数据的格式。每个枚举值定义了通道顺序和位深度。可能的值:

  • Gray8: 1通道图像,像素数据为8 bpp灰度。
  • Rgb8: 3通道图像,通道顺序为RGB,像素数据为8bpp(无alpha通道)
  • Bgr8: 3通道图像,通道顺序为BGR,像素数据为8bpp(无alpha通道)
  • Rgba8: 4通道图像,通道顺序为RGBA,像素数据为8bpp(直通alpha通道)
  • Bgra8: 4通道图像,通道顺序为BGRA,像素数据为8bpp(直通alpha通道)

Image.ColorSpaceGamma

字符串

指定使用的伽马颜色空间。可能的值为:

  • Linear: 线性颜色空间,伽马 == 1.0
  • SRGB: sRGB颜色空间,伽马 == 2.2

Image.NominalPixelRange

字符串

指定像素值存储的范围。可能的值:

  • NominalRange_0_255: [0…255] 用于8bpp样本
  • Normalized_0_1: [0…1] 像素数据存储为归一化
  • Normalized_1_1: [-1…1] 像素数据存储为归一化
  • NominalRange_16_235: [16…235] 用于8bpp样本