1.自驱动多视图特征引导的基于草图的三维模型检索方法,其特征在于,基于卷积神经网络将跨模态数据转换到一个融合特征空间上,所设计的模型包括三大模块:模块1、草图特征提取模块:
使用一个CNN直接进行特征提取;
所述草图特征提取模块的具体内容为:
定义草图样本总数为NS,类别总数为C,输入的草图数据为 网络fS通过分类任务提取草图特征,使用交叉熵作为损失函数,训练草图特征提取网络,交叉熵的定义如公式(1)所示:其中,x代表输入的样本,f(xn)c代表第n个样本被网络f分类为类别c的概率,因此,有草图特征提取网络的损失函数 定义如公式(2)所示:选用fS最后一个全连接层的输入作为初步提取的草图特征
模块2、三维模型特征提取模块:
使用Blender对三维模型进行数据预处理,将三维数据转换为二维数据,使用基于自监督架构的CNN对多视图数据进行特征提取,并使用多视图特征代表三维模型特征;
通过自监督学习方法,令三维模型特征提取的过程由多视图数据自身来驱动,引导同一个三维模型不同角度视图的特征往相似的方向靠近,从而保证三维模型不同视角的特征能够在融合特征空间上实现聚类效果;
所述三维模型特征提取模块具体内容为:
模块21、数据预处理模块;
在数据预处理时使用Blender提供的Python接口获取三维模型的多视图投影,并使用Canny算法提取各个视图的边缘图作为最终的多视图数据;
模块22、自监督特征提取模块;
不同于传统的对比自监督学习需要显式地输入正例和负例来完成对比学习的任务,BYOL框架将来自同一原始数据的两种不同数据增强作为一组正例,只需显式地将这一组正例分别输入在线网络和目标网络进行训练即可完成对比学习任务,由BYOL架构提取的两种数据增强特征会趋于相似;
在线网络直接根据损失函数 更新参数,更新速度较快,代表了“进行时”的学习成果;
目标网络依据动量参数m随在线网络的更新而更新,更新速度较慢,代表了“过去时”的学习成果,保留目标网络的意义在于模型不仅根据 的约束来进行学习,还能够参考“过去时”的学习经验,实现由多视图数据自驱动、由多视图数据引导模型的自监督学习;
定义三 维模型的 样本总 数为N 3D,三维模 型的多视 图数据 为i表示视角下标;
步骤21、取两个不共享参数的CNN fθ和fξ作为在线网络和目标网络,将每个样本的多视图按生成顺序分为2组如公式(3)所示:将各组内的两个视图分别输入两个CNN得到各自的特征y'θ=fθ(x')和y”ξ=fξ(x″);
步骤22、将y'θ和y'ξ通过两个不共享参数的多层感知机投影层gθ和gξ分别得到两个高维非线性投影z'θ=gθ(y'θ)和 因此两者的特征是相似的且可以相互预测的,故将训练目标定义为用在线网络的投影z'θ来预测目标网络的特征投影 即将z'θ通过一个MLP层hθ得到预测投影q'θ=hθ(z'θ),训练目标等价于最小化q'θ和 之间的差异,故使用如公式(4)所示的基于二范数的BYOL损失LBYOL(θ,ξ)来完成训练:其中, ||·||2代表二范数;
步骤23、使用交叉熵作为该模块的第二个损失函数,在线网络和目标网络都需要受到BYOL损失和交叉熵的约束,同时,将两组数据x'和x”交换位置后再分别输入fθ和fξ,因此,模型整体的交叉熵损失函数 即为交换位置前后两组多视图各自损失的平均值,如公式(5)所示:同理,模型整体的BYOL损失L3D(θ,ξ)如公式(6)所示:最终得到三维模型特征提取模块的损失函数,形如公式(7)所示:步骤24、取fθ作为最终的多视图特征提取网络,选用fθ最后一个全连接层的输入作为最终提取的多视图特征y'θ,用平均池化将每个样本的12个多视图特征y'θ融合为一个特征作为三维模型初步提取的特征;
模块3、使用线性变换将分别由上述两个模块提取的草图特征和三维模型特征映射到一个公共的特征空间上,在该特征空间上使用基于欧氏距离的最近邻算法实现基于草图的三维模型检索任务;
具体内容为:
使用由线性层组成的线性变换fm将由上述两个模块提取的高维草图特征 和三维模型特征 映射到一个公共的特征空间 上,分别得到 和为最终能够在特征空间 上使用基于二范数欧氏距离的KNN算法寻找距离最近的 样本以完成SB3DR任务,使用增强的三元损失 作为训练fm时使用的损失函数,如公式(8)所示:其中,令 为下标集合,代表基准样本、 代表 的正例样本, 代表 的负例样本的集合,Sj代表草图样本,Vj代表三维模型样本, 为定义如公式(9)所示的三元损失:其中,margin为不同类别的样本间距。