一种基于多视角融合的360°图像对抗样本生成方法
文献发布时间:2023-06-19 11:06:50
技术领域
本发明属于深度学习领域,具体涉及一种基于多视角融合的球面对抗样本生成方法。
背景技术
神经网络(Neural Network,NN)通过大量非线性单元的连接模拟神经元间信息的传递,从而达到对图片进行分类的目的。深度神经网络(Deep Neural Network,DNN)特指隐含层数目大于1的神经网络,该概念在2012年被首次提出,并以近20个百分点的优势夺得了当年ImageNet图像大赛的冠军,自此,DNN模型以其极强的学习与泛化能力在计算机视觉任务中得到了广泛的应用。从图像分类,图像生成,到图像重建,DNN均展现出了极其优异的性能。然而,2014年来,研究人员发现DNN容易受到一种被称为对抗攻击(AdversarialAttacks)的攻击,该攻击通过优化算法生成人眼无法察觉的图像噪声,但该噪声却可以成功诱导模型以极高的信息将该添加了该噪声的图像误分类,这种噪声图像被称为对抗样本(Adversarial Examples)。对抗样本对深度学习的实际应用带来了巨大的挑战,尤其是在一些安全性要求较高的领域,例如人脸识别,无人驾驶,以及机器人导航等系统。
当前,针对计算机视觉任务的对抗样本研究主要集中在2D或3D物体领域,而并没有考虑到另一种重要的图像类型,360°图像。360°图像具有更广的视角和更强的携带信息的能力,在现实中具有广泛的应用。比如,从全景照相机采集得到的全方向RGB-D图像,从自动驾驶汽车的LIDAR传感器得到的360°视频,卫星采集的气象信号以及从2D/3D域投影而来的球面信号等。由于深度学习技术在其他领域的成功,其也被用来处理360°图像以解决现实问题,包括自动驾驶系统,自动导航系统以及各种各样的VR/AR应用等。
360°图像多由全景照相机拍摄而来或由多个视点位置的照相机拍摄的平面图像拼接而来。一方面,因其所涵盖的是以全景照相机所放置的位置或多个视角照相机的几何中心为球心的半径大小内的三维空间信息,因此其可以直接表示为球面空间的3D图像。另一方面,由于360°图像有意义的信息都包含在确定的球面上,它们又可以被表示为由球面投影而来的2D平面图像。
发明内容
本发明的目的在于提出一种多视角融合的360°图像对抗样本生成方法。该方法攻击成本低,计算开销小,可以直接复用现有的2D模型,对当前依赖于360°图像的球面神经网络系统带来较大的威胁。该方法的核心是根据360°图像多种表示方式之间的投影关系建立失真模型,将视角图上构建的对抗干扰高效的迁移到球面图。
本发明的技术方案为:一种基于多视角融合的360°图像对抗样本生成方法,包括如下步骤:
步骤1、通过视角投影的几何模型推导出视角域图像的失真补偿公式,对视角图像进行失真矫正;
步骤2、在矫正后的视角图像上利用2D攻击方法生成对抗样本;
步骤3、对多个视点采样得到的多个视角图像同时进行攻击,将攻击得到的多视角对抗样本基于视角图像融合算法重建球面对抗样本,融合到球面图像的不同区域,使得融合得到的球面图像能够覆盖整个球面。
进一步的,所述步骤1中,通过视角投影的几何模型推导出视角域图像的失真补偿公式,对视角图像进行失真矫正,具体包括:
首先根据视角投影模型计算投影点在投影前后的位置失真,定量分析在给定参数下投影带来的位置失真的程度,投影前后球面区域和平面投影的图像遵循能量守恒的规律,利用能量守恒定律确定视角图像上各位置的平均像素失真;最后根据计算得到的平均失真对图像进行失真补偿,即得到矫正后的视角图像。
进一步的,所述步骤2,在矫正后的视角图像上利用2D攻击方法生成对抗样本,具体包括:
攻击采用2D攻击算法,给定一个视角图像和一个白盒模型,FGSM通过下述公式产生对抗样本:
其中,ε控制扰动的大小,x是原图,y是原图真正的类别,L是模型的损失函数,
进一步的,所述步骤4,对多个视点采样得到的多个视角图像同时进行攻击,将攻击得到的多视角对抗样本基于视角图像融合算法重建球面对抗样本,融合到球面图像的不同区域,使得融合得到的球面图像能够覆盖整个球面,具体包括:
将球面图像分成显著区域和非显著区域,显著区域表明该区域的图像具有更多的特征,可能会对后续的分类工作产生更大的影响;而非显著区域是图像的背景区域,不会对分类结果产生太大的影响;在图像的显著区域和非显著区域分别应用不同的融合算法保留不同尺度的对抗干扰,抵消掉失真的影响。
进一步的,具体包括:
对于图像显著区域,使用最近距离法进行融合,即待融合位置像素值由距离其最近的视角图在对应位置上的像素值决定;
对于图像非显著区域,根据融合点与各视角图中心点之间的haversine距离对视角图像进行融合,两点间的haversine距离为:
权重反比于距离,则:
w
则加权得到融合图像为:
有益效果:
本发明的方法攻击成本低,计算开销小,可以直接复用现有的2D模型,对当前依赖于360°图像的球面神经网络系统带来较大的威胁。该方法的核心是根据360°图像多种表示方式之间的投影关系建立失真模型,将视角图上构建的对抗干扰高效的迁移到球面图。
附图说明
图1为多视角融合的360°图像对抗样本生成方法总体流程;
图2为根据直线投影产生视角图示意图;
图3为视角图失真模型;
图4为球面图像频谱。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅为本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域的普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
根据本发明的实施例,提出一种基于多视角融合的360°图像对抗样本生成方法,包括如下步骤:
步骤1、通过视角投影的几何模型推导出视角域图像的失真补偿公式,对视角图像进行失真矫正;
步骤2、在矫正后的视角图像上利用2D攻击方法生成对抗样本;
步骤3、对多个视点采样得到的多个视角图像同时进行攻击,将攻击得到的多视角对抗样本基于视角图像融合算法重建球面对抗样本,融合到球面图像的不同区域,使得融合得到的球面图像能够覆盖整个球面;根据本发明的实施例,本发明提出了一种基于多视角融合的360°图像对抗样本生成方法,360°图像具有多种表示形式,在实际应用中,其多由全景图形式或球面形式存储,例如无人车的车载摄像头或者VR/AR应用中。而在360°图像的所有表示形式中,球面表示占据核心地位,所有的其他表示形式都由球面表示根据不同的投影模型映射而来。以全景图和视角图的相互转换为例,在转换时,首先需要将源图像映射到球面投影,再根据投影模型将球面图像映射为目标表示形式的图像。因此为了使视角图生成的对抗样本可以适用于更普遍的360°图像系统中,需要将视角域对抗样本映射回球面空间,得到球面对抗样本。在实际应用时,只需要根据应用所需的360°图像表示形式,对球面对抗样本进行映射即可。
如图1所示,是360°图像视角投影模型;
视角投影模型在JVET发布的360Lib中有定义。在360Lib中,通过直线投影产生视角,如图2所示。基准视点被假设在z轴上,如果基准视点被指定在其他位置,球面图像首先被旋转到与z轴对齐的位置,然后再根据直线投影产生视角图。假设在球面空间坐标系中,视角图的中心,也就是视点的坐标为(φC,θC),使用旋转矩阵R将视角图中心点旋转到z轴,旋转矩阵R被定义为:
在进行视角投影时,首先在视角图上进行采样,找到对应的3D(X,Y,Z)坐标,然后找到源投影平面上对应的2D坐标。
假设投影图ABCD的宽为WVP,高为HVP,假设视角域(FOV)大小为(Fh x Fv),其中Fh是水平FOV角度,Fv是竖直FOV角度。给定视角平面上任意采样点(m,n),对应的投影图ABCD上的投影点(u,v)可以被计算为:
u=(m+0.5)*2*tan(Fh/2)/WVP
v=(n+0.5)*2*tan(Fv/2)/HVP
然后3D坐标(x,y,z)计算为:
x=u-tan(Fh/2)
y=-v+tan(Fv/2)
z=1.0
将(x,y,z)映射到单位球面(x′,y′,z′),最终得到:
最后,考虑到旋转矩阵R的作用,球面上的3D坐标(X,Y,Z)计算为:
根据本发明的实施例,所述的步骤1中,通过视角投影的几何模型推导出视角域图像的失真补偿公式,对视角图像进行失真矫正,其中,360°图像的视角图失真补偿模型具体如下:
首先,利用视角投影模型推导视角域图像的失真补偿公式。视角域图像的失真可以从两个层面来理解。首先是在投影过程中,由于视角投影常用的直线投影使用小孔成像的原理,因此将原始的球面图像上的曲线被拉伸为直线,拉伸程度随着投影点距离投影中心点的距离增加而增大。在这个投影过程中,投影点的像素值本身其实并无变化,只是其在被映射后和邻域点之间的几何位置关系发生了变化,因此这一阶段可以理解为视角域图像的位置失真。视角图像的位置失真如图3所示。然而,视角域图像实质上是将360°图像在固定视角、固定视域范围内的图像表示在了固定尺寸的平面图像上,因此尽管投影过程只会导致投影点的映射位置发生了变化,但是反映在视角图像上时就变成了指定位置上像素点的值发生了变化,此时投影带来的位置失真进一步导致了视角图像的像素失真。在进行失真矫正时,也遵循这样的规律。首先根据视角投影模型计算投影点在投影前后的位置失真,定量分析在给定参数下投影带来的位置失真的程度。由于投影前后球面区域和平面投影的图像遵循能量守恒的规律,随后可以利用能量守恒定律确定视角图像上各位置的平均像素失真。最后根据计算得到的平均失真对图像进行失真补偿,即可得到矫正后的视角图像。
假设球心为O点,视点为A,被投影到平面上的A’点,球心角为α,视角图的角分辨率为β,则有β=∠BOC,β/2=∠BOA=∠COA。
如图3所示,球面上的圆弧在投影平面上被拉伸为一条直线,因此视角投影的位置失真D
在三角形OPB’和三角形OPC’中:
PB'=rtan(α-β/2),PC'=rtan(α+β/2)
其中r表示球的半径。如果球面图像被归一化至单位球上,则r=1。因此,本发明可以得到:
B'C'=tan(α+β/2)-tan(α-β/2)
根据球面三角形的变换公式,可以进一步简化为:
B'C'=sinβ/(cos
由于弧长BAC=rβ=β,
D
根据球面三角形的余弦定理,球心角α可以计算为:
α=arccos(sinφ
其中φ
由于球面的旋转不变性,每个视点和其对应的切面可以看作由赤道和本初子午线的交点位置的切面旋转而来,表示为θ
α=arccos(φ
最终,本发明得到位置失真为:
D
根据图像能量公式和帕塞瓦尔定理,球面上任意圆盘图像的能量可以计算为:
由于投影过程满足能量守恒定律,因此有投影后的能量:
E(I')=E(I)
也就是:
因此,位置失真D
即:
根据本发明的实施例,直接攻击球面图像会带来极大的计算开销,因此本发明在2D空间内,复用2D模型和攻击算法,在视角图上发起攻击,然后迁移到球面域。视角域图像包含失真,如果直接用2D方法生成对抗样本,失真会对生成的对抗扰动有一定的抵消作用,影响最终的攻击效果。因此,首先需要通过视角投影的几何模型推导出视角域图像的失真补偿公式,对视角图像进行失真矫正,以抵消掉失真本身对攻击结果带来的随机影响。然后再在矫正后的视角图像上利用2D攻击方法生成对抗样本。
所述的步骤3,在矫正后的视角图像上利用2D攻击方法生成对抗样本,具体如下:
根据本发明的实施例,攻击复用现有的2D攻击算法,这样做的好处是可以直接利用现有的预训练模型和简单的2D攻击算法直接发起攻击,减少攻击成本。这里本发明采用经典的FGSM攻击算法。
给定一个视角图像和一个白盒模型,FGSM通过下述公式产生对抗样本:
其中,ε控制扰动的大小,x是原图,y是原图真正的类别,L是模型的损失函数,
由于单一视角图像只能表示有限视域的360°图像,因此为了获得涵盖全部空间信息的球面图像,需要利用多视角技术,对多个视点采样得到的多个视角图像同时进行攻击,将攻击得到的多视角对抗样本融合到球面图像的不同区域,使得融合得到的球面图像可以覆盖整个球面。不同的视角图像的球面投影可能存在重叠,因此需要一种高效的视角图像融合算法用于重建高质量的球面对抗样本。
根据本发明的实施例,提出了一种新型的视角图像融合算法,首先,提出了一种基于球面谐波函数的球面显著图计算方法,将球面图像分成显著区域和非显著区域。显著区域表明该区域的图像具有更多的特征,可能会对后续的分类工作产生更大的影响。而非显著区域一般是图像的背景区域,像素在这些区域的变化不大,往往不会对分类结果产生太大的影响。由于视角图像在重投影回球面时会引入一定的失真,而失真会对攻击效果带来随机影响。因此本发明考虑在图像的显著区域和非显著区域分别应用不同的融合算法保留不同尺度的对抗干扰,抵消掉失真的影响。
根据本发明的实施例,所述步骤3、对多个视点采样得到的多个视角图像同时进行攻击,将攻击得到的多视角对抗样本基于视角图像融合算法重建球面对抗样本,融合到球面图像的不同区域,使得融合得到的球面图像能够覆盖整个球面,具体如下:
给定一幅球面图像,对其进行Spherical Harmonic分解,得到:
其中f
因此,给定预先计算的球面谐波函数可以将一副球面利用一组球面谐波系数重建。低级谐波捕获到原始图像的背景信息,而高级别谐波捕获到图像细节。
图4展示了一幅球面图像的频谱图。注意到频谱图呈三角形,即不同谐波等级对应的谐波个数不相同,为了应用残差方法计算显著图,需要对频谱图上的空白值进行补全。本发明使用每一列的均值补全三角频谱图。
随后,分别计算谱的强度和相位,分别表示为I
R(I)=log(I
其中HF
根据谱残差,显著图可以重建为:
显著图将图像区分出了前景和背景区域。对于图像前景区域,使用最近距离法进行融合,即待融合位置像素值I
I
对于图像背景区域,可以认为其对分类影响不大,可以根据融合点与各视角图中心点之间的haversine距离对视角图像进行融合,两点间的haversine距离为:
其中,φ
w
则加权得到融合图像为:
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,且应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
- 一种基于多视角融合的360°图像对抗样本生成方法
- 一种基于融合变异的图像对抗样本生成方法