• 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(三)


    本文主要介绍了与图匹配问题非常相似的点配准(Point Registration)问题,分析了二者之间的区别和联系。原文作者没有提点配准问题,而是用了ICP(Iterative Closest Point)的说法,但我个人认为ICP只是求解三维点配准的一种方法,使用点配准这个概念应该更加准确。最后介绍了如何将几何约束引入FGM中来求解可变形图(Deformable Graph)的匹配问题。

    点配准与图匹配

      与图匹配问题类似,点配准问题是指给定两组点集 P 1 = [ p 1 1 , p 2 1 , . . . p n 1 1 ] ∈ R d × n 1 P_1=[p_1^1,p_2^1,...p_{n_1}^1]\in \mathbb{R}^{d\times n_1} P1=[p11,p21,...pn11]Rd×n1 P 2 = [ p 1 2 , p 2 2 , . . . p n 2 2 ] ∈ R d × n 2 P_2=[p_1^2,p_2^2,...p_{n_2}^2]\in \mathbb{R}^{d\times n_2} P2=[p12,p22,...pn22]Rd×n2,点配准的目标就是寻找两个点集中点和点之间的对应匹配关系,并获得两个点集之间的几何变换关系。该目标是通过最小化两个点集中点和点之间的距离之和来实现的:
    min ⁡ X ∈ Π , T ∈ Ψ J i c p ( X , T ) = ∑ i 1 , i 2 x i 1 i 2 ∥ p i 1 1 − τ ( p i 2 2 ) ∥ 2 2 + ψ ( T ) ( 22 ) \min_{X\in \Pi,\mathcal{T}\in\Psi}J_{icp}(X,\mathcal{T})=\sum_{i_1,i_2}x_{i_1i_2}\|p_{i_1}^1-\tau(p_{i_2}^2)\|_2^2+\psi(\mathcal{T})\quad (22) XΠ,TΨminJicp(X,T)=i1,i2xi1i2pi11τ(pi22)22+ψ(T)(22)
    X ∈ { 0 , 1 } n 1 × n 2 X\in\{0,1\}^{n_1\times n_2} X{0,1}n1×n2表示点和点之间的对应关系。在点配准问题中,点和点之间可以是一对一,也可以是多对一,本文只关注一对一的情况,也就是说 X X X与图匹配中的要求一致,仍是一个置换矩阵。 τ ( ⋅ ) \tau(\cdot) τ()是一个用参数 T \mathcal{T} T描述的几何变换。 ψ ( ⋅ ) \psi(\cdot) ψ()是一个用于约束变换参数 T \mathcal{T} T的惩罚函数。由上式可以看到,点配准问题和图匹配问题相比,其优化目标都需要寻找点和点之间的对应关系,而不同之处在于点配准中两组点之间存在某种特定的几何变换关系,图匹配中没有这种约束条件。但图匹配除了关注点和点之间的匹配关系,还会关注边和边之间的匹配关系,这一点是点配准问题所不具备的。
      为了将点配准与图匹配问题联系起来,我们定义节点关联矩阵 K p ( T ) ∈ R n 1 × n 2 K_p(\mathcal{T})\in\mathbb{R}^{n_1\times n_2} Kp(T)Rn1×n2,其中的每一个元素为 k i 1 i 2 p ( T ) = − ∥ p i 1 1 − τ ( p i 2 2 ) ∥ 2 2 k_{i_1i_2}^p(\mathcal{T})=-\|p_{i_1}^1-\tau(p_{i_2}^2)\|_2^2 ki1i2p(T)=pi11τ(pi22)22,表示节点之间欧式距离的负值。则原目标函数(公式(21))可以改写为 J i c p ( X , T ) = − t r ( K p ( T ) T X ) + ψ ( T ) ( 23 ) J_{icp}(X,\mathcal{T})=-tr(K_p(\mathcal{T})^TX)+\psi(\mathcal{T})\quad (23) Jicp(X,T)=tr(Kp(T)TX)+ψ(T)(23)
    给定变换参数 T \mathcal{T} T,最小化上述目标函数就等价于最大化公式(7)中的节点相似度,这个优化问题可以看作是线性匹配问题。

    因为只关注节点相似性,而不考虑边的相似性,所以是线性匹配问题

    如果 X X X是一对一的匹配,可用Hungarian算法求解,如果 X X X是多对一的匹配,可采用赢家通吃策略求解。通常 X X X T \mathcal{T} T都是未知的,需要进行联合优化,该问题是一个非凸问题,无法求得闭式解。通常采用迭代的交替最小化算法进行求解,如EM算法。简单来说,就是固定 T \mathcal{T} T,优化 X X X;然后再固定 X X X,优化 T \mathcal{T} T,交替进行直至两者都收敛。

    几何变换

      上文中提到,点配准中两组点之间存在特定的几何变换关系,下面简要介绍三种常见的变换:

    1.相似变换(Similarity Transformation)

      给定一个点 p ∈ R 2 p\in\mathbb{R}^2 pR2或一个点集 P ∈ R 2 × n P\in\mathbb{R}^{2\times n} PR2×n,相似变换的计算过程为 τ ( p ) = s R p + t \tau(p)=sRp+t τ(p)=sRp+t τ ( P ) = s R P + t 1 n T \tau(P)=sRP+t\mathbf{1}_n^T τ(P)=sRP+t1nT,其中 s , R , t s,R,t s,R,t分别表示放缩系数、旋转矩阵和平移向量。对旋转矩阵 R R R有一个约束条件 Ψ \Psi Ψ R R R必须是单位正交阵,即 Ψ = { R ∣ R T R = I 2 , ∣ R ∣ = 1 } \Psi=\{R|R^TR=I_2, |R|=1\} Ψ={RRTR=I2,R=1}

    2.仿射变换(Affine Transformation)

      给定一个点 p ∈ R 2 p\in\mathbb{R}^2 pR2或一个点集 P ∈ R 2 × n P\in\mathbb{R}^{2\times n} PR2×n,仿射变换的计算过程为 τ ( p ) = V p + t \tau(p)=Vp+t τ(p)=Vp+t τ ( P ) = V P + t 1 n T \tau(P)=VP+t\mathbf{1}_n^T τ(P)=VP+t1nT,其中 V ∈ R 2 × 2 V\in\mathbb{R}^{2\times 2} VR2×2 t ∈ R 2 t\in\mathbb{R}^{2} tR2分别表示仿射矩阵和平移向量。

    3.RBF非刚性变换(RBF Non-rigid Transformation)

      RBF非刚性变换的参数化取决于基点的选择,本文选择第二个点集中的点作为基点。给定一个点 p ∈ R 2 p\in\mathbb{R}^2 pR2或一个点集 P ∈ R 2 × n P\in\mathbb{R}^{2\times n} PR2×n,RBF非刚性变换计算点与其初始位置之间的位移, τ ( p ) = p + W ϕ ( p ) \tau(p)=p+W\phi(p) τ(p)=p+Wϕ(p) τ ( P ) = P + W L p \tau(P)=P+WL_p τ(P)=P+WLp,其中 W ∈ R 2 × n 2 W\in\mathbb{R}^{2\times n_2} WR2×n2表示权重矩阵, ϕ ( p ) = [ ϕ 1 ( p ) , ϕ 2 ( p ) , . . . ϕ n 2 ( p ) ] T ∈ R n 2 \phi(p)=[\phi_1(p),\phi_2(p),...\phi_{n_2}(p)]^T\in\mathbb{R}^{n_2} ϕ(p)=[ϕ1(p),ϕ2(p),...ϕn2(p)]TRn2表示与基点相对应的 n 2 n_2 n2个位移函数。 ϕ i ( p ) = e x p ( − ∥ p − p i 2 ∥ 2 2 / σ w 2 ) \phi_i(p)=exp(-\|p-p_i^2\|_2^2/\sigma_w^2) ϕi(p)=exp(ppi222/σw2)表示点 p p p和基点 p i p_i pi之间的位移函数, σ w \sigma_w σw表示带宽。 L p = [ ϕ ( P 1 2 ) , ϕ ( P 2 2 ) , . . . ϕ ( P n 2 2 ) ] T ∈ R n 2 × n 2 L_p=[\phi(P_1^2),\phi(P_2^2),...\phi(P_{n_2}^2)]^T\in\mathbb{R}^{n_2\times n_2} Lp=[ϕ(P12),ϕ(P22),...ϕ(Pn22)]TRn2×n2是定义在所有成对基点上的RBF核函数。本文对位移场的非光滑性进行正则化,即 ψ ( T ) = t r ( W L p W T ) \psi(\mathcal{T})=tr(WL_pW^T) ψ(T)=tr(WLpWT).

       上述变换关系整理如下表所示,关于更多有关几何变换的介绍我将单开一篇文章来介绍。
    在这里插入图片描述

    可变形图匹配

      图匹配是一种广泛应用于具备相似结构点集匹配的工具。但在很多计算机视觉任务中,匹配的两个点集之间需要满足一定的几何约束。目前尚不清楚如何将几何约束统一到图匹配的方法中。本文介绍了一种可变形图匹配(Deformable Graph Matching, DGM)方法能够将刚性和非刚性变换引入到图匹配中。

    目标函数

      根据前文中对于图的定义, G = { P , Q , G , H } \mathcal{G}=\{P,Q,G,H\} G={P,Q,G,H},为了简化问题并且尽量与点配准问题保持一致,此处选择节点的坐标作为节点特征 P = [ p 1 , . . . , p n ] P=[p_1,...,p_n] P=[p1,...,pn],选择边所连接的两个节点的坐标差值 q c = p i − p j q_c=p_i-p_j qc=pipj作为边的特征 Q = [ q 1 , . . . , q m ] Q=[q_1,...,q_m] Q=[q1,...,qm]。在这种情况下,边的特征可以用矩阵形式计算 Q = P ( G − H ) Q=P(G-H) Q=P(GH)。给定两幅图 G 1 = { P 1 , Q 1 , G 1 , H 1 } , G 2 = { P 2 , Q 2 , G 2 , H 2 } \mathcal{G}_1=\{P_1,Q_1,G_1,H_1\},\mathcal{G}_2=\{P_2,Q_2,G_2,H_2\} G1={P1,Q1,G1,H1},G2={P2,Q2,G2,H2},两组点之间的几何变换为 τ ( ⋅ ) \tau(\cdot) τ(),计算节点关联矩阵 K p ( T ) K_p(\mathcal{T}) Kp(T)和边关联矩阵 K q ( T ) K_q(\mathcal{T}) Kq(T)
    k i 1 i 2 p ( T ) = − ∥ p i 1 1 − τ ( p i 2 2 ) ∥ 2 2 ( 24 ) k_{i_1i_2}^p(\mathcal{T})=-\|p_{i_1}^1-\tau(p_{i_2}^2)\|_2^2\quad (24) ki1i2p(T)=pi11τ(pi22)22(24) k c 1 c 2 q ( T ) = β − ∥ ( p i 1 1 − p j 1 1 ) − ( τ ( p i 2 2 ) − τ ( p j 2 2 ) ) ∥ 2 2 ( 25 ) k_{c_1c_2}^q(\mathcal{T})=\beta-\|(p_{i_1}^1-p_{j_1}^1)-(\tau(p_{i_2}^2)-\tau(p_{j_2}^2))\|_2^2\quad (25) kc1c2q(T)=β(pi11pj11)(τ(pi22)τ(pj22))22(25)
    β \beta β选择一个较大的数以保证边的相似性为非负值。与点配准问题相似,为了让图匹配对于几何变换更加鲁棒,DGM不仅要找到最优的对应关系 X X X还要找到最优的变换参数 T \mathcal{T} T,则优化的目标函数为
    max ⁡ X ∈ Π , T ∈ Ψ J d g m ( X , T ) = t r ( K p ( T ) T X ) + λ t r ( K q ( T ) T Y ) − ψ ( T ) ( 26 ) \max_{X\in\Pi,\mathcal{T}\in\Psi}J_{dgm}(X,\mathcal{T})=tr(K_p(\mathcal{T})^TX)+\lambda tr(K_q(\mathcal{T})^TY)-\psi(\mathcal{T})\quad (26) XΠ,TΨmaxJdgm(X,T)=tr(Kp(T)TX)+λtr(Kq(T)TY)ψ(T)(26)
    λ > 0 \lambda>0 λ>0用于平衡节点和边的重要性。当 λ = 0 \lambda=0 λ=0时,上述目标函数等价为点配准问题,当 λ > 0 \lambda>0 λ>0 T \mathcal{T} T已知时,上述目标由等价为图匹配问题。

    优化策略

      由于目标函数的非凸属性,本文采用与点配准相似的优化策略,交替优化 X X X T \mathcal{T} T。对DGM问题而言,初始化非常重要,但如何选择一个好的初始化参数已经超过本文的范畴。本文简单地将变换参数初始化为同等变换,即 τ ( p ) = p \tau(p)=p τ(p)=p。给定 T \mathcal{T} T时,上述优化问题变成图匹配问题,可以采用前文介绍的路径跟随算法求解最优的 X X X。给定 X X X时,可参考点配准方法求解最优的 T \mathcal{T} T。针对上文所述的几种常见几何变换,均可求得闭式解。

    相似变换

      根据公式(25),边特征的相似变换为 τ ( q ) = s R q \tau(q)=sRq τ(q)=sRq τ ( Q ) = s R Q \tau(Q)=sRQ τ(Q)=sRQ,由于平移变换 t t t只会影响节点特征,不会影响边的特征,因此当最优旋转矩阵 R ∗ R^* R和最优放缩系数 s ∗ s^* s已知时,最优平移向量 t ∗ t^* t可得
    t ∗ = p ˉ 1 − s ∗ R ∗ p ˉ 2 , p ˉ 1 = P 1 X 1 n 2 1 n 1 T X 1 n 2 , p ˉ 2 = P 2 X 1 n 1 1 n 1 T X 1 n 2 ( 27 ) t^*=\bar{p}_1-s^*R^*\bar{p}_2,\quad \bar{p}_1=\frac{P_1X\mathbf{1}_{n_2}}{\mathbf{1}_{n_1}^TX\mathbf{1}_{n_2}}, \quad \bar{p}_2=\frac{P_2X\mathbf{1}_{n_1}}{\mathbf{1}_{n_1}^TX\mathbf{1}_{n_2}}\quad(27) t=pˉ1sRpˉ2,pˉ1=1n1TX1n2P1X1n2,pˉ2=1n1TX1n2P2X1n1(27)
    经过数据中心化操作 P ˉ 1 = P 1 − p ˉ 1 1 n 1 T \bar{P}_1=P_1-\bar{p}_1\mathbf{1}_{n_1}^T Pˉ1=P1pˉ11n1T P ˉ 2 = P 2 − p ˉ 2 1 n 2 T \bar{P}_2=P_2-\bar{p}_2\mathbf{1}_{n_2}^T Pˉ2=P2pˉ21n2T,最优的旋转矩阵 R ∗ R^* R和最优放缩系数 s ∗ s^* s
    R ∗ = U d i a g ( 1 , . . . , ∣ U V T ∣ ) V T ( 28 ) R^*=Udiag(1,...,|UV^T|)V^T\quad (28) R=Udiag(1,...,UVT)VT(28) s ∗ = t r ( Σ ) t r ( 1 n 1 × 2 ( P ˉ 2 ∘ P ˉ 2 ) X T + λ q t r ( 1 m 1 × 2 ( Q ˉ 2 ∘ Q ˉ 2 ) Y T ) ) ( 29 ) s^*=\frac{tr(\Sigma)}{tr(\mathbf{1}_{n_1\times 2}(\bar{P}_2\circ\bar{P}_2)X^T+\lambda_qtr(\mathbf{1}_{m_1\times 2}(\bar{Q}_2\circ\bar{Q}_2)Y^T))}\quad(29) s=tr(1n1×2(Pˉ2Pˉ2)XT+λqtr(1m1×2(Qˉ2Qˉ2)YT))tr(Σ)(29)
    其中 U Σ V T = P ˉ 1 X P ˉ 2 T + λ q Q 1 Y Q 2 T U\Sigma V^T=\bar{P}_1X\bar{P}_2^T+\lambda_q{Q}_1Y{Q}_2^T UΣVT=Pˉ1XPˉ2T+λqQ1YQ2T

    仿射变换

      与相似变换接近,边特征的仿射变换为 τ ( q ) = V q \tau(q)=Vq τ(q)=Vq τ ( Q ) = V Q \tau(Q)=VQ τ(Q)=VQ。最优平移向量为
    t ∗ = p ˉ 1 − V ∗ p ˉ 2 , p ˉ 1 = P 1 X 1 n 2 1 n 1 T X 1 n 2 , p ˉ 2 = P 2 X 1 n 1 1 n 1 T X 1 n 2 ( 30 ) t^*=\bar{p}_1-V^*\bar{p}_2,\quad \bar{p}_1=\frac{P_1X\mathbf{1}_{n_2}}{\mathbf{1}_{n_1}^TX\mathbf{1}_{n_2}}, \quad \bar{p}_2=\frac{P_2X\mathbf{1}_{n_1}}{\mathbf{1}_{n_1}^TX\mathbf{1}_{n_2}}\quad(30) t=pˉ1Vpˉ2,pˉ1=1n1TX1n2P1X1n2,pˉ2=1n1TX1n2P2X1n1(30)
    最优的仿射变换为
    V ∗ = A B − 1 , A = P ˉ 1 X P ˉ 2 T + λ q Q 1 Y Q 2 T B = P ˉ 2 d i a g ( X T 1 n 1 ) P ˉ 2 T + λ Q 2 d i a g ( Y T 1 m 1 ) Q 2 T ( 31 ) V^*=AB^{-1},\quad A=\bar{P}_1X\bar{P}_2^T+\lambda_q{Q}_1Y{Q}_2^T\\ B=\bar{P}_2diag(X^T\mathbf{1}_{n_1})\bar{P}_2^T+\lambda Q_2diag(Y^T\mathbf{1}_{m_1})Q_2^T \quad(31) V=AB1,A=Pˉ1XPˉ2T+λqQ1YQ2TB=Pˉ2diag(XT1n1)Pˉ2T+λQ2diag(YT1m1)Q2T(31)

    RBF非刚性变换

      边特征的非刚性变换为 τ ( q c ) = q c + W ( ϕ ( p i ) − ϕ ( p j ) ) \tau(q_c)=q_c+W(\phi(p_i)-\phi(p_j)) τ(qc)=qc+W(ϕ(pi)ϕ(pj)) τ ( Q ) = Q + W L q , L q = L p ( G − H ) \tau(Q)=Q+WL_q,L_q=L_p(G-H) τ(Q)=Q+WLq,Lq=Lp(GH),最优的权重矩阵 W ∗ = A B − 1 W^*=AB^-1 W=AB1
    A = P 1 X − P 2 d i a g ( X T 1 n 1 ) + λ q Q 1 Y ( G 2 − H 2 ) T − λ q Q 2 d i a g ( Y T 1 m 1 ) ( G 2 − H 2 ) T B = L p d i a g ( X T 1 n 1 ) + λ w I n 2 + λ q L q d i a g ( Y T 1 m 1 ) ( G 2 − H 2 ) T ( 32 ) A=P_1X-P_2diag(X^T\mathbf{1}_{n_1})+\lambda_qQ_1Y(G_2-H_2)^T-\lambda_qQ_2diag(Y^T\mathbf{1}_{m_1})(G_2-H_2)^T\\B=L_pdiag(X^T\mathbf{1}_{n_1})+\lambda_wI_{n_2}+\lambda_qL_qdiag(Y^T\mathbf{1}_{m_1})(G_2-H_2)^T\quad (32) A=P1XP2diag(XT1n1)+λqQ1Y(G2H2)TλqQ2diag(YT1m1)(G2H2)TB=Lpdiag(XT1n1)+λwIn2+λqLqdiag(YT1m1)(G2H2)T(32)

    实验

    在这里插入图片描述
      图(a)中展示了三种不同程度的相似变换(由蓝色到红色),图(b)中展示了ICP算法在迭代24次时,在不同程度的变换作用下,目标函数值得情况。目标函数值越接近于0,表示匹配效果越好,可以看到在旋转角度为 1 3 π \frac{1}{3}\pi 31π时,ICP算法陷入了局部最优,无法得到最优得匹配结果。图( c)中展示了DGM算法在不同迭代次数下,不同程度得变换作用下,目标函数值得情况。可以看到虽然在迭代初期,在大部分得变换条件下,匹配效果不尽人意。但随着迭代次数增加,匹配效果越来越好,当迭代24次时,在所有得变换条件下均能达到最优匹配。

    总结

      本文是图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例系列文章的最后一篇,总结了图匹配和点配准问题之间区别与联系,介绍了三种常见的几何变换,并几何变换引入图匹配构成可变形图匹配问题。最后提出了在三种变换条件下,如何优化求解DGM问题。关于图匹配的研究和应用都浩如烟海,这系列文章只是对图匹配问题有一个初步的介绍,更多更新的算法还需要进一步的学习与探索。

    1. 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(一)
    2. 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(二
    3. 图匹配(Graph Matching)入门学习笔记——以《Factorized Graph Matching》为例(三)
  • 相关阅读:
    POSIX
    深度剖析Vue2、Vue3响应式原理 | 逐步推敲手写响应式原理全过程
    【云原生】无VIP稳定性和可扩展性更强的k8s高可用方案讲解与实战操作
    Java项目:SSM二手汽车交易商城网站管理系统
    CentOS7 k3s安装与配置
    机器学习面试中常见问题整理
    DNS 解析流程
    React +AntD + From组件重复提交数据(已解决)
    最长异或路径 ---- (字典树求异或最大)
    vue-cli3多环境打包配置
  • 原文地址:https://blog.csdn.net/qq_36104364/article/details/127078272