图像分割 常见问题总结

1. 类别数量label_nc/ num_class的问题

报错包括:

RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED

等奇怪的错误

参考链接: https://www.computationalimaging.cn/2020/01/image-segmentation-summary-of-problems.html

原因及解决方案:

对label图进行了imresize操作

默认双线性插值法几乎必然产生新像素,造成分类变多的问题,导致报错

解决方案:label = cv2.resize(label,(256,256),interpolation=cv2.INTER_NEAREST)

采用INTER_NEAREST插值即可。

注:查看label数量的方法: length(np.unique(label))即可

2. 相同类别区域颜色不同的问题

在训练集没有问题的前提下,该问题常常是由于读取数据时的编码造成的。

读取数据时,我们需要将原本的label转换为排好序的数值从小到大确定的label。例如,原始label数组用np.unique统计结果为

[  0.  76.  78. 126. 128. 149. 169. 176. 229. 255.]

我们要把它们变成:
[ 0.  1.  2.  4.  5.  7.  8.  9. 10. 11.]

可见,其中的3是空着的,即该输入数据没有3这个类别。如果代码没有将3空起来,便会导致类别的混乱问题,进而导致相同类别区域颜色不同,错误情况如下图所示:

未完待续

图像分割/super pixel/ parsing Github:

人脸分割: https://github.com/zllrunning/face-parsing.PyTorch  

传统方法super pixel: https://github.com/mingyuliutw/EntropyRateSuperpixel

由分割图生成真实场景:https://github.com/NVlabs/SPADE

Deeplab v3+ Pytorch版: https://github.com/jfzhang95/pytorch-deeplab-xception

CSAILVison Pytorch语义分割: https://github.com/CSAILVision/semantic-segmentation-pytorch

发布了47 篇原创文章 · 获赞 11 · 访问量 2万+

猜你喜欢

转载自blog.csdn.net/qazwsxrx/article/details/103706817
今日推荐