You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

优化用于布料模拟的卷积神经网络(CNN)的技术咨询

基于机器学习的布料模拟项目

项目实现流程

作为大学课程项目,我正在尝试用机器学习实现布料模拟,刚接触Git和GitHub,项目代码存放于ML_fabric_simulation仓库(不含大尺寸数据集),可视化代码存放于OpenGL仓库。

  1. 基础欧拉布料模拟:实现任意尺寸的正方形质点网格,质点间通过水平/垂直结构弹簧、对角线剪切弹簧及弯曲弹簧连接。实时运行模拟并记录每一时间步的位置、速度和力,保存为训练数据集。
  2. CNN模型训练与推理:使用PyTorch训练卷积神经网络(CNN),以位置和速度作为输入通道,输出为力通道。力的积分逻辑如下:
def step(self):
    with torch.no_grad():
        self.total_forces = my_models.run(
            self.model,
            torch.cat((self.pos, self.vel), axis=0),
            self.device
            )
        self.total_forces *= self.force_scale

    self.acc = self.total_forces/self.mass
    self.vel[self.all_but_fastened] += self.acc[self.all_but_fastened]*self.dt
    self.pos[self.all_but_fastened] += self.vel[self.all_but_fastened]*self.dt

CNN的前向传播实现:

class CNN(nn.Module):
    def __init__(self, input_channels, output_channels, hidden_channels=[], kernel_size=3):
        super().__init__()

        # Channels:
        channels = [input_channels] + hidden_channels + [output_channels]

        # Convolutional layers:
        self.conv = nn.ModuleList()
        for i in range(len(channels)-1):
            self.conv.append(nn.Conv2d(channels[i], channels[i+1], kernel_size=kernel_size, padding=int((kernel_size-1)/2)))

    def forward(self, x):
        for i, layer in enumerate(self.conv):
            x = layer(x)
            if i != (len(self.conv)-1):
                x = activation(x)
        return x
  1. 可视化:通过另一程序提取位置数据转换为numpy数组,使用OpenGL进行渲染。

当前核心问题

小尺寸布料(如3x3网格,顶部3个质点固定)模拟稳定,可正常悬挂及拖拽;但大尺寸布料(最大测试50x50)会立即崩溃,问题从边缘区域开始——边缘质点的连接结构与布料主体差异明显。

已尝试的优化措施

  • 生成数据集时,给欧拉积分计算的位置添加噪声,大幅平滑了学习曲线,但对模拟稳定性无明显改善;
  • 尝试对数据集进行归一化处理,暂未明确其效果。

疑问与求助方向

疑问点

  • 了解到这类物理模拟问题的最优方案是图神经网络(GNN),但因仅模拟正方形布料,起初认为无需使用GNN,现在怀疑边缘问题是否需要改用GNN?
  • 使用torch.compile(self.model)后性能反而下降:未编译时每秒约800-900物理步,编译后约700步且波动较大(显卡为GTX 5070);
  • 最初尝试直接输入位置让CNN预测下一位置,速度虽快但模拟极度不稳定;
  • 当前最有效的CNN结构为单隐藏卷积层,通道数4-64,不确定如何进一步优化网络结构。

求助需求

寻求提升ML驱动布料模拟的稳定性、性能的具体建议,以及CNN网络结构优化的指导。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.02 01:34:53