Deep learning 三维体图像的三条正交(轴)二维卷积

Deep learning 三维体图像的三条正交(轴)二维卷积,deep-learning,conv-neural-network,convolution,medical-imaging,2d-3d-conversion,Deep Learning,Conv Neural Network,Convolution,Medical Imaging,2d 3d Conversion,由于3D卷积需要太多的计算成本,所以我更喜欢使用2D conv。我的动机是在体积图像中使用2D conv来降低成本 我想沿着三条正交线进行二维卷积,得到三个结果,每个结果都属于其中一条正交线。更清楚地说,假设我有一个三维体积图像。我希望使用xy、xz和yz轴的2D conv,而不是应用3D conv。然后,我希望得到3种不同的体积结果。每个结果表示三个不同的正交 有办法吗?谢谢您的帮助。您可以排列图像。(一些框架,如numpy称之为transpose) 假设我们使用3x3卷积核 # A batc

由于3D卷积需要太多的计算成本,所以我更喜欢使用2D conv。我的动机是在体积图像中使用2D conv来降低成本

我想沿着三条正交线进行二维卷积,得到三个结果,每个结果都属于其中一条正交线。更清楚地说,假设我有一个三维体积图像。我希望使用xy、xz和yz轴的2D conv,而不是应用3D conv。然后,我希望得到3种不同的体积结果。每个结果表示三个不同的正交


有办法吗?谢谢您的帮助。

您可以排列图像。(一些框架,如
numpy
称之为
transpose

假设我们使用
3x3
卷积核

# A batch of 16 3 channel images (channels first)
a = tensor(shape=[16,3,1920,1080])

# 2D conv will slide over a `1920 x 1080` image, kernel size is `3 x 3 x 3`
a.shape is (16,3,1920,1080)

# 2D conv will slide over a `3 x 1080` image, kernel size is `1920 x 3 x 3`
a.permute(0,2,1,3)
a.shape is (16,1920,3,1080)

# 2D conv will slide over a `1920 x 3` image, kernel size is `1080 x 3 x 3`
a.permute(0,3,2,1)
a.shape is (16,1080,1920,3)

如果一开始有5个元素的张量(批次、通道、深度、高度、宽度),会怎么样?假设我的初始张量形状是:[1,1,5192192],那么2d conv参数的输入应该是什么?我将使用PyTorch框架torch.nn.Conv2d(in_channels,out_channels,kernel_size,…)总体思路是相同的,您只需适应另一个维度,并排列四次。然而,PyTorch的文档中指出,
Conv2d
输入形状张量
(N,C,H,W)
,因此我认为它无法处理您的额外维度。您最初的回答并不好,谢谢。但我对形状有点困惑。1) 您的初始高度和宽度为32x32。然后它变成了1080年和1920年。这是什么原因?哦!那是个错误,我的错。我最初尝试使用
32 x 32
,但将其更改为
1920 x 1080
midway以具有不同大小的轴。它应该以
a=tensor(shape=[16,319201080])
开始。我会编辑我的帖子!好吧,那么,我会试着告诉你我的结果。谢谢你抽出时间。