文字檢測算法之Pixel-Anchor, TextBoxes++與EAST的結(jié)合

前言

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方法和anchor-based方法的回歸方式

其中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分支的網(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)如下圖所示:

SSD分支網(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 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)少梁,證明該算法的有效性。下面是效果圖:

中文以及icdar2015的數(shù)據(jù)樣例

可以看到矫付,圖中的長文本凯沪、小文本檢測較為良好,這都?xì)w功于ASPP和大的寬高比的anchors和卷積买优。

以下是在ICDAR2015上的實(shí)驗(yàn)結(jié)果:

ICDAR2015算法性能

文章老早就在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é)果:

ICDAR2017 MLT上性能

分析

文章結(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)該會很長吧)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市狡恬,隨后出現(xiàn)的幾起案子珠叔,更是在濱河造成了極大的恐慌,老刑警劉巖弟劲,帶你破解...
    沈念sama閱讀 211,194評論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件祷安,死亡現(xiàn)場離奇詭異,居然都是意外死亡兔乞,警方通過查閱死者的電腦和手機(jī)汇鞭,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評論 2 385
  • 文/潘曉璐 我一進(jìn)店門凉唐,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人霍骄,你說我怎么就攤上這事台囱。” “怎么了读整?”我有些...
    開封第一講書人閱讀 156,780評論 0 346
  • 文/不壞的土叔 我叫張陵簿训,是天一觀的道長。 經(jīng)常有香客問我米间,道長强品,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,388評論 1 283
  • 正文 為了忘掉前任屈糊,我火速辦了婚禮的榛,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘逻锐。我一直安慰自己困曙,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評論 5 384
  • 文/花漫 我一把揭開白布谦去。 她就那樣靜靜地躺著,像睡著了一般蹦哼。 火紅的嫁衣襯著肌膚如雪鳄哭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評論 1 290
  • 那天纲熏,我揣著相機(jī)與錄音妆丘,去河邊找鬼。 笑死局劲,一個胖子當(dāng)著我的面吹牛勺拣,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鱼填,決...
    沈念sama閱讀 38,907評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼药有,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了苹丸?” 一聲冷哼從身側(cè)響起愤惰,我...
    開封第一講書人閱讀 37,679評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎赘理,沒想到半個月后宦言,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡商模,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評論 2 325
  • 正文 我和宋清朗相戀三年奠旺,在試婚紗的時候發(fā)現(xiàn)自己被綠了蜘澜。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,605評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡响疚,死狀恐怖鄙信,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情稽寒,我是刑警寧澤扮碧,帶...
    沈念sama閱讀 34,270評論 4 329
  • 正文 年R本政府宣布,位于F島的核電站杏糙,受9級特大地震影響慎王,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宏侍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評論 3 312
  • 文/蒙蒙 一赖淤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谅河,春花似錦咱旱、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至褂始,卻和暖如春诸典,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背崎苗。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評論 1 265
  • 我被黑心中介騙來泰國打工狐粱, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人胆数。 一個月前我還...
    沈念sama閱讀 46,297評論 2 360
  • 正文 我出身青樓肌蜻,卻偏偏與公主長得像,于是被迫代替她去往敵國和親必尼。 傳聞我的和親對象是個殘疾皇子蒋搜,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評論 2 348

推薦閱讀更多精彩內(nèi)容