企業(yè)網(wǎng)站建設(shè)服務(wù)公司搜索引擎優(yōu)化工具
文章鏈接:https://arxiv.org/pdf/2407.17020
git鏈接:https://hyangyu.github.io/EAFormer/
亮點直擊
- 為了在文本邊緣區(qū)域?qū)崿F(xiàn)更好的分割性能,本文提出了邊緣感知Transformer(EAFormer),該方法明確預(yù)測文本邊緣,并利用這些邊緣來引導(dǎo)后續(xù)的編碼器。
- 針對COCO_TS和MLT_S數(shù)據(jù)集的注釋質(zhì)量較低的問題,對這些數(shù)據(jù)集進行了重新標(biāo)注,以提高EAFormer在這兩個數(shù)據(jù)集上的實驗結(jié)果的可靠性。
- 在六個場景文本分割基準(zhǔn)上的廣泛實驗表明,所提出的EAFormer能夠達到最先進的性能,尤其在文本邊緣區(qū)域表現(xiàn)更佳。
場景文本分割旨在從場景圖像中裁剪文本,這通常用于幫助生成模型編輯或去除文本。現(xiàn)有的文本分割方法通常涉及各種文本相關(guān)的監(jiān)督以獲得更好的性能。然而,大多數(shù)方法忽略了文本邊緣的重要性,而文本邊緣對下游應(yīng)用至關(guān)重要。本文提出了邊緣感知Transformer(Edge-Aware Transformers),簡稱EAFormer,以更準(zhǔn)確地分割文本,特別是文本的邊緣。
具體而言,首先設(shè)計了一個文本邊緣提取器,以檢測邊緣并濾除非文本區(qū)域的邊緣。然后,提出了一個邊緣引導(dǎo)編碼器,使模型更加關(guān)注文本邊緣。最后,采用了一個基于MLP的解碼器來預(yù)測文本mask。在常用基準(zhǔn)上進行了廣泛的實驗,以驗證EAFormer的有效性。實驗結(jié)果表明,所提出的方法在文本邊緣的分割上優(yōu)于以前的方法??紤]到一些基準(zhǔn)數(shù)據(jù)集(如COCO_TS和MLT_S)的注釋不夠準(zhǔn)確,無法公平評估本文的方法,重新標(biāo)注了這些數(shù)據(jù)集。通過實驗觀察到,當(dāng)使用更準(zhǔn)確的注釋進行訓(xùn)練時,本文的方法能夠獲得更高的性能提升。
方法
本節(jié)詳細介紹了所提出的EAFormer。首先,介紹EAFormer的提出動機。然后,詳細說明EAFormer的每個模塊,包括文本邊緣提取器、邊緣引導(dǎo)編碼器和文本分割解碼器。最后,介紹了本文方法的損失函數(shù)。
動機
不可否認(rèn),文本邊緣對場景文本分割任務(wù)至關(guān)重要,尤其是對于其下游任務(wù)如文本擦除。準(zhǔn)確分割文本邊緣可以為文本擦除模型提供更多的背景信息,以填補文本區(qū)域。如下圖1所示,利用一個預(yù)訓(xùn)練的修復(fù)模型,輸入不同類型的文本mask,以在場景圖像中擦除文本。通過實驗觀察到,文本邊界框mask過于粗糙,無法為修復(fù)模型提供更多的背景信息。此外,邊緣分割不準(zhǔn)確的文本mask使得修復(fù)模型錯誤地將屬于文本的像素視為背景,導(dǎo)致擦除效果不佳。只有提供具有準(zhǔn)確邊緣分割的文本mask時,修復(fù)模型才能生成令人滿意的文本擦除結(jié)果。
盡管PGTSNet已經(jīng)意識到文本邊緣的重要性,并使用了二元交叉熵損失來檢測文本邊緣的像素,但它未能明確地將易于獲取的文本邊緣信息作為輸入信息之一。為了驗證其感知文本邊緣的能力,對主干網(wǎng)絡(luò)輸出的特征進行了K均值聚類,其中K設(shè)置為3,分別代表背景、文本邊緣和文本中心。通過下圖2中的可視化結(jié)果,觀察到該方法在感知文本邊緣方面仍存在一定的不足。
此外,研究者們發(fā)現(xiàn)傳統(tǒng)的邊緣檢測算法可以獲得準(zhǔn)確的文本邊緣,這可能有助于場景文本分割任務(wù)。然而,由于傳統(tǒng)的邊緣檢測方法無法區(qū)分文本區(qū)域和非文本區(qū)域,因此大多數(shù)邊緣都被檢測到了非文本區(qū)域。如果直接將邊緣檢測結(jié)果作為輸入來輔助文本分割,可能會使文本分割模型產(chǎn)生混淆,從而對其性能產(chǎn)生不利影響。
邊緣感知Transformer(EAFormer)
如下圖3所示,所提出的EAFormer由三個模塊組成:文本邊緣提取器、邊緣引導(dǎo)編碼器和文本分割解碼器。給定輸入的場景文本圖像 X ∈ R 3 × H × W X \in \mathbb{R}^{3 \times H \times W} X∈R3×H×W,文本邊緣提取器用于獲得文本區(qū)域的邊緣 E t E_t Et?。然后,文本圖像 X X X 和檢測到的文本邊緣 E t E_t Et? 被輸入到邊緣引導(dǎo)編碼器中,以提取邊緣感知特征。最后,文本分割解碼器以編碼器生成的特征作為輸入,生成相應(yīng)的文本mask M t M_t Mt?。
文本邊緣提取器。 由于文本邊緣對場景文本分割任務(wù)至關(guān)重要,研究者們提出了一個文本邊緣提取器以獲得文本區(qū)域的邊緣。首先,使用傳統(tǒng)的邊緣檢測算法Canny來獲取整個輸入圖像的邊緣 E w E_w Ew?。如前所述, E w E_w Ew? 中的非文本區(qū)域的邊緣可能對文本分割產(chǎn)生負面影響。因此,在文本邊緣提取器中引入了一個輕量級的文本檢測模型來執(zhí)行邊緣過濾。具體而言,首先使用類似ResNet的[16] 主干網(wǎng)絡(luò)提取多級視覺特征 F d = { F 1 d , F 2 d , F 3 d , F 4 d } F^d = \{F^d_1, F^d_2, F^d_3, F^d_4\} Fd={F1d?,F2d?,F3d?,F4d?},其中 $F^d_i \in \mathbb{R}^{C_i \times H_i \times W_i} $表示ResNet-like主干網(wǎng)絡(luò)第 i i i-層的特征(有關(guān)文本檢測主干網(wǎng)絡(luò)的更多細節(jié)介紹見補充材料)。然后,采用文本檢測頭來預(yù)測文本區(qū)域的mask M a M_a Ma?,可以表示為
其中, Conv 1 × 1 ( ? ) \text{Conv}_{1 \times 1}(\cdot) Conv1×1?(?) 和 Concat ( ? ) \text{Concat}(\cdot) Concat(?) 分別表示1 × 1卷積層和拼接操作。借助文本區(qū)域的mask $M_a $,可以通過對文本區(qū)域mask M a M_a Ma? 和檢測到的邊緣 E w E_w Ew? 進行逐像素相乘,過濾掉非文本區(qū)域的邊緣。因此,文本區(qū)域的邊緣 E t E_t Et? 可以通過以下方式獲得:
值得一提的是,在進行乘法操作之前對 E w E_w Ew?施加了軟argmax操作,因為聯(lián)合優(yōu)化文本檢測和分割分支可以實現(xiàn)更好的文本檢測性能。然后,經(jīng)過過濾的文本邊緣 E t E_t Et? 被輸入到接下來的邊緣引導(dǎo)編碼器中,以增強其區(qū)分文本邊緣周圍像素的能力。
邊緣引導(dǎo)編碼器。 由于SegFormer在語義分割中表現(xiàn)出色,采用它作為邊緣引導(dǎo)編碼器的基礎(chǔ)框架。如前面圖3所示,邊緣引導(dǎo)編碼器由四個階段組成,過濾后的文本邊緣在第一個階段被合并。每個編碼階段包含三個子模塊:重疊補丁embedding、有效自注意力和前饋網(wǎng)絡(luò)。重疊補丁embedding用于提取每個補丁周圍的局部特征。隨后,這些特征被輸入到自注意力層中,以挖掘像素之間的相關(guān)性?;咀宰⒁饬拥墓饺缦?#xff1a;
其中, Q Q Q、 K K K 和 V V V 是通過對相同特征應(yīng)用不同的embedding層獲得的。為了減少計算成本,遵循 [43] 引入了空間降維操作來處理 K K K 和 V V V。有關(guān)空間降維的更多細節(jié)見補充材料。最后,對于第 i i i 階段,使用前饋網(wǎng)絡(luò)生成輸出特征 F i s F^s_i Fis?。與此不同的是,在第一個階段的前饋網(wǎng)絡(luò)之后額外引入了一個對稱交叉注意力層,以融合提取的邊緣引導(dǎo) E t E_t Et?。具體而言,對稱交叉注意力層包括兩個交叉注意力操作,分別在第一個階段的特征 F 1 s F^s_1 F1s?和邊緣引導(dǎo) E t E_t Et? 之間進行。一方面, E t E_t Et? 被視為查詢(Query),以提取邊緣感知的視覺信息 F e v F^{ev} Fev,其中 F 1 s F^s_1 F1s? 被視為鍵(Key)和值(Value);另一方面, F 1 s F^s_1 F1s? 被用作查詢(Query),進一步挖掘有用的文本邊緣信息 F t e F^{te} Fte,其中 E t E_t Et? 被視為鍵(Key)和值(Value)。
因此,第一個階段的最終輸出 F ^ 1 s \hat{F}^s_1 F^1s? 可以表示為:
其中, SA ( ? ) \text{SA}(\cdot) SA(?) 代表上述的自注意力操作, ⊕ \oplus ⊕ 表示逐像素相加。隨后, F ^ 1 s \hat{F}^s_1 F^1s?和其他階段的輸出被輸入到文本分割解碼器中。
文本分割解碼器。 類似于之前的方法,采用幾個MLP層來融合特征并預(yù)測最終的文本mask M t M_t Mt?。首先,通過相應(yīng)的MLP層統(tǒng)一四個階段輸出的通道維度。然后,這些特征被上采樣到相同的分辨率,并通過一個MLP層進一步融合。最后,融合后的特征用于預(yù)測文本mask。假設(shè)第 i i i 階段特征的分辨率為 H i × W i × C i H_i \times W_i \times C_i Hi?×Wi?×Ci?,解碼過程可以表示為:
其中, MLP ( C in , C out ) ( ? ) \text{MLP}(\text{C}_{\text{in}}, \text{C}_{\text{out}})(\cdot) MLP(Cin?,Cout?)(?)表示MLP中輸入特征和輸出特征的通道數(shù)分別為 C in \text{C}_{\text{in}} Cin? 和 C out \text{C}_{\text{out}} Cout?。 Fuse ( ? ) \text{Fuse}(\cdot) Fuse(?)表示輸入特征首先被拼接在一起,然后通過MLP層在通道維度上進行降維。
損失函數(shù)
以前的文本分割方法通常引入各種損失函數(shù)來提高性能,這可能會帶來選擇適當(dāng)超參數(shù)的困難。在所提出的EAFormer中,僅使用了兩種交叉熵損失:文本檢測損失 L det L_{\text{det}} Ldet? 和文本分割損失 L seg L_{\text{seg}} Lseg? 進行優(yōu)化,它們可以表示為:
其中, λ \lambda λ 是用于平衡 L det L_{\text{det}} Ldet? 和 L seg L_{\text{seg}} Lseg? 的超參數(shù); M ^ a \hat{M}_a M^a? 和 M ^ t \hat{M}_t M^t? 分別是 M a M_a Ma? 和 M t M_t Mt? 的真實標(biāo)注。請注意,用于 M a M_a Ma? 的邊界框級別監(jiān)督可以從語義級別的標(biāo)注中獲得,這意味著所提出的方法與之前的方法一樣,僅需要語義級別的標(biāo)注。
實驗
實施細節(jié)
所提出的方法使用PyTorch實現(xiàn),所有實驗都在8個NVIDIA RTX 4090 GPU上進行。采用AdamW優(yōu)化器,所有實驗中的初始學(xué)習(xí)率設(shè)置為 6 × 1 0 ? 5 6 \times 10^{-5} 6×10?5,權(quán)重衰減設(shè)為0.01。批量大小設(shè)置為4。與之前的方法 [32,41,45] 一樣,在訓(xùn)練階段也采用了一些數(shù)據(jù)增強操作,如隨機裁剪和翻轉(zhuǎn)。不同于現(xiàn)有方法使用預(yù)訓(xùn)練模型來檢測文本區(qū)域或識別字符,所提出的EAFormer中的所有模塊都是聯(lián)合訓(xùn)練的。換句話說,訓(xùn)練EAFormer時沒有使用額外的數(shù)據(jù)集。Canny邊緣檢測的兩個閾值分別設(shè)置為100和200。為了評估所提出方法的性能,同時使用前景交并比(fgIoU)和前景像素F值。fgIoU的度量標(biāo)準(zhǔn)采用百分比格式,F值采用小數(shù)格式。
實驗結(jié)果
定量比較。 為了全面評估EAFormer,研究者們在英文和雙語文本分割數(shù)據(jù)集上進行了實驗。下表2顯示了在五個英文文本分割數(shù)據(jù)集上的實驗結(jié)果。
與之前的方法相比,EAFormer在大多數(shù)基準(zhǔn)測試中在前景交并比(fgIoU)和F值上都有明顯的提升。例如,在TextSeg數(shù)據(jù)集上,EAFormer在fgIoU和F值上分別超越了之前的SOTA方法TextFormer 0.64% 和0.6%。盡管原始的COCO_TS和MLT_S數(shù)據(jù)集有粗糙的注釋,所提出的EAFormer仍然能表現(xiàn)出更好的性能,例如在COCO_TS數(shù)據(jù)集上比 TFT 提升了7.63%的fgIoU??紤]到基于不準(zhǔn)確注釋的實驗結(jié)果不夠令人信服,重新標(biāo)注了COCO_TS和MLT_S的訓(xùn)練數(shù)據(jù)集和測試數(shù)據(jù)集?;谥匦聵?biāo)注的數(shù)據(jù)集的實驗結(jié)果顯示在下表3中。實驗表明,當(dāng)使用注釋更準(zhǔn)確的數(shù)據(jù)集進行訓(xùn)練和測試時,EAFormer仍然能夠?qū)崿F(xiàn)顯著的性能提升。與原始數(shù)據(jù)集的結(jié)果相比,重新標(biāo)注數(shù)據(jù)集上的性能似乎下降了很多。
以下兩個原因可能解釋了這一現(xiàn)象:
- 數(shù)據(jù)集中有許多模糊的文本,這確實給模型處理文本邊緣帶來了挑戰(zhàn);
- 重新標(biāo)注的測試數(shù)據(jù)集更為準(zhǔn)確,評估中沒有忽略的區(qū)域。
此外,還在雙語文本分割數(shù)據(jù)集BTS上進行了實驗,結(jié)果顯示在下表4中。盡管PGTSNet不公平地引入了一個預(yù)訓(xùn)練的文本檢測器,EAFormer在fgIoU/F值上仍然能實現(xiàn)1.6%/2.8%的提升,這驗證了所提出方法的有效性。由于引入了一個輕量級的文本檢測頭,不可避免地增加了更多參數(shù)。評估了參數(shù)數(shù)量和推理速度。與之前的SOTA方法TextFormer(85M參數(shù)和每張圖像0.42秒)相比,所提出的模型有92M參數(shù),平均每張圖像需要0.47秒。雖然參數(shù)數(shù)量略有增加,但本文的方法仍能顯著提升性能。
定性比較。 研究者們還通過可視化將EAFormer與之前的方法在分割質(zhì)量上進行了比較。如圖5所示,所提出的EAFormer在文本邊緣的表現(xiàn)優(yōu)于之前的方法,這得益于引入的邊緣信息。此外,對于COCO_TS和MLT_S,比較了基于原始和修改后注釋的分割結(jié)果。盡管上表3表明,當(dāng)使用重新標(biāo)注的數(shù)據(jù)集進行訓(xùn)練和測試時,本文的方法性能有所下降,但下圖5中的可視化結(jié)果表明,本文的模型在重新標(biāo)注的數(shù)據(jù)集上能夠?qū)崿F(xiàn)更好的分割結(jié)果。
消融研究
超參數(shù) λ \lambda λ。 在訓(xùn)練EAFormer時,使用了兩種損失函數(shù)進行優(yōu)化。超參數(shù) λ \lambda λ 用于平衡 L det L_{\text{det}} Ldet? 和 L seg L_{\text{seg}} Lseg? 的權(quán)重,適當(dāng)?shù)? λ \lambda λ 可能會帶來更好的性能。因此,進行了幾次實驗來選擇 λ \lambda λ,范圍為 {0.1, 0.5, 1.0, 5.0, 10.0},實驗結(jié)果見下表5。當(dāng) λ \lambda λ 設(shè)置為1.0時,EAFormer在TextSeg數(shù)據(jù)集上達到了最佳性能,相比于基線模型,其fgIoU/F值分別提高了3.47% 和2.3%。表5的結(jié)果表明,當(dāng) λ \lambda λ 范圍在 {0.5, 1.0, 5.0, 10.0} 時,對性能的影響較小。然而,如果 λ \lambda λ 設(shè)置為0.1,則EAFormer的性能不佳,這可能是由于過小的 λ \lambda λ 使得文本檢測模塊難以收斂,從而進一步影響文本分割的性能。因此,在本文中,將 λ \lambda λ 設(shè)置為1.0。
邊緣過濾和邊緣引導(dǎo)。 在所提出的EAFormer中,文本邊緣提取器中的邊緣過濾和邊緣引導(dǎo)編碼器中的邊緣引導(dǎo)是兩個關(guān)鍵組件。為了評估這兩種策略的性能提升效果,進行了消融實驗,結(jié)果見下表6。請注意,當(dāng)僅使用邊緣過濾時,提取的邊緣信息與輸入圖像拼接后輸入到基于SegFormer的編碼器中。如表6所示,引入邊緣過濾可以顯著提升性能。然而,如果僅引入邊緣引導(dǎo),本文的方法性能較差。一個可能的原因是非文本區(qū)域的邊緣引入了更多的干擾信息,導(dǎo)致模型無法有效利用提取的邊緣來輔助文本分割。因此,邊緣過濾和邊緣引導(dǎo)對本文的方法都是必要的,當(dāng)兩者都被采用時,EAFormer能夠?qū)崿F(xiàn)SOTA性能。
討論
過濾非文本區(qū)域的邊緣。 在文本邊緣提取器模塊中,提出了過濾非文本區(qū)域邊緣信息的方法,以避免這些信息對模型性能的負面影響。在消融實驗部分中,可以得知,過濾非文本區(qū)域的邊緣信息可以明顯提高性能。通過可視化(見補充材料),觀察到,當(dāng)所有邊緣信息用于輔助分割時,模型會錯誤地認(rèn)為具有邊緣信息的區(qū)域應(yīng)該被分類為前景。因此,為了給模型提供明確的邊緣引導(dǎo),所提出的方法僅保留文本區(qū)域的邊緣信息作為輸入。
在不同層引入文本邊緣。 在邊緣引導(dǎo)編碼器中,通過對稱交叉注意機制僅在第一階段提取增強的邊緣特征信息。眾所周知,低層特征對文本邊緣信息更為敏感。在下圖6中對不同階段的特征進行聚類結(jié)果的可視化,結(jié)果表明只有第一階段的特征關(guān)注邊緣信息。因此,在早期階段引入檢測到的邊緣是合理且有效的。還嘗試在其他階段引入邊緣引導(dǎo)進行實驗。實驗結(jié)果表明,檢測到的邊緣引入的階段越高,EAFormer的性能提升越小。特別是,當(dāng)在第三或第四階段引入檢測到的邊緣時,EAFormer的性能甚至低于基線。
利用現(xiàn)成的文本檢測器。 在文本邊緣提取器中,采用了一個輕量級的文本檢測器,包括一個基于ResNet的骨干網(wǎng)絡(luò)和一個MLP解碼器。實際上,可以利用一個在文本檢測數(shù)據(jù)集上預(yù)訓(xùn)練的現(xiàn)成文本檢測器,這可以幫助EAFormer在實際應(yīng)用中取得更好的性能。由于這可能對之前的方法不公平,只探討了EAFormer的性能上限。在實驗中,使用預(yù)訓(xùn)練的DBNet 替換輕量級文本檢測器模塊,EAFormer在TextSeg上的性能可以達到新的SOTA水平(fgIoU/F值分別為90.16%和95.2%)。
與之前邊緣引導(dǎo)方法的區(qū)別。 實際上,將邊緣信息融入分割中是一個被廣泛探索的策略。然而,本文的方法與之前的工作仍有一些區(qū)別。首先,BCANet和 BSNet需要邊緣監(jiān)督,而本文的方法直接使用Canny提取邊緣。盡管EGCAN也使用Canny,但本文的方法額外引入了邊緣過濾以保留有用的邊緣信息,這特別為文本分割設(shè)計。此外,EGCAN在所有編碼器層中融合邊緣信息,而本文的方法通過設(shè)計的對稱交叉注意機制僅在第一層融合邊緣信息。
局限性。 為了過濾非文本區(qū)域的邊緣,引入了一個輕量級的文本檢測器,這可能會略微增加可學(xué)習(xí)參數(shù)的數(shù)量。此外,僅利用了現(xiàn)成的邊緣檢測算法Canny來提取文本邊緣,而沒有使用更先進的深度學(xué)習(xí)邊緣檢測方法。引入SOTA邊緣檢測方法可能會進一步提高本文方法的性能。
結(jié)論
本文提出了邊緣感知Transformer(Edge-Aware Transformers),稱為EAFormer,以解決文本邊緣處文本分割不準(zhǔn)確的問題。具體而言,采用傳統(tǒng)的邊緣檢測算法Canny來提取邊緣。為了避免涉及非文本區(qū)域的邊緣,引入了一個輕量級文本檢測模塊,用于過濾掉無用的邊緣,以進行文本分割。此外,基于SegFormer,提出了一個邊緣引導(dǎo)編碼器,以增強其感知文本邊緣的能力??紤]到某些數(shù)據(jù)集的低質(zhì)量注釋可能影響實驗結(jié)果的可信度,對這些數(shù)據(jù)集進行了重新標(biāo)注。在公開可用的基準(zhǔn)測試上進行了廣泛的實驗,SOTA結(jié)果驗證了EAFormer在文本分割任務(wù)中的有效性。
參考文獻
[1]EAFormer: Scene Text Segmentation with Edge-Aware Transformers