DDI
依赖驱动交互(DDI)模块,实现了令牌级别的交互。该模块利用依赖语法树的先验信息来引导文本信息的流动。通过这种结构,进一步增强了网络架构中不同实例之间关系的推理能力,从而显著提升了模型的分割能力。
Superpoint-Text Matching
提取特征后,我们对点云 P P P 进行过分割,以获得 N s N_s Ns 个超点 { K i } i = 1 N s \{K_i\}_{i=1}^{N_s} {Ki}i=1Ns 。为了获得超点级特征 S ∈ R N s × C p S \in \mathbb{R}^{N_s \times C_p} S∈RNs×Cp,我们将点级特征 P ′ P' P′ 直接输入基于 { K i } i = 1 N s \{K_i\}_{i=1}^{N_s} {Ki}i=1Ns 的超点池化层,可以表示为:
其中 S i S_i Si 表示第 i i i 个超点的特征, K i K_i Ki 表示包含在第 i i i 个超点中的点的索引集,Avg 表示平均池化操作。
对于文本部分,我们将包含词级嵌入 E w E_w Ew 的表达式输入所提出的 DDI 模块中,该模块旨在构建描述依赖图并输出依赖驱动特征 E 0 E_0 E0,其公式如下:
其中 W t ∈ R C t × D W_t \in \mathbb{R}^{C_t \times D} Wt∈RCt×D 是一个可学习的参数, E w ∈ R N w × C t E_w \in \mathbb{R}^{N_w \times C_t} Ew∈RNw×Ct, E 1 ∈ R ( N w + 1 ) × D E_1 \in \mathbb{R}^{(N_w + 1) \times D} E1∈R(Nw+1)×D, E r o o t E_{root} Eroot 表示随机初始化的 ROOT 节点特征,$| $ 表示拼接操作。关于 DDI 模块的更多细节见第 3.3 节。
为了提高后续处理的效率,我们在线性投影后对 S S S 采用了一种过滤方法,这在多模态分割任务中被广泛使用。具体来说,我们基于超点与其对应描述之间的相关性得分 s r s_r sr 获取了 k r e l k_{rel} krel 个超点。过滤过程可以表示为:
其中 W s ∈ R C p × D W_s \in \mathbb{R}^{C_p \times D} Ws∈RCp×D, Q s ∈ R D × D Q_s \in \mathbb{R}^{D \times D} Qs∈RD×D, K t ∈ R C t × D K_t \in \mathbb{R}^{C_t \times D} Kt∈RCt×D 表示可学习的参数。AvgPool( S ^ \hat{S} S^) 作为全局特征, ∥ \| ∥ 表示拼接操作。 S ^ r e l ∈ R ( k r e l + 1 ) × D \hat{S}_{rel} \in \mathbb{R}^{(k_{rel} + 1) \times D} S^rel∈R(krel+1)×D 表示与描述相关的超点特征。
Superpoint-Text Matching Process
为了执行超点-文本匹配,我们首先将超点特征 S S S 投影到与文本嵌入 E E E 相对应的 D D D 维子空间。在经过描述引导的超点采样后,我们使用具有自适应注意力权重的超点-词聚合(SWA)来更新每个文本标记的嵌入。我们将其设计为一个多轮精细化过程,具体描述如下:
其中 E ^ ℓ , E ^ ℓ + 1 ∈ R ( N w + 1 ) × D \hat{E}^\ell, \hat{E}^{\ell+1} \in \mathbb{R}^{(N_w + 1) \times D} E^ℓ,E^ℓ+1∈R(Nw+1)×D, L L L 是多轮次的轮数。关于 SWA 的细节将在以下小节中介绍。
接下来,我们对 S ^ \hat{S} S^ 和 E ^ \hat{E} E^ 执行矩阵乘法,以获得捕捉所有超点与词标记之间的关系响应图。这个计算过程可以描述为:
其中 S ^ T ∈ R D × N s \hat{S}^T \in \mathbb{R}^{D \times N_s} S^T∈RD×Ns 是 S ^ \hat{S} S^ 的转置, M ℓ + 1 ∈ R ( N w + 1 ) × N s M^{\ell+1} \in \mathbb{R}^{(N_w + 1) \times N_s} Mℓ+1∈R(Nw+1)×Ns 是响应图, σ ( ⋅ ) \sigma(\cdot) σ(⋅) 表示 sigmoid 函数。特别地, M n ℓ + 1 ∈ R N s M_n^{\ell+1} \in \mathbb{R}^{N_s} Mnℓ+1∈RNs 是第 n n n 个标记的响应图,根据这个响应图我们可以生成分割结果和对应于第 n n n 个标记的注意力掩码 A n ℓ + 1 ∈ R N s A_n^{\ell+1} \in \mathbb{R}^{N_s} Anℓ+1∈RNs。
为了获得最终的掩码,我们选择与所有描述相关的超点具有最高相关性得分的词标记对应的响应图 M ℓ + 1 ∈ R N s M^{\ell+1} \in \mathbb{R}^{N_s} Mℓ+1∈RNs:
其中 ArgMax(·) 返回对应于最大值的索引。 Q t ℓ + 1 , K s ℓ + 1 ∈ R D × D Q_t^{\ell+1}, K_s^{\ell+1} \in \mathbb{R}^{D \times D} Qtℓ+1,Ksℓ+1∈RD×D 是可学习的参数。 A i j v , ℓ A_{ij}^{v,\ell} Aijv,ℓ 表示第 i i i 个词和第 j j j 个描述相关超点之间的注意力得分, s i v s_i^v siv 表示第 i i i 个词的视觉相关性得分(表示第i个词能否体现在场景中的超点,有些词不会体现,比如of at、in front之类的,而有些得分高,比如chair、desk之类)。
Superpoint-Word Aggregation(SWA)
为了增强文本分割核的区分能力,我们引入了一个超点-词聚合(SWA)模块,该模块旨在优化超点与文本描述之间多轮次的模态交互。在第 ℓ \ell ℓ 层,SWA 自适应地聚合超点特征,使每个词能够吸收相关超点特征的视觉信息。
如图2所示,自适应超点-词交叉注意力模块利用依赖驱动特征 E E E 通过融合信息来优化词特征。
其中 E ^ ℓ + 1 ∈ R ( N w + 1 ) × D \hat{E}^{\ell+1} \in \mathbb{R}^{(N_w + 1) \times D} E^ℓ+1∈R(Nw+1)×D 是超点-词交叉注意力的输出。 Q ℓ + 1 , K ℓ + 1 , V ℓ + 1 ∈ R D × D Q^{\ell+1}, K^{\ell+1}, V^{\ell+1} \in \mathbb{R}^{D \times D} Qℓ+1,Kℓ+1,Vℓ+1∈RD×D 是可学习的参数。 A ℓ ∈ R ( N w + 1 ) × ( k r e l + 1 ) A^{\ell} \in \mathbb{R}^{(N_w + 1) \times (k_{rel} + 1)} Aℓ∈R(Nw+1)×(krel+1) 是超点注意力掩码。
给定来自预测头的预测超点掩码 M ℓ M^{\ell} Mℓ,超点注意力掩码 A ℓ A^{\ell} Aℓ 用阈值 τ \tau τ 来过滤超点,其公式如下:
A i j ℓ A_{ij}^{\ell} Aijℓ 表示第 i i i 个词标记关注第 j j j 个超点,其中 M i j ℓ M_{ij}^{\ell} Mijℓ 高于阈值 τ \tau τ。根据经验,我们将 τ \tau τ 设置为 0.5。通过堆叠 transformer 解码器层,超点注意力掩码 A ℓ A^{\ell} Aℓ 自适应地在目标实例内约束交叉注意力。
Dependency-Driven Interaction
为了明确地解耦文本描述并有效捕捉词语之间的依赖关系,我们提出了依赖驱动交互(DDI)模块。
Description-Dependency Graph
给定一个由 N t N_t Nt 个句子和总共 N w N_w Nw 个词组成的目标对象的自由形式纯文本描述,我们首先使用 Stanford CoreNLP [27] 工具包来获取 N t N_t Nt 个依赖树。然后通过合并它们的 ROOT 节点,将这 N t N_t Nt 个依赖树合并成一个图,如图2所示。因此,对于每个描述,依赖图有 N w + 1 N_w + 1 Nw+1 个节点 { u } \{u\} {u} 和 N w N_w Nw 条边 { e } \{e\} {e}。每个节点代表一个词,包括特殊标记“ROOT”,每条边代表一种依赖关系类型。
Graph Transformer Layer with edge features
受[9]的启发,我们采用了带有边特征的图转换层,以更有效地利用描述依赖图中丰富的特征信息,这些信息以边属性的形式存储,包括依赖关系。给定文本特征 E ^ 0 = { E ^ 0 0 , E ^ 1 0 , ⋯ , E ^ N w + 1 0 } \hat{E}_0 = \{ \hat{E}_{0}^0, \hat{E}_{1}^0, \cdots, \hat{E}_{N_w + 1}^0 \} E^0={E^00,E^10,⋯,E^Nw+10},我们直接根据对应的索引导出节点特征 h ^ i 0 = { h ^ 0 0 , h ^ 1 0 , ⋯ , h ^ N w + 1 0 } \hat{h}_i^0 = \{ \hat{h}_0^0, \hat{h}_1^0, \cdots, \hat{h}_{N_w + 1}^0 \} h^i0={h^00,h^10,⋯,h^Nw+10}。对于边特征 { β i j } \{\beta_{ij}\} {βij},我们为每种依赖关系分配一个唯一的ID,并通过线性投影获得 D D D 维的隐藏特征 e i j 0 e_{ij}^0 eij0。
其中 B 0 ∈ R 1 × D B_0 \in \mathbb{R}^{1 \times D} B0∈R1×D 和 b 0 ∈ R D b_0 \in \mathbb{R}^{D} b0∈RD 是线性投影层的参数。
现在,我们通过线性投影嵌入预先计算的 k k k 维节点位置编码,并将其添加到节点特征 h ^ i 0 \hat{h}_i^0 h^i0 中。
其中 C 0 ∈ R D × k C_0 \in \mathbb{R}^{D \times k} C0∈RD×k 和 c 0 ∈ R D c_0 \in \mathbb{R}^{D} c0∈RD。注意,拉普拉斯位置编码仅在输入层添加到节点特征中,而不是在中间的图转换层中。
接下来,我们定义第 ℓ \ell ℓ 层的更新方程。
其中 Q h ℓ , K h ℓ , V h ℓ , E e ℓ , O h ℓ , O e ℓ ∈ R D × D Q_h^\ell, K_h^\ell, V_h^\ell, E_e^\ell, O_h^\ell, O_e^\ell \in \mathbb{R}^{D \times D} Qhℓ,Khℓ,Vhℓ,Eeℓ,Ohℓ,Oeℓ∈RD×D 表示可学习的参数。
考虑到依赖图结构中缺乏长程连接,我们引入自注意力机制并将其与图注意力并行结合。输出 h ^ i ℓ + 1 \hat{h}_i^{\ell+1} h^iℓ+1 是通过 h ^ i ℓ \hat{h}_i^{\ell} h^iℓ 的自注意力输出相加,并通过残差连接和归一化层得到的最终输出 h ^ i ℓ + 1 \hat{h}_i^{\ell+1} h^iℓ+1。然后 h ^ i ℓ + 1 \hat{h}_i^{\ell+1} h^iℓ+1 和 e ^ i j ℓ + 1 \hat{e}_{ij}^{\ell+1} e^ijℓ+1 被分别传递到前馈神经网络之前和之后的残差连接和归一化层,公式如下:
其中 W h 1 ℓ ∈ R D × D h W_h1^\ell \in \mathbb{R}^{D \times D_h} Wh1ℓ∈RD×Dh, W h 2 ℓ ∈ R D h × D W_h2^\ell \in \mathbb{R}^{D_h \times D} Wh2ℓ∈RDh×D, W e 1 ℓ ∈ R D × 2 D W_e1^\ell \in \mathbb{R}^{D \times 2D} We1ℓ∈RD×2D, W e 2 ℓ ∈ R 2 D × D W_e2^\ell \in \mathbb{R}^{2D \times D} We2ℓ∈R2D×D 是可学习的参数, h ^ i ℓ + 1 \hat{h}_i^{\ell+1} h^iℓ+1, h i ℓ + 1 h_i^{\ell+1} hiℓ+1, e ^ i j ℓ + 1 \hat{e}_{ij}^{\ell+1} e^ijℓ+1, e i j ℓ + 1 e_{ij}^{\ell+1} eijℓ+1 表示中间表示, S A ( h i ℓ ) SA(h_i^\ell) SA(hiℓ) 表示 E ^ ℓ \hat{E}^\ell E^ℓ 的第 i i i 个自注意力输出。
最后,第 ℓ \ell ℓ 层 DDI 的文本输出通过 { h i ℓ + 1 } i = 1 N w + 1 \{h_i^{\ell+1}\}_{i=1}^{N_w + 1} {hiℓ+1}i=1Nw+1 的拼接获得。
Training Objective
训练超点指代表达匹配网络是直接的:给定指代表达的真实二值掩码 Y ∈ R N p Y \in \mathbb{R}^{N_p} Y∈RNp,我们首先通过超点池化得到相应的超点掩码 Y s ∈ R N s Y_s \in \mathbb{R}^{N_s} Ys∈RNs,然后进行0.5阈值的二值化处理,接着在最终响应图 M M M 上应用二元交叉熵(BCE)损失。该操作可以表示为:
其中 AvgPool(·) 表示超点平均池化操作, Y s i Y_s^i Ysi 表示第 i i i 个超点 K i K_i Ki 的二值化掩码值。I(·) 表示掩码值是否高于50%。
尽管 BCE 损失单独处理每个超点,但在解决前景-背景样本不平衡问题上存在不足。为了解决这个问题,我们可以使用 Dice 损失 [29]:
在STM模块中,我们采用 L rel \mathcal{L}_{\text{rel}} Lrel(参考[26])来监督描述相关性得分 s r s_r sr 的交叉熵(BCE)损失。对 s r s_r sr 的监督基于该点是否属于描述中提到的对象类别。
此外,为提议质量预测添加一个简单的辅助得分损失 L score \mathcal{L}_{\text{score}} Lscore:。其中 s pred s_{\text{pred}} spred 是预测得分, s true s_{\text{true}} strue 是真实得分。