質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Q&A

解決済

1回答

1645閲覧

チャンネル数の変更 深層学習

1236

総合スコア19

深層学習

深層学習は、多数のレイヤのニューラルネットワークによる機械学習手法。人工知能研究の一つでディープラーニングとも呼ばれています。コンピューター自体がデータの潜在的な特徴を汲み取り、効率的で的確な判断を実現することができます。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

0グッド

0クリップ

投稿2021/11/02 02:43

編集2021/11/02 02:44

深層学習でU-Netを用いてセマンティックセグメンテーションをしようとしています。
物体クラスと背景クラスの2クラスなのでU-Netの最終層のチャネル数は2です。

出力データのshapeが(2, 256, 256)なのですが、このセグメンテーションマスクを画像として保存するときにおそらく2チャンネルが原因でエラーになります。
保存にはcv2.imwriteを用いています。

shapeが(3, 256, 256)なら保存できるのでチャネル数を2から3にしたいのですが、どうしたらよいでしょうか?

調べてもグレースケールからRGB変換しか見つかりません。

よろしくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jbpb0

2021/11/02 10:03

3チャンネルの画像で保存したいというのは、たとえば背景は緑で物体は赤、みたいな画像にしたいのでしょうか? そうするよりも、shapeが(256, 256)のグレースケールにして、各画素に0または1を代入するようにした方が、クラスを3よりも多くしたいときにそのまま使えるので汎用性があると思うのですが
guest

回答1

0

ベストアンサー

得られた出力を ndarray に変換したものを pred とします。

pred = np.argmax(pred, 0) # (2, 256, 256) -> (256, 256) 要素は 0 or 1 output = np.zeros((pred.shape[0], pred.shape[1], 3)) # (256, 256, 3) の画像(黒)を作成 output[pred==1] = [255, 255, 255] # 0は黒、1は白とする # 画像の出力 cv2.imwrite('output.png', output)

コードの確認はしていないのでどこか間違いがあるかもしれませんが大まかな流れとして、
・得られ出力を argmax とって 0,1 にする
・同じサイズで3軸目を3にした空(0)の配列を用意
・先ほど argmax とったもので1となっている個所を白[255,255,255]に置き換える
・画像出力

補足として、これが3クラス分類になったら、argmax 後の値が 0,1,2 となるので
output[pred==0] = 0と推測したピクセルのBGR
output[pred==1] = 1と推測したピクセルのBGR
output[pred==2] = 2と推測したピクセルのBGR
とすれば希望の色に変更できます。
また、出力方法に OpenCV を用いるのであれば BGR、Pillow を用いるのであれば RGB なので注意です。

投稿2021/11/18 07:56

HRCo4

総合スコア140

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問