王超群,全衛(wèi)澤,侯詩玉,張曉鵬,嚴(yán)冬明*
1.中國科學(xué)院大學(xué)人工智能技術(shù)學(xué)院,北京 100049;2.中國科學(xué)院自動(dòng)化研究所模式識(shí)別國家重點(diǎn)實(shí)驗(yàn)室,北京 100190;3.清華大學(xué)水沙科學(xué)水利水電工程國家重點(diǎn)實(shí)驗(yàn)室,北京 100084
文字信息在日常生活中無處不在,它在傳遞有價(jià)值信息的同時(shí),也會(huì)造成私人信息泄漏,例如拍攝照片或收集數(shù)據(jù)時(shí),不可避免地會(huì)在圖像中出現(xiàn)一些個(gè)人信息(證件號(hào)碼、電話號(hào)碼等)(劉靜和王化喆,2015),而圖像文字去除技術(shù)則能通過去除圖像中的敏感信息,起到保護(hù)隱私的作用。同時(shí),該技術(shù)還廣泛應(yīng)用于圖像視頻編輯(季麗琴和王加俊,2008)和文字翻譯等任務(wù)。
圖1展示了兩組自然場(chǎng)景下的圖像文字去除示例。當(dāng)前,圖像文字去除面臨的困難與挑戰(zhàn)主要有:1)圖像文字去除方法需要感知到筆畫級(jí)的位置信息,這比邊框級(jí)的文字檢測(cè)方法更復(fù)雜;2)去除文字后,原始的文字區(qū)域應(yīng)填充與背景視覺一致的內(nèi)容;3)非文字區(qū)域應(yīng)盡可能保持原始圖像中的樣子。
圖1 文字去除示例Fig.1 Text removal example((a)input images;(b)output images;(c)text area masks;(d)stroke-level masks)
Tursun等人(2019)通過添加文字區(qū)域二值掩膜作為輔助信息使模型更加關(guān)注文字區(qū)域,與現(xiàn)有的圖像文字去除方法相比取得了明顯改進(jìn),但是這種文字區(qū)域二值掩膜信息會(huì)覆蓋文字筆畫之間、文字和文字之間存在的大量無需去除的背景信息,這意味著實(shí)際去除的區(qū)域比真正需要去除的區(qū)域大,加大了去除文字后恢復(fù)文字區(qū)域的難度。顯然,如果能夠提取出精確的筆畫級(jí)二值掩膜,就可以盡可能地保留輸入圖像的原始內(nèi)容,繼而得到質(zhì)量更高的去除文字后的圖像。
本文的創(chuàng)新點(diǎn)如下:1)首次將門循環(huán)單元(gate recurrent unit,GRU)(Chung等,2014)引入到圖像文字去除任務(wù)中,通過對(duì)筆畫級(jí)二值掩膜的提取,在文字去除階段能更好地利用文字筆畫之間、文字和文字之間的有用信息,從而提升模型的性能。2)通過將普通卷積替換成逆殘差模塊,使模型在性能略微損失的情況下,模型的計(jì)算量大幅降低,實(shí)現(xiàn)了高質(zhì)量和高效的圖像文字去除。3)設(shè)計(jì)了亮度損失函數(shù)和文字損失函數(shù),進(jìn)一步提升了結(jié)果的視覺真實(shí)感。
早期的圖像文字去除方法主要基于顏色直方圖或者閾值。Khodadadi和Behrad(2012)基于顏色直方圖估計(jì)候選塊中的背景和文字顏色,然后基于匹配修復(fù)算法,能高效地重構(gòu)文字區(qū)域中的圖像內(nèi)容。Modha和Dave(2012)通過結(jié)合形態(tài)學(xué)的方法定位出文字區(qū)域,然后用圖像修復(fù)算法,對(duì)文字進(jìn)行去除。Wagh和Patil(2015)通過對(duì)筆畫特征的提取找到文字區(qū)域,然后使用最鄰近匹配算法,對(duì)文字去除后的區(qū)域進(jìn)行填充,但進(jìn)行文字區(qū)域填充需要反復(fù)迭代,因此算法的效率不高。除了上述靜態(tài)圖像文字去除,也有一些工作研究去除視頻幀的字幕和標(biāo)題。Lee等人(2003)利用不同幀之間的文字和背景差異,在連續(xù)幀對(duì)時(shí)序的光流信息進(jìn)行恢復(fù),在當(dāng)前幀對(duì)空間信息進(jìn)行恢復(fù),以此替換文字區(qū)域的像素達(dá)到去除文字的目的,實(shí)現(xiàn)了視頻序列中文字的自動(dòng)檢測(cè)和去除。Mosleh等人(2013)通過對(duì)筆畫寬度變換得到的連通成分進(jìn)行無監(jiān)督聚類,找到每幀中的文字位置,然后通過圖像修復(fù)算法對(duì)文字區(qū)域進(jìn)行修復(fù)。早期的這些方法著重于對(duì)圖像數(shù)字化文字的去除,而這種文字的模式較為單一。相比之下,在真實(shí)的場(chǎng)景文字圖像中,因?yàn)榄h(huán)境、光照等各種因素,造成文字模式十分復(fù)雜,這些方法通常無法很好地去除真實(shí)場(chǎng)景中的文字。
借鑒深度學(xué)習(xí)方法在計(jì)算機(jī)視覺任務(wù)中的巨大成功,基于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)(Lawrence等,1997)的方法使文字去除任務(wù)有了很大改進(jìn)。Nakamura等人(2017)最先提出使用CNN從自然場(chǎng)景圖像中去除文字,他們使用滑動(dòng)窗口的方法將圖像分成若干小塊,并使用U-Net網(wǎng)絡(luò)(Ronneberger等,2015)去除文字。該方法的文字去除過程在各個(gè)圖像塊上進(jìn)行,然后將處理后的圖像塊合并在一起,這種基于圖像塊的處理機(jī)制會(huì)導(dǎo)致圖像的結(jié)構(gòu)一致性降低,并且限制了圖像的處理速度。隨后的研究又將生成對(duì)抗網(wǎng)絡(luò)(generative adversarial network,GAN)(Goodfellow等,2019)引入到場(chǎng)景文字去除任務(wù)中,將GAN和U-Net形狀的網(wǎng)絡(luò)結(jié)構(gòu)結(jié)合起來使用(Zhang等,2019;Liu等,2020),并通過風(fēng)格損失、內(nèi)容損失和總變分損失(Liu等,2018)等損失函數(shù)使文字去除效果取得更進(jìn)一步提升,但是該方法使用的訓(xùn)練數(shù)據(jù)是通過文字合成(Gupta等,2016)技術(shù)得到的,這使得模型在真實(shí)場(chǎng)景下的泛化能力不足,對(duì)背景復(fù)雜的情況處理效果不佳,并且這種方法因?yàn)槿狈?duì)文字區(qū)域信息的獲取,所以無法對(duì)指定的部分文字區(qū)域進(jìn)行去除。而通過引入文字區(qū)域二值掩膜,作為網(wǎng)絡(luò)的附加輸入(Tursun等,2019,2020),使得用戶能夠選擇他們需要去除的文字區(qū)域。但他們使用的文字區(qū)域掩膜不夠精細(xì),忽略了文字筆畫之間、文字和文字之間大量可利用的背景信息,這意味著模型處理區(qū)域明顯大于實(shí)際文字所占區(qū)域,導(dǎo)致在文字區(qū)域較大或者文字筆畫分散的情況下,出現(xiàn)文字去除不干凈的現(xiàn)象。
直覺上,如果能夠提取出準(zhǔn)確的文字筆畫,則意味著可以盡可能地保留輸入圖像的原始內(nèi)容,繼而可以獲得更好的結(jié)果。但是,這樣的精確區(qū)域很難獲得,鮮有相關(guān)研究工作集中于區(qū)分文字筆畫和非筆畫區(qū)域。隨著循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)(Mikolov等,2010)的發(fā)展,Qian等人(2018)利用長(zhǎng)短期記憶網(wǎng)絡(luò)(long short term memory,LSTM)(Shi等,2015)獲得注意力圖,將模型的注意力集中在雨水上,進(jìn)而為雨水的去除起到很好的輔助作用。與文字去除有所不同,該方法針對(duì)全局圖像進(jìn)行雨水去除,而圖像的文字去除方法則只針對(duì)文字區(qū)域。因此,受循環(huán)神經(jīng)網(wǎng)絡(luò)得到圖像目標(biāo)區(qū)域注意力圖的思想啟發(fā),本文提出了基于門循環(huán)單元的圖像文字去除方法,目的在于獲得筆畫級(jí)的精細(xì)文字掩膜,從而有效地指導(dǎo)模型更好地去除文字。
生成對(duì)抗網(wǎng)絡(luò)由生成器網(wǎng)絡(luò)(generator,G)和鑒別器網(wǎng)絡(luò)(discriminator,D)兩部分構(gòu)成。生成器G的目的是盡可能學(xué)習(xí)真實(shí)的數(shù)據(jù)分布,使生成的圖像盡可能地像真實(shí)數(shù)據(jù),而鑒別器D的作用是計(jì)算輸入數(shù)據(jù)來自真實(shí)數(shù)據(jù)而不是生成數(shù)據(jù)的概率,也就是使真實(shí)圖像盡可能判別為真,生成數(shù)據(jù)盡可能判別為假,這樣就使得生成器和鑒別器之間構(gòu)成了一種動(dòng)態(tài)博弈的過程,鑒別器能促使生成器生成更為真實(shí)的結(jié)果,而生成器會(huì)增強(qiáng)鑒別器的鑒別能力,兩者相互對(duì)抗和優(yōu)化,直到兩者達(dá)到納什平衡狀態(tài)。在本文中,給定帶文字的圖像It和對(duì)應(yīng)的沒有文字的真實(shí)圖像Igt,通過優(yōu)化使生成器盡可能生成真實(shí)的沒有文字的圖像Iout。其中,需要解決的優(yōu)化問題為
(1)
式中,E表示計(jì)算期望值,Igt服從數(shù)據(jù)真實(shí)分布Pd(Igt),It服從輸入的初始分布Pd(It)。
RNN是功能強(qiáng)大的模型,具有記憶性和參數(shù)共享的特點(diǎn),并且在字符預(yù)測(cè)和機(jī)器翻譯等硬序列問題方面表現(xiàn)出色(van den Oord等,2016)。同時(shí),RNN在建?;叶葓D像和紋理方面也能得到非常好的結(jié)果,但是無法很好地處理遠(yuǎn)距離依賴問題,而GRU能很好地解決長(zhǎng)期記憶和反向傳播中的梯度等問題,且較LSTM參數(shù)量更少(Wang等,2017;Dey和Salem,2017),其結(jié)構(gòu)如圖2所示(Chung等,2014),其中更新門ut表示前一時(shí)刻的特征信息在當(dāng)前時(shí)刻的重要程度,更新門的值越大,說明前一時(shí)刻的特征信息越重要;重置門rt用于控制忽略前一時(shí)刻的特征信息的程度,重置門的值越小,說明忽略得越多。
圖2 GRU結(jié)構(gòu)示意圖Fig.2 The structure of the gate recurrent unit
圖3為本文提出的圖像文字去除模型的整體結(jié)構(gòu)。首先將帶文字的圖像It和對(duì)應(yīng)文字區(qū)域的二值掩膜Mr作為輸入,利用筆畫級(jí)二值掩膜生成模塊得到筆畫級(jí)的文字掩膜Mt,然后將得到的Mt、It和Mr組合成5通道的數(shù)據(jù)作為文字去除模塊的輸入,通過文字去除模塊對(duì)文字區(qū)域進(jìn)行去除和修復(fù)后,輸出為不帶文字的圖像Iout,同時(shí),使用鑒別器區(qū)分真假,以提升輸出結(jié)果的真實(shí)感,整個(gè)過程是端到端的。
圖3 GRU圖像文字去除模型結(jié)構(gòu)圖Fig.3 Image text removal network based on gate recurrent unit
現(xiàn)有的圖像文字去除模型,輸入分為兩種,1)只輸入帶文字的圖像It;2)輸入帶文字的圖像It和對(duì)應(yīng)文字區(qū)域的二值掩膜Mr。方式1)中不需要額外的文字區(qū)域的標(biāo)記,所以數(shù)據(jù)集獲取比較容易,但是得到的模型難以處理文字背景復(fù)雜的情況,同時(shí)模型無法滿足部分文字去除的需求;方式2)中因?yàn)橛辛宋淖謪^(qū)域掩膜的加入,模型會(huì)更關(guān)注文字區(qū)域,所以去除的效果會(huì)更好,并且能對(duì)指定區(qū)域的文字進(jìn)行去除,但是需要額外的文字區(qū)域掩膜數(shù)據(jù),所以數(shù)據(jù)集的構(gòu)造會(huì)更加困難,同時(shí)因?yàn)槲淖謪^(qū)域往往不能很精準(zhǔn)地將文字筆畫分割出來,導(dǎo)致文字筆畫之間的大量信息無法利用,因此,本文提出了一種基于GRU的筆畫級(jí)文字掩膜生成模塊,能高效地根據(jù)帶文字的圖像It和對(duì)應(yīng)文字區(qū)域的二值掩膜Mr,生成筆畫級(jí)二值掩膜Mt。
如圖3上半部分所示,由GRU組成的網(wǎng)絡(luò)用于生成筆畫級(jí)的二值掩膜Mt。每個(gè)子模塊由5個(gè)逆殘差層對(duì)輸入的圖像和前一個(gè)子模塊生成的掩膜進(jìn)行特征提取,然后使用GRU和1層卷積操作生成當(dāng)前模塊的筆畫級(jí)掩膜Mt。
本文使用的GRU由更新門ut和重置門rt組成,門與門之間沿著時(shí)間維度的相互關(guān)系定義為
(2)
式中,Xt是由逆殘差層提取的特征,Ht是經(jīng)過GRU之后的輸出特征,符號(hào)⊙代表逐元素相乘,*代表卷積操作,σ為sigmoid激活函數(shù),在得到GRU的輸出特征Ht之后,對(duì)其進(jìn)行一次卷積操作,就可以得到一個(gè)筆畫級(jí)的文字掩膜特征圖Ot。在每個(gè)子模塊結(jié)束后,將當(dāng)前階段得到的筆畫級(jí)二值掩膜特征圖和輸入的圖像進(jìn)行連接組合,然后輸入到下一個(gè)階段的GRU子模塊中。
在訓(xùn)練階段,通過對(duì)每個(gè)子模塊中得到的筆畫級(jí)二值掩膜特征圖計(jì)算L2損失,得到損失函數(shù)Lm,該損失函數(shù)的定義為
(3)
式中,{O}為所有GRU模塊的筆畫級(jí)二值掩膜特征圖的集合,M為筆畫級(jí)二值掩膜的ground-truth。M可以通過將帶文字的圖像It和對(duì)應(yīng)的沒有文字的圖像Igt處理后得到。N為循環(huán)GRU子模塊的個(gè)數(shù),N越大,最后得到的筆畫級(jí)二值掩膜Mt(最后一個(gè)Ot即為Mt)越準(zhǔn)確,但是計(jì)算量也會(huì)更大,在本文中N取值為5。λ為每個(gè)GRU模塊的損失權(quán)重,越早產(chǎn)生的損失值貢獻(xiàn)越小,在本文中取值為0.7。
3.2.1 文字去除模塊
文字去除模塊將帶文字的圖像It和對(duì)應(yīng)文字區(qū)域的二值掩膜Mr以及生成的筆畫級(jí)二值掩膜Mt三者一起組合成5通道的數(shù)據(jù)作為輸入,輸出為去除文字后的圖像。輸入和輸出圖像的尺寸均為256 × 256像素。
文字去除模塊的網(wǎng)絡(luò)結(jié)構(gòu)如圖3下半部分所示。本文使用的文字去除模塊是一種編解碼(Badrinarayanan等,2017)的網(wǎng)絡(luò)結(jié)構(gòu)。在編碼階段,首先經(jīng)過兩個(gè)卷積層,得到大小為256 × 256像素、通道數(shù)為16的特征圖,其中使用的卷積核大小為3 × 3,步長(zhǎng)為1,接著使用3組下采樣,每組包含一個(gè)步長(zhǎng)為2和一個(gè)步長(zhǎng)為1的卷積層,每次下采樣后,特征圖的高度和寬度減半,通道數(shù)加倍。中間部分使用4個(gè)步長(zhǎng)為1的卷積層,目的是為了加深網(wǎng)絡(luò),提取深層次的特征。在解碼階段,使用3組上采樣,每組包含一個(gè)步長(zhǎng)為2的反卷積操作和一個(gè)步長(zhǎng)為1的卷積操作。同時(shí),為了加強(qiáng)模型對(duì)紋理細(xì)節(jié)和結(jié)構(gòu)的恢復(fù),以及為了避免模糊結(jié)果的產(chǎn)生,使用了跳躍連接,將編碼器的淺層特征信息輸入到解碼器的對(duì)應(yīng)層,使淺層特征得以更好地利用,從而保證模型恢復(fù)出更多的細(xì)節(jié)特征。最后使用一個(gè)步長(zhǎng)為1、卷積核大小為3 × 3的卷積層,得到最終的無文字圖像。
本文將文字去除模塊中的所有卷積操作都用逆殘差塊(Sandler等,2018)代替,目的在于減少模型的參數(shù)量和計(jì)算量,使最終得到的模型能夠很好地去除圖像中的文字。其中,逆殘差塊的結(jié)構(gòu)如圖4所示,先用一個(gè)卷積核為1 × 1的點(diǎn)卷積操作,擴(kuò)大輸入特征圖的維度,防止通過激活函數(shù)后因?yàn)榫S度過低丟失過多的信息,然后使用卷積核為3 × 3的深度卷積(Howard等,2017)對(duì)特征進(jìn)行提取,最后使用一個(gè)1 × 1的點(diǎn)卷積,壓縮特征的通道數(shù)。其中,在步長(zhǎng)數(shù)為1時(shí),因?yàn)檩斎牒洼敵鼍S度相同,所以能使用殘差結(jié)構(gòu),使模型在較深時(shí)依然能很好地訓(xùn)練。
圖4 逆殘差塊結(jié)構(gòu)示意圖Fig.4 The architecture of the inverted residual blocks
需要注意的是,本文在文字去除模塊中的所有激活函數(shù)均使用ReLU6。同時(shí),本文沒有使用批歸一化層,因?yàn)榕鷼w一化層會(huì)破壞顏色一致性,降低模型的效果(Yu等,2018)。
文字去除模塊使用的損失函數(shù)由文字損失函數(shù)LT、圖像亮度損失函數(shù)LY和生成器對(duì)抗損失函數(shù)Lg3部分組成。
文字損失函數(shù)LT是為了盡可能地在去除文字的同時(shí),保留非文字區(qū)域的信息,所以將更多的注意力放在文字區(qū)域。具體地,對(duì)文字區(qū)域和非文字區(qū)域使用逐像素的L1損失函數(shù)。具體為
(4)
(5)
LT=10Lt+Lnt
(6)
式中,1和Mt具有相同形狀,但是值都為1。
同時(shí),研究表明(Xu等,2012;Dong等,2016),人眼對(duì)圖像的亮度變化更為敏感,因此,將輸出圖像Iout和Igt從RGB空間映射到Y(jié)CrCb顏色空間,然后將亮度通道分離出來得到Y(jié)out和Ygt,對(duì)兩者使用L1損失函數(shù),得到亮度損失函數(shù)LY。具體為
(7)
對(duì)于生成器的對(duì)抗損失函數(shù),使用經(jīng)典的生成器對(duì)抗損失函數(shù)(Goodfellow等,2019),即
LDsn=E[ReLU(1-Dsn(Igt,Mr,Mt))]+
E[ReLU(1+Dsn(Iout,Mr,Mt))]
(8)
式中,Dsn表示頻譜歸一化鑒別器。
綜上,文字區(qū)域掩膜和帶文字的圖像首先通過由5個(gè)GRU組成的筆畫級(jí)二值掩膜生成模塊得到筆畫級(jí)掩膜,然后該掩膜作為輔助信息進(jìn)入到文字去除模塊,進(jìn)行圖像的文字去除,這兩個(gè)模塊整體上構(gòu)成了生成器部分。整個(gè)過程是端到端訓(xùn)練的。隨著訓(xùn)練次數(shù)的增加,筆畫級(jí)二值掩膜生成模塊得到的筆畫級(jí)掩膜會(huì)越來越精確,進(jìn)而提升了文字去除的效果。整個(gè)生成器損失函數(shù)由筆畫級(jí)二值掩膜生成模塊的損失函數(shù)和文字去除模塊的損失函數(shù)構(gòu)成,即
LG=Lm+LT+LY+Lg
(9)
3.2.2 鑒別器網(wǎng)絡(luò)
為了盡可能將生成器生成的圖像分類為假圖像,將真實(shí)數(shù)據(jù)分類為真圖像,一些基于GAN的方法引入了兩種類型的鑒別器,分別為全局鑒別器和局部鑒別器。全局鑒別器能很好地鑒別出整個(gè)圖像是否存在不一致,而局部鑒別器則專注于指定區(qū)域是否存在不一致,這種策略通常需要局部區(qū)域是規(guī)則的矩形,而在本文的任務(wù)中,文字區(qū)域是任意形狀的,因此使用SN-PatchGAN(Yu等,2019)作為本文的鑒別器網(wǎng)絡(luò),其結(jié)構(gòu)如圖5所示。該鑒別器使用6個(gè)卷積核大小為5 × 5、步長(zhǎng)為2的卷積層獲取高維特征。然后對(duì)高維特征的每個(gè)特征元素都進(jìn)行鑒別,同時(shí)因?yàn)檩敵鎏卣鞯拿總€(gè)神經(jīng)元的感受野都能覆蓋全圖,所以無需另外使用全局鑒別器,具體的鑒別器損失函數(shù)為
圖5 鑒別器模型Fig.5 The architecture of the discriminator
LDsn=E[ReLU(1-Dsn(Igt,Mr,Mt))]+
E[ReLU(1+Dsn(Iout,Mr,Mt))]
(10)
實(shí)驗(yàn)使用的硬件環(huán)境為Intel(R)Xeon(R)E5-2690 v4 2.60 GHz CPU,NVIDIA TITAN RTX(24 GB顯存)GPU,256 GB內(nèi)存;軟件環(huán)境中操作系統(tǒng)為Ubuntu 16.04.6 LTS,深度學(xué)習(xí)框架為Tensorflow 1.13.1,CUDA為V10.0。輸入圖像的尺寸為256 × 256像素,初始學(xué)習(xí)率為0.000 1,批處理大小為4,網(wǎng)絡(luò)訓(xùn)練使用的優(yōu)化器為Adam(Kingma和Ba,2014),優(yōu)化器的兩個(gè)參數(shù)分別為β1=0.5、β2=0.9。
對(duì)于圖像文字去除任務(wù),需要成對(duì)的帶文字的圖像和沒有文字的干凈圖像訓(xùn)練深度模型。然而,在自然場(chǎng)景中很難同時(shí)獲得這種成對(duì)的數(shù)據(jù)?,F(xiàn)有方法(Tursun等,2019;Zhang等,2019)都是通過在沒有文字的圖像上使用文字合成方法獲取大量訓(xùn)練數(shù)據(jù)。這種合成的訓(xùn)練數(shù)據(jù),雖然能模擬真實(shí)場(chǎng)景中的文字,但是始終和真實(shí)環(huán)境下帶文字的圖像是有差異的,因此本文構(gòu)建了一個(gè)真實(shí)的數(shù)據(jù)集。具體地,從ICDAR2017 MLT(International Conference on Document Analysis and Recognition)數(shù)據(jù)集(Nayef等,2017)中收集了5 070幅真實(shí)環(huán)境中帶文字的圖像,這些圖像采集自各種各樣的場(chǎng)景,并且包含多種語言文字,同時(shí)又從日常的生活環(huán)境中,拍攝了1 970張照片,然后用Photoshop軟件將搜集的帶文字的真實(shí)圖像去除掉文字得到Igt,獲得7 040組真實(shí)的訓(xùn)練數(shù)據(jù),與此同時(shí)為了增加數(shù)據(jù)集的多樣性,使用文字合成的方法合成了4 000組高真實(shí)感的數(shù)據(jù),最終,本文使用的訓(xùn)練集數(shù)據(jù)共11 040組。對(duì)于測(cè)試集,另外準(zhǔn)備了1 080組真實(shí)數(shù)據(jù)和1 000組合成數(shù)據(jù)。
上述每組數(shù)據(jù)對(duì)應(yīng)的文字區(qū)域二值掩膜Mr是通過人工標(biāo)注得到的,對(duì)應(yīng)的筆畫級(jí)二值掩膜Mt則是用帶文字的圖像It和去掉文字的圖像Igt通過計(jì)算得到,具體計(jì)算為
(11)
式中,Mt、It和Igt分別為各自對(duì)應(yīng)的圖像中的每個(gè)像素點(diǎn)的值,在本實(shí)驗(yàn)中閾值δ為27,gray為灰度化操作,abs為取絕對(duì)值運(yùn)算。
為驗(yàn)證本文方法的性能,與現(xiàn)有的文字去除算法STE(scene text eraser)(Nakamura等,2017)、EnsNet(ensconce network)(Zhang等,2019)、MTR(mask-based text removal network)(Tursun等,2019)、EraseNet (erase network)(Liu等,2020)和MTR++(Tursun等,2020)進(jìn)行對(duì)比。其中EnsNet和EraseNet使用官方提供的源代碼進(jìn)行訓(xùn)練和測(cè)試,STE、MTR和MTR++算法嚴(yán)格按照其原文所述進(jìn)行復(fù)現(xiàn)。為了保證公平,所有模型都訓(xùn)練到收斂。本文方法與對(duì)比方法在真實(shí)數(shù)據(jù)集和合成數(shù)據(jù)集上的測(cè)試結(jié)果如圖6所示。
從圖6可以看出:1)STE、EnsNet和EraseNet方法在模型推理測(cè)試階段沒有使用文字區(qū)域的二值掩膜,所以模型無法準(zhǔn)確地知道需要去除的文字的區(qū)域,得到的結(jié)果會(huì)有明顯的文字輪廓和文字筆畫的殘留,而本文方法能將文字去除得很干凈。2)MTR方法雖然使用了文字區(qū)域二值掩膜,但是這種掩膜覆蓋的區(qū)域較大,所以會(huì)出現(xiàn)明顯的過平滑現(xiàn)象,導(dǎo)致在視覺感受上和周圍背景不一致。MTR++方法沒有考慮淺層掩膜特征對(duì)后續(xù)階段的影響,導(dǎo)致生成的筆畫級(jí)二值化掩膜不夠精細(xì)。而本文方法則利用不同階段的掩膜特征信息得到更為精準(zhǔn)的筆畫級(jí)二值化掩膜,所以能更好地利用文字筆畫之間、文字和文字之間的有用信息,從而在圖像的細(xì)節(jié)恢復(fù)上取得很好的效果,如圖6的第3和4行所示,本文方法能很好地還原出背景圖像的結(jié)構(gòu)。這些結(jié)果表明,本文方法在文字區(qū)域的二值掩膜的基礎(chǔ)上,通過檢測(cè)筆畫級(jí)的二值掩膜,能在引導(dǎo)模型去除文字區(qū)域內(nèi)容的同時(shí),更好地保留非文字區(qū)域的信息,從而得到細(xì)節(jié)更豐富、圖像結(jié)構(gòu)更為合理的結(jié)果。3)STE、EnsNet和EraseNet方法因?yàn)闆]有文字區(qū)域掩膜的引導(dǎo),無法做到對(duì)指定文字區(qū)域的去除,而部分文字去除是諸如圖像編輯等應(yīng)用所需要的功能。圖7展示了MTR、MTR++和本文方法對(duì)部分文字去除的效果的比較,其中綠色框中的文字是需要去除的部分??梢钥吹奖疚姆椒芎芎玫厝コ贿x中部分的文字,未被選中的文字則能很好地保留。
圖6 不同方法的測(cè)試結(jié)果Fig.6 Test results of different methods((a)input;(b)STE;(c)EnsNet;(d)MTR;(e)EraseNet;(f)MTR++;(g)ours;(h)ground truth)
圖7 部分文字去除結(jié)果Fig.7 Examples of partial text removal on real scenes ((a)input;(b)MTR;(c)MTR++;(d)ours)
與EnsNet使用的評(píng)價(jià)指標(biāo)一致,本文使用兩類評(píng)價(jià)指標(biāo)對(duì)結(jié)果進(jìn)行定量評(píng)價(jià)。第1類評(píng)價(jià)指標(biāo)是用峰值信噪比(peak signal-to-noise ratio,PSNR)和結(jié)構(gòu)相似性(structural similarity index,SSIM)衡量去除文字后的結(jié)果與真實(shí)值之間的差異。第2類評(píng)價(jià)指標(biāo)是用準(zhǔn)確率(P)、召回率(R)和F值(F)衡量模型去除文字的能力。
具體地,本文使用目前最先進(jìn)的文字檢測(cè)算法CRAFT(character region awareness for text detection)(Baek等,2019)檢測(cè)結(jié)果圖像中的文字,并用DetEval(Wolf和Jolion,2006)方法計(jì)算出R、P、F的值。R、P、F的值越低,表示文字去除模型的性能越好。然而,這種方法沒有考慮圖像整體的視覺感受,即如果圖像內(nèi)容完全擦除,文字檢測(cè)結(jié)果將是最好的,但這是不合理的,所以需要結(jié)合PSNR和SSIM評(píng)價(jià)圖像的質(zhì)量。PSNR和SSIM的值越大,代表模型性能越好。表1和表2分別展示不同模型在兩個(gè)測(cè)試集上各評(píng)價(jià)指標(biāo)的測(cè)試結(jié)果的均值??梢钥闯?,本文方法在圖像質(zhì)量指標(biāo)和文字檢測(cè)指標(biāo)上均表現(xiàn)最好,證明本文的圖像文字去除方法較其他方法表現(xiàn)更好。
表1 真實(shí)數(shù)據(jù)集的測(cè)試結(jié)果對(duì)比Table 1 Comparison of test results on real dataset
表2 合成數(shù)據(jù)集的測(cè)試結(jié)果對(duì)比Table 2 Comparison of test results on synthetic dataset
為了分析每個(gè)因素對(duì)模型效果的影響,進(jìn)行了多組消融實(shí)驗(yàn)。
為了比較筆畫級(jí)二值掩膜對(duì)圖像文字去除效果的影響,在保持輸入數(shù)據(jù)和其他訓(xùn)練參數(shù)不變的條件下,進(jìn)行了兩組實(shí)驗(yàn):1)使用生成器和鑒別器網(wǎng)絡(luò)對(duì)圖像文字進(jìn)行去除,用TE_GD表示;2)在TE_GD方法的基礎(chǔ)上,加上筆畫級(jí)二值掩膜檢測(cè)模塊,用TE_GDM表示。圖8和表3展示了在真實(shí)數(shù)據(jù)的測(cè)試集和合成數(shù)據(jù)的測(cè)試集下的文字去除結(jié)果。從圖8可以看出,TE_GD在文字區(qū)域較大的情況下,出現(xiàn)了顏色混亂和過平滑的現(xiàn)象,對(duì)非文字區(qū)域的細(xì)節(jié)保留的不理想,而TE_GDM的結(jié)果明顯優(yōu)于TE_GD。從表3可以看出,添加了筆畫級(jí)二值掩膜后的各項(xiàng)評(píng)價(jià)指標(biāo)均有所提升。
圖8 消融實(shí)驗(yàn)結(jié)果對(duì)比Fig.8 Comparison of ablation experiment results((a)input;(b)TE_GD;(c)TE_GDM)
表3 筆畫級(jí)二值掩膜有效性實(shí)驗(yàn)結(jié)果Table 3 Validation of binary stroke mask of real dataset
為了評(píng)估逆殘差塊的有效性,在保持同樣網(wǎng)絡(luò)配置的情況下,將卷積方式替換為普通的卷積進(jìn)行訓(xùn)練,用TE_Conv表示。表4展示了TE_Conv和本文使用的逆殘差塊的方案在模型的參數(shù)量和浮點(diǎn)運(yùn)算次數(shù)(floating point of operations,F(xiàn)LOPs)上的差異,同時(shí)從圖像質(zhì)量的角度對(duì)比了兩者在真實(shí)數(shù)據(jù)的測(cè)試集下圖像質(zhì)量指標(biāo)PSNR和SSIM的差異??梢钥闯?,兩者在圖像質(zhì)量上的差異很小,但是使用逆殘差塊方案的FLOPs降低了72.0%,證明了該方案的有效性。
表4 逆殘差塊結(jié)果對(duì)比Table 4 Comparison of test results of inverted residual block
表5 不同損失函數(shù)結(jié)果對(duì)比Table 5 Comparison of results of different loss functions
本文提出了一種基于門循環(huán)單元的圖像文字去除模型,以帶文字的圖像和文字區(qū)域二值掩膜為輸入,通過端到端的方式,得到去除文字后的圖像。首先,本文構(gòu)造了筆畫級(jí)二值掩膜生成網(wǎng)絡(luò),通過疊加的逆殘差塊和門循環(huán)單元獲得更為精細(xì)的筆畫級(jí)掩膜,以此幫助基于生成對(duì)抗網(wǎng)絡(luò)的文字去除模塊,能將注意力更好地集中在文字筆畫區(qū)域。其次,采用逆殘差替代普通的卷積,進(jìn)一步優(yōu)化了模型的大小,從而達(dá)到了模型去除文字的效果和模型性能之間的平衡。最后,通過對(duì)比試驗(yàn),驗(yàn)證了本文網(wǎng)絡(luò)設(shè)計(jì)以及損失函數(shù)的有效性。相比現(xiàn)有的方法,本文能高質(zhì)量和高效率地實(shí)現(xiàn)圖像文字去除。
本文方法仍然存在局限性,針對(duì)藝術(shù)體的文字和帶有光影輪廓的文字,本文方法的效果還有待提升。如圖9所示,當(dāng)輸入圖像的文字存在輪廓以及字體為夸張的藝術(shù)字體時(shí),本文的文字筆畫檢測(cè)網(wǎng)絡(luò)難以準(zhǔn)確地提取出筆畫級(jí)二值掩膜,文字去除的效果欠佳。在未來的工作中,計(jì)劃通過在數(shù)據(jù)集中加入更多復(fù)雜字體和帶光影輪廓的數(shù)據(jù),并設(shè)計(jì)更有效的文字去除模型,以進(jìn)一步提高圖像文字的去除效果。
圖9 局限性示例Fig.9 Limitation examples