2016-10-10 1 views
0

私はSegNetを自分のデータセット(Segnet tutorial)で実行します。私はtest_segmentation.pyで素晴らしい結果を見ます。 私の問題は、私が実際のネット結果を見たいと思って、test_segmentation自身の色付け(クラスを介して)ではないということです。 たとえば、私は2つのクラスでネットを訓練しているので、電車の後で2色だけでなく(クラスで見られるように)、実際のネットカラーセグメンテーション([0.22,0.19,0.3。 ...)明るくて暗いほど網が見える] 私は自分自身をうまく説明してくれることを願っています。助けてくれてありがとう。列車セットのSegNet結果(test_segmentation.pyによるテスト)

答えて

0

私はそれを解決します。解決策は、サイフィーセービング法では、cmincmaxの範囲が0から1になります。たとえば、scipy.misc.toimage(output, cmin=0.0, amax=1).save(/path/.../image.png)

0

あなたが望むものを達成するためにpythonスクリプトを使うことができます。 this scriptをご覧ください。

コマンドout = out['argmax']は、生の出力を抽出するので、必要に応じて「明るく、暗い」値のセグメンテーションマップを取得できます。

+0

が正しくありません。あなたはそのイメージをそのまま見るべきです。最大/平均/等を取ることなく。引数。ここで私の答えを見てください。 –

0

「本当の」純色のセグメンテーションを言うとき、私は確率マップを意味すると仮定します。効果的に、最後のレイヤーはすべてのクラスに対して1つのマップを持ちます。 inference.pyで関数predictをチェックすると、argmaxが取られます。それは最も高い確率を有するチャネル(クラスを表す)である。これらのマップを取得したい場合は、argmaxを計算せずにデータを取得するだけです。

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

はい。 'prob'からデータを取得する必要がありますが、画像マトリックスと同じピクセルを表示するには、 'cmin'と' cmax'の範囲にする必要があります。ここで私の答えを見てください。 –

関連する問題