本發明屬于CTC場景文字識別技術領域,具體為CTC場景文字識別模型的白盒攻擊方法,通過迭代更新擾動項進行CTC場景文字識別模型的對抗攻擊。本發明提供的CTC場景文字識別模型的白盒攻擊方法,將基于迭代的白盒攻擊算法進行改進后用于基于CTC模型的場景文字識別領域,對CTC場景文字識別模型實現快速攻擊,同時保證擾動肉眼不可見。
技術領域
本發明屬于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)。
第二種:迭代方式。這種攻擊方式會進行多次的梯度更新,每次梯度更新的策略不盡相同,但是最終都會經過多次迭代,不斷調整圖像擾動從而增強分類器對擾動圖片分類錯誤的置信度。