基于显著性图的点云替换对抗攻击
2022-02-28刘复昌南博缪永伟
刘复昌,南博,缪永伟,2*
1. 杭州师范大学信息科学与技术学院, 杭州 311121; 2. 浙江理工大学信息学院, 杭州 310018
0 引 言
针对对抗样本的生成和对抗攻击的防御是信息安全领域的重要问题,在计算机图形学和计算机视觉方面的应用研究得到了普遍重视(Akhtar和Mian, 2018)。针对图像分类卷积神经网络的攻击最早受到了研究者关注,在对深度神经网络进行谱分析的基础上,Szegedy等人(2014)指出由于深度神经网络的非线性导致输入与输出映射不连续,加上不充分的模型平均和不充分的正则化导致过拟合使得深度神经网络极易受到对抗样本的扰动攻击。为了提高神经网络扰动攻击的效率,Goodfellow等人(2015)提出了FGSM(fast gradient sign method)方法,通过计算得到模型的梯度方向并沿着其梯度的反方向添加扰动,从而拉大对抗样本与原始样本的距离。由于FGSM方法只涉及单次梯度更新,而单次梯度更新有时并不足以产生使模型出错的扰动,Kurakin等人(2017)提出了改进的I-FGSM(iterative fast gradient sign method)方法,该方法通过小步长多次迭代使用FGSM方法产生扰动,进一步增强了对神经网络的攻击效果。Papernot等人(2016)和Moosavi-Dezfooli等人(2016)则分别从深度神经网络对输入图像梯度信息和图像分类超平面角度出发以构造图像对抗样本,并提出相应的高效对抗攻击方法。Arnab等人(2018)则是从图像分割模型角度评估了分割网络对于图像对抗攻击的鲁棒性。Inkawhich等人(2019)通过在特征空间最小化矢量化表示源图像与目标图像的欧几里得距离,使源图像与目标图像在特征空间中尽可能相似,从而产生可迁移的对抗样本。Zhou等人(2020)提出一个无需数据训练替身模型实现黑盒对抗攻击的方法,利用生成对抗网络生成合成样本,以训练替身模型。
由于安全性在深度神经网络和智能系统中起着至关重要的影响,神经网络对对抗攻击的鲁棒性研究是回答深度学习能否广泛应用于物理世界的关键点。研究表明,处理2D图像的深度神经网络对高维空间中细微的扰动会逐层叠加,导致最终网络的输出结果产生较大偏差,使得在深度神经网络对抗样本面前显得极其脆弱(Goodfellow等,2015)。目前,深度神经网络在3D建模和几何处理方面的广泛使用,特别是离散点云数据由于其对复杂3维形状的表达能力强、扫描数据获取方便直接、在几何处理中无需维护大量的拓扑信息、具有成熟的点云形状绘制技术等优势而得到了广泛使用(缪永伟 和肖春霞,2014);然而,针对3D点云数据的深度神经网络的点云对抗攻击的研究并不多。
随着深度学习技术在点云处理方面的应用与发展,研究者提出了若干基于点云数据的神经网络,如PointNet (Qi等,2017a),DGCNN(dynamic graph convolutional neural network)(Wang等,2019),PointCNN(Li等,2018),VV-Net(voxel VAE net)(Meng等,2019)等,从而使直接将点云数据作为神经网络输入并实现点云形状的建模和处理成为可能。张新良等人(2020)使用扩展点态卷积网络,进一步提升了点云神经网络的分类分割效果;杜静和蔡国榕(2021)提出了多特征融合与残差优化的点云语义分割方法,减弱了点云神经网络在大场景3维语义分割时所产生的边界现象。为了解决点云数据的旋转不变性和无序性问题,PointNet网络引进了输入变换和特征变换并有效提取点云特征信息,提出了端到端的点云多任务处理框架,包括点云分类、点云分割等。PointNet网络(Qi等,2017a)成为许多后续点云深度学习神经网络的骨架网络,然而PointNet在网络结构上仅使用了多层感知机和最大池化层,该网络缺少捕获输入点云模型局部结构的能力,导致其在模型细节处理和泛化能力均有限。PointNet++网络(Qi等,2017b)则在PointNet基础上进行了两方面改进以提升网络对局部特征信息的鲁棒提取,一方面利用空间距离度量,并使用PointNet对点云局部区域进行特征迭代提取,使其能够学到局部尺度越来越大的特征;另一方面,考虑到点云分布的不均匀性,PointNet++采用自适应方法以有效提取点云模型的特征信息。
值得注意的是,PointNet网络(Qi等,2017a)利用最大池化层生成点云模型的关键点集(critical point set),具体地说,该点集将生成一个1 024维向量,其保留了整个模型的特征,PointNet分类结果和分割结果均依赖于此向量。由于该点集仅是点云模型中的一个子集,使得该网络在具有缺失数据和点云扰动噪声时仍具有很好的鲁棒性,在面对50%数据缺失和20%的离群点噪声时,PointNet依然能够实现80%以上的分类准确率。然而,Qi等人(2017a)仅简单测试了面对数据缺失或点云扰动噪声时PointNet的鲁棒性,并没有进一步对网络的鲁棒性进行探索。针对这一现象,本文将对点云深度神经网络面对对抗攻击时的表现进行相应研究和分析,对关键点子集的可视化结果如图1所示,其中关键点集主要分布在物体的轮廓表面,根据可视化结果和最大池化层性质可知,处于点云内部的采样点将被最大池化层过滤,从而不会对点云攻击结果造成影响。针对以上问题,本文提出了一种基于显著性图的点云替换对抗攻击方法。该方法首先迭代计算并构建点云模型的显著性图,再利用Chamfer距离(Fan等,2017)衡量点云之间的差异性并选择与点云模型库中具有最近Chamfer距离的模型关键点集进行替换,从而实现最小化点云扰动。利用该方法能够生成不易被人眼察觉,但对点云分类结果产生较大影响的对抗样本。使用ModelNet40数据集(Wu等,2015),分别在点云分类网络PointNet和PointNet++上进行对比实验,实验表明本文所提出的点云对抗攻击方法,不但考虑了对抗攻击效率,而且考虑了对抗样本的不可察觉性。此外,本文方法不仅能攻击PointNet(Qi等,2017a)以及 PointNet++网络(Qi等,2017b),对于其他主流点云分类网络,如DGCNN网络(Wang等,2019),PointCNN网络(Li等,2018)等同样适用。
图1 点云关键点示意图Fig.1 Diagram of critical points of point cloud ((a)original point cloud; (b) critical points of point cloud)
1 问题描述
1.1 点云模型攻击的特点
点云模型是通过扫描设备或深度相机从物体表面直接采样得到的一种3维数据,其通常具有大量的坐标和属性信息(如颜色等)。一个采样点数目为N的点云模型可表示为X={x1,x2,…,xN}⊂RN×3,其中每行记录一个采样点的3维坐标(x,y,z)信息,根据需要可包含颜色信息,如(x,y,z,r,g,b)等。不同于具有规则像素点分布的2D图像数据,点云数据分布由于具有不规则性、无序性等,使得现有的攻击方法难以直接应用到3维点云数据。此外,点云数据相对2维图像数据具有更少的约束,图像数据的攻击仅局限在图像内部改变其若干像素值,而点云模型由于其采样点空间分布的特点可以在任意位置增加采样点或改变采样点位置等信息,从而使得针对点云模型攻击的对抗样本搜索空间得到大大扩展。理论上,如果不对搜索空间进行约束则无法选取适当的方法产生对抗样本。针对点云深度神经网络的攻击主要包括目标攻击和非目标攻击。
1.2 目标攻击(targeted attacks)
目标攻击通常应用在多分类问题上,其目的是将深度神经网络误导到特定的分类类别。攻击者制造对抗样本欺骗神经网络,使得被攻击的点云模型被神经网络分类为指定的类别。如Xiang等人(2019)在PointNet模型上通过在由点云数据表示的瓶子周围添加点云簇,使得网络错误地将瓶子分类为桌子等物体。形式上,对于一个点云分类网络模型F:X→Y,其将x∈X映射到对应标签y∈Y;目标攻击首先确定要攻击的目标类别t,其次制造对抗样本xadv,点云神经网络模型将被误导,输出将被映射到t∈Y,并满足
minD(x,xadv) s.t.F(xadv)=t
(1)
式中,D(x,xadv)代表x和xadv之间的距离,在本文中使用Chamfer距离。
1.3 非目标攻击(non-targeted attacks)
非目标攻击可以看做目标攻击的一种特例,其与目标攻击不同之处在于非目标攻击不会为神经网络的输出指定一个特定的类别,除了输出不能是正确的类别之外,其预测任何一个类别均可以接受。例如,Liu等人(2019)将FGSM方法应用到PointNet网络上实现了无目标攻击,使PointNet网络输出了错误的分类类别。与目标攻击相比,非目标攻击通常更容易实现,这是由于非目标攻击具有更多的选择参数和特征空间用以重定向输出。在非目标攻击任务中,用于神经网络训练的对抗样本通常可以由两种方式产生:一种是同时通过运行多个目标攻击实例,并从中选择使攻击扰动达到最小的样本作为对抗样本;另一种则寻求能够最小化正确类别概率的样本作为对抗样本。
2 本文方法
2.1 点云模型显著性图的构造
如引言所述,位于点云模型中心的采样点会被PointNet等网络中的最大池化层过滤掉,点云模型中心位置的采样点对于点云分类神经网络的最终分类结果的影响并不大,因而从点云模型中删除一个采样点和将采样点移动到模型中心将有着相似的分类结果。具体地,可以将一个点云模型X分成两部分X′,C,其中C代表点云形心(centroid)采样点点集,X′则代表其余的分布在3维物体表面的离散采样点点集,在原始点云模型输入时形心点集通常是一个空集。此时,PoinNet网络中的最大池化层等价于
MAX(h(X))=max(MAX(h(X′)),MAX(h(C)))
(2)
式中,max(a,b)得到a和b中较大的元素,h为PointNet中的特征提取层,MAX则为最大池化层,此时式(2)等价为
MAX(h(X)=MAX(h(X′))
(3)
为了构建点云模型显著性图,针对输入的点云模型采样点数据需要计算每一采样点对深度神经网络分类结果的贡献。Zheng等人(2019)首先计算该采样点在点云模型中如PointNet网络的损失函数值,其次计算该采样点不在点云模型时PointNet网络的损失函数值,求其差值并将其作为该采样点对深度神经网络分类结果的贡献值,即采样点的显著性值。在计算采样点显著性度量中,为了满足度量计算的视角不变性,先在以模型中心为球心的球面坐标系下计算各采样点位置,采样点位置可表示为(r,ψ,φ),其中r为采样点到模型中心的距离,ψ和φ分别表示采样点在球面坐标系下的经度和维度。该方法将点云模型中所有采样点3个坐标的中位数作为点云中心的坐标值,记作xc表示为
xck=md({xik∣xi∈X}),k=1,2,3
(4)
式中,(xi1,xi2,xi3)表示采样点xi所对应的正文坐标下的坐标值,而md(·)为取中位数操作。
(5)
(6)
2.2 基于Chamfer距离的点云对抗攻击
本文主要对点云模型进行非目标攻击,其目的是使PointNet等网络对点云模型分类时产生错误的输出。值得注意的是,由于点云分类网络的结果受到多种因素的影响,因此并不会因为替换了点云模型的关键点就产生分类结果可控的点云模型。一般地说,对抗攻击可以定义为一个受到约束的优化问题。本文约定f为接受点云输入的目标分类网络,点云X={xi|i=1,2,…,N},对于原始样本X,设分类网络将其正确分类为类别t,则网络输出的概率值为ft(X)。定义e(x)=(e1,e2,…,en)为扰动,类别t′≠t,则该问题定义为
(7)
式中,N(e(x))代表e(x)的元素个数,n为被扰动的采样点个数。本文方法解决了两个关键问题:1) 扰动哪些点;2) 如何扰动这些点。
点云深度神经网络如PointNet网络的输出主要取决于关键点贡献的特征信息,记关键点集为U={ui|i=1,2,…,k},则点云X={xi|i=1,2,…,N}可表示为
X={xi}={Z,U}
m+k=N,i=1,2,…,N
(8)
式中,{Z}为{X}与{U}的差集。综上所述,对于问题1),在限制被扰动的采样点的数量小于等于n的前提下,由于具有高显著性值的采样点对例如PointNet等点云深度神经网络分类结果提供了更多的特征信息,因此,只需选取这些具有高显著性值的采样点,也即关键集中的采样点ui∈U,即可最大化扰动效果。
针对点云模型来说,Chamfer距离(Fan等,2017)反映了两个点云模型之间的差异性,两个点云模型之间差异越小则其Chamfer距离也越小。设有2个点云X1和X2,其Chamfer距离定义如下
(9)
对于点云模型X={xi},为生成其对应的对抗样本Xadv,本文方法在整个样本空间中进行搜索,寻找与当前所选择的样本Xi具有最小Chamfer距离的样本Xk, 并利用上节构建显著性图,替换样本Xi与Xk的关键点,从而完成整个攻击流程。这里利用Chamfer距离衡量点云差异并替换关键点集的方法,其等价于一种启发式的搜索扰动空间方法,该方法具有以下优点:1)理论上无法直接在无限制的3D空间上搜索解,本文方法将扰动搜索空间从整个3D空间转变成为有限样本空间,从而使得以较小的计算代价枚举求解式(7)成为可能;2)本文方法选择替换点云之间的关键点,则其扰动将被自然限制在一定范围内,即ei∈e(x)≤δ, 其中,δ是一个未知量并随计算发生变化。本文方法选取Chamfer距离最小的两个点云模型,因此能在一定程度上最小化扰动,使得被扰动后的点云具有良好的不可察觉性。
2.3 点云替换对抗攻击方法
结合点云模型的显著性图与Chamfer距离,本文提出一种有效的点云替换对抗攻击方法,该方法为了实现针对点云模型的对抗攻击,其在构建点云显著性图时,通过迭代和小批量采样点移除方式,以最大程度地保留模型采样点之间的内在依赖性。
具体来说,在构建点云显著性图的过程中,每次迭代会将n/T个采样点移动到点云模型中心,其中n为总共被扰动的采样点,T为迭代次数,并计算点云深度神经网络的损失函数值的梯度,结合式(6),计算采样点的显著性值si。在关键点替换过程中,本文方法首先计算与样本Xi具有最小Chamfer距离的样本Xk,并将Xi中具有最高显著性值的n个采样点替换为Xk中具有最高显著性值的n个采样点。
由于具有高显著性值的采样点对例如PointNet等点云深度神经网络分类结果提供了更多的特征信息,因此在点云模型对抗攻击中替换具有最高显著性值的采样点将能够有效保证攻击效果的最大化。本文方法描述归纳为如下算法:
在给文档中的表格、图片、公式等添加的名称和编号称为题注。当文档中的图、表数量较多时,若用手工添加编号,则容易出错。中间插入题注后,Word会给题注重新编号,删除和移动题注后,Word也能重新编号。
算法1 点云替换对抗攻击
需求:损失函数L(X,y;θ);模型权重θ,扰动点数n和迭代次数T。
输入:点云模型X,标签y。
输出:对抗样本Xadv。
1)计算当前点云模型X与其余点云模型的Chamfer距离,找到具有最小Chamfer距离的点云模型X′;
3)计算点云模型中心为
7)迭代执行步骤2)— 6)共T次;
8)将X中n个si值最大的采样点替换为X′中n个si值最大的采样点,得到Xadv。
3 实验结果与讨论
3.1 数据集
采用数据集ModelNet40(Wu等,2015)作为实验数据集,包含40种不同类别的点云数据(如飞机、汽车等)。ModelNet40数据集中包含12 311种不同的点云样本,其中9 843个样本作为训练集,2 468个样本作为测试集。
3.2 实验设置
本文点云对抗攻击方法在搭载3.60 GHz Interl® CoreTMi9-9900KF的PC机上实现,内存为 32 GB,显卡使用GeForce RTX 3080,显存10 GB。操作系统为Ubuntu20.04,编程语言为python3.7,框架为Jittor,版本为1.2.2.62。本文使用主流点云分类网络PointNet和PointNet++进行测试。进行网络训练时,对于PointNet网络采用SGD(stochastic gradient descent)优化算法,初始学习率为0.02,权重衰减指数0.6,批大小为8,模型迭代次数为300次;对于PointNet++网络,训练参数设置与PointNet网络保持一致,训练时除了点云数据,同时使用了点云法向信息。
3.3 实验结果分析与讨论
3.3.1 扰动采样点数目对网络准确率的影响
理论上,在点云对抗攻击中扰动采样点数目越多,诸如PointNet网络等的分类准确率就越低。如图2所示,该实验展示了扰动采样点数目对于网络分类准确率的影响,noise代表关键点替换为噪声的算法,drop代表直接删除关键点的算法。在ModelNet40数据集上,对点云模型扰动25、50、75、100个采样点的情形下,PointNet网络的分类准确率从89.2%分别下降到15.3%、11.1%、8.1%、6.2%;而PointNet++网络的分类准确率从91.9%分别下降到16.9%、15.0%、13.8%、12.8%。而对比2个基线算法,Zheng等人(2019)方法在攻击100个采样点时,仅使PointNet网络的分类准确率下降到66% 67%,使PointNet++网络的分类准确率下降到20% 21%。
图2 扰动点个数对网络准确率的影响Fig.2 Influence of number of perturbation points on network accuracy((a)accuracy of PointNet;(b)accuracy of PointNet++)
3.3.2 不同方法的对抗攻击成功率比较
一般地,神经网络的攻击成功率定义为被攻击后会错误分类到其他类别的点云样本占原本可被正确分类的点云样本的百分比。将对本文点云替换对抗攻击方法与其他典型方法进行比较,如表1和表2所示,其中扰动采样点数目限制为200。对于PointNet网络,本文方法相比攻击成功率第2的I-FGSM方法(Kurakin等,2017)攻击成功率高出7.3%,相比FGSM方法(Goodfellow等,2015)攻击成功率高出38.6%,而相比JSMA(Jacobian-based saliency map attack)方法(Papernot等,2016)攻击成功率高出41%。对于PointNet++网络,本文方法攻击成功率比FGSM方法高出58.6%,比JSMA方法攻击成功率高出85.3%,仅低于I-FGSM方法1.3%。然而,本文方法具有更多的灰盒特性:该方法仅采用网络梯度计算采样点的显著性,在攻击时其并不依赖梯度调整扰动方向和幅度,因此本文方法的迭代次数更少,通常为采样点数目的1/5,如扰动100个采样点仅需要20次;而I-FGSM方法一般需要进行100次迭代。
表1 不同攻击算法在PointNet网络上的比较Table 1 Comparison of different attack algorithms on PointNet
表2 不同攻击算法在PointNet++网络上的比较Table 2 Comparison of different attack algorithms on PointNet++
3.3.3 面对防御方法时的对抗攻击效果检测
将攻击成功率作为攻击效果的衡量指标,攻击成功率越高,则攻击效果越好,反之则攻击效果越差。图3和图4展示了本文点云替换对抗攻击方法的对抗攻击效果。实验表明,随机点移除方法对于本文的攻击方法没有起到防御效果,本文方法的攻击成功率在PointNet网络上保持在97%以上,在PointNet++网络上则保持在93%以上,对于本文中用于对比的两种基线算法(直接删除具有高显著性采样点的方法和将具有高显著性值的采样点替换为噪声的方法),随机点移除算法对其攻击成功率的影响不足1%,也被认为不具有防御效果。对于离群点移除算法,随着标准差系数α的减小,对于直接删除具有高显著性值的采样点将有着明显的防御作用。对于PointNet网络,使得其他的点扰动方式攻击方法的成功率从86.9%降低到55.7%;同样地,对于PointNet++网络,其他的点扰动方式攻击方法的成功率亦从93.6%降低到81.9%。但对于本文提出的结合显著性图与Chamfer距离的点云替换对抗攻击方式,对于PointNet网络的攻击成功率在97%以上,而对于PointNet++网络的攻击成功率在94%以上,该防御算法对本文方法基本无效。
图3 离群点移除算法防御效果Fig.3 Defense effect of outlier remove algorithm((a) success rate of PointNet;(b) success rate of PointNet++)
图4 随机点移除算法防御效果Fig.4 Defense effect of random drop algorithm((a) success rate of PointNet;(b) success rate of PointNet++)
3.3.4 迭代次数对攻击效果的影响
在构建点云显著性图时,采用迭代的方式移除点云模型中具有高显著性值的采样点,以最大程度地保留模型采样点之间的内在依赖性。本节中将对迭代次数对攻击效果的影响进行分析。该实验分别计算迭代次数为1、2、4、5、10、20次时点云分类模型的准确率,并将被扰动采样点的个数设置为100。如图5所示,在迭代次数为20次时,点云分类网络的分类准确率为6.2%;在迭代次数为1次时,点云分类网络的分类准确率为27.5%,即攻击效果更差。
3.3.5 采样点扰动的可察觉性
采样点扰动的可察觉性具体表现为原始点云样本与对抗点云样本之间的差异性,即两组点云之间的差异越大则不可察觉性越差。将原始点云样本与对抗点云样本进行可视化,如图6所示。从中可知,FGSM方法(Goodfellow等,2015)与I-FGSM方法(Kurakin等,2017)在进行扰动时完全破坏了点云模型3维物体的结构,其不具备不可察觉性。JSMA方法(Papernot等,2016)能够很好地维持点云模型3维结构,但将生成较多的离群点,根据表1和表2可知,JSMA方法为攻击效果较差的方法(对PointNet和PointNet++网络分别为56.4%、9.8%,而本文方法攻击成功率为97.4%、95.1%)。本文方法比JSMA方法产生更少的离群点,且攻击成功率更好,其在进行高效攻击的同时能够保持点云模型的内在结构。
图5 迭代次数对攻击效果的影响Fig.5 Impact of the number of iterations on the attack
图6 原始样本和对抗样本示例Fig.6 Demonstration of original and adversarial samples ((a) original point cloud; (b) adversarial examples generated by FGSM; (c) adversarial examples generated by I-FGSM; (d) adversarial examples generated by JSMA; (e) adversarial examples generated by ours)
4 结 论
针对离散点云模型,由于模型关键点集对诸如PointNet等深度神经网络的点云分类结果能提供更多的特征信息,本文提出了一种基于显著性图的点云替换对抗攻击方法。首先构建点云显著性图,目的是找到具有最高显著性值的采样点,以达到最大化攻击效果的目的,其次利用Chamfer距离衡量点云模型之间的差异性,找到与被选择的点云模型最相似的点云模型,并替换两组点云模型之间的关键点,因此能在进一步强化攻击效果的同时保证点云模型具有良好的不可察觉性。在具有代表性的点云处理网络(如PointNet和PointNet++)上进行了实验,结果表明本文方法在PointNet网络上的攻击效果更优于传统对抗攻击算法;在PointNet++网络上同样具有良好表现,同时本文提出了可高效攻击离群点移除和随机点移除2种防御算法。
然而,由于本文方法在生成对抗样本时除原始样本外还依赖于样本集里的其他样本,为了减轻该依赖关系,后续可以考虑采用进化算法生成点云对抗样本。