李新利 鄒昌銘 楊國田 劉 禾
發(fā)票是財(cái)務(wù)系統(tǒng)的重要組成部分,發(fā)票的識(shí)別和處理是財(cái)務(wù)人員的首要工作.人工智能已被廣泛應(yīng)用在人臉識(shí)別、車輛識(shí)別、物體檢測等各個(gè)領(lǐng)域,而基于人工智能的發(fā)票識(shí)別,可為財(cái)務(wù)人員節(jié)省大量的時(shí)間.目前發(fā)票自動(dòng)識(shí)別根據(jù)使用場景不同,可分為移動(dòng)客戶端、云端和本地客戶端.移動(dòng)端客戶端發(fā)票識(shí)別是通過手機(jī)端的離線SDK,集成到公司財(cái)務(wù)系統(tǒng)的APP 內(nèi),自動(dòng)檢測發(fā)票的邊線并拍照識(shí)別,提取發(fā)票上的關(guān)鍵信息;云端發(fā)票識(shí)別是通過調(diào)用云平臺(tái)的API 接口,將拍照或者掃描的發(fā)票圖像傳送到云平臺(tái)上進(jìn)行識(shí)別;而本地客戶端識(shí)別是識(shí)別軟件與掃描儀硬件配合使用進(jìn)行識(shí)別.三種方式本質(zhì)都是基于識(shí)別軟件進(jìn)行的.由于發(fā)票種類繁多,格式不固定,有的發(fā)票存在手寫的內(nèi)容,且不同人手寫字的風(fēng)格不一,因此基于傳統(tǒng)數(shù)字圖像處理的識(shí)別軟件,相應(yīng)識(shí)別準(zhǔn)確率較低.隨著卷積神經(jīng)網(wǎng)絡(luò)的興起,包括表格線定位、手寫文字識(shí)別等問題得到很好的解決.文獻(xiàn)[1]采用卷積神經(jīng)網(wǎng)絡(luò)實(shí)現(xiàn)增值稅發(fā)票批量識(shí)別,通過對發(fā)票圖像進(jìn)行采集、預(yù)處理、字符切割,基于CNN 神經(jīng)網(wǎng)絡(luò)進(jìn)行字符識(shí)別,同時(shí)融入人工修改,提高識(shí)別率.但是發(fā)票上的印章對發(fā)票識(shí)別準(zhǔn)確率依舊具有一定影響,且印章是每張發(fā)票必不可少的,因此如何消除印章也是現(xiàn)在OCR (Optical character recognition)領(lǐng)域的研究熱點(diǎn).目前大多數(shù)研究者對于發(fā)票印章的研究主要是印章識(shí)別與驗(yàn)證[2?4].針對發(fā)票印章的去除問題,若通過印章定位,而后直接挖除印章則會(huì)丟失印章下的發(fā)票內(nèi)容;若采用過濾顏色的方式來消除,會(huì)導(dǎo)致發(fā)票中與印章顏色相近的文字變得模糊不清,而且不同發(fā)票的印章顏色不同.文獻(xiàn)[5]提出一種基于彩色圖像的二次分割算法來去除印章,但是對于發(fā)票的要求較高,需要保證印章的顏色為紅色或者藍(lán)色,票據(jù)不能出現(xiàn)明顯的扭曲和變形,字體還需要求是黑色或灰色,其實(shí)用性較差.文獻(xiàn)[6]針對印章覆蓋、發(fā)票折痕等干擾因素影響發(fā)票號(hào)碼分割的問題,采用基于數(shù)字結(jié)構(gòu)特征的識(shí)別算法,通過對噪聲粘連區(qū)域進(jìn)行修復(fù),解決干擾因素對數(shù)字分割的影響,實(shí)現(xiàn)發(fā)票號(hào)碼識(shí)別.但是如何判斷噪聲區(qū)域最小連通面積的閾值是算法關(guān)鍵,當(dāng)發(fā)票數(shù)量增多,印章顏色深度和位置不統(tǒng)一時(shí),消除印章干擾則很困難.
各種圖像處理軟件也可用在印章消除上,如PhotoShop,但需要基于軟件進(jìn)行手動(dòng)處理,大量發(fā)票的印章消除則會(huì)新增大量工作量,反倒得不償失.因此研究如何自動(dòng)消除發(fā)票印章,對提高發(fā)票識(shí)別準(zhǔn)確率具有重要意義.生成式對抗網(wǎng)絡(luò)GAN (Generative adversarial network)是Goodfellow 等在2014 年提出的一種生成式網(wǎng)絡(luò)[7].在GAN 提出之前,常見的生成式網(wǎng)絡(luò)有最大似然估計(jì)法、近似法[8]、馬爾科夫鏈法[9]等.這些方法的基本步驟是,先對樣本數(shù)據(jù)進(jìn)行分布假設(shè),然后利用數(shù)據(jù)樣本直接對假設(shè)分布的參數(shù)進(jìn)行擬合,這會(huì)導(dǎo)致學(xué)習(xí)到的生成式模型受到限制[10].而GAN 不同于上述的生成網(wǎng)絡(luò),該方法采用對抗學(xué)習(xí)方式,先通過判別器學(xué)習(xí)生成分布和真實(shí)分布之間的差異,再驅(qū)使生成器去縮小差異.GAN 相比于其他的生成網(wǎng)絡(luò),對數(shù)據(jù)的分布不做顯性的限制,從而避免了人工設(shè)計(jì)網(wǎng)絡(luò)分布[11].GAN 目前常用于實(shí)現(xiàn)圖像的風(fēng)格遷移以及超分辨圖像的生成.本文基于生成對抗網(wǎng)絡(luò)提出用于消除印章的SealGAN 網(wǎng)絡(luò).SealGAN 借鑒了CycleGAN 網(wǎng)絡(luò)的循環(huán)結(jié)構(gòu),采用兩個(gè)獨(dú)立的分類器來取代判別網(wǎng)絡(luò),并針對印章的特點(diǎn)去設(shè)計(jì)生成網(wǎng)絡(luò),實(shí)現(xiàn)發(fā)票圖像的帶印章到不帶印章的風(fēng)格遷移,從而達(dá)到消除發(fā)票印章的效果.
生成式對抗網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示,包括一個(gè)生成網(wǎng)絡(luò)(G)和一個(gè)判別網(wǎng)絡(luò)(D).生成網(wǎng)絡(luò)用于生成目標(biāo)圖像,而判別網(wǎng)絡(luò)用于判斷圖像是生成的虛假圖像還是真實(shí)目標(biāo)圖像.在訓(xùn)練時(shí),生成網(wǎng)絡(luò)會(huì)在損失函數(shù)的牽引下讓生成的圖像盡可能地逼近目標(biāo)圖像,判別網(wǎng)絡(luò)則將生成圖像和真實(shí)目標(biāo)圖像區(qū)分開,由此構(gòu)成對抗博弈的訓(xùn)練方式.通過競爭方式,生成網(wǎng)絡(luò)生成的圖像會(huì)越來越真實(shí),而判別網(wǎng)絡(luò)的判別能力也會(huì)越來越強(qiáng)[7].
圖1 生成式對抗網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 Generative adversarial networks structure
圖1 中LG是更新生成網(wǎng)絡(luò)G的損失,LD是更新判別網(wǎng)絡(luò)D的損失,如下式所示:
式中zi表示的是第i個(gè)輸入,xi表示對應(yīng)的真實(shí)圖像.生成網(wǎng)絡(luò)和判別網(wǎng)絡(luò)的損失函數(shù)均為交叉熵?fù)p失,只是判別網(wǎng)絡(luò)的目標(biāo)是讓真實(shí)圖像的判別結(jié)果趨近于1,生成圖像結(jié)果趨近于0,而生成網(wǎng)絡(luò)則希望生成圖像的判別結(jié)果趨近于1[7].
生成式對抗網(wǎng)絡(luò)的概念提出后,便成為學(xué)術(shù)界研究的熱點(diǎn).在此基礎(chǔ)上,一些改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)相繼被提出,如引入卷積神經(jīng)網(wǎng)絡(luò)的DCGAN[12],用于生成超分辨圖像的SRGAN、LapGAN[13?14],用于風(fēng)格遷移的pix2pix、cVAE-GAN[15?16].但是大部分生成式對抗網(wǎng)絡(luò)都要求待處理圖像和目標(biāo)圖像一一匹配.針對帶印章的發(fā)票,則很難獲取印章圖像與其對應(yīng)的無章圖像.2017 年,伯克利大學(xué)的研究團(tuán)隊(duì)在ICCV 上提出了CycleGAN 網(wǎng)絡(luò),其最大特點(diǎn)是不需要待處理圖像和目標(biāo)圖像一一匹配,只需要兩個(gè)分布不同的數(shù)據(jù)集即可實(shí)現(xiàn)數(shù)據(jù)集之間的相互風(fēng)格遷移.
CycleGAN 的基本思想是采用兩個(gè)基礎(chǔ)的生成式對抗網(wǎng)絡(luò),采用循環(huán)的方式訓(xùn)練,其網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示[17].
圖2 CycleGAN 的網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 GycleGAN networks structure
假設(shè)有兩個(gè)不同分布的數(shù)據(jù)集A與B,CycleGAN 中包含兩個(gè)基礎(chǔ)GAN 網(wǎng)絡(luò),一個(gè)負(fù)責(zé)把A類數(shù)據(jù)轉(zhuǎn)化成B類數(shù)據(jù),記作GANA to B,另一個(gè)負(fù)責(zé)把B類數(shù)據(jù)轉(zhuǎn)化成A類數(shù)據(jù),記作GANB to A.設(shè)原始的A類圖像為XA,通過GANA to B,可以得到原始圖像對應(yīng)的B類風(fēng)格圖像X′B.如果采用傳統(tǒng)圖像對模式,則存在XA對應(yīng)的真實(shí)圖像XB,這時(shí)只需將X′B和XB做均方差之類的損失計(jì)算,通過反向傳播更新生成網(wǎng)絡(luò)參數(shù)即可驅(qū)使生成式網(wǎng)絡(luò)生成內(nèi)容相匹配的圖像.當(dāng)無法獲取圖像對時(shí),CycleGAN 則把生成的X′B輸入GANB to A,生成相應(yīng)的A類圖像X′A,換言之就是試圖把生成的X′B還原成原圖像XA,此時(shí)計(jì)算XA和X′A之間的損失即可反向傳播去更新兩個(gè)生成對抗網(wǎng)絡(luò).這種循環(huán)的訓(xùn)練模式巧妙地實(shí)現(xiàn)了不存在圖像對時(shí)的兩類數(shù)據(jù)集之間相互轉(zhuǎn)化.
SealGAN 網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示,GENA to B和GENB to A是生成式對抗網(wǎng)絡(luò)中抽取出來的生成網(wǎng)絡(luò),采用循環(huán)訓(xùn)練的方式.與CycleGAN 網(wǎng)絡(luò)相比,本文所提出的SealGAN 中,每個(gè)生成網(wǎng)絡(luò)并沒有配備相應(yīng)的專屬判別網(wǎng)絡(luò),而是采用原始圖像和所有生成圖像單獨(dú)訓(xùn)練了兩個(gè)分類器,其中ClassifierAB用于區(qū)分A類和B類數(shù)據(jù),ClassifierRF用于區(qū)分真實(shí)圖像和生成圖像,然后將兩個(gè)分類器所計(jì)算出的損失加入到總損失中來更新整體網(wǎng)絡(luò)的參數(shù).
圖3 SealGAN 網(wǎng)絡(luò)結(jié)構(gòu)Fig.3 SealGAN networks structure
在CycleGAN 網(wǎng)絡(luò)中,采用GANA to B和GANB to A兩個(gè)基礎(chǔ)的生成式對抗網(wǎng)絡(luò)進(jìn)行循環(huán)訓(xùn)練,且有各自的判別網(wǎng)絡(luò).以GANA to B為例,它的判別網(wǎng)絡(luò)既需要判斷輸入圖像是屬于A類還是B類,還需要判斷輸入圖像是生成圖像還是原始真實(shí)圖像.其實(shí),生成對抗網(wǎng)絡(luò)中的判別網(wǎng)絡(luò)是一個(gè)分類器,對于分類器而言,分類要求越高則分類效果越差,而且兩個(gè)判別網(wǎng)絡(luò)雖然相互獨(dú)立,但是分類要求相似,采用的訓(xùn)練樣本交集較大.因此本文所提出的SealGAN 網(wǎng)絡(luò)采用兩個(gè)獨(dú)立的分類器取代兩個(gè)判別網(wǎng)絡(luò),一個(gè)分類器用于區(qū)分A類和B類數(shù)據(jù),另一個(gè)分類器用于區(qū)分生成圖像和真實(shí)圖像.相當(dāng)于用兩個(gè)獨(dú)立的分類器來取代原本的判別網(wǎng)絡(luò),網(wǎng)絡(luò)整體參數(shù)數(shù)量沒有太大變化,但是對于單個(gè)分類器其分類要求降低,分類效果更好.
CycleGAN 中有兩種生成網(wǎng)絡(luò)結(jié)構(gòu),殘差網(wǎng)絡(luò)ResNet 結(jié)構(gòu)和UNet 結(jié)構(gòu).ResNet 結(jié)構(gòu)用于解決層數(shù)較深的網(wǎng)絡(luò)難以訓(xùn)練的問題.在ResNet 結(jié)構(gòu)提出之前,研究人員在提升網(wǎng)絡(luò)性能上往往是單純的疊加網(wǎng)絡(luò)層數(shù).盡管網(wǎng)絡(luò)層數(shù)的增加能夠提高網(wǎng)絡(luò)的特征容量,理論上能更好地對樣本進(jìn)行擬合.但是實(shí)際訓(xùn)練中,當(dāng)網(wǎng)絡(luò)層數(shù)過大時(shí),參數(shù)的訓(xùn)練難度也大幅提升,過分引入的卷積層和非線性激活不僅無法提升網(wǎng)絡(luò)性能,而且還難以維持淺層網(wǎng)絡(luò)所達(dá)到的效果,從而出現(xiàn)了模型退化問題[18].Res-Net 結(jié)構(gòu)的核心是采用了跨層連接思想,引入了捷徑連接的概念[19].殘差網(wǎng)絡(luò)結(jié)構(gòu)如圖4 所示,由于捷徑連接的存在,在訓(xùn)練過程中,擬合的不再是目標(biāo)分布,而是目標(biāo)分布和上一層網(wǎng)絡(luò)輸出之間的殘差.當(dāng)淺層網(wǎng)絡(luò)能夠達(dá)到較好效果時(shí),殘差趨近于零.盡管在擬合殘差時(shí)也引入了卷積和非線性激活,但是要想擬合零只需要把所有參數(shù)都趨向零即可,網(wǎng)絡(luò)訓(xùn)練易于實(shí)現(xiàn).因此,ResNet 結(jié)構(gòu)的引入能夠在加深網(wǎng)絡(luò)層數(shù),提高網(wǎng)絡(luò)擬合能力的同時(shí),也能保證達(dá)到淺層網(wǎng)絡(luò)的效果,從而消除網(wǎng)絡(luò)退化問題.圖4 中F(x) 為待擬合的殘差函數(shù),H(x) 為待擬合的完整目標(biāo)函數(shù).
圖4 殘差網(wǎng)絡(luò)結(jié)構(gòu)Fig.4 Residual networks structure
UNet 結(jié)構(gòu)常用于圖像分割領(lǐng)域,其網(wǎng)絡(luò)結(jié)構(gòu)如圖5 所示.UNet 結(jié)構(gòu)包括下采樣和上采樣的過程.在上采樣過程中,先把下采樣和上采樣中尺度相同的層拼接在一起,再進(jìn)行卷積和反卷積操作.上采樣層和下采樣層之間的連接是UNet 結(jié)構(gòu)的亮點(diǎn),這些連接使得在上采樣過程中可保留了更多的原始圖像的紋理信息[20].
圖5 UNet 網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.5 Schematic diagram of UNet structure
本文提出的SealGAN 網(wǎng)絡(luò)中,生成網(wǎng)絡(luò)結(jié)合ResNet 和UNet 兩種結(jié)構(gòu),搭建了一個(gè)下采樣?精煉?上采樣的網(wǎng)絡(luò)結(jié)構(gòu),如圖6 所示.由于在消除印章的同時(shí),也希望能盡可能地保留印章下的內(nèi)容,而UNet 結(jié)構(gòu)的優(yōu)勢正是能更多地保留原始圖像紋理信息,因此在SealGAN 網(wǎng)絡(luò)的生成網(wǎng)絡(luò)中,上下采樣部分采用了UNet 結(jié)構(gòu),而精煉部分采用了ResNet 結(jié)構(gòu)以保證網(wǎng)絡(luò)的效果.
圖6 SealGAN 生成網(wǎng)絡(luò)結(jié)構(gòu)示意圖Fig.6 Schematic diagram of SealGAN generative networks structure
輸入圖像的尺寸統(tǒng)一縮放為 256×256,并把圖像像素歸一化到[?1,1]區(qū)間.為了保證消除印章后能夠盡可能保留印章下的內(nèi)容,下采樣通道數(shù)應(yīng)多于上采樣通道數(shù),以保證在上采樣時(shí)能夠有足夠多的原始圖像信息.多次實(shí)驗(yàn)發(fā)現(xiàn),下采樣的通道數(shù)與上采樣的通道數(shù)的比例設(shè)置為1.5 :1 時(shí)效果最佳.在生成網(wǎng)絡(luò)中,除了輸出層,其余層的激活函數(shù)均采用LeakyReLU.
輸出層采用tanh 激活函數(shù),保證輸出結(jié)果在[?1,1]區(qū)間內(nèi).
分類器網(wǎng)絡(luò)前四層的激活函數(shù)采用LeakyReLU,最后一層沒有激活.生成網(wǎng)絡(luò)以及分類器的相關(guān)參數(shù)如表1 所示.
表1 生成網(wǎng)絡(luò)和分類器參數(shù)表Table 1 Parameters of the generative network and classifier
損失函數(shù)包括兩個(gè)分類器的損失LossAB、LossRF和一個(gè)循環(huán)回來的圖像之間的像素?fù)p失LossG.設(shè)z為原始圖像,G為生成網(wǎng)絡(luò),D是分類器,A為帶印章圖像,B對應(yīng)的無印章圖像.原始的生成式對抗網(wǎng)絡(luò)所使用的損失均為交叉熵?fù)p失,在最近的研究中發(fā)現(xiàn),采用交叉熵?fù)p失存在梯度消失和模型坍塌的風(fēng)險(xiǎn)[21].相比于交叉熵?fù)p失,最小二乘損失效果更佳[22].因此,SealGAN 采用了最小二乘損失替換了交叉熵?fù)p失.除此以外,在計(jì)算生成圖像和原始圖像的內(nèi)容損失時(shí),也不再使用常見的L2損失,而是采用L1損失,因?yàn)長2損失驅(qū)動(dòng)下的生成圖像更為模糊.在訓(xùn)練分類器時(shí),損失函數(shù)如式(5)、(6)所示.當(dāng)訓(xùn)練生成網(wǎng)絡(luò)時(shí),損失函數(shù)如式(7)、(8)、(9)所示.其中,LossAB和LossRF的權(quán)重為1,LossG的權(quán)重為10 時(shí),生成效果最佳.
為了能夠更好地評價(jià)網(wǎng)絡(luò)的性能,本文提出針對印章消除的綜合評價(jià)指標(biāo)Evaluation-score(ES),包含風(fēng)格評價(jià)指標(biāo)Class-score (CS1)和內(nèi)容評價(jià)指標(biāo)Content-score (CS2),如下式所示.
式中的α和β是超參數(shù),可基于需求重要性進(jìn)行調(diào)整,本文實(shí)驗(yàn)中α和β均為1.
風(fēng)格評價(jià)指標(biāo)需要搭建一個(gè)分類網(wǎng)絡(luò),采用的訓(xùn)練樣本是真實(shí)的發(fā)票樣本,包含帶印章和不帶印章的樣本.本論文所搭建的分類網(wǎng)絡(luò)借鑒GoogleNet 網(wǎng)絡(luò)結(jié)構(gòu)[23],損失函數(shù)采用余弦損失函數(shù),目標(biāo)是讓帶印章樣本的輸出趨向于0,不帶印章樣本的輸出趨向于1.采用余弦損失函數(shù)能夠更好地增大類間距離,公式如式(11)所示[24].將生成的圖像通過訓(xùn)練好的分類網(wǎng)絡(luò),所得到的結(jié)果即為CS1,得分越高,則消除印章的效果越好.
內(nèi)容評價(jià)指標(biāo)則是利用生成圖像和原帶章圖像之間的均方根誤差計(jì)算的,均方根誤差越小,意味著保留的內(nèi)容越多.定義的內(nèi)容評價(jià)指標(biāo)如下:
訓(xùn)練圖像一共有六千余張發(fā)票圖,其中帶印章樣本和不帶印章樣本的比例約為1 :1,印章樣本包含了出租車票印章、增值稅發(fā)票印章、高速公路收費(fèi)票據(jù)印章、定額發(fā)票印章以及各類企業(yè)單位加蓋的公章.在訓(xùn)練網(wǎng)絡(luò)過程中,為選擇最佳的訓(xùn)練集和測試集比例,對CycleGAN-ResNet 網(wǎng)絡(luò)和CycleGAN-UNet 網(wǎng)絡(luò),以及本文所提的SealGAN 網(wǎng)絡(luò)等三種網(wǎng)絡(luò),采用不同的訓(xùn)練集和測試集劃分比例,包括7 :3、8 :2 和9 :1 三種,進(jìn)行對比實(shí)驗(yàn),并基于網(wǎng)絡(luò)性能綜合評價(jià)指標(biāo)ES進(jìn)行評價(jià).三種網(wǎng)絡(luò)不同數(shù)據(jù)集劃分比例的綜合評價(jià)指標(biāo)如圖7 所示.
圖7 三種網(wǎng)絡(luò)在不同數(shù)據(jù)集劃分比例下的性能指標(biāo)Fig.7 Performance indices of three networks under different division proportion of data set
由圖7 可知,隨訓(xùn)練集和測試集比例增大,網(wǎng)絡(luò)綜合性能評價(jià)指標(biāo)也在提升.為了讓每種網(wǎng)絡(luò)效果達(dá)到最佳,因此在論文實(shí)驗(yàn)中采用訓(xùn)練集和測試集比例為9 :1 分布進(jìn)行實(shí)驗(yàn)比對.
本文分別使用了文獻(xiàn)[5]的二次分割方法、采用ResNet 和UNet 生成網(wǎng)絡(luò)的CycleGAN 網(wǎng)絡(luò),以及SealGAN 網(wǎng)絡(luò),進(jìn)行發(fā)票印章消除實(shí)驗(yàn).訓(xùn)練模型時(shí),針對三種常見的優(yōu)化器Momentum、RMSProp 和Adam 進(jìn)行實(shí)驗(yàn)對比,最終選擇穩(wěn)定性最佳的Adam 優(yōu)化器.每種網(wǎng)絡(luò)均訓(xùn)練了20 個(gè)Epoch,Batch Size 均為4.學(xué)習(xí)率的初始值是0.0002,每訓(xùn)練一個(gè)Epoch,學(xué)習(xí)率下降10 %.在CycleGAN 模型中,針對生成器和判別器不同的損失權(quán)重比,包括1 :1,5 :1,10 :1 和15 :1,通過網(wǎng)絡(luò)綜合評價(jià)指標(biāo)ES進(jìn)行測試對比,可知10:1 為最佳損失權(quán)重比.基于上述的參數(shù)設(shè)定進(jìn)行實(shí)驗(yàn),圖8 是四種方法對發(fā)票印章消除的效果.
圖8 基于二次分割、CycleGAN-ResNet、CycleGAN-UNet 和SealGAN 的印章消除對比Fig.8 Comparsion of effect of the seal elimination based on re-segmentation,CycleGAN-ResNet,CycleGAN-UNet and SealGAN
由圖中可知,采用二次分割的方法效果最差,由于方法的核心思想是對顏色進(jìn)行閾值分割來獲取印章部分再進(jìn)行修改,所以當(dāng)發(fā)票顏色復(fù)雜時(shí),對印章部分的定位不完整,導(dǎo)致印章消除不全,而且對于獲取到的印章部分采用直接填充背景方法,對發(fā)票內(nèi)容造成影響.采用ResNet 生成網(wǎng)絡(luò)的CycleGAN,生成的結(jié)果比較模糊,色彩與原圖相比,色差巨大;除此以外,內(nèi)容丟失也很嚴(yán)重.采用UNet生成網(wǎng)絡(luò)的CycleGAN,由于UNet 在進(jìn)行上采樣時(shí)融合了下采樣層的特征,保證了上采樣過程中保留更多的原始信息,因此色彩問題得到解決,但是依舊有明顯的內(nèi)容丟失,特別是當(dāng)內(nèi)容的顏色與印章的顏色相近時(shí).基于SealGAN 網(wǎng)絡(luò)的印章消除,采用了下采樣?精煉?上采樣的生成結(jié)構(gòu),而且上采樣過程也融入了下采樣層的原始信息,因此色差問題基本不存在,生成的結(jié)果相比于前兩個(gè)網(wǎng)絡(luò)的實(shí)驗(yàn)結(jié)果要清晰很多.除此以外,由于SealGAN 并不是簡單地用兩個(gè)基礎(chǔ)GAN 網(wǎng)絡(luò)搭建的循環(huán)結(jié)構(gòu),而是用兩個(gè)專門的分類器來替代判別器,其中一個(gè)分類器專門區(qū)分真實(shí)樣本和生成樣本,另一個(gè)專門區(qū)分帶章樣本和不帶章樣本.這種替換使得網(wǎng)絡(luò)能夠更好地學(xué)習(xí)到哪些部分屬于印章,哪些部分不屬于印章,因此SealGAN 網(wǎng)絡(luò)可更好地保留非章內(nèi)容.
三種不同網(wǎng)絡(luò)消除發(fā)票印章的評價(jià)如表2 所示,可知SealGAN 具有最高得分.
表2 三種網(wǎng)絡(luò)性能評價(jià)指標(biāo)Table 2 Performance evaluation indices of three kinds of network
本文針對發(fā)票上消除印章的問題,分析了Cycle-GAN 網(wǎng)絡(luò)的優(yōu)缺點(diǎn),并基于此進(jìn)行相應(yīng)改進(jìn),提出SealGAN 網(wǎng)絡(luò)結(jié)構(gòu),設(shè)計(jì)了包括風(fēng)格評價(jià)和內(nèi)容評價(jià)的網(wǎng)絡(luò)綜合評價(jià)指標(biāo).SealGAN 網(wǎng)絡(luò)用兩個(gè)獨(dú)立的分類器來取代原本的判別網(wǎng)絡(luò),可降低單個(gè)分類器的分類要求,提高網(wǎng)絡(luò)的學(xué)習(xí)效果,同時(shí)生成網(wǎng)絡(luò)結(jié)合ResNet 和Unet 兩種結(jié)構(gòu),實(shí)現(xiàn)下采樣?精煉?上采樣的過程,能夠生成更加清晰的圖像.基于發(fā)票印章消除實(shí)驗(yàn),與原始的CycleGAN 進(jìn)行對比可看出,本文所提出的SealGAN 無論是在模糊程度、生成色彩等圖像細(xì)節(jié)上,還是內(nèi)容的保留程度上都要明顯優(yōu)于原始的CycleGAN 網(wǎng)絡(luò),且綜合評價(jià)指標(biāo)高于CycleGAN 網(wǎng)絡(luò),實(shí)驗(yàn)結(jié)果表明了所提出的SealGAN 網(wǎng)絡(luò)的有效性.未來可進(jìn)一步提高非章內(nèi)容的保留效果,尤其是當(dāng)印章與印章下的發(fā)票內(nèi)容顏色很相近時(shí),并可針對發(fā)票復(fù)印件進(jìn)行印章消除研究.