李文静,白 静,2,彭 斌,杨瞻源
1.北方民族大学 计算机科学与工程学院,银川750021
2.国家民委图形图像智能处理实验室,银川750021
近年来,卷积神经网络(convolutional neural network,CNN)[1-2]作为深度学习的重要算法之一,具有良好的特征提取和泛化能力,在图像识别、分割等计算机视觉任务中不断取得突破。然而,如图1(a)所示,CNN依赖于卷积核的平移不变性提取输入图像的特征,只能处理欧式空间中的规则数据。但图像识别等领域的实际应用场景中存在大量非结构化数据。在此背景下,学者们提出了如图1(b)所示的图卷积神经网络(graph convolutional network,GCN),利用图的节点和边表征复杂的非结构化数据,利用图卷积提取各个子图的局部结构信息,并通过子图间的共享节点完成数据传播,最后利用图聚合运算提取全局结构特征,实现了深度学习方法与数据传播思想的结合,把卷积等操作扩展到了图等非结构数据的处理中。
图1 CNN与GCN结构Fig.1 CNN and GCN structure
随着GCN 在非结构化数据处理中不断取得突破,其受到越来越多关注,并涌现出大量算法,这为解决图像识别任务提供了新的思路和方案。例如,Chen等人[3]将GCN应用于多标签图像识别,提出了ML-GCN,在该领域公开且常用的两个数据集上性能取得显著提升,其mAP较之前最优的CNN分别提高了5.7个百分点和1.2个百分点;Yan 等人[4]将GCN 应用于动作识别,提出的ST-GCN(spatial-temporal graph convolutional network)与CNN 相比,在动作识别领域的公开数据集上获得了彼时最先进的性能;Qin 等人[5]将GCN 应用于高光谱图像分类,提出的S2GCNs(spectral-spatial graph convolutional networks)在该领域的两个公开数据集上获得了优秀的识别精度。总体而言,GCN 已被成功应用于图像识别领域的多项复杂子任务中,并取得突破性进展。
相应的,从2019 年到2022 年,先后出现了多篇GCN 的综述论文[6-10],推动了相关领域的发展。其中一类综述[6-8]围绕GCN 的发展、应用和未来趋势进行总结与探讨,另一类综述[9-10]聚焦于GCN 在计算机视觉领域的整体应用与发展,较为宽泛。然而最近几年,针对图像识别这一子领域,每年都会涌现出很多优秀的工作,它们针对不同任务做出不同改进,具备不同特点,极大地推进了图像识别以及GCN本身的发展。现有的面向计算机视觉领域的GCN 综述覆盖范围广,难以对图像识别GCN的相关工作给出全面而深入的总结分析。为此,本文围绕这一主题,在充分介绍GCN最新发展的前提下,重点阐明GCN在图像识别子领域的应用及趋势,为相关学者提供有益参考。
本文的组织结构如图2所示,在GCN的基本研究现状下,将本文分为基础研究和应用研究两部分。其中,在基础研究中,根据网络原理的不同,将GCN分为基于谱域的GCN和基于空域的GCN;在应用研究中,以多标签图像识别、基于骨架的动作识别和高光谱图像分类任务为代表,重点介绍GCN在图像识别领域的应用。
图2 组织结构Fig.2 Organizational structure
基于谱域的GCN旨在将非结构化的节点域数据转换至结构化的谱域,从而进行深度学习以实现对非结构化数据的表征学习。具体的,如图3 所示,基于谱域的GCN 包含三个关键步骤:首先借助傅里叶变换将节点域数据变换为谱域数据;然后在谱域通过卷积操作完成信息提取;最后利用傅里叶逆变换将谱域数据转换回节点域数据,解决了节点域数据平移不变性的缺失导致卷积无法实现的问题。
图3 谱域GCN基本原理Fig.3 Basic principle of spectral GCN
(1)傅里叶变换与逆变换
输入节点域数据f,其傅里叶变换为:
其中,是f变换到谱域后的信号;是n个相互正交的特征向量组成的向量矩阵,特征向量ui由图的拉普拉斯矩阵分解得到;UT是U的转置。
相应的,谱域信号在图上的逆傅里叶变换为:
(2)图卷积
根据卷积定理[11],卷积的傅里叶变换等于傅里叶变换的乘积,因而对节点域信号f作用卷积h的傅里叶变换可表征为:
其中,*为卷积,⊙为哈达玛乘积。
基于式(1),可进一步推导得到节点域信号f的卷积:
进一步的,将UTh看作以θ为参数的卷积核hθ,则图卷积公式可扩展为:
2013 年,Bruna 等人[12]针对手写体数字识别任务提出了首个谱域图卷积神经网络Spectral CNN,在分类误差降低为1.8%的情况下,参数量减少到5×103,为谱域GCN的研究奠定了基础。研究学者们在此基础上提出众多的改进工作,并在非结构化数据的处理中取得了良好的效果。
尽管Spectral CNN在当时取得了非常显著的性能,但是细究其技术可以发现该网络还存在一些不足。首先,其卷积的实现依赖于拉普拉斯矩阵分解,没有利用含有邻居信息的邻接矩阵,导致卷积核不具备局部性;其次,其卷积计算每次都需要对拉普拉斯矩阵进行分解,时间复杂度为O(n3),计算开销较大。
为此,学者们以谱论知识作为理论指导,提出众多改进模型。图4 总结了现有工作对谱域GCN 的改进思路,并将其划分为针对卷积核的改进和针对网络结构的改进两个角度,表1提供了谱域GCN的不同思想、优势、局限性和复杂度等信息(其中“—”代表未知数据)。学者可通过单独使用或组合不同的改进方法来提高GCN的准确率和训练速度。本节将从上述两个角度出发,综述相关改进工作。
表1 谱域GCN及改进模型Table 1 Related improvement work of spectral GCN
图4 谱域GCN的相关改进工作Fig.4 Related improvement work of spectral GCN
1.2.1 改进卷积核
如图4(a)所示,根据目的不同,可将卷积核的改进分为增强卷积核的局部性、灵活性、扩大卷积核作用范围和缓解网络过平滑四方面。
(1)增强卷积核的局部性
通过使用多项式近似求解卷积核和更换基底的方式,可以使卷积核在具备局部性的同时降低计算复杂度,为构建更复杂的网络提供支持。
多项式近似:Defferrard等人[13]使用切比雪夫多项式逼近卷积核函数,构造了ChebNet,使用多项式展开近似计算图卷积,将卷积核的参数量从节点数n减小为多项式阶数k,使得卷积核具备了局部性,并且降低了模型的复杂度,但采用k次迭代的切比雪夫多项式进行替换拟合,使得模型性能高度依赖于k的选择,因此需要经过一定的参数调整才能取得较好的性能。Kipf 等人[14]进一步提出了一阶ChebNet,使用局部一阶近似处理卷积核,进一步增强了网络的局部连通性,同时使得网络只需学习滤波器参数矩阵,参数量降为1;并加入归一化操作提高了网络的泛化性能。该模型依赖于数据传播思想,拥有良好的归纳能力,在未训练时对一些任务也能取得明显的分类效果,成为谱域GCN 的里程碑。但一阶ChebNet只能保留局部邻域信息,对于全局的拓扑信息不够敏感,存在网络过平滑等问题,为此出现了大量的改进工作。
更换基底:Xu 等人[15]从更换网络基底的角度出发提出GWNN(graph wavelet neural network),使用具有局部性的小波变换代替全局性的傅里叶变换实现图卷积,通过切比雪夫多项式近似小波变换避免拉普拉斯矩阵特征分解的高昂代价,且利用小波变换的稀疏性进一步降低了网络的计算复杂度,在节点分类任务的Cora、Citeseer和Pubmed上,GWCN的准确率比Spectral CNN分别提高了9.5个百分点、12.8个百分点和5.2个百分点。
聚类:为了进一步提高分类精度,Inatsuki 等人[16]提出了Cluster-GWCN,将聚类的思想与GWCN 相结合,通过多尺度小波变换处理聚类后的子图,将图形信号分解成不同频率范围的分量,从而提供更有效的局部信息。实验结果表明,在节点分类任务中,该网络比GWCN在Cora和Citeseer上的准确率分别提高了1.7个百分点和2.4个百分点。
(2)增强卷积核的灵活性
马氏距离:针对ChebNet采用固定的拉普拉斯矩阵分解,导致卷积核无法适用于不同结构和尺寸的图数据的问题,Li 等人[17]提出了AGCN(adaptive graph convolution network),通过马氏距离学习矩阵间最优距离度量参数,利用训练好的度量对不同样本动态地构造拉普拉斯矩阵,提高了卷积核的灵活性。该网络在复杂的图分子预测任务中展现出良好的性能。
可学习滤波器:现有谱域GCN 的卷积核通常是基于固定阶数多项式构造的,其表达能力和灵活性受到限制。对此,Bo等人[18]提出了Specformer,利用Transformer对所有特征值集进行编码,并在谱域通过自注意力机制构建了一个可学习的集合到集合的卷积核。该网络以置换等变的方式有效地捕获特征值的大小和相对依赖性,并且可以执行非局部图卷积。实验证明,Specformer在Cora和Citeseer上的准确率相比一阶ChebNet分别提高了1.43个百分点和1.63个百分点。这表明Specformer的表达能力更强,灵活性更高,并且能够更好地适应不同的图结构和数据分布。
(3)扩大卷积核的捕捉范围
二阶截断式:一阶ChebNet的卷积核的捕捉范围仅限于中心节点的一阶邻居,忽视了非直接邻居节点信息。对此,公沛良等人[19]提出了二阶近似谱图卷积模型,使用切比雪夫递推式构造二阶截断展开多项式构造卷积核,扩大卷积核的作用范围,并对模型进行参数精简,从而更有效地利用结构信息,在节点分类任务中,比一阶ChebNet在Citeseer、Cora、Pubmed和Nell上的准确率分别提高了1.5个百分点、1.1个百分点、0.8个百分点和1.2个百分点。
(4)避免过平滑
一阶ChebNet 将邻居节点的信息通过求均值后传递给中心节点,随着层数的加深,节点表征存在丢失局部信息、表示趋于一致的问题,即过平滑。由于低频信息反映节点之间的相关性,高频信息反映节点之间的差异性,学者们通过构造特定的卷积核自适应地捕获低频和高频信息,从而缓解一阶ChebNet存在的过平滑问题。
捕捉低高频特征:Zhu 等人[20]提出了S2GC(simple spectral graph convolution),利用改进的马尔可夫扩散核设计了新的卷积核,兼具低通、高通滤波器的作用,充分捕捉每个节点的全局和局部上下文信息,并为每个节点的最近邻域赋权重,有效地限制了过平滑问题。实验结果表明S2GC在文本分类、节点分类、节点聚类和社区预测任务中均具有一定的竞争力。Bo等人[21]提出了FAGCN(frequency adaptation graph convolutional networks),通过增强的卷积核从原始特征中分离低频和高频信号,利用注意力机制来学习低频和高频信号的比例,进一步防止了节点表示变得难以区分。该网络在节点分类任务的Cora、Citeseer和Pubmed上,准确率分别比一阶ChebNet提高了2.6个百分点、2.4个百分点和0.4个百分点。
更换滤波器:多项式滤波器的平滑性导致其无法对频率响应的急剧变化进行建模,对此,Bianchi 等人[22]提出了一种新的图卷积层,使用自回归滑动平均(autoregressive moving average,ARMA)滤波器替换多项式滤波器,提供了更灵活的频率响应,对噪声更鲁棒。实验表明,该网络在节点分类、图信号分类、图分类和图回归任务中的性能对比基于多项式滤波器的GCN有明显的提升。
在谱域GCN 中,卷积操作被转换为傅里叶域中的点乘操作,以对输入数据执行卷积操作。然而,传统的谱域GCN 在实践中存在一些局限性,导致无法取得网络理想效果。
一方面,谱域GCN 的卷积操作依赖于拉普拉斯矩阵的分解,而拉普拉斯矩阵的特征向量对应的是图结构的全局拓扑信息,故传统谱域GCN 的卷积核不具备局部性和灵活性,且卷积核作用范围有限。对此,学者们提出利用多项式滤波器来增强卷积核的局部性,通过学习最优度量和可学习参数使得卷积核具备灵活性,使用切比雪夫递推式构造二阶截断展开多项式完成卷积核的构建,扩大卷积核的作用范围。
另一方面,谱域GCN的一个常见问题是过平滑,即在处理图像时可能会将相邻像素的特征平滑成相似的值,导致网络无法捕捉到图像中的细节和局部特征。学者们通过构造特定卷积核以提高网络对不同尺度的特征的感知能力,帮助网络更好地捕捉图像中的细节和局部特征,缓解网络过平滑问题。
1.2.2 优化网络结构
2016 年提出的一阶ChebNet 引起学者们对谱域GCN 的广泛关注。此后,学者们以一阶ChebNet 为基础,提出一系列改进工作。如图4(b)所示,根据改进目的的不同,这些工作又可以进一步细分为四类,分别聚焦于提高数据自适应性、降低复杂度、避免过平滑和增强特征捕捉能力。
(1)提高数据自适应性
集成学习:一阶ChebNet所处理的图结构数据独立于网络的训练,不能保证最好地服务于网络的学习。对此,Jiang等人[23]首次尝试为半监督学习建立统一的图学习-卷积网络体系结构,提出了GLCN(graph learningconvolutional networks),将图学习和图卷积同时集成在一个统一的网络结构中,从而为图卷积学习自适应或最优的图表示,在节点分类和图像识别任务中均展现出卓越的性能。
(2)降低复杂度
随着网络层数的加深,一阶ChebNet在谱域处理图结构数据时计算量增大,网络复杂度升高。学者们通过在网络中去除冗余、二值化处理和采样节点的方式,达到有效简化模型、构建轻量化网络的目的。
去除冗余:一阶ChebNet的表征能力依赖于数据传播而不是非线性变换,过多的非线性部分成为冗余。对此,Wu等人[24]提出的SGC(simple graph convolution)通过去除GCN层之间的非线性激活函数并压缩连续层之间的权重矩阵,有效降低了模型的复杂度。实验显示,SGC在节点分类精度基本持平其他方法的前提下,计算时间比大模型快1~2个量级左右,表明SGC拥有高效的计算效率。
二值化:数据读取过程是使用一阶ChebNet处理大规模图数据时主要的内存消耗。对此,Wang 等人[25]提出了Bi-GCN(binary graph convolutional network),通过基于向量的二值化算法将网络参数和输入节点特征二值化,有效地学习和保留了信息,与一阶ChebNet 相比,Bi-GCN 的网络参数和输入数据的内存消耗平均约为一阶ChebNet的1/30,推理速度平均提高约47倍。
(3)避免过平滑
除了改进卷积核以解决一阶ChebNet 过平滑的问题,学者们还从优化网络结构的角度出发,提出改进传播方案、引入非线性平滑项和加入学习器的方法来缓解该问题。
改进传播方案:Klicpera 等人[26]针对一阶ChebNet的过平滑问题和模型表征能力有限的问题,提出了APPNP(approximate personalized propagation of neural predictions)。该模型利用一阶ChebNet 和PageRank 之间的关系推导出基于个性化PageRank 的改进传播方案,无需引入其他参数且避免了网络过平滑;同时将预测和传播解耦,解决消息传递范围有限的问题。在节点分类任务中,APPNP 在Pubmed 和MSAcademic 上的分类准确率比一阶ChebNet 分别提高了2.08 个百分点和1.62个百分点。
引入非线性平滑项:鉴于各向异性扩散在图像和网格去噪中的良好性能[31-34],Mesgaran等人[27]提出了AGCN(anisotropic graph convolutional network),在GCN 特征扩散规则中引入非线性平滑项,基于局部图结构和节点特征学习非线性表示,量化学习节点嵌入之间的差异,降低特征的相似度,从而减轻过平滑。在节点分类和图像识别任务中的实验证明了该方法的有效性。
加入学习器:Wang 等人[28]提出了MOGCN(mixedorder graph convolutional networks),利用多阶邻接矩阵构造多个简单的GCN 学习器,直接捕捉节点间的高阶连通性,同时使用来自不同GCN 学习器的未标记节点的伪标记来增加学习器之间的多样性,以缓解过平滑问题。该网络在节点分类中的Citeseer和Pubmed上的准确率比一阶ChebNet提高了3.7个百分点和10.8个百分点。
(4)增强特征捕捉能力
图扩散:一阶ChebNet将每一层的消息传递限制在一跳邻域内,导致模型捕捉信息的范围无法扩大。对此,Gasteiger等人[29]提出了GDC(graph diffusion convolution),采用基于广义图扩散矩阵的稀疏矩阵替换传统的邻接矩阵,以从更大的邻域内聚合信息。实验表明,该网络在节点分类任务中提高了准确性,并且只需要较少的超参数调优。
信息融合:一阶ChebNet在每一层的相邻节点之间传递消息,聚合后形成下一层的嵌入,信息捕捉方式单一,导致模型的表征能力受限。为此,Wang等人[30]提出了AM-GCN(adaptive multi-channel graph convolutional network),同时从节点特征、拓扑结构及其组合中提取特定和常见的嵌入,并使用注意机制来学习嵌入的自适应权重。实验结果显示,该模型在节点分类任务中展现出卓越的分类性能,在Citeseer上的准确率比一阶ChebNet提高了1.08个百分点。
一阶ChebNet是一种处理图数据的方法,可以通过半监督和无监督学习来提取图的特征,并被广泛应用。但其网络结构相对简单,网络性能可能受到一定影响。为了解决该问题,学者们通过集成学习建立了输入数据和网络结构之间的关联关系,使网络能够自适应地学习最优的图表示。此外,他们还通过去除冗余信息和使用二值化算法来实现轻量化网络;通过改进传播方案、引入非线性平滑项和介入学习器等方法对网络结构进行优化,缓解网络过度平滑问题;使用图扩散和信息融合策略增强了网络的特征捕捉能力。以上改进使得以一阶ChebNet 为基础的网络在非结构化数据的特征提取中取得了出色的性能,适用于节点分类等任务。
表1总结了各类谱域GCN的主要特征、局限性及复杂度等信息。由于Spectral CNN需要进行特征值分解,时间复杂度为O(n3()n为节点的数目)。其他方法中每个节点vi表征的计算涉及到其邻居di,并且所有节点上的di之和等于边数,因此其他方法的时间复杂度等价,如果图的邻接矩阵为稀疏矩阵,则为O(m()m为边的数目),否则为O(n2)。
为探索化合物结构与性质的关联关系,Micheli[35]提出了首个空域图卷积神经网络NN4G(neural network for graphs)。该网络选取中心节点的一阶邻居作为邻域,直接累加邻域节点信息完成聚合,应用残差连接和跳跃连接记忆每一层的信息,将每一层的节点特征通过特定函数融合后得到图特征。
此后,学者们提出了各种各样的空域图卷积神经网络,但是一直沿用了NN4G[35]的基本架构。图5(a)展示了该架构的基本流程,主要包括三个关键步骤:首先选取中心节点,并确定其邻域信息;然后重复多次,使用聚合策略向中心节点传播邻域信息以提取节点特征;最后将节点特征经过特定函数融合后得到图特征(根据面向任务的不同,可选择是否进行特征融合)。表2 提供了三个步骤对应的空域GCN的不同思想、优势、局限性以及适用场景和复杂度等信息,为相关学者提供参考(其中“—”代表未知数据)。时间复杂度的表征中,n为节点的数目,m为边的数目。
表2 空域GCN相关模型Table 2 Spatial GCN related models
图5 空域GCN基本结构及相关网络Fig.5 Basic structure and related network of spatial GCN
如图5(b),围绕空域图卷积的三个关键步骤,学者们提出了各种各样的新方案,诞生了许多优秀的模型,下面分别进行介绍。
2.2.1 确定邻域
图中各个节点的相邻节点数目各不相同,为采用固定模式完成局部空间区域的信息聚合,弥补图结构数据在空域平移不变性的缺失,给定一个图结构数据G={V,E,A},其中V表示节点集合,E表示边集合,A表示邻接矩阵(定义节点间的连接关系),首先需要为每个中心节点vi∈V确定固定数目的邻域节点。本节按照邻域节点选取原理的不同,将其分为基于排序和基于采样两类。
(1)基于排序
基于排序的邻域确定方法以节点属性或连通性对全局或局部区域的节点排序,并对每个中心节点提取前k个节点组成其邻域。
向心性:Niepert 等人[36]提出了PATCHY-SAN,将邻域的确定分为以下三步:首先根据中心化度量(节点的度、PageRank 算法或Weisfeiler-Lehman 算法)将图中节点映射为有序的节点序列,间隔s选取w个节点作为中心节点;然后对于每一个中心节点,利用广度优先搜索至少k个邻居节点构成邻域;最后利用邻域节点到中心节点的距离进行图标记以对邻域进行归一化,完成从图到向量映射的预处理。实验结果表明,该网络在图分类问题中展现出优秀的特征提取能力和泛化能力。
概率转移矩阵:为将CNN 推广到图结构数据的处理,Hechtlinger等人[37]提出的Graph CNN设计了另外一种基于排序的邻域节点选取方式,遍历图结构数据,将每一个节点作为中心节点,以基于随机游走的概率转移矩阵为基础,为每个节点选择相连的前k个最近邻居组成邻域,在分子预测和手写体数字识别任务中展现出良好的性能。
(2)基于采样
基于排序的GCN 通常使用全批次方法进行训练,导致网络训练效率低下且通常带来高昂的计算和内存成本,网络可扩展性较差。为此,学者们提出了基于采样的邻域确定方法,根据节点属性或连通性将节点选择性地归入中心节点邻域中,减少了网络需要处理的节点数量,在可接受的精度损失下,降低了GCN训练的计算和存储成本。根据采样策略的不同,可分为逐节点采样、逐层采样和子图采样的方式。
逐节点采样:逐节点采样以随机采样为基础,指定采样阶数k和各阶采样的上限节点数n,为中心节点从1到k逐阶采样,形成其邻域节点。Hamilton等人[38]提出了GraphSAGE,对邻居进行随机采样,每一跳抽样的邻居数不多于n,缓解了时间和内存需求。为了减轻由邻域表示的递归计算引起的感受野的指数增长,Chen 等人[39]提出了VR-GCN(graph convolutional networks with variance reduction),利用方差减少技术将采样邻居的大小限制为任意小的数量,只需采样两个邻居节点即可完成节点估计,在Reddit上的运行时间仅是GraphSA-GE的1/7。
逐层采样:逐层采样方法(层指GCN不同深度的网络层)是对节点抽样方法的改进。首先在每一层将图结构数据展平,节点之间的连接转化为层与层之间节点的连接,同一层的节点之间彼此独立。然后采用自上至下的逐层采样策略,根据采样概率或自适应算法同时采样多个节点,避免了邻居的指数扩展,显著降低了采样过程的时间成本。
①概率采样:Chen 等人[40]提出了FastGCN,根据每个节点的度计算采样概率,并相应地为每个层采样固定数量的节点来构建更小的采样邻接矩阵。Zou等人[41]提出了LADIES(layer-dependent importance sampling),将下一层的采样范围限定为与当前层节点相连的节点来提高计算效率,该网络在Cora、Citeseer、Pubmed 和Reddit 上的准确率比FastGCN 分别提高了0.3 个百分点、1.5个百分点、2.4个百分点和3.3个百分点。Huang等人[42]提出了MG-GCN(mix-grained GCN),在FastGCN的基础上,增加不同粒度的聚合器,收集不同层次的邻域信息,弥补抽样策略导致信息丢失的问题。与Fast-GCN相比,该网络在Cora、Citeseer、Pubmed和Reddit上的准确率分别提高了2.5 个百分点、0.4 个百分点、1.1 个百分点和1.3个百分点。总体而言,通过概率采样,以上网络在节点分类任务中保持较高分类准确性的同时,显著降低了网络的复杂度和计算成本。
②自适应采样:Huang等人[43]提出了AS-GCN,以自上而下的方式对每一层中固定数量的节点进行采样,使用参数化的采样器,根据上层的节点自适应地对下层的节点进行采样,而不是在每一层中进行独立采样,确保了采样节点的有效重用,显式地降低了采样方差。在节点分类任务中,该网络在有效性和准确性上优于Graph-SAGE和FastGCN。
子图采样:在子图采样方法中,采用图划分算法直接形成或特定采样算法组合而成子图,并针对GCN 训练中的每个小批次采样一个或多个子图,以显著降低训练复杂度。Chiang 等人[44]提出了Cluster-GCN,使用图聚类算法将原始图划分为多个聚类子图,并限制子图中的邻域搜索,在节点分类任务中的参数量为GraphSAGE的1/4。Zeng等人[45]提出了GraphSAINT(graph sampling based inductive learning method),通过概率图采样器来构建小批量子图,在5个大型图上展现出卓越的准确性和训练效率。
排序确定邻域的方法使得节点从无序变为有序,可依据面向任务的不同选取不同的排序策略,但在处理大规模图结构数据时,网络计算复杂度和内存消耗过大;而基于采样确定邻域大大减少了邻居节点的数量,缓解了内存压力,提高了网络训练效率,但采样过程中丢失部分信息,导致网络精度在一定范围内下降。
2.2.2 聚合邻域信息
定义节点i的邻域为N(i),第k层节点i的特征为,聚合邻域信息就是利用N(i)的信息更新形成中心节点i的新特征。聚合策略的选取决定了节点之间信息传播的效果,是影响网络性能的重要因素,根据聚合函数是否依赖于网络训练,分为不可学习聚合和可学习聚合。
(1)不可学习的信息聚合
不可学习的信息聚合采用独立于网络训练的特定函数聚合中心节点及其邻域特征,形成更新后的中心节点特征。常用的函数有:GraphSAGE 中提出的以邻居节点特征平均值作为中心节点的特征均值函数(等价于AveragePooling),取邻居节点特征线性变换结果最大值的最大池化函数(MaxPooling)。基于特定函数的方式十分简单有效,直到2021年,Zhang等人[46]提出的MAGN仍然利用均值池化运算对多尺度特征传播的输出进行聚合,在半监督节点分类任务中取得了具有竞争性的性能。
(2)可学习的信息聚合
可学习的信息聚合通过网络训练学习权重等信息以自适应地向中心节点传递邻域信息,完成中心节点的更新。
自适应权重学习:此方式在聚合过程中考虑不同节点的重要性,自适应地为邻居节点分配权重,对邻居节点特征进行加权线性变换完成信息聚合。Atwood等人[47]提出了DCNNs(diffusion-convolutional neural networks),利用随机行走后得到的k跳转移概率定义权重,在图分类任务中展现出良好的泛化能力。Veličković 等人[48]提出了GAT(graph attention networks),通过使用共享自注意力机制计算中心节点与邻居节点的注意力系数,在节点分类任务中体现出良好的分类能力。Jiang 等人[49]针对人物重识别任务提出了PH-GCN(part-based hierarchical graph convolutional network),权重的确定依赖于节点之间的欧氏距离,在人物重识别任务中取得彼时最优精度。针对GAT仅考虑节点之间的邻居内连通性而忽略中心节点的邻域性质的问题,Yadav 等人[50]提出了GACC,适当地权衡节点的自循环,将节点的邻域性质编码到节点本身,其权重由局部聚类系数确定,在节点分类任务的Citeseer、Cora和Pubmed上的准确率比GAT 分别提高了0.5 个百分点、3.4 个百分点和1.5 个百分点。由于一般注意力模型无法自动从不同跳值的邻居节点学习有效的语义信息,Ji 等人[51]提出了HopGAT(hop-aware supervision graph attention networks),权重基于节点特征确定,在Citeseer和Pubmed上的准确率比GAT分别提高了1.1个百分点和1.4个百分点。
其他信息的自适应学习:除权重外,网络也可学习其他信息完成信息聚合。Vashishth等人[52]提出了ConfGCN,为每个节点学习置信度,并将其作用在节点相关性上,修正聚合函数,在节点分类任务取得较优精度。Pei 等人[53]提出了Geom-GCN(geometric graph convolutional networks),根据阶数分配不同的聚合方式。在低阶,通过聚合函数将处于同一邻域且具有相同几何关系的节点特征聚合到虚拟节点;在高阶,通过聚合函数进一步聚合虚拟节点的特征,自适应地将相邻节点信息融合,保证了图结构数据的置换不变性,在节点分类任务中展现出强有力的分类能力和泛化性。Jin等人[54]提出了SimPGCN,根据成对节点特征之间的余弦相似度生成KNN图,将特征矩阵转换为特征图,然后将特征图与原始图集成到GCN 聚合过程中,通过特征相似度聚合机制自适应地集成图结构和节点特征,利用自监督学习来捕捉节点之间复杂的特征相似性和差异关系,在节点分类任务中展现出优秀的特征提取能力。随着层数的增加,GAT的性能受到限制,对此,Zhou等人[55]提出了ADGAT,根据图的稀疏性自适应地选择层数,在Cora、Citeseer和Pubmed 上的平均准确率分别比GAT 提高了1.0 个百分点、1.1个百分点和1.7个百分点。
在聚合邻域信息时,不可学习的聚合方式计算简单,不会给网络带来额外的内存和计算消耗,但独立于网络训练,不能保证所采取的聚合方式是最优的;可学习的聚合方式通过损失函数约束网络自适应地学习最优聚合函数,但网络训练效率下降,且聚合函数的选择对网络性能产生较大影响。
2.2.3 特征融合
对于图级别的任务,如图分类,仅获得节点特征无法完成最终的分类决策,还需要对节点特征进行融合,获得图级别的特征表示FG。具体的,输入各个中心特征,特征融合过程依据特征融合的层数,分为融合单层特征和融合多层特征,现有工作大多沿用此两类方式。
融合单层特征:此类方式只针对网络最后一层的节点特征进行融合。Atwood等人[47]提出的DCNN直接采用最后一层所有节点特征的均值作为FG。Gilmer 等人[56]提出的MPNN(message passing neural networks)使用可导函数融合最后一层的节点特征以计算FG,且该函数满足置换不变性。
融合多层特征:定义f(k)是第k层特征,此类方法将第k层所有节点特征经过线性或非线性处理后生成f(k),将所有层特征f(i)(i=1,2,…,K)融合后得到FG。Micheli 等人[35]提出的NN4G 将第k层所有节点特征求均值以计算f(k),将所有层特征加权求和后得到FG。Xu等人[57]提出了GIN(graph isomorphism network),f(k)通过第k层所有节点特征求和得到,所有层特征进行拼接得到FG。Zhang 等人[58]提出的DGCNN(deep graph convolutional neural network)将节点特征和相关矩阵经过非线性激活后得到f(k),拼接所有层的输出特征作为FG。
在进行特征融合时,融合单层特征的计算复杂度较小,但网络不同层之间存在信息流失问题;融合多层特征的方式有效结合了各层之间的信息传播,但与融合单层特征相比,计算量和内存开销增加。
当前GCN 在计算机视觉领域取得了突破性进展,并被广泛应用于图像识别任务。其中在多标签图像识别、基于骨架的动作识别和高光谱图像分类任务中使用最广,涌现出大量优秀模型。本章将以这三个任务为代表,对GCN在图像识别领域的应用进行总结。
所谓多标签图像识别,就是同时预测一张图像中出现的多个物体的标签,即同时完成一张图像内部多个物体的识别。鉴于物体的内在联系,以及场景同物体间的关联性,物体的出现往往不是完全独立的,因而对标签之间的共现依赖关系进行有效建模便成为提高多标签图像识别的核心问题,而图恰恰是最合适的一种表征方式[59-60]。具体的,学者们将标签作为节点,将节点间的关联作为边,通过GCN 捕获标签间的直接、间接关系,进一步建模标签的共现依赖关系,以提高多标签图像识别的精度。下面将从数据集、评价指标及相关网络模型等方面对相关工作进行介绍。
3.1.1 多标签图像识别数据集及评价指标
目前公开且常用的多标签图像识别数据集有MS-COCO 2014和VOC 2007,表3给出了详细信息。
表3 多标签图像识别任务中不同数据集对比Table 3 Comparison of different datasets in multi-label image recognition task
MS-COCO 2014 数据集[61]:包含80 个常见对象类别的1 222 183 张图像,其中82 081 张用作训练,40 137张用作验证。
VOC 2007 数据集[62]:包含20 个常见对象类别的9 963 张图像,4 952 张用作训练,2 501 张用作验证,2 510张用作测试。
评价指标:本文选用三个综合指标[3]mAP、OF1、CF1对相关算法进行评价。其中mAP为各类精确度的平均值。F1定义如下:
式中,带入总体查全率和查准率时,可得总体F1,即OF1;带入各类查全率和查准率时,可得平均每类F1,即CF1。
3.1.2 网络对比及分析
(1)GCN作为分类器
Chen 等人[3]针对多标签的共现依赖关系提出了ML-GCN,首次将GCN 用作分类器提取标签图的节点间的相互依赖关系,在MS-COCO 2014上和VOC 2007上的mAP分别达到83.0%和94.0%,为GCN在多标签图像识别领域的研究奠定了基础。其整体结构可抽象为图6(a1)所示的CNN-GCN 双分支网络。其中CNN 分支提取图像视觉特征;GCN 分支通过词嵌入将标签作为图节点,采用概率统计方法计算相关矩阵,然后通过基于GCN的映射函数从标签表示中学习相互依赖的对象分类器;最终将分类器与图像特征融合获得预测分数,完成图像内的多标签识别。
图6 GCN在多标签图像识别任务中的发展Fig.6 Development of GCN in multi-label image recognition task
此后,学者们采用CNN-GCN 双分支网络结构,围绕提高网络灵活性和特征提取能力,提出了一系列改进工作,构建了多种多样的多标签图像识别网络。图6(a2)展示了其中的代表性工作。表4 给出了各方法在MS-COCO 2014和VOC 2007上的具体性能。
表4 各方法在两个数据集上的性能对比Table 4 Performance comparison of each method on two datasets 单位:%
Li 等人[63]针对ML-GCN 的标签关联图由人工设计导致网络灵活性降低的问题,提出了A-GCN,引入即插即用标签图模块学习单词嵌入的标签相关性,摆脱了人工预设的限制,提高了网络的灵活性,其在MS-COCO 2014 上的mAP 相较于ML-GCN 提高了0.1 个百分点。Xie 等人[64]针对ML-GCN 和A-GCN 都采用点积完成图像特征与标签共现嵌入的融合,严重限制了模型收敛性的问题,提出了LGLM(label graph learning model),在跨模态融合模块中引入了多模态融合组件,高效地融合图像特征和标签共现嵌入,在MS-COCO 2014 上的mAP相比ML-GCN和A-GCN分别提高了1.2个百分点和1.1个百分点。
此外,针对ML-GCN中将CNN和GCN作为两个完全独立模块,忽略语义特征(GCN提取特征)对图像特征(CNN提取特征)指导的问题,Sun等人[65]提出了FLNet,将GCN聚合的语义特征嵌入到CNN中,指导CNN学习标签相关的图像特征,从而为每个图像标签学习相互依赖的分类器,在MS-COCO 2014 上和VOC 2007 上的mAP与ML-GCN相比分别提高了1.1个百分点和0.4个百分点。为了学习图像的全局特征,同时捕捉目标之间的标签相关性,Wang 等人[66]提出了STMG,使用Swin Transformer 代替CNN,为每幅多标签图像自适应地生成图像特征;使用GCN 自适应地捕获标签依赖关系以输出标签共现嵌入,提高网络特征提取能力,实验数据表明其在MS-COCO 2014 上的mAP 相比ML-GCN 和A-GCN分别提高了1.3个百分点和1.2个百分点。
Singh等人[67]发现目前GCN作为分类器处理多标签图像时,图的拓扑结构是预先定义的,对于GCN而言可能不是最适合或者最优的,而且GCN 的聚合倾向于修改原始特征空间中的节点相似度,导致信息丢失[54]。为了克服这些问题,他们提出了ML-AGCN(multi-label adaptive graph convolutional network),以端到端的方式学习两个额外的邻接矩阵,第一个邻接矩阵通过注意力机制为不同的节点分配权重,第二个邻接矩阵学习节点特征之间的相似性,克服了连续卷积带来的信息损失。实验结果显示,该网络对比ML-GCN在MS-COCO 2014 和VOC 2007 上的mAP 分 别提高了3.9 个百分点和1.0个百分点。
(2)GCN作为信息传播器
Ye等人[68]针对已有工作采用静态方式构造相关矩阵,降低了模型泛化性的问题,提出了ADD-GCN(attentiondriven dynamic graph convolutional network),初次采用动态图卷积网络作为信息传播器,对语义注意模块(semantic attention module,SAM)生成的关系进行建模和信息传播。实验结果表明,ADD-GCN在两个数据集上的评价指标对比ML-GCN均有提升。其整体结构可抽象为图6(b1)所示的单分支串行网络。其中CNN旨在提取每幅图像的特征,输入至SAM 后构建c个类别的初始类别表示V=[v1,v2,…,vc],而后GCN以V为节点,随机初始化邻接矩阵和状态更新权重矩阵进行训练,输出c个类别的特征H=[h1,h2,…,hc]。由于每个类别的特征向量都是与其特定类对齐的,并且包含了与其他向量的信息,只需将每个类别向量放入分类器可预测其类别得分S=[s1,s2,…,sc],完成最终分类。
此后,学者们以单分支网络结构为基础,从网络结构和信息扩增两方面对ADD-GCN进行改进,构建识别性能更优越的网络,图6(b2)展示了其中的经典工作,表4给出了具体性能。
Cao等人[69]指出现有工作在学习特征空间中忽略了类别信息的整体结构和标签判别向量的监督,影响模型准确性,故提出了具有上-下双分支结构的网络2SDGCN(two-stream dynamic graph convolution network),其上分支通过ADD-GCN 获取预测类别的上分支置信度得分,下分支通过横向嵌入V和标签判别向量重构出新的图特征节点,将其输入到D-GCN中,产生预测类别的下分支置信度得分;融合两个置信度得分得到包含类别信息整体结构的预测得分。该网络在MS-COCO 2014上与ML-GCN和ADD-GCN相比mAP分别提高了2.6 个百分点和0.4 个百分点,在VOC 2007 上与MLGCN相比mAP提高了1.4个百分点。
Lan等人[70]分析发现ML-GCN和ADD-GCN侧重于从图像中捕获标签之间的关系属性,而同时使用图像和文本对图像进行标记更为准确,故引入文本描述作为辅助信息,提出了DGCNM。该网络利用预先训练的描述模型提取文本特征,并将文本特征与ADD-GCN模型生成的视觉特征进行融合,为网络扩增了输入信息,将合并后的特征导入到动态图卷积网络中完成标签间的信息传播,在MS-COCO 2014 上 的mAP 与ML-GCN 和ADD-GCN相比分别提高了2.9个百分点和0.7个百分点。
总体来看,针对多标签图像识别任务,学者们分别以ML-GCN 和ADD-GCN 为基础,将GCN 的用途分为两大类:一类是将GCN 作为分类器,构建双分支网络,通过CNN和GCN分别提取视觉和语义特征,最终通过融合后的信息完成识别;另一类是将GCN 作为信息传播器,首先通过CNN 提取初始特征,然后进一步利用GCN 建模标签之间的依赖关系,输入分类器后完成图像识别。
如表4 所示,综合来看,GCN 作为信息传播器的综合性能优于GCN 作为分类器。通过分析发现,这是因为当GCN 作为信息传播器时,无需考虑图像特征和语义特征之间的融合特征,直接将CNN 提取的特征映射分解为内容感知的类别表示,并通过静态图和动态图分别捕获全局粗粒度和局部细粒度的类别依赖关系,显著提高了图像识别精度。而将GCN 作为分类器时,CNN与GCN 提取的特征相较而言更加独立,如何高效完成信息融合仍具挑战。而GCN 作为信息传播器时,需要处理静态图和动态图,与GCN作为分类器相比,其计算复杂度和内存开销增加。
人体骨架各个关节彼此关联,在对基于骨架的动作进行识别时,有效建模,进而利用关节之间的关联关系对提高其识别准确性具有积极的意义。而与CNN 相比,GCN 更擅长建模节点之间的内在联系并捕获拥有依赖关系的时序信息,故被广泛运用于基于骨架的动作识别任务中。下面将从数据集、评价指标及相关网络模型等方面对相关工作进行介绍。
3.2.1 基于骨架的动作识别数据集及评价指标
目前公开且常用的动作识别数据集包括NTURGB+D 60、NTU-RGB+D 120 和Kinetics-Skeleton,详细信息如表5所示。
表5 基于骨架的动作识别任务中不同数据集对比Table 5 Comparison of different datasets in skeleton-based action recognition task
NTU-RGB+D 60[71]:该数据集包含60 个种类的动作,共56 880个样本,其中有40类为日常行为动作,9类为与健康相关的动作,11类为双人相互动作,该数据集通过3个相机采集,一帧骨架序列包含25个人体关节作为节点,以三维关节位置作为初始特征。以该数据集为基础,又建立了两种不同的测试标准。(1)X-Sub,数据集中包含40 个类别,其中40 320 个样本用作训练,16 560个样本用作测试;(2)X-View,用摄像机2 和3 采集的37 920 个样本用作训练,用摄像机1 采集的18 960 个样本用作测试。
NTU-RGB+D 120[72]:该数据集与NTU-RGB+D 60相比,通过添加另外60 类和另外57 600 个视频样本进行扩展,即NTU-RGB+D 120 总共有120 类和114 480个样本,并由32 台摄像机拍摄,对应两个测试标准。(1)X-Sub,数据集中包含53个类别,其中63 026个样本用作训练,剩下的样本用作测试;(2)X-View,具有偶数标识的样本用作训练,具有奇数标识的样本用作测试。
Kinetics-Skeleton[73]:该数据集有400 个类别,共有306 245个视频,分为三部分,训练集每个类250~1 000个视频,验证集每个类50个视频,测试集每个类100个视频。
评价指标:NTU-RGB+D 60和NTU-RGB+D 120数据集的子集都使用Top-1准确率衡量;Kinetics-Skeleton使用Top-1准确率和Top-5准确率衡量。
3.2.2 网络对比及分析
图7根据各个工作突出重点的不同,将基于骨架的动作识别网络分为提取丰富信息、提高模型灵活性、关注重点信息三大类,并以时间为序展示了各种方法及其关键改进。表6 对比了这些方法在NTU-RGB+D 60、NTU-RGB+D 120 和Kinetics-Skeleton 上的识别性能。下面将分别进行介绍。
表6 各方法在三个数据集上的性能对比Table 6 Performance comparison of each method on three datasets 单位:%
图7 GCN在骨架动作识别任务中的发展Fig.7 Development of GCN in skeleton-based action recognition task
(1)提取丰富信息
较CNN而言,GCN可捕捉骨架节点及其关联关系,提取更加丰富的信息。Yan 等人[4]提出的ST-GCN 首次将GCN应用于动态骨架建模,以关节为节点,以人体结构和时间上的自然连通性为边,构造时空图,使用多层时空图卷积沿空间和时间维度集成信息,提高了动作识别任务的精度,同时模型具备更强的表达能力和泛化能力。Thakkar 等人[74]针对ST-GCN 忽略了人体骨架内部关联关系的问题,提出了PB-GCN(part-based graph convolutional network),将骨架图分为4 个共享连接点的子图,匹配人体骨架结构及其连接关系,在NTURGB+D 60数据集的两个子集上分别获得了较ST-GCN高6.0个百分点和4.9个百分点的准确率增益。
Li等人[75]针对ST-GCN丢失了长距离节点特征的问题,提出了AS-GCN(actional-structural graph convolution network),构建广义图将A-links(actional links)扩展到高阶邻域以提取更丰富的关节依赖关系,比ST-GCN在NTU-RGB+D 60 和Kinetics-Skeleton 上准确率分别提高了5.3个百分点、5.9个百分点、4.1个百分点和3.7个百分点。Shi等人[76]指出现有方法结合关节和骨骼信息的能力仍有待提高,提出了DGNN(directed graph neural network),基于人体中关节和骨骼之间的运动学依赖关系,将骨骼数据表示为有向无环图(directed acyclic graph,DAG),用于提取关节、骨骼及其相互关系的信息,并根据提取的特征进行预测。该网络在NTU-RGB+D 60和Kinetics-Skeleton上准确率比ST-GCN分别提高了8.4个百分点、7.8个百分点、6.2个百分点和5.8个百分点。
Liu 等人[77]分析认为ST-GCN 等现有方法捕获远距离关节信息的能力有限,且独立捕捉时间和空间信息的结构严重阻碍了跨时空的直接信息流。为此,他们提出了MS-G3D,通过多尺度聚合方案将不同邻域中节点的重要性分解以进行有效的远程建模,构建了时空图卷积算子G3D,利用密集的跨时空边缘作为跳过连接实现时空图上的直接传播信息,在NTU-RGB+D 60、NTURGB+D 120 和Kinetics-Skeleton 三个数据集上的准确率均明显优于以前的最新方法。
此外,有学者从网络结构的角度进一步提高骨架动作识别模型的信息提取能力。具体的,针对骨骼动力学无法捕捉细微运动特征的问题,Cai等人[78]提出了JOLOGCN,加入JFP(joint-aligned optical flow patches)捕捉关节周围的局部细微运动,并将其提取的特征作为关键视觉信息,采用基于GCN的双流网络结构,独立处理骨架序列和JFP 序列并线性混合两分支的预测分数完成分类,在NTU-RGB+D 60和Kinetics-Skeleton上准确率比ST-GCN分别提高了12.3个百分点、9.8个百分点、7.6个百分点、9.5个百分点。Liu等人[79]针对ST-GCN 不能利用时间信息学习相似动作间差异的问题,提出了双分支网络RNXt-GCN,将人体骨架转换为时空图和Skele-Motion图像,分别输入到ST-GCN和ResNeX中,提高模型提取相似动作差异性的能力,比ST-GCN在NTU-RGB+D 60上的准确率分别提高了9.9个百分点和7.4个百分点。
尽管现有基于GCN的方法具有捕捉人体骨骼结构信息的能力,但由于通道间共享邻接矩阵以及时空块之间的稀疏连接,使得该方法建模时空线索的效率较低;CNN 可以在时空斑块上建立密集的连接,在不同的通道上建立不同的相关性,但无法利用存在于自然人类骨骼结构中的有价值的线索。因此,Yang等人[80]认为CNN和GCN的结合可以为基于骨架的动作识别任务带来明显的改善,并提出了HybridNet。首先通过GCN对人体骨骼结构信息和节点的隐式拓扑进行建模,而后通过CNN探索关节在不同动作下的复杂依赖关系。该混合网络保留了自然骨骼结构的信息,同时有效捕捉了复杂多样的时空特征。实验证明,该网络比ST-GCN 在NTU-RGB+D 60上准确率提高了9.9个百分点和8.6个百分点,在Kinetics-Skeleton 上准确率提高了8.8 个百分点和9.5个百分点。
(2)提高模型灵活性
ST-GCN 将骨架图拓扑结构固定,导致模型灵活性降低。为此,Shi 等人[81]提出了2s-AGCN(two-stream adaptive graph convolutional network),将骨骼的长度和方向作为二阶信息,将固定图替换为基于节点相关性的自适应图结构,提高了图形构建模型的通用性,相比ST-GCN 在NTU-RGB+D 60 上准确率提高了7.0 个百分点和6.8个百分点,Kinetics-Skeleton上准确率提高了5.4 个百分点和5.9 个百分点。Cheng 等人[82]提出了Shift-GCN(shift graph convolutional network),由Shift图运算和轻量级的逐点卷积组成,为空间图和时间图提供了灵活的感受野,计算复杂度约为ST-GCN 的1/10,NTU-RGB+D 60 上识别准确率提高了9.2 个百分点和8.2个百分点。
(3)关注重点信息
尽管2s-AGCN 取得了彼时最好的性能,但是它将图的邻接矩阵划分为三个权重相同的子图,阻碍了子图之间更深层的语义学习。对此,Xu 等人[83]提出了MSAWGCN(multi-scale skeleton adaptive weighted graph convolution network),采用多尺度骨架图卷积网络提取丰富的空间特征,将融合阶段手工生成的邻接矩阵替换为可学习矩阵自适应地学习图的潜在拓扑,并根据不同的采样策略采用加权学习的方式突出重点信息,聚合节点特征以生成更加丰富的骨架图特征。实验结果表明,相较于2s-AGCN,MS-AWGCN 在NTU-RGB+D 60 上和Kinetics-Skeleton 上的准确率分别提高了1.8 个百分点、1.3个百分点、1.5个百分点和2.1个百分点。
同样是针对2s-AGCN网络,Alsarhan等人[84]认为该网络提取的特征区分度不够,且网络不能捕捉到不同的运动时间特征,为此,提出了ED-GCN(enhanced discriminative graph convolutional network)。该网络引入了压缩激励模块,使得网络能够使用全局信息来选择性地增强重要特征,同时通过自适应时间模块捕获时间运动特征,与空间建模相辅相成,提高识别精度。实验结果显示,ED-GCN比2s-AGCN在NTU-RGB+D 60上准确率提高了0.2个百分点和0.1个百分点,在Kinetics-Skeleton上准确率提高了0.8个百分点和0.3个百分点。
此外,Setiawan等人[85]分析认为,已有动作识别模型在特征聚合期间忽略了不同阶信息的重要性,存在信息丢失问题,同时这些模型使用标准的拉普拉斯矩阵或邻接矩阵将图的属性编码为一组向量,在表征图不变量时有一定的局限性。为此,他们提出了SIhGCN(inter-hop graph convolution neural network),通过特征聚合过程中赋予节点不同重要性来增强基于图的卷积神经网络,使用SIFA(sequential inter-hop feature aggregation)从每一跳中捕获有价值的信息,并且利用归一化拉普拉斯矩阵将图信息编码为矩阵形式来增强现有的GCN。该网络获得了当前最先进的性能,在NTU-RGB+D 60 的X-Sub 和X-View 上分别获得了92.8%和96.9%的Top-1准确率,在Kinetics-Skeleton 上的Top-1 和Top-5 分别达到了38.1%和62.9%。
(4)轻量化网络
现行方法在大型数据集以及实际应用中鲁棒性较差,且计算复杂度较高。为此,杨清山等人[86]提出了一种基于知识蒸馏的轻量化时空图卷积动作识别融合模型,利用分组卷积等设计参数量较少的时空卷积子模型,并将2s-AGCN和DGNN分别作为教师模型指导学生子模型进行骨架信息的更新;为了增加模型的鲁棒性,训练和测试时使用了仿射变换等数据增强技术,用于数据增强。实验结果表明,该网络的两个学生子模型相较于教师网络参数量均下降50%左右,与其他优秀的前沿方法相比,在NTU-RGB+D 60上同样拥有较强的竞争力。
总体上看,针对基于骨架的动作识别任务,研究者们以ST-GCN 为基础,分别以提高模型提取信息的能力、提高模型灵活性、关注重点信息的能力和轻量化网络为目的提出一系列改进措施。早期改进主要针对骨架图的拆分与转换等方式处理输入数据,以此提高网络的识别性能;近期的改进工作主要通过增加额外的功能模块和采取不同的特征融合方式为网络提供更多的信息,达到提高网络整体性能的效果。
然而,如表6 所示,现有方法在Kinetics-Skeleton 上的识别精度比在NTU-RGB+D 60和NTU-RGB+D 120上整体较低。通过分析发现,这是由于Kinetics-Skeleton数据集规模较大,涵盖相当数量的交互式动作,识别难度较大;而GCN在处理骨架图时,将每个人体关节视为一个节点,导致其复杂度与输入数据中的人类数量呈线性关系,内存需求也随之增长,限制了GCN识别多人场景的能力。因此,如何有效提升GCN 在复杂动作数据集上的识别能力值得深究。
与普通图像相比,高光谱图像(hyperspectral images,HSI)由数百个连续的光谱波段组成,每个像素都含有大量光谱特征,能同时获得地面物体的光谱信息和空间信息,在医学诊断、植被检测、军事监控等领域有着广泛的应用。现有的深度学习模型大多是针对欧几里德数据设计的,忽略了相邻光谱信息之间的内在相关性,限制了网络的识别性能。将像素点或者超像素点作为节点,HSI编码成图结构数据,GCN可以明确地利用相邻光谱信息之间的相关性,更高效地模拟HSI 的空间背景结构,故在高光谱图像分类任务中得到广泛应用。下面将从数据集、评价指标及相关网络模型等方面对相关工作进行介绍。
3.3.1 高光谱图像分类数据集及评价指标
目前公开且常用的高光谱图像分类数据集包括和Salinas,详细信息如表7所示。
表7 高光谱图像分类任务中不同数据集对比Table 7 Comparison of different datasets in hyperspectral image classification task
Indian Pines:该数据集于1992 年由机载可见/红外成像光谱仪传感器收集,记录了印度的西北部信息,共包含16 个类别,其中一张图片像素大小为145×145,空间分辨率为20 m×20 m,去噪后在波长范围0.4~2.5 μm内保留200个光谱通道。
University of Pavia:该数据集于2001年通过ROSIS传感器捕获了意大利帕维亚大学的信息,共包含9个类别,其中一张照片的像素大小为610×340,空间分辨率为1.3 m×1.3 m,去噪后在波长范围0.43~0.86 μm内保留103个光谱通道。
Kennedy Space Center:该数据集由AVIRIS传感器在美国佛罗里达州地区收集,共包含13个类别,其中一张照片的像素大小为614×512,空间分辨率为18 m×18 m,去噪后在波长范围0.4~2.5 μm内保留176个光谱通道。
Salinas:该数据集由AVIRIS 传感器在美国加利福尼亚州萨利纳斯谷地区收集,共包含16个类别,其中一张照片的像素大小为512×217,空间分辨率为3.7 m×3.7 m,去除萨利纳斯场景的20 个光谱通道(224,154~167和108~112)。
评价指标:在高光谱图像分类任务中,主要采用总体精度(OA)、平均精度(AA)和Kappa 系数(KPP)作为分类性能的评价指标。其中OA 为总体识别正确测试样本的准确率,AA为所有类别的每类精确度的平均值,KPP由正确分类和错误分类样本个数综合计算得到,旨在衡量网络预测结果与真实值标注之间的一致性情况。
3.3.2 网络对比及分析
如图8 所示,根据编码图结构数据的不同,本小节将高光谱图像分类网络分为基于图像的GCN方法和基于超像素的GCN 方法,并以时间为序展示了各种方法及其关键改进。表8 对比了这些方法在Indian Pines、University of Pavia、Kennedy Space Center和Salinas上的识别性能,下面将分别进行介绍。
(1)基于图像的GCN方法
基于图像的方法将HSI的每个像素视为一个顶点,并在整个HSI 像素上构建图结构数据。Qin 等人[5]首次将GCN应用于HSI分类,提出了S2GCNs,根据相邻像素的光谱相似度和空间距离在相邻像素之间传播信息,充分利用了当前像素的空间信息。实验结果表明,与彼时基于CNN 的最优算法相比,S2GCNs 在Indian Pines 和Kennedy Space Center上的OA、AA和KPP分别提高了5.11 个百分点、11.51 个百分点、5.69 个百分点和3.22 个百分点、3.72个百分点、3.59个百分点,为GCN在高光谱图像分类领域的研究奠定了基础。
Mou 等人[87]认为现有深度网络需要足够标注的训练实例以完成监督学习,导致训练成本增加,故提出了Nonlocal GCN(nonlocal graph convolutional network)。该网络将整个图像(包括标记和未标记的数据)作为输入,通过度量特征空间中顶点(包括标记和未标记像素)之间的相似性来构造图数据,该数据具备非局部性和数据驱动性,并且能够以端到端的方式自适应地学习。实验证明,该网络能够提供有竞争力的准确率和高质量的分类图。
光谱模型的多样性增加了HSI 波段之间复杂度和冗余度,同时带来额外的存储消耗。Bai 等人[88]提出了DAGCN(deep attention graph convolutional network),针对高光谱数据中波段较多且波段间关系复杂的特点,设计了核光谱角映射器和光谱信息发散(kernel spectral angle mapper and spectral information divergence,KSAM-SID),以实现对相似光谱的有效聚类。实验显示,该网络在Indian Pines 上的OA、AA 和KPP 对比S2GCNs 相比分别提高了6.97 个百分点、4.09 个百分点和8.00个百分点。
现有方法大多将不同样本的不同尺度的重要性视为一致,同时所采用的Softmax 函数削弱了HSI 的内部紧凑性,网络判别性特征的提取,从而降低了分类的准确性。为应对上述挑战,Xi等人[89]提出了X-GPN(crossscale graph prototypical network)。该网络构造多尺度邻接矩阵,捕捉丰富的光谱信息和精确的空间上下文信息,采用SBAA(self-branch attentional addition)模块自适应地组合多个分支产生的高级特征以自动地对不同尺度的样本分配不同的重要性,使用一种新的基于时间熵的正则化器(temporal entropy-based regularizer,TER)协同生成更具鉴别性的表示,在Indian Pines和Kennedy Space Center数据集上实现了更高精度的高光谱图像分类。
(2)基于超像素的GCN方法
基于超像素的方法的核心思想是预先将HSI 分割成具有相似特征的小区域,即超像素,并将它们视为一个顶点以缓解高内存成本。基于此,Wan等人[90]提出了MDGCN(multiscale dynamic GCN),通过简单线性迭代聚类(simple linear iterative clustering,SLIC)算法对HSI 进行预处理,并分割成多个同质超像素,在超像素上以不同的空间尺度构造图,聚合多尺度光谱-空间特征,并逐步细化输入图,将属于同一类的超像素在嵌入空间中进行聚集。实验表明,该网络在Indian Pines 和Kennedy Space Center 上的OA、AA 和KPP 与S2GCNs相比分别提高了1.83 个百分点、1.32 个百分点、2.14 个百分点和4.16个百分点、5.48个百分点、4.64个百分点。
MDGCN 中的超像素是通过启发式超像素生成技术形成的,在整个分类过程中可能不精确,并且无法改变,进而导致网络不能细化图节点之间的连接关系。对此,Wan等人[91]提出了CAD-GCN(context-aware dynamic graph convolutional network),通过投影和重投影步骤自适应地学习超像素,动态更新连接不同图像区域的图形边缘,以便进一步利用上下文关系,同时能够更好地匹配图像中的物体外观;利用改进的相似性度量和边缘滤波器,细化图的边缘权值和图像区域之间的连接关系,以适应图的每个卷积层生成的表示。该网络在Indian Pines 上的OA、AA 和KPP 与MDGCN 相比分别提高了0.66个百分点、0.14个百分点和0.74个百分点。
针对现有GCN 方法计算成本较高,且易出现过平滑问题,Ding等人[92]提出了一种具有自回归移动平均滤波器(autoregressive moving average,ARMA)和上下文感知学习(context-aware learning,CAL)算法DARMACAL 用于HSI 分类,ARMA 滤波器能较好地捕捉全局图结构,对噪声具有较强的鲁棒性且计算复杂度低,DARMA-CAL提取ARMA中每一层产生的有用的局部信息。该网络在University of Pavia上的OA、AA和KPP与MDGCN相比分别提高了2.03个百分点、4.41个百分点和3.99个百分点。
MDGCN的图卷积在不同的空间尺度上分别进行,卷积作用范围限制在固定的邻域内,对多尺度空间信息的利用仍存在欠缺。Wan 等人[93]针对此提出了DIGCN(dual interactive GCN),引入双交互GCN分支来捕获不同尺度的空间信息,一个GCN 分支中包含的边缘信息可以通过合并来自另一个分支的特征表示来细化,通过融合来自GCN分支的边缘信息,可以在GCN分支中生成改进的特征表示,从而利用多尺度空间信息的相关性来细化图信息。实验表明,该网络保持了较高的准确率。
现有GCN 算法大都围绕着如何聚合非同一类别节点周围的节点特征展开,忽视了同一类别的所有节点都在局部区域的特征提取。Zhu 等人[94]对此提出了SLGConv(short and long range graph convolution),可以提取长程(全局)和短程(局部)空间光谱特征,保证节点的特征在卷积过程中不被平滑。该网络在高光谱图像分类任务中获得了具有竞争力的结果。
针对MDGCN等基于GCN的方法侧重于提取局部信息,在理解图的全局和上下文信息方面存在欠缺的问题,Ding 等人[95]提出了SAGE-A(graph sample and aggregate-attention),采用了多级图样本和聚合网络,灵活地聚合任意结构的非欧几里德数据中的新邻居节点,并捕获远程上下文关系,利用图的注意机制来表征空间相邻区域之间的重要性,从而通过聚焦重要的空间目标来自动学习图的深层上下文和全局信息。该网络在University of Pavia 上的OA、AA 和KPP 与MDGCN相比分别提高了0.51个百分点、3.03个百分点和1.75个百分点。
随着网络层数的增加,GCN 模型通常会出现过平滑问题,表征能力受限。对此,Yu等人[96]将GCN和CNN结合,提出了双分支网络TBDGCN(two-branch deeper GCN),在GCN 分支中,采用DropEdge 技术和残差连接来缓解过平滑和过拟合问题;在CNN分支中,为了捕获空间位置信息和信道信息,构造了一种混合注意力机制来提取基于注意力的光谱-空间特征。通过双分支结构,TBDGCN 可以有效地捕捉小空间窗口内的局部像素关系和不同区域之间的长程上下文关系,提高了网络的特征提取能力。实验证明,该网络在高光谱图像分类任务中取得了具有竞争力的效果。
总体来说,基于GCN 的方法在HSI 分类中依据输入数据的不同,可分为基于图像的方法和基于超像素的方法。基于图像的方法将整张HSI 输入网络,HSI 中蕴含丰富的图像信息,但当HSI 过大时,内存消耗和计算复杂度迅速增长。基于超像素的方法将HSI 数据进行预处理后得到具有相似特征的超像素区域,降低了输入数据的规模,但HSI在数据预处理过程中会损失部分细节信息,导致网络识别精度下降。
虽然GCN 在HSI 分类中已经显示出潜力,但训练样本有限仍是限制网络性能的主要原因。由于在真实场景中对大量的训练样本进行人工标注费时费力,如表7所示,高光谱图像分类领域的四个常用数据集中,未标记像素的数量远超标记像素,如何基于GCN 针对该标签不平衡问题完成分类任务是未来的研究热点。
近年来,GCN 的相关研究取得了显著的进展。围绕GCN,本文首先介绍了两类GCN 的基本原理和基础模型架构;然后分别总结了近年来的相关改进工作;最后从多标签图像识别、基于骨架的动作识别和高光谱图像识别三方面介绍了GCN在图像识别领域中的应用。
在图像识别领域的实际任务中,图像数据是高度复杂和多样化的,尽管GCN 在图像识别领域取得了优秀的识别精度,但其自适应性、轻量化、与其他模型的有效结合等方面仍存在一些问题。因此,本文将从这三个角度出发,对GCN 在图像识别领域的未来发展方向进行展望,希望能够促进该领域的发展。
(1)GCN的自适应性。目前,GCN在非结构化数据的特征提取中表现出卓越的性能,但灵活性较低,对输入数据的规模等有着严格的限制条件,即使改进后的GCN 具备一定的处理多样性数据的能力,但前提是对数据进行预处理和规范化,这可能导致丢失部分拓扑结构信息。在图像识别领域中,图结构数据存在结构变化较大的情况,类间和类内的数据也存在一定的差异性。例如,一个大规模场景中包含的对象数目及其关联关系各不相同,一个零件装配图包含的零部件数目及其装配关系可能多种多样,这都会导致转化后的非结构化数据呈现多样性。针对此类问题,若要确保信息的完整性,就需要根据的差异设计不同的卷积定义和设计,这无疑限制了GCN 在相关领域的适用性;若通过预处理等实现数据一致性表征,又不可避免造成信息损失,影响后续任务性能。因此,如何有效构建自适应的GCN,使得网络具备处理不同输入数据的能力,同时尽可能保留原始数据的拓扑结构信息,是GCN 在图像识别领域中亟待解决的问题之一。
(2)GCN 的轻量化。图像数据的大小通常比非结构化数据大得多,因此GCN 在图像识别任务中需要处理的图像数据的数量和规模较大;同时,图像数据通常具有高度的局部性和复杂性,卷积核需要具有更大的感受野和更复杂的结构才能捕捉到图像中的更多信息。上述问题导致网络计算和存储需求的显著增加,限制了GCN在大规模图像数据上的应用。随着深度学习和人工智能技术的发展,模型轻量化成为必然趋势。通过改进模型体系结构和优化算法,降低模型大小和计算复杂度,可以进一步使GCN 在大规模图像数据上得到有效应用。因此,如何提高GCN的计算和存储效率,以适应大规模图像数据的处理需求,是一个重要的问题。
(3)GCN 与其他模型的有效结合。大部分现实生活中的图像数据都包含拓扑结构信息和视觉信息。GCN 主要关注节点之间的连接关系,难以有效地捕捉到图像中的细节信息,造成在图像识别领域的性能有限。CNN等深度学习网络提取的图像视觉特征或预训练获取的语义特征等可以为GCN 提供额外信息,辅助GCN 更高效准确地完成相应任务。然而,GCN 只能处理图结构数据,难以与规则网格上表示的结构化数据相结合。在多标签识别任务中,如何将类别间的关系和图像特征有效融合仍具挑战;在基于骨架的动作识别中,节点间的关联关系与动作时序信息的结合同样存在难点;在高光谱图像分类任务中,如何高效利用数量庞大的像素信息仍是研究的重难点。因此,在图像识别领域,如何将各类模型有效结合,发挥各自的优势,更加高效准确地完成特征提取将是值得学者们继续研究的问题。