1.一种基于Rosenbrock-PSO的人脸识别攻击防御方法,其特征在于,包括:(1)采集人脸图像数据并进行预处理,分成预训练数据集和用于生成对抗样本的扰动数据集;
(2)在扰动数据集中的人脸图像上制作用于限制扰动区域的纯色眼镜框模板;
(3)利用预训练数据集训练人脸识别模型的人脸分类器,使人脸分类器达到预设的分类准确率;
(4)搭建由Rosenbrock算法与带线性递减惯性因子的PSO算法相结合的Rosenbrock-PSO人脸攻击模型,设置Rosenbrock算法与PSO算法的参数,设定人脸攻击模型的对抗攻击参数和目标函数;
(5)由PSO算法随机初始化得到若干带有纯色眼镜框的人脸图像,将这些图像输入到Rosenbrock-PSO人脸攻击模型中进行进化寻优,得到眼镜框上RGB值的最优解,将眼镜框上RGB值为最优解时的人脸图像作为对抗样本;
(6)将对抗样本加入到预训练数据集中,用新得到的数据集重新训练人脸分类器,使人脸识别模型具有防御对抗样本攻击的能力。
2.根据权利要求1所述的基于Rosenbrock-PSO的人脸识别攻击防御方法,其特征在于,步骤(1)中,所述预处理包括对人脸图像进行裁剪、缩放和添加相应标签,并将人脸图像做好封装处理,作为训练人脸分类器所需要的数据集。
3.根据权利要求1所述的基于Rosenbrock-PSO的人脸识别攻击防御方法,其特征在于,步骤(4)的具体过程为:(4-1)设置PSO算法的参数,包括:微粒数m,第i个粒子的位置xi,速度υi,其中0≤i≤(m-
1);最大迭代数Gk,当前迭代数g,当前惯性权重因子ω(g),允许误差Epso,第i个粒子的历史最优位置pbesti,种群发现的全局最优位置gbesti;
当前惯性权重因子的更新公式如下:
ω(g)=(ωini-ωend)(Gk-g)/Gk+ωend (1)其中,ωini为初始惯性因子,ωend为迭代至最大进化代数时的惯性因子,Gk为最大迭代数;
各个微粒速度的更新公式如下:
υi=ω(g)×υi+c1×rand()×(pbesti-xi)+c2×rand()×(gbesti-xi) (2)其中,c1、c2为学习因子,rand()为介于(0,1)之间的随机数;
各个微粒位置的更新公式如下:
xi=xi+υi (3)(4-2)设置Rosenbrock算法的参数,包括:初始点x1=gbest;初始单位正交搜索方向d(1),d(2),...,d(n);各方向上的探测步长 将其都初始化为1;各方向上探测的步长的代数和λ1,λ2,...,λn都初始化为0;向量组p(1),p(2),...,p(n)和q(1),q(2),...,q(n)全部值初始化为0;步长收缩因子β∈(-1,0);步长放大因子α>1;允许误差ε>0;最大迭代数Gt,当前迭代数t;置j=1,k=1,y(1)=x(1);
各方向上探测的步长及步长的代数和的更新公式如下:
其中,y(j)表示当前方向的最佳位置,函数f(·)为目标函数;
正交搜索方向的更新方法如下:
Step1:先由公式(5)计算得到向量组{p(j)};
Step2:然后利用Gram-Schmidt正交化方法,将向量组{p(j)}正交化,公式如下:(j)
Step3:单位化q 得到n个新的正交搜索方向,公式如下:(4-3)设定对抗攻击参数,包括:攻击者的真实标签ytrue,攻击者的真实标签置信度分数scoretrue;攻击者的目标标签ytarget,攻击者的目标标签置信度分数scoretarget;
(4-4)设定目标函数f(x),定义如下:
其中,rank表示当前目标置信度分数的排名,scoretop是当前最高的置信度分数,n表示当前人脸分类器的类总数。
4.根据权利要求3所述的基于Rosenbrock-PSO的人脸识别攻击防御方法,其特征在于,步骤(5)的具体过程为:(5-1)进行PSO算法初始化,将不同颜色的纯色眼镜框上所有像素点的RGB值作为微粒的位置矩阵x,RGB值的变化快慢作为微粒的速度矩阵υ,在迭代计算过程中,采用目标函数计算每个微粒的当前适应值f(xi),并记录每个微粒的历史最佳适应值fitp_best、历史最佳位置pbesti,以及当前所有微粒的全局最佳适应值fitg_best、当前所有微粒的历史最佳位置gbesti;当进化到最大迭代数或全局最佳适应值fitg_best≤Epso时转步骤(5-2);否则更新微(g)粒的惯性权重因子ω 、速度υi和位置xi,之后继续迭代;
(5-2)进行Rosenbrock算法初始化,初始化眼镜框上所有像素点的RGB值的变化方向以及每个像素点的RGB值变化快慢;以步骤(5-1)进化得到的所有微粒的历史最佳位置gbesti作为初始点开始进化寻优,得到眼镜框上RGB值的最优解。
5.根据权利要求4所述的基于Rosenbrock-PSO的人脸识别攻击防御方法,其特征在于,步骤(5-1),在进化寻优过程中,当微粒的位置、速度越界时,用边界值取代υi和xi。
6.根据权利要求4所述的基于Rosenbrock-PSO的人脸识别攻击防御方法,其特征在于,步骤(5-2),在进化寻优过程中,各方向上探测的步长及步长的代数和的更新公式在f(y(j)+δjd(j))<f(y(j))时,对每一维测试y(j)'判断是否越界,如果越界,则y(j)'在方向分量d(j)上退回至该维的边界,计算并置越界标志为1;如果越界标志为0,则置y(j+1)=y(j)',λj=λj+δj,δj=αδj;否则置y(j+1)=y(j)',λj=λj+δj',δj=βδj。
7.根据权利要求4所述的基于Rosenbrock-PSO的人脸识别攻击防御方法,其特征在于,步骤(5)中,对于微粒的进化寻优采用块状区域优化方式,将眼镜框上的所有像素点按一定区域形状划分成64-128块,把每块区域上的所有像素点看成一个整体,使其像素值保持相等。
8.根据权利要求4所述的基于Rosenbrock-PSO的人脸识别攻击防御方法,其特征在于,步骤(5-2)的具体步骤为:(5-2-1)在每个方向上进行极小化搜索,计算目标函数适应值,如果搜索成功,即f(y(j)+δjd(j))<f(y(j)),更新y(j+1)、采用步长放大因子α更新步长;如果搜索失败,即f(y(j)+δjd(j))≥f(y(j)),更新y(j+1)、采用步长收缩因子β更新步长;如果j<n,置j=j+1,否则置t=t+
1,如果t=Gt,结束迭代,输出当前最优解,否则转步骤(5-2-2);
(5-2-2)对每个方向完成一轮搜索之后,如果f(y(n+1))<f(y(1)),则令y(1)=y(n+1),置j=
1,转步骤(5-2-1);否则转步骤(5-2-3);
(5-2-3)如果f(y(n+1))<f(x(k)),则转步骤(5-2-4);否则,如果对于每个j,|δj|≤ε,则(k) (1) (n+1)进化结束得到最优解为x ;否则令y =y ,置j=1,转步骤(5-2-1);
(5-2-4)令x(k+1)=y(n+1),如果||x(k+1)-x(k)||≤ε,则进化结束得到最优解为x(k+1);否则转步骤(5-2-5);
(5-2-5)更新正交搜索方向,置j=1,y(1)=x(k+1),k=k+1,返回步骤(5-2-1),直到最终得到眼镜框上RGB值的最优解。