1.一种基于结构对齐的文本驱动三维场景匹配方法,其特征在于,包括以下步骤:步骤1,获取查询文本与待匹配三维场景的实例特征向量、关系特征向量,统计查询文本的实例数量n和待匹配三维场景的实例数量m;
步骤2,判断待匹配三维场景的实例数量m与查询文本的实例数量n的大小,若m<n,则判定该三维场景与查询文本的匹配度为0,跳过该三维场景的后续匹配步骤;若m≥n,则执行后续匹配步骤;
步骤3,基于查询与场景的实例特征向量计算实例相似度矩阵,采用贪心匹配算法完成查询实例与场景实例的匹配,得到实例匹配度分数;
步骤4,根据贪心匹配得到的场景实例索引,提取三维场景中对应实例的关系特征向量,结合查询文本关系特征向量,计算关系匹配度分数;
步骤5,结合实例相似度矩阵、关系相似度矩阵及贪心匹配结果,计算实例与关系的一致性分数;
步骤6,对实例匹配度分数、关系匹配度分数和一致性分数进行加权求和,得到查询文本与三维场景的最终匹配得分,完成三维场景与查询文本的匹配。
2.根据权利要求1所述的一种基于结构对齐的文本驱动三维场景匹配方法,其特征在于,所述步骤1中,查询文本的特征向量和三维场景的特征向量均通过预训练模型提取得到,存储为torch格式文件,通过torch.load()函数加载;其中,查询文本的实例特征向量Query_Feats_Obj的维度为(n,4,feat_dim),查询文本的关系特征向量Query_Feats_Rel的维度为(n,n,feat_dim),三维场景的实例特征向量Scene_Feats_Obj的维度为(m,4,feat_dim),三维场景的关系特征向量Scene_Feats_Rel的维度为(m,m,feat_dim),feat_dim为特征维度。
3.根据权利要求2所述的一种基于结构对齐的文本驱动三维场景匹配方法,其特征在于,所述步骤3中,实例相似度矩阵S_obj_mat的计算过程为:步骤3.1,采用L2归一化方法,分别对Query_Feats_Obj和Scene_Feats_Obj进行归一化处理,得到归一化后的特征向量A_norm和B_norm;
步骤3.2,通过张量einsum运算计算临时实例相似度矩阵S_obj_mat_tmp,得到维度为(n,m,4)的临时矩阵;
步骤3.3,生成临时矩阵的掩码S_obj_mat_tmp_mask;
步骤3.4,设置权重向量;
通过矩阵乘法对临时相似度矩阵进行加权计算,得到最终的实例相似度矩阵S_obj_mat,计算公式为:;
最终得到维度为(n,m)的实例相似度矩阵。
4.根据权利要求3所述的一种基于结构对齐的文本驱动三维场景匹配方法,其特征在于,所述步骤3.1的归一化公式为:;
其中,x_norm为待归一化特征向量,F为torch.nn.functional,torch.nn.functional为PyTorch里面的函数集,normalize(・)表示L2归一化操作,p为指定使用的范数类型,dim为执行归一化的指定维度;
所述步骤3.2的运算公式为:
;
其中,nkd代表 的维度,mkd代表 的维度,nmk代表 的维度,torch.einsum()表示torch.einsum函数。
5.根据权利要求4所述的一种基于结构对齐的文本驱动三维场景匹配方法,其特征在于,所述步骤3.3中,掩码S_obj_mat_tmp_mask,通过公式运算得到;
所述步骤3.4中,设置权重向量weights的公式为:
;
其中,torch.tensor()表示torch.tensor函数,w_cat,w_col,w_mat,w_oth分别代表实例种类、颜色、材质和其他属性的权重。
6.根据权利要求5所述的一种基于结构对齐的文本驱动三维场景匹配方法,其特征在于,所述步骤3中,贪心匹配算法的具体过程为:步骤3.5,初始化剩余未匹配的查询实例索引集合remaining_queries,该集合包含所有查询实例索引,索引取值为0至n‑1的整数,即remaining_queries={0,1,...,n‑1};剩余未匹配的场景实例索引集合remaining_scenes,该集合包含所有场景实例索引,索引取值为0至m‑1的整数,即remaining_scenes={0,1,...,m‑1};同时,初始化用于存储匹配相似度的列表matched_scores,以及用于存储匹配索引的列表row_ind和col_ind;
步骤3.6,循环n次,每次从remaining_queries和remaining_scenes中遍历所有实例对,找到实例相似度矩阵S_obj_mat中相似度最高的实例对,记录该实例对的相似度值、查询实例索引best_q和场景实例索引best_s;
步骤3.7,将当前最高相似度值加入matched_scores列表,将best_q和best_s分别加入row_ind和col_ind列表,同时从remaining_queries和remaining_scenes中移除对应的实例索引;
步骤3.8,循环结束后,计算matched_scores列表中所有相似度值的平均值,作为实例匹配度分数S_obj,计算公式为:;
其中,matched_scores为存储每一对查询实例与场景实例相似度值的列表,mean()表示均值函数。
7.根据权利要求1所述的一种基于结构对齐的文本驱动三维场景匹配方法,其特征在于,所述步骤4中,关系匹配度分数S_rel的计算过程为:步骤4.1,通过torch.meshgrid()函数生成贪心匹配索引col_ind对应的网格索引ix和iy,索引模式为indexing='ij';
步骤4.2,根据网格索引ix和iy,从三维场景关系特征向量Scene_Feats_Rel中提取对应实例的关系特征,得到维度为(n,n,feat_dim)的特征向量Scene_Feats_Rel_;
步骤4.3,采用L2归一化方法,分别对Query_Feats_Rel和Scene_Feats_Rel_进行归一化处理,得到归一化后的特征向量A_norm和B_norm;
步骤4.4,计算归一化后两个特征向量的点积和,得到关系相似度矩阵S_rel_mat,计算公式为:;
得到维度为(n,n)的关系相似度矩阵;式中,sum()表示求和函数;
步骤4.5,生成关系特征掩码mask,公式为:
;
式中,ne(0)表示逐元素判断是否不等于0,any(dim=‑1)表示在最后一个维度上做任意存在判断,int()表示int函数;
步骤4.6,基于关系相似度矩阵和掩码,计算关系匹配度分数S_rel,计算公式为:。
8.根据权利要求1所述的一种基于结构对齐的文本驱动三维场景匹配方法,其特征在于,所述步骤5中,一致性分数C的计算过程为:步骤5.1,生成非对角线掩码non_diag_mask,公式为:;
用于过滤关系相似度矩阵中的对角线元素;式中,torch.eye(n)是PyTorch中用于生成n×n单位矩阵的函数;
步骤5.2,将关系特征掩码mask与非对角线掩码non_diag_mask相乘,得到组合掩码combined_mask;
步骤5.3,基于组合掩码combined_mask,计算关系相似度矩阵S_rel_mat每行的和row_sum和每行的有效元素数量row_count;
步骤5.4,计算每行的平均相似度row_mean,计算公式为:;
其中,1e‑8用于避免除数为0;
步骤5.5,基于贪心算法匹配的行索引列表row_ind和列索引列表col_ind,提取实例相似度矩阵S_obj_mat中的对应相似度值,与row_mean进行逐元素相乘后取均值,得到一致性分数C,计算公式为:;
其中,K为匹配对总数,Ir(k)表示第k个匹配对对应的row_ind,Ic(k)表示第k个匹配对对应的col_ind,r代表row_mean向量。
9.根据权利要求1所述的一种基于结构对齐的文本驱动三维场景匹配方法,其特征在于,所述步骤6中,最终匹配得分SS的计算公式为:;
;
其中,alpha为实例匹配度权重;beta为一致性分数权重;S为实例与关系匹配度的中间得分。
10.根据权利要求1所述的一种基于结构对齐的文本驱动三维场景匹配方法,其特征在于,所述步骤6中,完成三维场景与查询文本的匹配包括:对所有待匹配三维场景的最终匹配得分SS进行排序,选取得分最高的场景作为与查询文本最匹配的三维场景,实现文本驱动的三维场景检索匹配。