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],
])
我正在搞乱来自 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],
])