我从下面的解释中了解到,将有两种类型的图像进行语义分割,即输入和掩码。掩码图像是包含像素值中的‘标签’的图像,它可以是一些整数(对于树是0,对于树是1,对于树是(100,100,100),对于树是(0,255,0) 。
语义分割描述了将图像的每个像素与类标签(如花、人、道路、天空、海洋或汽车)相关联的过程。https://se.mathworks.com/help/vision/ug/semantic-segmentation-basics.html
根据我的研究,有很多类型的标签图像进行语义分割。除了不同的扩展(.png .jpg .gif .bmp.)外,有些是RGB标记的(3-通道)图像,有些是GRAY (1-通道)图像。下面有两个例子可以更好地解释这种情况。
如果我的图像被标记为灰度,我基本上是通过复制这个灰度通道的每个值来实现RGB的。正好相反,通过平均RGB通道,我可以使标记图像为灰度。有什么关系?哪一个更适合哪个任务(二进制分段还是其他任务)?
在我的例子中,我有4类,并尝试进行多类语义分割。我已经在DataTurks上贴上了大约600个图片。这意味着,我只有物体的多边形,我必须自己制作我的标签图像。现在,输入图像的扩展和掩码图像分别是'.jpg‘和'.png’。,我应该如何标记我的图像和哪个扩展?
发布于 2019-03-02 11:12:00
您可以将掩码保存为灰度png图像,其值为0、1、2、3(因为您有4个类)的值在对应于类的每个位置(树、布什等)。输入图像中的像素值。
您可以通过这样做来验证掩码映像的生成是否正确。
import cv2
import numpy as np
lbl_img = '<path_to_mask_image>'
mask = cv2.imread(lbl_img, 0)
print(np.unique(mask))0 1 2 3#这将根据掩码图像中的类数而变化。
https://stackoverflow.com/questions/54956111
复制相似问题