训练集的SegNet结果(test via test_segmentation.py)

SegNet results of train set (test via test_segmentation.py)

我在自己的数据集上 运行 SegNet(作者 Segnet tutorial)。我通过 test_segmentation.py 看到了很好的结果。 我的问题是我想看到真正的净结果而不是 test_segmentation 自己的着色(通过 类)。 例如,如果我用 2 类 训练了网络,那么在训练之后我不仅会看到 2 种颜色(正如我们在 类 中看到的),而且我们会看到真正的网络颜色分割( [0.22,0.19,0.3 ....) 网络看到的更亮和更暗] 我希望我能很好地解释自己。感谢您的帮助。

您可以使用 python 脚本来实现您想要的。看看this script.

命令 out = out['argmax'],提取原始输出,因此您可以根据需要获得具有 'lighter and darker' 个值的分割图。

当你说 'real' 网色分割时,我假设你指的是概率图。实际上,最后一层每个 class 都有一张地图;如果您检查 inference.py 中的函数预测,它们将采用 argmax;那是概率最高的通道(代表class)。如果你想得到这些地图,你只需要得到数据而不需要计算argmax;类似于:

predicted = net.blobs['prob'].data

我解决了。解决方案是在 scipy 保存方法中将 cmincmax 的范围从 0 到 1。例如:scipy.misc.toimage(output, cmin=0.0, amax=1).save(/path/.../image.png)