2016-10-10 117 views
0

我在我自己的數據集上運行SegNet(通過Segnet tutorial)。我通過test_segmentation.py看到了不錯的結果。 我的問題是,我想看到真正的淨結果,而不是test_segmentation自己的着色(通過類)。例如,如果我有兩個班的訓練網,那麼在火車後面我不僅會看到2種顏色(就像我們在課堂上看到的那樣),但是我們會看到真正的淨色彩分割([0.22,0.19,0.3。 ...)更輕,更深,因爲網看到它] 我希望我解釋得很好。感謝您的幫助。列車集的SegNet結果(通過test_segmentation.py進行測試)

回答

0

我解決了它。解決方法是在scipy保存方法中將範圍從0到1的cmincmax範圍。例如:scipy.misc.toimage(output, cmin=0.0, amax=1).save(/path/.../image.png)

0

你可以使用python腳本來實現你想要的。看看this script

命令out = out['argmax']提取原始輸出,因此您可以根據需要獲得具有「更亮和更暗」值的分割圖。

+0

其不正確。你應該看到原來的圖像。沒有采取最大/平均/等。論據。在這裏看到我的答案。 –

0

當你說'真正的'淨色分割時,我會假定你的意思是概率圖。有效地,最後一層將爲每個班級繪製一張地圖;如果你檢查inference.py中的函數預測,他們採取argmax;那就是具有最高可能性的頻道(其代表班級)。如果你想獲得這些地圖,你只需要獲取數據而不需要計算argmax;像這樣:

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

是的。你必須從'prob'中獲取數據,但是如果你想看到與圖像矩陣中相同的像素,你必須將'cmin'和'cmax'範圍。在這裏看到我的答案。 –

相關問題