2015-11-10 19 views

答えて

3

いいえ、現在の実装は2D画像(nn.conv2dのような関数)に対して行われます。複数のチャンネル(RGBなど)をサポートしており、3D画像をマルチチャンネルの2D画像(各Zスライスはチャンネル)として表現できますが、これは必ずしも理想的ではありません。さらに、これらのアプローチを使用する場合、医療分野では一般的には得られない相当量の画像データが必要です。

更新:TensorFlowとTheano(その後のKeras、Lasagneなど)は、すべて前述のように3D操作をサポートするようになりました。 3D操作は、同様の2D操作よりもはるかに計算量が多く、メモリ集約的であることに注意することが重要です。

+0

それはどのようにconv2Dから何が違うのですか? Conv3Dがバッチ+フィーチャーマップを作成するバッチ+イメージのように見えます。 conv2dの には、kxWxHフィーチャマップを作成するチャネルがある画像があります。 あなたはx枚の画像を持っていますか? x個の特徴マップが作成されます。 AM間違っていますか? – Breeze

+0

まあ、conv2dは4次元の行列です(画像数、チャンネル数、x幅、y幅)。conv3d演算は5次元の行列です。 – kmader

+1

ええ、それはそうです、私は操作が同じであればいいと思っています。操作がどのように行われているのか迷っています。時間的なストライドについて話すと、それはどういう意味ですか?私たちは時次元の進歩をどうやって行うのですか?私は5つのフレームを知っていて、一列に時間次元と呼ばれています。 (画像カウント、深さ、チャンネルカウント、x幅、y幅)を含み、ここでの深さは5である.5フレーム、例えば200x200x3とする。 この点でストライドはどのように意味がありますか? – Breeze

0

3D画像でCNNを使用する場合は、このCaffe PRを使用することもできます。 データをHDF5形式に変換する必要があります。

10

TensorFlowは、マスターブランチで3D convolution3D poolingをサポートするようになりました。

5Dテンソルを入力として、形状:[batch_size, depth, height, width, channels]で使用できます。

+0

3Dトランスポーズ(デコンボリューション)はどうですか? –

+1

あなたのおかげで、そのためのサポートが追加される途中に[pull request](https://github.com/tensorflow/tensorflow/pull/3049)があります。また、[この問題](https://github.com/tensorflow/tensorflow/issues/2467)も参照してください –

+0

うわーは幸運でした –

関連する問題