ayukat1016/gan_sample

3D-α-WGAN-GPの応用について

Closed this issue · 7 comments

始めまして。
素晴らしいGANに特化した書籍の出版おめでとうございます。そして素晴らしい学習ソースのご提供に感謝申し上げます。
大変分厚い著書ですのでこの値段でこれだけのことが学べるのかと驚いております。

3D-α-WGAN-GPの応用についてお伺いいたします。
本書では600種ほどのnifti形式データセットを用いてボクセルデータを生成を行っていますがこの生成ネットワークはnifti以外の形式のデータセットに対して有効でしょうか。個人興味としてパグといったスケールのボクセルデータを大量に作っています。このネットワークが自前のボクセルデータに適応可能かどうかお忙しいところ恐縮ですがご協力をお願いいたします。

e4exp commented

ご質問いただきありがとうございます.

3D-α-WGAN-GP自体はnifti形式以外のデータでも学習可能です.
本書ではNiBabelのget_fdata()関数で,nifti形式をnumpyのndarrayに変換して読み込んでおります.ですのでお持ちのデータを何らかの方法でndarray形式に変換できれば動くはずです.
なお,元データのボクセル数は256^3程度を想定しており,前処理時に64^3にリサイズしています.

ご返信ありがとうございます。
ボクセルデータをndarrayに変換することは非常に難しくおもいますが変換データについてお聞かせください。
ndarrayに変換した際のデータの中身についてですが現状voxelをndarrayに変換した際の中身はTrue,Falseの多次元配列となっています.
get_fdate()で変換された配列の中身はどういった形式でしょうか。
データをロードするほど通信容量がなく確認できないことを申し訳なく思っています。

e4exp commented

get_fdate()で変換した値ですが,
例えば

[[206.74505305 105.32295156 117.02550173 ...   0.           7.80170012
     7.80170012]
  [ 31.20680046  35.10765052 109.22380161 ...   3.90085006   7.80170012
     3.90085006]
  [ 62.41360092  35.10765052  39.00850058 ...   0.           7.80170012
     0.        ]

のような,floatの値が入っています..shapeで確認した形状は(256, 256, 150)などでした.
おそらく,bool値となっている場合は読み込んだデータ.astype(float)などで小数に変換する必要があると思います.

よろしくお願いします.

迅速な対応ありがとうございます。
niftiデータへの理解が不足していました。
256(横)*256(縦)*150(スライス)の各ボクセルの画素数をfloatで表しているという事ですね。
自前のボクセルデータを変換した場合1.0/0.0のような両極端な配列データとなるでしょう。
ボクセルデータを配列データに変換するのに苦戦していますが頑張ってみます。

2か月が経過してしまいましたが一向に良い方法が見つかりません。
以前

ndarrayに変換した際のデータの中身についてですが現状voxelをndarrayに変換した際の中身はTrue,Falseの多次元配列となっています.

と記しましたが、
http://dimatura.net/misc_projects/binvox_rw_py/
こちらにあるように整数値のアウトプットです。

自前の3dデータの各ボクセルの色情報をグレースケールの値にし 256(横)*256(縦)*150(スライス)の配列に格納できたらいいものですが。。。。

e4exp commented

状況を確認させていただくと,読み込みたいデータは.binvox形式のファイルで,ndarrayには変換できている状況かと拝察いたします.変換後,何が問題となっているでしょうか?

もし差し支えなければ,データのサンプルをいただければ方法を調査しますが,いかがでしょうか.

e4exp commented

こちら一旦クローズさせていただきます。また何かありましたらご連絡お願い致します。