Tensorflow - deeplab 颜色图

Tensorflow - deeplab colormap

我正在搞乱来自 google 的 DeepLab 的语义图像分割。我希望能够为每个语义(即人、猫等)更改颜色。使用 PASCAL 基准创建颜色图的方法是

def create_pascal_label_colormap():
  """Creates a label colormap used in PASCAL VOC segmentation benchmark.

  Returns:
    A Colormap for visualizing segmentation results.
  """
  colormap = np.zeros((256, 3), dtype=int)
  ind = np.arange(256, dtype=int)

  for shift in reversed(range(8)):
    for channel in range(3):
      colormap[:, channel] |= ((ind >> channel) & 1) << shift
    ind >>= 3

  return colormap

我想如果我将 ind 的值更改为另一个(而不是 2 以具有 3),我会得到不同的颜色。此外,还有另一种方法可以为语义获取不同的颜色吗? 我似乎无法猜测它是如何工作的,颜色图是如何创建的,使用我们在代码中看到的移位。我还在 DeepLab,google colab 上链接我正在处理的完整代码: https://colab.research.google.com/drive/1a3TnfeEjVMg7N1Dz5d_UA8GN_iKHkG_l#scrollTo=na9DyxVl4_Ul

如果你有固定数量的类,你也可以硬编码你想要的颜色,比如

def create_pascal_label_colormap(): 
 return np.asarray([ 
    [0, 0, 0],
    [0, 192, 0],
    ])