元数据

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

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

动机

此机制的目的是让模型作者能够向模型消费者传达足够的信息,以便他们能够使用该模型。

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

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

图像类别定义

对于此模型中所有使用类型指示将自身声明为IMAGE的张量,您应提供元数据以协助模型消费者。请注意,使用此机制提供的任何元数据对所有具有相应指示的类型都是全局的。

键和值不区分大小写。

具体来说,我们在此定义以下图像元数据集合

描述

Image.BitmapPixelFormat

string

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

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

Image.ColorSpaceGamma

string

指定使用的伽马色彩空间。可能的值

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

Image.NominalPixelRange

string

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

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