CN111461239A - Ctc场景文字识别模型的白盒攻击方法 - Google Patents
Ctc场景文字识别模型的白盒攻击方法 Download PDFInfo
- Publication number
- CN111461239A CN111461239A CN202010260338.6A CN202010260338A CN111461239A CN 111461239 A CN111461239 A CN 111461239A CN 202010260338 A CN202010260338 A CN 202010260338A CN 111461239 A CN111461239 A CN 111461239A
- Authority
- CN
- China
- Prior art keywords
- ctc
- attack
- recognition model
- character recognition
- adv
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/217—Validation; Performance evaluation; Active pattern learning techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/044—Recurrent networks, e.g. Hopfield networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Physics & Mathematics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Computing Systems (AREA)
- Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Computational Biology (AREA)
- Evolutionary Biology (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明属于CTC场景文字识别技术领域,具体为CTC场景文字识别模型的白盒攻击方法,通过迭代更新扰动项进行CTC场景文字识别模型的对抗攻击。本发明提供的CTC场景文字识别模型的白盒攻击方法,将基于迭代的白盒攻击算法进行改进后用于基于CTC模型的场景文字识别领域,对CTC场景文字识别模型实现快速攻击,同时保证扰动肉眼不可见。
Description
技术领域
本发明属于CTC-Based场景文字识别技术领域,具体的说,是一种将白盒对抗攻击技术应用于CTC-Based场景文字识别领域的CTC场景文字识别模型的白盒攻击方法。
背景技术
场景文字识别(Scene Text Recognition,STR),是指识别自然场景图片中的文字信息,旨在从自然场景的文本图像中读取不同长度的序列字符。由于,自然场景下的文字展现形式非常丰富,例如:多语言混合;文字区域可能出现变形、残缺和模糊等现象;场景多变;字符排布和形态式样多变。因此,相比于传统的光学字符识别(Optical CharacterRecognition,OCR)而言,场景文字识别的难度更高。场景文字识别包括定位和识别两个部分,本项目主要针对的是深度模型识别部分,即输入都是已经从自然场景图片中提取好的图片。这个可以看做一个序列任务(Sequence Task)。
传统的识别方法主要是基于字符切割和单字符分类模型完成图像中的文字识别。图像识别模型整体的准确性非常依赖于字符切割方法的优劣,单字符分类模型可以视为单纯的图像分类模型。
相比以前传统方法而言,现有主流方法都是基于深度模型构建图像的特征表示。这些深度模型在特征提取部分大同小异,主要是基于卷积神经网络(ConvolutionalNeural Network,CNN)和循环神经网络(Recurrent Neural Network,RNN),但是这些模型在利用特征进行时序预测的时候主要分为两种:
第一种,基于联结时序分类技术(Connectionist Temporal Classification,CTC)。它不需要通过传统手段的字符块切割和标注进行人工对齐操作,直接对齐了输入和输出进行序列识别。
第二种,基于注意力机制技术(Attention Mechanism)。这种方法在进行序列识别的每个时间步上通过区域对齐注意到某个字符所在区域提取得到的特征,类似利用特征进行单字符分类。这种方法需要结合Encoder-Decoder框架。
对抗攻击(Adversarial Attack)是指通过对输入添加微小扰动(Perturbation)使得模型做出错误的判断,在攻击过程中,模型的结构和参数并不发生变化。应用场景覆盖了计算机视觉(Computer Vision,CV)和自然语言处理(Natural Language Processing,NLP)等等。其主要目的在于借助对抗样本(adversarial examples)优化模型,可以使模型达到更高的预测准确率,同时能够预测某些恶意行为从而阻止其发生。
白盒对抗攻击(White-box Adversarial Attack)是指在攻击过程中知道模型的结构和参数。在分类任务上,目标式攻击(Target Attack)是指在攻击后让图片能被模型归类到指定的类别上。非目标式攻击(Untargeted Attack)是指在攻击后只要让模型分类错误即可。
目前白盒对抗攻击方法按攻击所需步骤分主要是两种:
第一种:单步方式。这种方式通过对梯度的数值进行放大,直接导致了分类器在面对攻击后的图像在错误的类别上产生了过高的响应。但是因为只涉及到一次梯度更新,因此最后攻击成功的概率并不接近于100%。这类方法主要的代表是Fast Gradient SignMethod(FGSM)。
第二种:迭代方式。这种攻击方式会进行多次的梯度更新,每次梯度更新的策略不尽相同,但是最终都会经过多次迭代,不断调整图像扰动从而增强分类器对扰动图片分类错误的置信度。
白盒对抗攻击主要的研究中都集中于图像分类领域,研究的算法也都是基于图像分类模型的。目前并没有直接针对场景文字识别模型的攻击算法。为了实现更快的模型攻击,并增强CTC场景文字识别模型的健壮性和识别准确率,本发明将原本用于图像分类领域的白盒攻击算法进行改进后,用于基于CTC的场景文字识别领域。
发明内容
本发明的目的在于克服现有技术的不足,提供CTC场景文字识别模型的白盒攻击方法,将基于迭代的白盒攻击算法进行改进后用于基于CTC模型的场景文字识别领域,对CTC场景文字识别模型实现快速攻击,同时保证扰动肉眼不可见。
本发明通过下述技术方案实现:CTC场景文字识别模型的白盒攻击方法,通过迭代更新扰动项进行CTC场景文字识别模型的对抗攻击。
进一步地,为了更好的实现本发明,在迭代更新扰动项的过程中,对扰动项的梯度进行图像像素值裁剪。
进一步地,为了更好的实现本发明,所述的CTC场景文字识别模型的白盒攻击方法,具体包括以下步骤:
步骤S1:获取训练好的CTC场景文字识别模型和待攻击的图片;
步骤S2:对CTC场景文字识别模型和待攻击的图片进行预处理;
步骤S3:构建作为整体变量的扰动项δ,获得对抗图Adv,根据攻击方式设置对抗图Adv的标签y;
步骤S4:计算对抗图Adv在CTC场景文字识别模型上的损失函数,添加正则化向构成CTC场景文字识别模型的代价函数,并进行梯度反向传播,计算代价函数对扰动项δ的梯度g;
步骤S5:获取梯度g的单位向量并对扰动项δ进行更新,根据更新后的扰动项δ获得最新的对抗图Adv,并对CTC场景文字识别模型进行攻击;
步骤S6:根据步骤S5中最新的对抗图Adv对CTC场景文字识别模型进行攻击,重复步骤S4、步骤S5、步骤S6,不断迭代直到攻击成功;
步骤S7:步骤S6中攻击成功时,对对抗图Adv做反归一化,得到正常的对抗图。
进一步地,为了更好的实现本发明,所述步骤S2中对CTC场景文字识别模型进行预处理,是指固定模型结构和参数,使其在之后的模型对抗攻击过程中模型结构和参数不变;
所述步骤S2中对待攻击的图片进行预处理,是指调整待攻击的图片的尺寸,并进行图像归一化处理;调整后的图片,记为x。
进一步地,为了更好的实现本发明,所述步骤S3具体包括以下步骤:
步骤S31:根据调整后的图片x的尺寸构建尺寸相同的扰动项δ,并对扰动项δ进行初始化设置;
步骤S32:根据调整后的图片x和扰动项δ获得对抗图Adv,记为Adv=x+δ;
步骤S33:根据攻击方式设置图像的标签;如果是目标式攻击,则标签y是目标字符序列,同时将攻击标识m记为m=-1;如果是非目标式攻击,则标签y是图片x的真实标签序列(Ground Truth Label),同时将攻击标识m记为m=1。
进一步地,为了更好的实现本发明,所述步骤S4具体包括以下步骤:
步骤S41:计算对抗图Adv在CTC场景文字识别模型上的损失函数;所述损失函数,记为LCTC;
步骤S42:根据攻击方式对损失函数LCTC进行调整;
步骤S43:使用L1正则化或L2正则化,添加对应的正则化项;所述正则化项,记为LReg;
步骤S44:根据步骤S42调整后的损失函数LCTC和正则化项LReg计算代价函数;所述代价函数,记为L(adv,y);
步骤S45:计算代价函数L(adv,y)对扰动项δ的梯度g。
进一步地,为了更好的实现本发明,所述步骤S44中代价函数的计算公式如下:
L(adv,y)=LCTC+γ*LReg;
其中:L(adv,y),为代价函数;
LCTC,为损失函数;
LReg,为正则化项;
γ,超参数。
进一步地,为了更好的实现本发明,所述步骤S5包括以下步骤:
步骤S51:梯度g单位化;
步骤S52:进行扰动项δ更新;
步骤S53:修剪扰动项δ对应的扰动图片的像素数值;
步骤S54:更新对抗图Adv。
进一步地,为了更好的实现本发明,所述步骤S5中,将扰动项δ对应矩阵每个元素的数值限制在-0.2至0.2。
进一步地,为了更好的实现本发明,所述步骤S6具体是指,根据步骤S54中更新后的对抗图Adv,对CTC场景文字识别模型进行攻击:若攻击不成功,则重复步骤S4、步骤S5、步骤S6;若攻击成功,则跳转至步骤S7。
本发明所述的CTC场景文字识别模型的白盒攻击方法,将白盒对抗攻击算法用于基于CTC的场景文字识别领域。
尽管上面对本发明说明性的算法进行了描述,以便于本技术领域的技术人员理解本发明,但应该清楚,本发明不限于具体模型的范围,对本技术领域的普通技术人员来讲,但是只要是使用了CTC的场景文字识别模型,各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
本发明与现有技术相比,具有以下优点及有益效果:
(1)本发明提供CTC场景文字识别模型的白盒攻击方法,将基于迭代的白盒攻击算法进行改进后用于CTC场景文字识别,对CTC场景文字识别模型进行高效和快速攻击,同时保证扰动图肉眼几乎不可见。
(2)本发明提供CTC场景文字识别模型的白盒攻击方法,还通过梯度裁剪避免了传统的基于图像分类模型对抗攻击算法的耗时和不稳定性的问题。
(3)本发明提供的CTC场景文字识别模型的白盒攻击方法,通过将扰动项δ对应矩阵每个元素的数值限制在-0.2至0.2,使攻击效果最佳。
(4)本发明提供的CTC场景文字识别模型的白盒攻击方法,允许更大的学习率值,并具有健壮的训练过程,以较少的迭代次数提高攻击速度,可为设计更健壮、更安全的CTC场景文字识别模型服务。
(5)本发明提供的CTC场景文字识别模型的白盒攻击方法,可以灵活地适用于不同使用了CTC的模型的目标式攻击模式或非目标式攻击模式。
附图说明
图1是实施例1中与各参数对应的算法流程示意图;
图2是实施例2中CTC场景文字识别模型的白盒攻击方法的具体流程图;
图3是实施例3中示例模型在几个数据集上的性能情况示意图;
图4是实施例3中目标式攻击时CRNN的对抗攻击结果;
图5是实施例3中非目标式攻击时CRNN的对抗攻击结果;
图6是实施例4中在数据集SVT上采用L2正则化更新扰动项的方案进行测试的测试结果;
图7是实施例4中在数据集CUTE80、svt-P上分别采用L1\L2\L∞正则化更新扰动项的方案进行测试的测试结果。
具体实施方式
下面结合附图对本发明的具体实施方式进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
实施例1:
CTC场景文字识别模型的白盒攻击方法,通过迭代更新扰动项进行CTC场景文字识别模型的对抗攻击。在迭代更新扰动项的过程中,对扰动项的梯度进行图像像素值裁剪。
所述的CTC场景文字识别模型的白盒攻击方法,采用梯度下降算法更新扰动项(或者称之为扰动矩阵),在原始图像上添加干扰,生成对抗性样本;对CTC场景文字识别模型形成有效攻击,具体包括步骤S1-步骤S7。
1、步骤S1:获取训练好的CTC场景文字识别模型和待攻击的图片。
所述步骤S1中选取训练好的场景文字识别模型和待攻击的图片。本实施例中场景文字识别模型必须要是使用CTC的模型。待攻击的图片可以是模型训练所使用的训练集,也可以是任意测试图片。
2、步骤S2:对CTC场景文字识别模型和待攻击的图片进行预处理。
所述步骤S2中对CTC场景文字识别模型进行预处理,是指固定模型结构和参数,使其在之后的模型对抗攻击过程中模型结构和参数不变。
所述步骤S2中对待攻击的图片进行预处理,是指调整待攻击的图片的尺寸,并进行图像归一化处理。
为保证说法的简洁性,后面所说的模型都是指CTC场景文字识别模型,后面所说的待攻击的图片都是调整了尺寸之后的图片。调整后的图片记为x,且调整后的图片x其尺寸为[img_h,img_w,img_c],分别表示图片的高、宽、通道数。
图像归一化操作可以采用很多种方式,但是必须需要和识别模型的归一化方式保持一致。一般采用的归一化方式的范围是[0,1]。
3、步骤S3:构建作为整体变量的扰动项δ,获得对抗图Adv,根据攻击方式设置对抗图Adv的标签y。
所述步骤S3包括步骤S31-步骤S33:
步骤S31:根据调整后的图片x的尺寸构建尺寸相同的扰动项δ,并对扰动项δ进行初始化设置。
扰动项δ的初始值可以全部设为0,也可以采用随机分布产生在较小的范围之内的随机值。在实际应用中,一般采用的是0初始化,如果采用随机初始化,各种初始化都行,范围应当尽量小,不然可能产生的扰动初始化值就肉眼可见,不便于后续迭代优化。通常,采用随机初始化时,要求扰动项δ每个位置的初始值<10-3。
步骤S32:根据调整后的图片x和扰动项δ获得对抗图(Adversarial Image);对抗图记为Adv,Adv=x+δ。
在整个过程中,步骤S2调整后的图片x保持不变,仅通过更新扰动项δ,更新对抗图Adv。
步骤S33:根据攻击方式设置图像的标签;如果是目标式攻击(Target Attack),则标签y是目标字符序列,同时将攻击标识m记为m=-1;如果是非目标式攻击(UntargetedAttack),则标签y是图片x的ground truth标签序列,同时将攻击标识m记为m=1。
4、步骤S4:计算对抗图Adv在CTC场景文字识别模型上的损失函数(LossFunction),添加正则化向构成CTC场景文字识别模型的代价函数(Cost Function),并进行梯度反向传播,计算代价函数对扰动项δ的梯度g。
所述步骤S4包括步骤S41-步骤S45:
步骤S41:计算对抗图Adv在CTC场景文字识别模型上的损失函数;所述损失函数,记为LCTC。这一步骤直接按照模型网络和结构计算模型的输出即可。
步骤S42:根据攻击方式对损失函数LCTC进行调整;
LCTC=m*LCTC;
其中,m是用于模型对抗攻击中做目标式攻击和非目标式攻击的标识。
步骤S43:添加正则化项;所述正则化项,记为LReg;
正则化项LReg主要使用L1-norm,L2-norm;
式中,分子是L-Norm,分母是扰动项δ的元素数量,其计算方式为:
num=img_h*img_w*img_c。
步骤S44:根据步骤S42调整后的损失函数LCTC和正则化项LReg计算代价函数;所述代价函数,记为L(adv,y)。
所述步骤S44中代价函数的计算公式如下:
L(adv,y)=LCTC+γ*LReg;
其中:L(adv,y),为代价函数;
LCTC,为损失函数;
LReg,为正则化项;
γ,超参数。
超参数γ用来平衡两个部分损失的权重;一般超参数γ设置为100。
步骤S45:计算代价函数L(adv,y)对扰动项δ的梯度g。
本实施例中,通过已有算法平台直接求取代价函数L(adv,y)对扰动项δ的梯度g,记为g=▽δL(adv,y)。
5、步骤S5:获取梯度g的单位向量并对扰动项δ进行更新,根据更新后的扰动项δ获得最新的对抗图Adv。
本实施例中扰动项δ作为学习对象进行训练。在训练的过程中,需要进行梯度单位化和像素数值修剪以及调整图像像素数值,保证还原后的图像像素数值点不会出现像素数值溢出。
所述步骤S5包括步骤S51-步骤S54:
步骤S51:梯度g单位化;
g=g/||g||2;
其中,||g||2表示梯度的向量2范数。
步骤S52:进行扰动项δ更新;
模型的初始学习率一般设置为0.5,更新形式为:
lr=0.001,if iter≥200
其中,lr是学习率,base_lr是初始学习率,iter是迭代次数,当iter≥200的时候,学习率lr保持不变,一直为0.001。
因此,扰动项δ更新时,按照δ=δ-lr*g进行更新。
步骤S53:修剪扰动项δ对应的扰动图片的像素数值;
δ=clip(δ,-0.2,0.2);
δ=clip(δ+x,0,1)-x;
式中,clip(·)是对后面的矩阵每个元素添加限制,确保这些元素数值都在后面的范围之内。
对一张图而言,当扰动很大很大的时候,完全可以将产生的对抗图识别错误。因此,添加这个限制是为了保证最终的扰动并不会肉眼可见。本实施例中将扰动项δ对应矩阵每个元素的数值限制在-0.2至0.2。经多个攻击试验认证,当扰动项δ对应矩阵每个元素的数值限制在-0.2至0.2,即可保证很高的攻击成功率。
进一步,设置某个扰动项的数值点是0.2,结合后续步骤7,那么最后体现在对抗图中就是0.2*255=50;即该点上,对抗图和原图的像素差异为50。设置某个扰动项的数值点是0.1,此时最后的对抗图和原图在像素点上的差异值最大为0.1*255=25。经多个攻击试验认证,即使在某个点上发现25的像素差异也并不会影响视觉感官。
因此,本实施例中进一步优化技术方案,将扰动项δ对应矩阵每个元素的数值限制在-0.1至0.1。
步骤S54:更新对抗图Adv;Adv=x+δ。
6、步骤S6:根据步骤S54中最新的对抗图Adv对CTC场景文字识别模型进行攻击,重复步骤S4、步骤S5、步骤S6,不断迭代直到攻击成功。
所述步骤S6具体是指,根据步骤S54中更新后的对抗图Adv,将之送入CTC场景文字识别模型进行预测,判断是否攻击成功:若攻击不成功,则重复步骤S4、步骤S5、步骤S6;若攻击成功,则跳转至步骤S7。
本实施例中判断攻击是否成功,是通过判断对抗图Adv在模型上的输出与标签y的对应关系:
如果是目标式攻击,则判断对抗图Adv在模型上的输出是否和标签y相同,如果相同则停止迭代;
如果是非目标式攻击,则判断对抗图Adv在模型上的输出是否和标签y不同,如果不同则停止迭代。
7、步骤S7:步骤S6中攻击成功时,对对抗图Adv做反归一化,得到正常的对抗图:
Output=Adv*255。
步骤S6中停止迭代时表示攻击成功。取出停止迭代时刻的对抗图,将其做反归一化则得到正常的对抗图。
结合上述流程,本实施例中白盒攻击算法中数据处理如图2所示。
上述方法具有以下优势:
一、模型对抗攻击对CTC场景文字识别模型的模块组合多样性具有自适应性
在进行攻击的时候,本实施例所述的方法(算法)可以自适应的使用在不同的场景文字识别模型之上。一切基于CTC的端到端训练模型都能够使用这种方法(算法)对模型进行攻击。
常见的基于CTC的场景文字识别模型主要包括几个模块:
1)图像特征提取模块。
这个模块主要是用来提取图像的高层抽象的特征,即将图像Image转换为特征向量Vectors。
常见的方式有以下两种:
a)只是通过卷积神经网络提取特征;
b)图像矫正算法然后通过卷积神经网络提取特征。
图像矫正算法是用于对倾斜或者扭曲的文本进行矫正,使不同的字符比较均匀的分布在同一高度。常见的图像矫正算法可以手工设计,也可以通过将矫正参数设计并添加到模型训练过程中去,从而实现端到端的训练。
2)高层特征上下文特征提取模块。
这个模块主要是利用循环神经网络捕捉前面提取的特征向量中的上下文信息,从而能够更好的进行字符序列识别,通常能够提升一定的识别效果。
常见的方式主要是:
a)循环神经网络RNN;
b)长短期记忆网络(Long Short Term Memory,LSTM)以及他们各自的变体。
I.门循环控制单元(Gated Recurrent Unit,GRU),它的结构比LSTM更加简单,但是效果类似。
II.双向长短期记忆网络(Bi-directional Long Short Term Memory,Bi-LSTMs)。通过顺序和逆序分别捕捉不同方向的上下文信息,对模型整体的效果提升更高。
二、模型对抗攻击具有高效性
在攻击过程中,通过梯度归一化将计算得到的梯度进行放缩以避免图像扰动发生突变,其次通过梯度裁剪和数值公式约束等保证最后生成的扰动图片的数值都位于正常范围之内。在攻击迭代的过程中,设置较大的学习率结合1的方式来加速攻击成功所需迭代的步长。
实施例2:
本实施例所述的CTC场景文字识别模型的白盒攻击方法,将白盒对抗攻击算法用于基于CTC的场景文字识别领域。
如图1所示,系统运行时,按如下流程进行CTC场景文字识别模型攻击:
A、先选择场景文字识别模型和目标图片,此处场景文字识别模型为CTC场景文字识别模型;
B、然后根据攻击类型设置标签序列,进行目标式攻击:若是目标式攻击模式则对应目标式攻击序列y并设置其标识m=-1;若是非目标式攻击模式则对应图片标签序列y并设置其标识m=1;
C、之后,对待攻击的图像进行缩放、归一化处理,得到图像x;
D、接着,初始化扰动项p;
E、结合处理后的图像x和初始化扰动项p得到对抗图adv,adv=x+p;
F、用最新的对抗图adv对CTC场景文字识别模型进行攻击:若攻击成功,则反归一化,输出正常的对抗图;若攻击不成功,则更新扰动项p并根据更新后扰动项p更新对抗图adv,继续下一轮攻击;
所述更新扰动项p的具体过程如下:
f1、计算对抗图adv在模型上的损失;
f2、计算损失对扰动项的梯度;
f3、对扰动项梯度单位化;
f4、进行扰动项p更新。
实施例3:
本实施例在实施例1、实施例2的基础上,基于多个场景文字识别领域中常见的数据集对目前常见文字识别CTC-based Model中主流的多个模型进行白盒攻击。
涉及的模型有CRNN、Rosseta、STAR-Net;其中,CRNN是TPAMI17,Rosseta是KDD18,STAR-Net是BMVC16。
涉及的数据集有MJ、ST、CUTE80、ICDAR13、IIIT5K、SVT、SVT-P;其中,MJ、ST是模型的训练集;CUTE80、ICDAR13、IIIT5K、SVT、SVT-P是常见的测试集。
上述模型在上述数据集上的性能如图3所示。
指标Success是指数据集内在最大迭代步骤之内攻击成功的比例。
指标epoch是指数据集内攻击成功的图片的平均攻击成功迭代步数。
指标distance是指数据集内攻击成功的图片扰动的平均向量二范数。
CRNN的对抗攻击结果如图4所示。
图4显示了本发明在CRNN模型上产生的对抗性的例子和干扰,包括非目标的和目标的数据模式。由于在这些模型中图像通常被转换为灰度图像,所以这些干扰都显示以灰度图像展示。值得注意的是,我们进一步使用我们的对抗性示例来攻击真实世界的STR系统,即百度OCR,并观察到原始文本图像的扰动也可能破坏商业STR系统的预测。
本实施例实验结果表明,我们提出的方法在针对性攻击和非针对性攻击的对抗实例时,均获得了显著的攻击成功率。
本实施例的其他部分与实施例1、实施例2相同,故不再赘述。
实施例4:
本实施例在实施例1-3任一项的基础上,进一步优化步骤S4中使用L2正则化处理。因为L1范数会导致稀疏值,即扰动项里面的大部分数值可能为零,只有部分的像素值非零,为了攻击成功,这部分非零像素值会变得比较大,最后体现在对抗图中就是可能存在部分的突变点。L2范数会使得扰动项的数值分布更加均匀,从而导致并不会出现特别大的像素值改变。
如图6所示,这些是在数据集SVT上进行的测试。对比各项数据后,可以很明显的发现一些规律,比如:随着Lr减小,则distance会降低,epoch会上升。由此,本实施例中正则化项是L2,这个可以用来判断学习率的大致取值范围为0.1-0.01之间比较好。
如图7所示,Loss Type下面的数据是正则化向采用L1\L2\L∞的情况在两个数据集上做了测试。各个模型的成功率和结果按行排列因此正则化向最好采用L2。
综上所述,本实施例中正则化向采用L2,此时攻击较高较优。
本实施例的其他部分与实施例1-实施例3任一项相同,故不再赘述。
以上所述,仅是本发明的较佳实施例,并非对本发明做任何形式上的限制,凡是依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化,均落入本发明的保护范围之内。
Claims (10)
1.CTC场景文字识别模型的白盒攻击方法,其特征在于:通过迭代更新扰动项进行CTC场景文字识别模型的对抗攻击。
2.根据权利要求1所述的CTC场景文字识别模型的白盒攻击方法,其特征在于:在迭代更新扰动项的过程中,对扰动项的梯度进行图像像素值裁剪。
3.根据权利要求1所述的CTC场景文字识别模型的白盒攻击方法,其特征在于:具体包括以下步骤:
步骤S1:获取训练好的CTC场景文字识别模型和待攻击的图片;
步骤S2:对CTC场景文字识别模型和待攻击的图片进行预处理;
步骤S3:构建作为整体变量的扰动项δ,获得对抗图Adv,根据攻击方式设置标签y;
步骤S4:计算对抗图Adv在CTC场景文字识别模型上的损失函数,添加正则化项构成CTC场景文字识别模型的代价函数,并进行梯度反向传播,计算代价函数对扰动项δ的梯度g;
步骤S5:获取梯度g的单位向量并对扰动项δ进行更新,根据更新后的扰动项δ获得最新的对抗图Adv,并对CTC场景文字识别模型进行攻击;
步骤S6:根据步骤S5中最新的对抗图Adv对CTC场景文字识别模型进行攻击,重复步骤S4、步骤S5、步骤S6,不断迭代直到攻击成功;
步骤S7:步骤S6中攻击成功时,对对抗图Adv做反归一化,得到正常的对抗图。
4.根据权利要求3所述的CTC场景文字识别模型的白盒攻击方法,其特征在于:
所述步骤S2中对CTC场景文字识别模型进行预处理,是指固定模型结构和参数,使其在之后的模型对抗攻击过程中模型结构和参数不变;
所述步骤S2中对待攻击的图片进行预处理,是指调整待攻击的图片的尺寸,并进行图像归一化处理;调整后的图片,记为x。
5.根据权利要求4所述的CTC场景文字识别模型的白盒攻击方法,其特征在于:所述步骤S3具体包括以下步骤:
步骤S31:根据调整后的图片x的尺寸构建尺寸相同的扰动项δ,并对扰动项δ进行初始化设置;
步骤S32:根据调整后的图片x和扰动项δ获得对抗图Adv,记为Adv=x+δ;
步骤S33:根据攻击方式设置图像的标签;如果是目标式攻击,则标签y是目标字符序列,同时将攻击标识m记为m=-1;如果是非目标式攻击,则标签y是图片x的真实标签序列,同时将攻击标识m记为m=1。
6.根据权利要求5所述的CTC场景文字识别模型的白盒攻击方法,其特征在于:所述步骤S4中使用L1范数正则化或L2范数正则化;
具体地,所述步骤S4具体包括以下步骤:
步骤S41:计算对抗图Adv在CTC场景文字识别模型上的损失函数;所述损失函数,记为LCTC;
步骤S42:根据攻击方式对损失函数LCTC进行调整;
步骤S43:添加正则化项;所述正则化项,记为LReg;
步骤S44:根据步骤S42调整后的损失函数LCTC和正则化项LReg计算代价函数;所述代价函数,记为L(adv,y);
步骤S45:计算代价函数L(adv,y)对扰动项δ的梯度g。
7.根据权利要求6所述的CTC场景文字识别模型的白盒攻击方法,其特征在于:所述步骤S44中代价函数的计算公式如下:
L(adv,y)=LCTC+γ*LReg;
其中:L(adv,y),为代价函数;
LCTC,为损失函数;
LReg,为正则化项;
γ,超参数。
8.根据权利要求6所述的CTC场景文字识别模型的白盒攻击方法,其特征在于:所述步骤S5包括以下步骤:
步骤S51:梯度g单位化;
步骤S52:进行扰动项δ更新;
步骤S53:修剪扰动项δ对应的扰动图片的像素数值;
步骤S54:更新对抗图Adv。
9.根据权利要求8所述的CTC场景文字识别模型的白盒攻击方法,其特征在于:所述步骤S6具体是指,根据步骤S54中更新后的对抗图Adv,对CTC场景文字识别模型进行攻击:若攻击不成功,则重复步骤S4、步骤S5、步骤S6;若攻击成功,则跳转至步骤S7。
10.CTC场景文字识别模型的白盒攻击方法,其特征在于:将白盒对抗攻击算法用于使用CTC的场景文字识别领域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010260338.6A CN111461239B (zh) | 2020-04-03 | 2020-04-03 | 基于白盒攻击的ctc场景文字识别模型优化方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010260338.6A CN111461239B (zh) | 2020-04-03 | 2020-04-03 | 基于白盒攻击的ctc场景文字识别模型优化方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111461239A true CN111461239A (zh) | 2020-07-28 |
CN111461239B CN111461239B (zh) | 2023-05-09 |
Family
ID=71679349
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010260338.6A Active CN111461239B (zh) | 2020-04-03 | 2020-04-03 | 基于白盒攻击的ctc场景文字识别模型优化方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111461239B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112215227A (zh) * | 2020-12-09 | 2021-01-12 | 鹏城实验室 | 图像目标检测模型攻击方法、装置、终端设备及存储介质 |
CN113936143A (zh) * | 2021-09-10 | 2022-01-14 | 北京建筑大学 | 基于注意力机制和生成对抗网络的图像识别泛化方法 |
Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004003161A2 (en) * | 2002-06-28 | 2004-01-08 | Iowa State University Research Foundation, Inc. | Immunogenic mycoplasma hyopneumoniae polypeptides |
CN1984993A (zh) * | 2002-11-27 | 2007-06-20 | 陶氏化学公司 | 岩藻糖基化降低的免疫球蛋白的植物生产 |
CN102055770A (zh) * | 2011-01-17 | 2011-05-11 | 西安电子科技大学 | 一种基于xml描述的安全协议代码自动实现系统 |
WO2017075208A1 (en) * | 2015-10-30 | 2017-05-04 | Genomatica, Inc. | Methanol dehydrogenase fusion proteins |
CN107025172A (zh) * | 2017-03-22 | 2017-08-08 | 厦门大学 | 一种基于概率风险评价的软件测试方法 |
CN109117848A (zh) * | 2018-09-07 | 2019-01-01 | 泰康保险集团股份有限公司 | 一种文本行字符识别方法、装置、介质和电子设备 |
CN109214327A (zh) * | 2018-08-29 | 2019-01-15 | 浙江工业大学 | 一种基于pso的反人脸识别方法 |
CN109599109A (zh) * | 2018-12-26 | 2019-04-09 | 浙江大学 | 针对白盒场景的对抗音频生成方法及系统 |
CN109948714A (zh) * | 2019-03-22 | 2019-06-28 | 华南理工大学 | 基于残差卷积和递归神经网络的中文场景文本行识别方法 |
CN110444208A (zh) * | 2019-08-12 | 2019-11-12 | 浙江工业大学 | 一种基于梯度估计和ctc算法的语音识别攻击防御方法及装置 |
CN110767216A (zh) * | 2019-09-10 | 2020-02-07 | 浙江工业大学 | 一种基于pso算法的语音识别攻击防御方法 |
CN110781898A (zh) * | 2019-10-21 | 2020-02-11 | 南京大学 | 一种中文ocr后处理的无监督学习方法 |
-
2020
- 2020-04-03 CN CN202010260338.6A patent/CN111461239B/zh active Active
Patent Citations (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2004003161A2 (en) * | 2002-06-28 | 2004-01-08 | Iowa State University Research Foundation, Inc. | Immunogenic mycoplasma hyopneumoniae polypeptides |
CN1984993A (zh) * | 2002-11-27 | 2007-06-20 | 陶氏化学公司 | 岩藻糖基化降低的免疫球蛋白的植物生产 |
CN102055770A (zh) * | 2011-01-17 | 2011-05-11 | 西安电子科技大学 | 一种基于xml描述的安全协议代码自动实现系统 |
WO2017075208A1 (en) * | 2015-10-30 | 2017-05-04 | Genomatica, Inc. | Methanol dehydrogenase fusion proteins |
CN107025172A (zh) * | 2017-03-22 | 2017-08-08 | 厦门大学 | 一种基于概率风险评价的软件测试方法 |
CN109214327A (zh) * | 2018-08-29 | 2019-01-15 | 浙江工业大学 | 一种基于pso的反人脸识别方法 |
CN109117848A (zh) * | 2018-09-07 | 2019-01-01 | 泰康保险集团股份有限公司 | 一种文本行字符识别方法、装置、介质和电子设备 |
CN109599109A (zh) * | 2018-12-26 | 2019-04-09 | 浙江大学 | 针对白盒场景的对抗音频生成方法及系统 |
CN109948714A (zh) * | 2019-03-22 | 2019-06-28 | 华南理工大学 | 基于残差卷积和递归神经网络的中文场景文本行识别方法 |
CN110444208A (zh) * | 2019-08-12 | 2019-11-12 | 浙江工业大学 | 一种基于梯度估计和ctc算法的语音识别攻击防御方法及装置 |
CN110767216A (zh) * | 2019-09-10 | 2020-02-07 | 浙江工业大学 | 一种基于pso算法的语音识别攻击防御方法 |
CN110781898A (zh) * | 2019-10-21 | 2020-02-11 | 南京大学 | 一种中文ocr后处理的无监督学习方法 |
Non-Patent Citations (1)
Title |
---|
SHI B等: "An end-to-end trainable neural network for image-based sequence recognition and its application to scene text recognition" * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112215227A (zh) * | 2020-12-09 | 2021-01-12 | 鹏城实验室 | 图像目标检测模型攻击方法、装置、终端设备及存储介质 |
CN113936143A (zh) * | 2021-09-10 | 2022-01-14 | 北京建筑大学 | 基于注意力机制和生成对抗网络的图像识别泛化方法 |
CN113936143B (zh) * | 2021-09-10 | 2022-07-01 | 北京建筑大学 | 基于注意力机制和生成对抗网络的图像识别泛化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111461239B (zh) | 2023-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108416370B (zh) | 基于半监督深度学习的图像分类方法、装置和存储介质 | |
CN113674140B (zh) | 一种物理对抗样本生成方法及系统 | |
JP2019087237A (ja) | 敵対的ニューラル・ネットワーク・トレーニングを使用するフォント認識の改善 | |
CN111476228A (zh) | 针对场景文字识别模型的白盒对抗样本生成方法 | |
CN111279362A (zh) | 胶囊神经网络 | |
CN112819686A (zh) | 基于人工智能的图像风格处理方法、装置及电子设备 | |
CN111612081B (zh) | 识别模型的训练方法、装置、设备及存储介质 | |
WO2023019456A1 (en) | Method and apparatus for evaluation of adversarial robustness | |
CN111461239A (zh) | Ctc场景文字识别模型的白盒攻击方法 | |
CN113919497A (zh) | 针对连续学习能力系统的基于特征操纵的攻击和防御方法 | |
CN110610230A (zh) | 一种台标检测方法、装置及可读存储介质 | |
CN114612688B (zh) | 对抗样本生成方法、模型训练方法、处理方法及电子设备 | |
CN116977844A (zh) | 一种轻量级水下目标实时检测方法 | |
WO2022126917A1 (zh) | 基于深度学习的人脸图像评估方法、装置、设备及介质 | |
CN116361502B (zh) | 一种图像检索方法、装置、计算机设备及存储介质 | |
CN110135363B (zh) | 基于判别词典嵌入行人图像检索方法、系统、设备及介质 | |
CN107729992B (zh) | 一种基于反向传播的深度学习方法 | |
CN112329803B (zh) | 一种基于标准字形生成的自然场景文字识别方法 | |
CN112906829B (zh) | 一种基于Mnist数据集的数字识别模型构建方法及装置 | |
CN115393867A (zh) | 文本识别模型生成方法、文本识别方法、设备及存储介质 | |
CN113688915A (zh) | 一种面向内容安全的困难样本挖掘方法及装置 | |
CN113486736A (zh) | 一种基于活跃子空间与低秩进化策略的黑盒对抗攻击方法 | |
KR101763259B1 (ko) | 데이터를 구분하는 전자 장치 및 그 방법 | |
CN117830627A (zh) | 基于动态正则化对抗损失项的真实物理对抗补丁生成方法 | |
CN116912484A (zh) | 图像语义分割方法、装置、电子设备和可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |