場(chǎng)景文本檢測(cè)(TextSnake)

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毙石,\theta ):中心c=(x廉沮,y),圓盤半徑(r)徐矩,圓盤方向(\theta )滞时。所有圓盤序列的中心點(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)為±\frac{1}{2} 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):

若M(ei历涝,i+1)? 接近--1,則為底邊

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末耻台,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子空另,更是在濱河造成了極大的恐慌盆耽,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,843評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件扼菠,死亡現(xiàn)場(chǎng)離奇詭異摄杂,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)娇豫,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門匙姜,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人冯痢,你說我怎么就攤上這事氮昧。” “怎么了浦楣?”我有些...
    開封第一講書人閱讀 163,187評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵袖肥,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我振劳,道長(zhǎng)椎组,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,264評(píng)論 1 292
  • 正文 為了忘掉前任历恐,我火速辦了婚禮寸癌,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘弱贼。我一直安慰自己蒸苇,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,289評(píng)論 6 390
  • 文/花漫 我一把揭開白布吮旅。 她就那樣靜靜地躺著溪烤,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上檬嘀,一...
    開封第一講書人閱讀 51,231評(píng)論 1 299
  • 那天槽驶,我揣著相機(jī)與錄音,去河邊找鬼鸳兽。 笑死掂铐,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的贸铜。 我是一名探鬼主播堡纬,決...
    沈念sama閱讀 40,116評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼蒿秦!你這毒婦竟也來了烤镐?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,945評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤棍鳖,失蹤者是張志新(化名)和其女友劉穎炮叶,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體渡处,經(jīng)...
    沈念sama閱讀 45,367評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡镜悉,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,581評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了医瘫。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片侣肄。...
    茶點(diǎn)故事閱讀 39,754評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖醇份,靈堂內(nèi)的尸體忽然破棺而出淳衙,到底是詐尸還是另有隱情垢粮,我是刑警寧澤,帶...
    沈念sama閱讀 35,458評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站肥印,受9級(jí)特大地震影響运褪,放射性物質(zhì)發(fā)生泄漏毙替。R本人自食惡果不足惜叉谜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,068評(píng)論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望痊臭。 院中可真熱鬧哮肚,春花似錦、人聲如沸广匙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽艇潭。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蹋凝,已是汗流浹背鲁纠。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評(píng)論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留鳍寂,地道東北人改含。 一個(gè)月前我還...
    沈念sama閱讀 47,797評(píng)論 2 369
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像迄汛,于是被迫代替她去往敵國和親捍壤。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,654評(píng)論 2 354