网络处理图像之前,需要先为空间位置与通道值规定明确的数值坐标。改变单位、平均通道和重新排列元素,都可能得到形状相近的数组,却保留不同性质。一个六像素例子足以逐项计算这些操作的影响。
数字图像可以表示为有限的通道数值数组。空间位置、通道含义与数值编码是这一表示的不同组成部分。归一化、量化、通道减少与展平分别改变不同性质,不能将它们视为可以互换的预处理方式。
1. 空间位置与通道
设图像高度为 H、宽度为 W、通道数为 C,其数学表示为:
X∈RH×W×C,Xi,j,c
采用从零开始的索引,满足 0≤i<H、0≤j<W、0≤c<C。该记号将通道放在最后一轴;批量数据也可采用 (N,H,W,C) 或 (N,C,H,W),因此必须明确轴顺序。整数存储可以理解为实数表示的一种受限数值编码。
一个两行三列的 RGB 例子如下:
| 位置 (i,j) |
R |
G |
B |
| (0,0) |
255 |
0 |
0 |
| (0,1) |
0 |
255 |
0 |
| (0,2) |
0 |
0 |
255 |
| (1,0) |
0 |
0 |
0 |
| (1,1) |
255 |
255 |
255 |
| (1,2) |
128 |
128 |
128 |
该数组包含六个空间位置、18 个标量。像素是带有通道数值的空间位置,不一定只对应一个标量。通道数量及其含义取决于图像模式。[1]
2. 缩放与归一化
对于 8 位通道值 Xi,j,c∈{0,…,255},除以 255 可得到 Xi,j,c∈[0,1]。例如,128/255≈0.501961。该操作改变数值尺度,但不改变空间轴与通道轴。
进一步按通道标准化时,可使用均值 μc 和正尺度 sc:
Zi,j,c=scXi,j,c−μc
若这些统计量从数据中估计,它们属于应在训练部分拟合的预处理。[2]已知 μc,sc 时,在精确算术下可通过 Xi,j,c=scZi,j,c+μc 求逆。有限精度或后续裁剪可能产生额外影响,但这些影响并不包含在上述代数恒等式中。
3. 量化误差
对于归一化数值 u∈[0,1],量化为 M≥2 个均匀等级可定义为:
q=round((M−1)u),u^=M−1q
就近取整最多引入半个量化步长的误差,因此 ∣u^−u∣≤1/[2(M−1)]。当 M=256 时,该界为 1/510。这一推导要求 u 位于给定区间;对越界数值进行裁剪,可能产生更大的误差。
因此,量化不同于精确的尺度变换。多个邻近输入可能对应同一存储编码,使得映射不再具有单射性。
4. 通道减少
从三个通道线性映射到一个通道,可写为:
Yi,j=aRXi,j,0+aGXi,j,1+aBXi,j,2
取算术例子 aR=aG=aB=1/3,则 (255,0,0)、(0,255,0)、(0,0,255) 均映射为 85。这里的系数定义简单平均,不代表标准亮度转换。
方向 (1,−1,0)⊤ 位于该映射的零空间:第一通道增加与第二通道减少相同数值时,平均值不变。只要变化前后的输入均位于允许范围内,不同的三通道组合就可能产生相同输出。因此,仅凭这一输出无法唯一恢复原始通道组合。
5. 展平与轴顺序
展平改变索引方式,但不改变数值。对于按行排列、通道在最后一轴的约定,向量索引为:
k=(iW+j)C+c,0≤k<HWC
其逆映射为:
c=kmodC,j=⌊k/C⌋modW,i=⌊k/(WC)⌋
这些表达式给出了原坐标与向量位置之间的一一对应。因此,在原形状与顺序已知时,展平是可逆的,其机制不同于通道平均或数值量化。展平之后若再投影到更短向量,则属于另一个需要单独分析的操作。
参考文献