You need to enable JavaScript to run this app. 如何对3D体图像沿三个正交轴执行2D convolution替代3D卷积降低算力开销
优惠活动
大模型
产品
解决方案
定价
更多

如何对3D体图像沿三个正交轴执行2D convolution替代3D卷积降低算力开销

正交2D卷积处理3D体数据的实现方案

该需求完全有成熟可行的实现路径,这一思路也是目前工业界和学术界降低3D卷积算力开销的主流方案之一,被称为正交2D卷积或伪3D卷积,实际落地中可以在精度损失可控的前提下将3D卷积的算力开销降低70%以上。

核心实现逻辑

常规3D体数据的维度为(N, C, D, H, W),其中N为批量大小、C为通道数、D为深度、H为高度、W为宽度,三个方向的2D卷积分别按如下逻辑处理:

  • xy平面方向:将深度D作为临时批量维度,把输入reshape为(N*D, C, H, W)后执行普通2D卷积,处理完成后还原维度为(N, C_out, D, H, W),得到xy方向的特征体
  • xz平面方向:调整维度顺序将H移到临时批量维度,把输入reshape为(N*H, C, D, W)后执行普通2D卷积,处理完成后调整维度顺序还原为(N, C_out, D, H, W),得到xz方向的特征体
  • yz平面方向:调整维度顺序将W移到临时批量维度,把输入reshape为(N*W, C, D, H)后执行普通2D卷积,处理完成后调整维度顺序还原为(N, C_out, D, H, W),得到yz方向的特征体

多方向特征融合方案

得到三个方向的特征体后,可以根据业务需求选择不同的融合方式:

  • 通道拼接:将三个特征体在通道维度拼接,总通道数为3*C_out,后续接入普通卷积做特征融合,精度最高,适合对效果要求高的场景
  • 加权相加:给三个方向的特征分配可学习的权重,加权求和得到单个体特征,算力开销更低,适合轻量化场景
  • 逐元素相加:直接将三个特征体逐元素相加,计算量最小,适合边缘端部署场景

PyTorch实现示例

import torch
import torch.nn as nn

class Ortho2DConv3D(nn.Module):
    def __init__(self, in_channels, out_channels, kernel_size=3, padding=1):
        super().__init__()
        # 三个方向的2D卷积,参数可共享也可独立,默认独立参数效果更好
        self.conv_xy = nn.Conv2d(in_channels, out_channels, kernel_size, padding=padding)
        self.conv_xz = nn.Conv2d(in_channels, out_channels, kernel_size, padding=padding)
        self.conv_yz = nn.Conv2d(in_channels, out_channels, kernel_size, padding=padding)
    
    def forward(self, x):
        N, C, D, H, W = x.shape
        # xy方向卷积
        x_xy = x.permute(0,2,1,3,4).reshape(N*D, C, H, W)
        out_xy = self.conv_xy(x_xy).reshape(N, D, -1, H, W).permute(0,2,1,3,4)
        # xz方向卷积
        x_xz = x.permute(0,3,1,2,4).reshape(N*H, C, D, W)
        out_xz = self.conv_xz(x_xz).reshape(N, H, -1, D, W).permute(0,2,3,1,4)
        # yz方向卷积
        x_yz = x.permute(0,4,1,2,3).reshape(N*W, C, D, H)
        out_yz = self.conv_yz(x_yz).reshape(N, W, -1, D, H).permute(0,2,3,4,1)
        # 此处默认使用通道拼接,可自行修改为相加、加权相加等融合逻辑
        return torch.cat([out_xy, out_xz, out_yz], dim=1)

该模块可以直接替换原生3D卷积,嵌入到任意3D任务网络(如医学影像分割、三维点云体素分类等)中使用。

注意事项

  • 三个方向的2D卷积的kernel_size、padding参数建议设置为一致,保证输出空间尺寸匹配,避免融合时维度不兼容
  • 针对各向异性的3D体数据,可以适当调高采样率更低的方向的卷积权重,降低精度损失
  • 如果需要进一步压缩算力,可以让三个方向的2D卷积共享权重,能额外降低2/3的参数量

内容的提问来源于stack exchange,提问作者vaveila

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.19 09:54:05