ECCV2018論文:TextSnake: A Flexible Representation for Detecting Text of Arbitrary Shapes
文章鏈接:https://arxiv.org/abs/1807.01544
github鏈接:https://github.com/princewang1994/TextSnake.pytorch
? ? ? ? 記錄下自己在學(xué)習(xí)彎曲文本檢測(cè)中遇到的一些比較好的檢測(cè)算法雕欺,如:CTD+TLOC姻几、TextSnake陨收、Psenet、CRAFT等等没佑。在場(chǎng)景文本檢測(cè)算法中毕贼,從研究場(chǎng)景中水平多向文本開始,到如今不斷出現(xiàn)檢測(cè)扭曲文本的算法蛤奢,而且越來越多優(yōu)秀的算法開始出現(xiàn)鬼癣,這次先記錄下TextSnake。远剩。扣溺。。瓜晤,在數(shù)據(jù)集(Total-Text?and?SCUT-CTW1500)上锥余,獲得了state-of-the-art的效果。
????????(a)矩形框選痢掠,(b)旋轉(zhuǎn)矩形驱犹,(c)四邊形嘲恍,(d)蛇形(凸多邊形),這也是近些年來(a雄驹、b佃牛、c)針對(duì)水平多向等文本檢測(cè)的一個(gè)變化改進(jìn)趨勢(shì),而(d)是本文作者提出的一種新的文本行構(gòu)建形狀(凸多邊形)医舆,相比于其他三種形式俘侠,可以去除更多的背景無關(guān)區(qū)域,以適應(yīng)各種形狀文本蔬将。
TextSnake構(gòu)建:
? ? ? ? 首先定義TextSnake的基本單元爷速,圓盤(Disk),我們將任意彎曲形狀(假設(shè)文字與文字之間霞怀,同一個(gè)文字的不同部分之間不會(huì)重疊)的文本描述為若干不同大小的圓盤序列惫东,每個(gè)圓盤擁有幾個(gè)屬性D=(c,r毙石,):中心c=(x廉沮,y),圓盤半徑(r)徐矩,圓盤方向()滞时。所有圓盤序列的中心點(diǎn)連接可以構(gòu)成一條中心線(text center line, TCL),具體如下圖滤灯,綠色為中心線漂洋,黃色區(qū)域?yàn)槲淖謪^(qū)域(text region, TR),藍(lán)色為每個(gè)圓盤區(qū)域力喷,這里要注意的是,圓盤的方向θ表示的是該圓盤的中心點(diǎn)與下一個(gè)圓盤中心點(diǎn)連接線和水平方向的角度演训。
????????文本實(shí)例t可以看作是一個(gè)有序列表S(t)弟孟。S(t)={D0,D1,…,Di,…,Dn},其中Di代表第i個(gè)圓盤样悟,n代表圓盤數(shù)拂募。當(dāng)獲得S(t)后,則可可以通過構(gòu)建DL模型來學(xué)習(xí)圓盤的各種集合屬性窟她,最后用于推測(cè)文字的位置和形狀陈症。
網(wǎng)絡(luò)結(jié)構(gòu)(pipeline):
????????基于FCN+FPN網(wǎng)絡(luò)預(yù)測(cè)文本框,包含特征提取震糖、特征合并录肯、輸出層三個(gè)階段,如下圖所示吊说,主干網(wǎng)絡(luò)(藍(lán)色)結(jié)構(gòu)為一個(gè)VGG-16/19網(wǎng)絡(luò)论咏,VGG分為5次下采樣优炬,最后將原圖縮小為1/32大小,并開始上采樣厅贪,融合下采樣時(shí)的特征圖:
????????按順序疊加各個(gè)階段蠢护,每個(gè)階段由一個(gè)從上一階段提取的特征圖和相應(yīng)的主干網(wǎng)絡(luò)層組成。合并過程由下列方程定義:
第五個(gè)合并階段之后养涮,得到一個(gè)新的特征圖葵硕,其size為原始輸入圖像的1/2;然后贯吓,增加上采樣層和2個(gè)卷積層產(chǎn)生最終的像素級(jí)預(yù)測(cè)輸出層P懈凹,其中最后一個(gè)卷積層為1x1的卷積把特征圖映射為[B,H, W, 7]的7通道特征圖P,其中H和W是原圖的高和寬宣决,B為batchsize蘸劈,7通道分為:文本中心線(TCL,Text Center Line)2個(gè)通道、文本區(qū)域(TR,Text Region)2個(gè)通道尊沸,圓盤的幾何屬性(r威沫、cosθ和sinθ)3個(gè)通道。
????????在前向傳播之后洼专,網(wǎng)絡(luò)輸出層生成TCL棒掠、TR和幾何圖屬性。對(duì)于TCL和TR的后處理屁商,分別采用Ttcl和Ttr值閾值操作烟很;然后,將預(yù)測(cè)得到的TCL的mask和TR的mask做一個(gè)element-wise product得到了最終的TCL區(qū)域(利用TR與TCL的交集消除噪點(diǎn))蜡镶,(值得借鑒一下)雾袱。
Inference:
以TCL區(qū)域的任意一個(gè)點(diǎn)作為起始點(diǎn),做Centralizing操作(Act(a)操作)官还,具體步驟如下
初始化:在起始點(diǎn)利用sin和cos畫出改點(diǎn)位置的切線(虛線)和法線(實(shí)線)
Act(a) Centralizing: 法線部分與TCL區(qū)域第一次相交的兩個(gè)點(diǎn)取中點(diǎn)作為Centraling點(diǎn)
Act(b) Striding: 選定Centraling點(diǎn)芹橡,想切線方向邁一步,步長(zhǎng)為±r×cosθ望伦。
Act(c) Sliding: 從初始點(diǎn)的左右分別都生成到末端林说,每次在中心點(diǎn)畫一個(gè)圓,最后所有被圓覆蓋的地方我們就作為Text預(yù)測(cè)出來屯伞。
此外文章采用了啟發(fā)式的過濾規(guī)則:
1腿箩、如果TCL的mask面積不到半徑的0.2倍,剔除劣摇。
2珠移、如果最終預(yù)測(cè)出來的Text面積與TR的交集不到TR的一半,剔除。
生成標(biāo)簽:
文本中心線:本文方法也依賴一個(gè)前提假設(shè)剑梳,即假設(shè)文本實(shí)例是蛇形的唆貌,不會(huì)分叉到多個(gè)分支。對(duì)于蛇形文本實(shí)例垢乙,它有兩個(gè)邊锨咙,分別是頭部和尾部,即如圖7(a)中的AH和DE(底邊)追逮。頭部或尾部附近的兩條邊是平行的酪刀,但方向相反,如圖7(a)中的AB和GH钮孵。
1骂倘、確定底邊:
????????由一組頂點(diǎn){v0,v1,v2,…,vn}按順時(shí)針或逆時(shí)針順序表示文本實(shí)例t,確定一條邊ei,i+1是底邊的度量方式是旁邊的兩條邊夾角是180度巴席,定義一條邊是底邊的度量指標(biāo):
2漾唉、分割長(zhǎng)邊:
????????確定底邊以后荧库,他們首尾連接就得到了對(duì)應(yīng)的長(zhǎng)邊,對(duì)兩個(gè)邊線(ABCD和HGFE)上采樣相同數(shù)量的錨點(diǎn)赵刑,將兩個(gè)長(zhǎng)邊分為相等的小段分衫,把每個(gè)等分點(diǎn)相連,對(duì)應(yīng)點(diǎn)連接后取中點(diǎn)般此,這個(gè)中點(diǎn)就是TCL的所在點(diǎn)蚪战,而連接線的長(zhǎng)度就是圓盤的直徑,兩點(diǎn)之間連線的角度就是方向铐懊。
3邀桑、生成圓盤和TCL:
????????為了讓TCL能夠完全包括在TR中,本文作者將TCL的兩端縮小1/2 r(兩端TCL點(diǎn)的半徑)像素科乎,這可以令TCL位于TR內(nèi)概漱,并使網(wǎng)絡(luò)更容易學(xué)習(xí)兩個(gè)相鄰的文本實(shí)例。又因?yàn)閱吸c(diǎn)線容易產(chǎn)生噪聲喜喂,所以本文將TCL的面積擴(kuò)大1/5 r,如(c)圖中的淺紅色區(qū)域竿裂。
損失函數(shù):
????????損失函數(shù)包括兩個(gè)部分玉吁,分類loss和回歸loss:
分類loss用于TR和TCL的分類,使用的是普通的Cross Entropy腻异,而回歸loss都是用了SmoothL1Loss:进副,其中,Lcls代表TR和TCL的分類損失,Lreg代表r影斑、cosθ和sinθ的回歸損失给赞;Ltr和Ltcl分別是TR和TCL的交叉熵?fù)p失;Lr, Lsin和Lcos為smooth-L1損失:
實(shí)驗(yàn):
? ? ? ? 本文實(shí)驗(yàn)效果圖矫户,具體實(shí)驗(yàn)參數(shù)設(shè)置等細(xì)節(jié)見論文片迅。
????TextSnake提出一種基于圓盤覆蓋的文字結(jié)構(gòu)表示,確實(shí)是比較新穎的皆辽,值得學(xué)習(xí)柑蛇,而且文章實(shí)驗(yàn)效果還是很好的,但是2019年也出現(xiàn)許多其他優(yōu)秀的算法(SPCNET等)來檢測(cè)場(chǎng)景文本,同時(shí)簡(jiǎn)化了后處理的過程驱闷。
參考:
[1]:http://blog.prince2015.club/2019/01/06/TextSnake/
[2]: S. Long, J. Ruan, W. Zhang, X. He, W. Wu, and C. Yao.Textsnake: A flexible representation for detecting text of ar-bitrary shapes. In ECCV, pages 19–35. Springer, 2018. 2, 7,8