1.一种基于多视图手绘草图与跨模态Transformer的CAD程序生成方法,其特征在于:所述基于多视图手绘草图与跨模态Transformer的CAD程序生成方法,包括:获取三个视图的手绘草图图像,并对各手绘草图图像进行预处理;
将预处理后的各手绘草图图像作为训练好的CAD程序模型的输入,其中在CAD程序模型中,预处理后的各手绘草图图像分别经过视觉编码器网络进行编码,得到第一特征矩阵和第二特征矩阵,第一特征矩阵和第二特征矩阵经过融合模块进行融合,得到全局几何特征,随机初始化带有SOL开始标记的第一程序潜特征,将全局几何特征和第一程序潜特征经过跨模态对齐模块,得到跨模态对齐特征,最后跨模态对齐特征再经过CAD序列生成器,得到命令以及与命令对应的参数向量,且相应的命令与参数向量构成命令‑参数向量对,并且所有的命令‑参数向量对构成CAD程序序列;
其中,所述预处理后的各手绘草图图像分别经过视觉编码器网络进行编码,得到第一特征矩阵和第二特征矩阵,包括:在视觉编码器网络中,首先对各手绘草图图像进行patch切分,得到 个token块,将各token块展平后经过嵌入层映射,得到特征块,且第 个特征块表示为 , 为特征维度,将对应来自同一手绘草图图像的特征块拼接回切分之前的样式,得到第一特征矩阵;
对各手绘草图图像引入拓扑位置编码矩阵 , 为第 个手绘草图图像对应的拓扑位置编码矩阵,并将对应手绘草图图像的各特征块与拓扑位置编码矩阵相加,再将相加后的结果经过层归一化层,得到第一特征,将对应来自同一手绘草图图像的第一特征拼接回切分之前的样式,得到第二特征矩阵。
2.如权利要求1所述的基于多视图手绘草图与跨模态Transformer的CAD程序生成方法,其特征在于:获取的三个视图的手绘草图图像的种类为正视图、右视图和俯视图中的一种、两种或三种,并将其中一个视图作为主要视图,另外两个视图作为辅助视图;
所述预处理操作为尺寸归一化和图像像素值归一化。
3.如权利要求1所述的基于多视图手绘草图与跨模态Transformer的CAD程序生成方法,其特征在于:所述第一特征矩阵和第二特征矩阵经过融合模块进行融合,得到全局几何特征,包括:所述融合模块包括第一注意力分支和第一深度可分离分支,三个第二特征矩阵均作为第一注意力分支的输入,且第一注意力分支包括多个依次连接的第一注意力模块,各第一注意力模块包括依次连接的第一多头注意力机制和层归一化层,且在第一个第一注意力模块的第一多头注意力机制中,主要视图对应的第二特征矩阵经过线性映射后得到查询向量,辅助视图对应的两个第二特征矩形分别经过线性映射后得到键向量和值向量,其余第一注意力模块的第一多头注意力机制执行的是自注意力机制计算;
所述第一深度可分离分支包括依次连接的深度卷积层、逐点卷积层和激活层,将分别与各手绘草图图像对应的第一特征矩阵之间进行拼接,且拼接结果作为第一深度可分离分支的输入,得到第一深度可分离分支的输出;
将第一注意力分支的输出与第一深度可分离分支的输出进行相加后,再经过层归一化层,得到全局几何特征。
4.如权利要求1所述的基于多视图手绘草图与跨模态Transformer的CAD程序生成方法,其特征在于:所述随机初始化带有SOL开始标记的第一程序潜特征,将全局几何特征和第一程序潜特征经过跨模态对齐模块,得到跨模态对齐特征,包括:所述跨模态对齐特征包括第二注意力分支和第二深度可分离分支,将全局几何特征和第一程序潜特征作为第二注意力分支的输入,且第二注意力分支包括依次连接的第二多头注意力机制、残差连接和层归一化层,且在第二多头注意力机制中,第一程序潜特征经过线性映射后得到查询向量,其中 为CAD模型对应命令的总个数或总步数,全局几何特征经过线性映射后得到键向量和值向量;
所述第二深度可分离分支包括依次连接的深度卷积层、逐点卷积层和激活层,且第二注意力分支的输出作为第二深度可分离分支的输入,得到第二深度可分离分支的输出;
第二注意力分支的输出和第二深度可分离分支的输出进行相加后,经过层归一化层,得到跨模态对齐特征。
5.如权利要求1所述的基于多视图手绘草图与跨模态Transformer的CAD程序生成方法,其特征在于:所述CAD序列生成器包括CAD解码器和两个输出层,且跨模态对齐特征经过CAD解码器,得到解码特征,解码特征再分别作为两个输出层的输入,分别得到CAD程序的多个命令以及与各命令对应的参数向量,构成CAD程序序列;
其中,所述CAD解码器包括并列的带有因果掩码的多头注意力机制和带有因果掩码的跨模态约束多头注意力机制,以及层归一化层和线性层,跨模态对齐特征作为多头注意力机制的输入,在跨模态约束多头注意力机制中键向量和值向量来自跨模态对齐特征的线性映射,查询向量来自全局几何特征的线性映射,将多头注意力机制和跨模态约束多头注意力机制的输出进行拼接,再依次经过层归一化层和线性层,得到解码特征,其中因果掩码是对跨模态对齐特征做掩码。
6.如权利要求1所述的基于多视图手绘草图与跨模态Transformer的CAD程序生成方法,其特征在于:CAD程序模型训练过程中采用的数据集为:从已有CAD三维模型数据库中提取每个CAD模型对应的由命令和命令对应的参数向量组成的有层级关系的CAD程序序列 , ,其中,为CAD模型对应命令的总个数或总步数, 为CAD模型的第 个命令, 为第 个命令对应的参数向量, 为 中的第 个参数;
针对CAD三维模型数据库中的每个CAD模型,分别沿正视、俯视和右视方向进行投影,依次得到正视图、俯视图和右视图的矢量轮廓曲线;
对各矢量轮廓曲线按预设步长进行重采样,得到采样点序列;
对各采样点序列进行噪声曲面扰动;
对噪声曲面扰动后的采样点序列进行以预设概率插入空值,实现断线效果;
对实现断线效果的采样点序列进行线条宽度上的扰动,得到各视图手绘质感的线条轮廓;
将CAD三维模型数据库中每个CAD模型的三个视图手绘质感的线条轮廓与对应CAD程序序列进行配对,且配对后的三个视图和对应CAD程序序列构成一个样本,所有样本构成CAD程序模型的数据集。
7.如权利要求6所述的基于多视图手绘草图与跨模态Transformer的CAD程序生成方法,其特征在于:CAD程序模型训练过程中,数据集中的各CAD程序序列中的各命令和参数向量分别进行离散化和量化操作,并映射为与CAD程序序列对应的token序列后,通过嵌入层得到向量形式 ;
对向量形式 中的各命令添加层级位置编码向量后,进行层归一化层操作,得到编码序列 ,其中各命令为所属的层级类别为拉伸操作层、草图层或回路层,层级位置编码向量 包含命令所属的层级类别、命令在同一层级类别的相对顺序和命令与其依赖草图或拉伸操作之间的父子关系标识中的一个或多个;
将编码序列经过编码模块,得到训练过程中的第二程序潜特征,其中编码模块包括多个依次连接编码单元,各编码单元包括依次连接的第三多头注意力机制、线性层、层归一化层和激活层,其中第三多头注意力机制引入层级约束掩码参与注意力机制计算,且层级约束掩码是对数据集中的各CAD程序序列的参数向量的掩码,且层级约束掩码中的各元素与参数向量中的各参数一一对应,当参数的值为零时,则层级约束掩码中的对应元素设置为
0,当参数的值为非零时,则层级约束掩码中的对应元素设置为1。
8.如权利要求7所述的基于多视图手绘草图与跨模态Transformer的CAD程序生成方法,其特征在于:所述第一程序潜特征的尺寸与第二程序潜特征一致;
在CAD程序模型训练过程中,跨模态对齐模块中的第二多头注意力机制在进行注意力机制计算时,引入层级约束掩码参与计算。
9.如权利要求1所述的基于多视图手绘草图与跨模态Transformer的CAD程序生成方法,其特征在于:所述CAD程序模型训练过程中采用的损失函数 为:;
其中,
;
;
其中, 为命令的交叉熵损失, 为参数向量中参数的交叉熵损失, 为
多视图几何结构一致性约束损失, 、 和 均表示权重参数, 分别表
示数据集中的正视图、俯视图和右视图, 为第 种视图依次经过视觉编码器网络和融合模块得到的全局几何特征, 为用于将不同视图特征映射到统一特征空间的线性变换函数。