我正在尝试解决新冠肺炎CT扫描的分割问题,我也尝试过使用MedSeg免费浏览器工具(https://www.medseg.ai/)为自己分割图像。我想这样做,以增加我的数据集,现在有4个类别:磨玻璃,巩固,肺其他和背景。我发现了一个数据集,它只包含带有磨玻璃标签的面具。我想要分割肺其他和背景手动在他们。但是,这些手动分割的掩码的通道顺序与我的其他图像不同:
手动分段口罩:
consolidation
适当的口罩:
consolidation
当我下载准备好手动分段掩码时,它的形状是(41,512,512)。下载后,我最终添加了一个维度,因此它变成(41,512,512,1)。,而不是使用这个调色板= [0], [1], [2], [3]应用这个函数。
def mask_to_onehot(mask, palette):
"""
Converts a segmentation mask (H, W, C) to (H, W, K) where the last dim is a one
hot encoding vector, C is usually 1 or 3, and K is the number of class.
"""
semantic_map = []
for colour in palette:
#print('colour',colour)
equality = np.equal(mask, colour)
#print('equality',equality)
class_map = np.all(equality, axis=-1)
semantic_map.append(class_map)
semantic_map = np.stack(semantic_map, axis=-1).astype(np.float32)
return torch.from_numpy(semantic_map)在那之后,新面具和旧面具不同了。有人能给我点建议吗?我做错什么了?提前谢谢。
发布于 2021-11-06 18:55:04
您可以在MedSeg中打开设置菜单(使用掩码打开数据)并使用“from...to.”。下面的序列应该适用于您:0到5,然后1到0,然后2到1,然后3到2,然后5到3。
当然,在python中也可以自动执行类似的操作,例如maskmask==0=5、maskmask==1=0等等。
https://stackoverflow.com/questions/68920586
复制相似问题