前言
pixel-anchor是云從科技前幾天放出來的論文,文章提出了east和Textboxes++的合體模型焕数,通過結(jié)合anchor-based和pixel-based的檢測方法的特性纱昧,達(dá)到了SOTA。不過就整個框架而言堡赔,創(chuàng)新點(diǎn)雖然不多识脆,但是預(yù)感會帶起一波檢測與分割結(jié)合的文字檢測方法。
文章脈絡(luò)
- anchor-based和pixel-based方法的優(yōu)缺點(diǎn)
- 網(wǎng)絡(luò)結(jié)構(gòu)
- 結(jié)果分析
- 模型分析
anchor-based和pixel-based的檢測方法
anchor-based的方法可以分為兩個派系善已,一類是faster-rcnn,另外一類是SSD系列灼捂。
其中,基于faster-rcnn的方法具體代表有如下方法:
- RRPN:提出帶角度的anchor,設(shè)計(jì)的anchor需要足夠多的角度以及尺度覆蓋場景中的文本,但是為了覆蓋所有的文本尺度變化以及角度换团,需要人工設(shè)計(jì)較多的尺度悉稠;
- R2CNN:提出不同感受野的roipooling:7x7,3x11, 11x3用來檢測多角度的文本
- CTPN:更改RPN anchor為水平方向的序列anchor,利用后處理將anchor連接成行
- InceptText:基于FCIS,加入Deformble conv和deformable PSROIpooing回去較強(qiáng)的感受野艘包,同時加入inception module獲取豐富感受野的猛,檢測文字
- FTSN:InceptText的平民版本
- etc
而基于SSD的方法具體代表如下:
- TextBoxes and TextBoxes++:基于SSD,更改多尺度層中國的anchor尺度耀盗,并加入對傾斜框支持
- SegLink:基于SSD,將文本分為segments和Links卦尊,多尺度預(yù)測segments和link叛拷,利用后處理方法連接成文本
- etc
這類方法主要依賴anchor的選取,因?yàn)槲谋镜某叨茸兓瘎×颐担沟么祟惙椒╝nchor的數(shù)量較多胡诗,進(jìn)而效率較低。同時由于anchor的匹配機(jī)制淌友,每次針對roi區(qū)域生成一系列的anchor,篩選合適的anchor最為勝負(fù)樣本的標(biāo)簽煌恢,在預(yù)測階段由于proposals很多,使得recall通常較高震庭;但是瑰抵,對于較長而且密集的文本行而言,此時的anchor寬高比可能高于10,甚至更高器联,不但網(wǎng)絡(luò)需要更大的感受野二汛,同時需要配合較大寬高比的anchor,此時基于anchor的檢測方法需要精心設(shè)計(jì)拨拓,使得anchor盡可能的覆蓋所有的文本尺度肴颊。
對比Pixel-based的方法,如:
- pixellink:基于FCN分割網(wǎng)絡(luò)渣磷,加入對pixel score Map的預(yù)測和當(dāng)前像素與周圍像素link的預(yù)測婿着,后處理獲得文本實(shí)例
- sotd:純分割網(wǎng)絡(luò),加入border醋界,用來分割密集文本竟宋。后處理通過minAreaRect獲得檢測框
- PSENet:FPN,預(yù)測不同大小的kernel,通過擴(kuò)張算法得到各自的文本實(shí)例
- EAST:resnet50-based Unet空骚,加入geo_map和score_map的預(yù)測渐行,最后通過每個像素預(yù)測框Nms得到最后的預(yù)測框
- DDR:EAST的孿生版本
- FOTS:基于EAST改進(jìn)翠肘,加入OHEM, ROIRotate以及識別分支
- etc
通常為分割+回歸酷勺,或者單獨(dú)的分割接后處理的形式。這類方法基礎(chǔ)網(wǎng)絡(luò)多為Unet或者FPN仗哨,因此對小目標(biāo)分割具有一定的優(yōu)勢盗迟,但是其回歸的方式多依賴網(wǎng)絡(luò)的感受野:如east娩缰,DDR脂新, FOTS秽澳。雖然通過一些樣本挖掘的方法可以獲得一定的提升,但是感受野不足導(dǎo)致此類模型在回歸較長文本或者較大文本時戏羽,容易出現(xiàn)檢測不全或者丟失的情況。
上述是三種方法的回歸方式可以用下圖表示:
其中pixel-based的回歸方法楼吃,回歸時每個像素點(diǎn)預(yù)測到四條邊或者四個角點(diǎn)的絕對距離始花,這類方法妄讯,當(dāng)文本較長或者較大時,如果網(wǎng)絡(luò)感受野不夠充足酷宵,會導(dǎo)致預(yù)測的值不能到到達(dá)文本的邊界亥贸,出現(xiàn)文本框斷裂的情況;而Link regression的方法浇垦,典型代表為PSENet,pixellink等方法炕置,此類方法對感受野依賴較小,因?yàn)殛P(guān)注的是像素與其周圍像素的從屬關(guān)系男韧。如pixellink朴摊,除了對當(dāng)前像素預(yù)測其屬于文本還是非文本,同時會預(yù)測其與周圍8個像素的連接關(guān)系此虑,如果存在連接甚纲,則輸入同一個文本實(shí)例。但是此類方法依賴的一點(diǎn)為分割結(jié)果圖的準(zhǔn)確性朦前。如果分割不夠精準(zhǔn)介杆,容易出現(xiàn)像素逐漸的引入周圍的噪聲,出現(xiàn)錯誤的預(yù)測結(jié)果韭寸。同時春哨,對于文本區(qū)域較為稀疏的情況,此類方法難以實(shí)用恩伺,因?yàn)槲谋鹃g隙的背景信息赴背,在訓(xùn)練過程中為噪聲信息,當(dāng)背景信息足夠多莫其,或者上下文信息迫使網(wǎng)絡(luò)將其預(yù)測為背景癞尚,就會出現(xiàn)文本無法被檢測出來的情況。典型的文字為大而鏤空的文字乱陡。這也是多數(shù)文字檢測算法無法將其完整檢測的原因浇揩。
針對上述的檢測方法的弱點(diǎn),作者提出了anchor-based和pixel-based結(jié)合的方法憨颠,結(jié)合兩種方法的優(yōu)勢胳徽,不僅在icdar2015上達(dá)到了SOTA,同時對長行的中文檢測場景有較好的適應(yīng)性。
網(wǎng)絡(luò)結(jié)構(gòu)
網(wǎng)絡(luò)結(jié)構(gòu)可以分為兩部分爽彤,其中pixel-based的方法為對EAST的改進(jìn)养盗,anchor-based的方法為對SSD的改進(jìn)。前者主要為了檢測中等的文本适篙,后者主要為了檢測長行和較小的文本往核。
針對EAST的改進(jìn)
網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示:
針對EAST的改進(jìn),文章延續(xù)FOTS對EAST的改進(jìn)嚷节,加入以下插件:
- ASPP
- OHEM:針對分類和回歸
ASPP來自deeplab中聂儒,其主要作用是在不降低feature map分辨率的情況下虎锚,提升網(wǎng)絡(luò)的感受野,即可以提升模型獲取上下文信息的能力衩婚。它會帶來什么效果呢窜护?
首先,是分割效果更為精準(zhǔn)非春。分割一個物體柱徙,網(wǎng)絡(luò)往往借助的是該物體周圍的信息,比如奇昙,分割前景护侮,我們需要找到背景信息;當(dāng)感受野變大時敬矩,對于較長的文本或者較大的文本概行,可以很好的找到其邊界,進(jìn)而分割出較高質(zhì)量的文本區(qū)域弧岳;其次凳忙,感受野的提升,會是的回歸的距離變長禽炬。即geo_map中的值表示涧卵,當(dāng)前像素到四條邊的距離。而網(wǎng)絡(luò)建立起當(dāng)前像素與邊界之間的距離關(guān)系腹尖。當(dāng)上下文信息充足時柳恐,可以準(zhǔn)確的建立起距離關(guān)系,進(jìn)而邊界預(yù)測足夠精準(zhǔn)热幔。因此文章加入ASPP的作用主要是以上兩點(diǎn)乐设,分割精準(zhǔn)+邊界定位精準(zhǔn)。
OHEM常用來進(jìn)行困難樣本挖掘绎巨。對于文字區(qū)域的分割近尚,存在樣本的不平衡,文字區(qū)域往往占比比較小场勤,背景占比比較大戈锻。同時,對于一張圖中的多個文本和媳,小的文本區(qū)域的損失往往被大文本區(qū)域損失覆蓋格遭;而且還有一種情況,背景中存在難以區(qū)分的樣本留瞳,這些背景容易導(dǎo)致模型將類似的文本區(qū)域分為背景拒迅。因此加入OHEM,可以對這部分背景信息進(jìn)行挖掘,同時在訓(xùn)練過程中正負(fù)樣本進(jìn)行均衡,避免了類別不均衡的問題坪它。
以上就是該文章對EAST部分的改進(jìn)骤竹。其實(shí)OHEM來自FOTS對EAST的改進(jìn),ASPP在此之前已經(jīng)嘗試過往毡,確實(shí)會帶來邊界預(yù)測的提升。
對于這部分EAST靶溜,除了預(yù)測以往的文本區(qū)域的score_map和geo_map, 同時預(yù)測一張attention map用于對anchor-based分支的信息的輔助开瞭。
針對Textboxes++的改進(jìn)
網(wǎng)絡(luò)結(jié)構(gòu)如下圖所示:
文章在EAST的基礎(chǔ)上,加入了anchor-based檢測分支罩息,主要針對文字尺度以及寬高比較大的變化嗤详,文章對SSD進(jìn)行了定制。如上面右圖所示瓷炮。文章主要利用來自ResNet50中的1/4和1/16的feature map:
對于1/4的map葱色,由于其處于底層,因此具有一定的分辨率娘香,對于檢測較小的文字具有一定優(yōu)勢苍狰。同時由于此處的特征語義信息較弱,文章將east分支得到的attention map用在此處烘绽,主要為了對該層加入一定的語義信息淋昭。具體操作為,對來自east的attention map輸出進(jìn)行exp激活安接,然后與1/4 feature map進(jìn)行對應(yīng)位置的加權(quán)翔忽。這么做的好處是,對1/4feature map上的信息盏檐,屬于文本的像素進(jìn)行加強(qiáng)歇式,對于不屬于文本的像素進(jìn)行抑制,突出文本信息胡野。文章說材失,這么做可以很大程度的減少錯誤檢測。這里需要解釋下為什么anchor-based的方法檢測小目標(biāo)會出現(xiàn)較高的fp.原因在于给涕,在較高分辨率的feature map上生成proposals時豺憔,由于像素點(diǎn)比較多,目標(biāo)較小够庙,因此整張圖中網(wǎng)格都處于負(fù)樣本區(qū)域恭应,極少數(shù)網(wǎng)格落在正樣本區(qū)域。這樣在預(yù)測是耘眨,負(fù)樣本較正樣本多昼榛,而且負(fù)樣本的方差較大,因此容易導(dǎo)致分類的錯誤,因此容易出現(xiàn)fp.
對于1/16的map胆屿,文章進(jìn)一步的進(jìn)行特征提取奥喻,一是為了獲得更大的感受野,二是為了獲得多尺度的信息非迹。分別為1/32. 1/64, 1/64, 1/64环鲤。但是為了避免出現(xiàn)很小的feature map,文章在后面的feature map保持在1/64。但為了繼續(xù)提升感受野憎兽,文章在后面兩個尺度的的生成時冷离,加入了空洞卷積,在分辨率不減小的情況下纯命,獲得較大感受野西剥。對于每一層的feature map,文章在其后加入APL層,層中內(nèi)容如上圖右圖中的左半部分所示亿汞,分別為不同的卷積核搭配不同的寬高比瞭空,實(shí)現(xiàn)對不同尺度,不同角度的文本的cover.如3x3為方框疗我,3x5主要為了檢測水平傾斜的文字咆畏,5x3為了檢測垂直傾斜的文字。1xn,nx1主要為了檢測水平和豎排長行的文字碍粥”钛郏可以看到有夸張的1:35,35:1的寬高比,這在中文場景是很常見的嚼摩。
在經(jīng)過以上APL層之后钦讳,將得到的proposal進(jìn)行拼接,預(yù)測最終搞得四邊形區(qū)域枕面。
此外愿卒,文章為了檢測密集文本,加入了anchor density,如下圖所示:
對于每個anchor,進(jìn)行一定的位置的偏移潮秘,是的對于密集的文本來說琼开,可以獲得理想的proposals.
關(guān)于后處理
在預(yù)測階段,文章采用fusion NMS的方法:用anchor-based的方法對小文本和長文本進(jìn)行檢測枕荞,pixel—based的方法用來檢測中等的文字柜候。其實(shí)也算揚(yáng)長避短。EAST的優(yōu)勢在于檢測小文本和中等文本躏精,對于長文本無力渣刷。而對于SSD,可以利用夸張的寬高比檢測這些難以檢測的文字矗烛。對于1/4 map上的anchors和其他mao上的長anchors都會被保留辅柴,因?yàn)?/4上的anchors足夠cover小文本,而對于長文本,或者大角度的文本碌嘀,不具有檢測能力涣旨。不會因?yàn)閍nchor的匹配機(jī)制篩掉挨得很近的框。而對于EAST預(yù)測分支股冗,過濾掉小于10像素霹陡,以及寬高比不在[1:15, 15:1]的范圍的文字。最后將這些box集合到一起魁瞪,通過nms篩選得到最后的框穆律。
實(shí)驗(yàn)
數(shù)據(jù)增強(qiáng)
文章中提出的loss分別為pixel-loss和anchor-loss,通過設(shè)置一定的比例進(jìn)行調(diào)整對模型的貢獻(xiàn)。在訓(xùn)練過程中导俘,文章從原圖中隨機(jī)crop 640x640大小的的圖片區(qū)域輸入至網(wǎng)絡(luò)中進(jìn)行訓(xùn)練。然后模型首先在SynthText上進(jìn)行與訓(xùn)練剔蹋,然后在此基礎(chǔ)上對各組實(shí)驗(yàn)進(jìn)行微調(diào)旅薄。
結(jié)果
文章針對小文本、長文本泣崩、大角度文本分別作了實(shí)驗(yàn)少梁,證明該算法的有效性。下面是效果圖:
可以看到矫付,圖中的長文本凯沪、小文本檢測較為良好,這都?xì)w功于ASPP和大的寬高比的anchors和卷積买优。
以下是在ICDAR2015上的實(shí)驗(yàn)結(jié)果:
文章老早就在git上宣傳妨马,現(xiàn)在看來效果還是很不錯的,單尺度達(dá)到了SOTA杀赢。 這里可以對比一下TextBoxes++烘跺,EAST以及pixel-anchor。
EAST針對分割和回歸加入OHEM后f1-score可以從80.72提升至85.31,這是FOTS做的事情脂崔。也就是說滤淳,在此基礎(chǔ)上,加入ASPP砌左,同樣會帶給EAST性能的提升脖咐。也就是文章在加入attention分支,以及anchor-based分支之后汇歹,性能從85.31+提升至87.68屁擅。這里面主要貢獻(xiàn)來自:
- SSD分支對較大文本以及較長文本的檢測,換句話說這部分較大的感受野對基礎(chǔ)網(wǎng)絡(luò)EAST的矯正有一定的幫助秤朗,同時attention map與1/4的結(jié)合煤蹭,也會提升EAST對文本的召回。
- 對于EAST無法檢測出來的文本,通過SSD分支可以進(jìn)行彌補(bǔ)硝皂,因此召回提升很多
- 對于精度方面常挚,可以看出存在一定的誤檢,這主要來自于SSD對小目標(biāo)的誤檢(我猜的)
在多語言ICDAR2017 MLT上稽物,同樣的結(jié)果:
分析
文章結(jié)合了anchor-based和pixel-based的方法的優(yōu)點(diǎn)奄毡,揚(yáng)長避短,一定程度上解決了長行贝或,小文本以及傾斜文本的檢測吼过。但是anchor-based的分支依賴較強(qiáng)的手工設(shè)定anchor,同時anchor-based的缺點(diǎn)未必可以利用pixel-based的方法彌補(bǔ)回來。再者咪奖,論文中相當(dāng)于是針對Textboxes++添加了EAST分支盗忱,多任務(wù)網(wǎng)絡(luò)勢必帶來效果的提升,但是論文沒有針對每一個模塊帶來的提升做詳細(xì)分析羊赵,比如ASPP的提升趟佃,SSD的提升等。不管怎么說昧捷,效果好就是好方法闲昭,而且也是少見的拿出來解決長行的檢測方法。
總結(jié)
如今的檢測方法逐漸的從anchor-based的方法轉(zhuǎn)向了語義分割靡挥,接著出現(xiàn)了實(shí)例分割的相關(guān)算法序矩,現(xiàn)在又在結(jié)合兩者。在多角度文本檢測時跋破,分割的效果比anchor-based的方法適用性更強(qiáng)簸淀。因此,如果能夠把a(bǔ)nchor-based的方法徹底解放幔烛,無需手工設(shè)計(jì)anchor,然后基于分割的方法進(jìn)一步的簡化啃擦,兩者的結(jié)合應(yīng)該會灰常的厲害吧。期待中饿悬。(PS:參考文獻(xiàn)這里就不放了令蛉,應(yīng)該會很長吧)