seg link 文字檢測

2021-09-19 20:43:19 字數 2188 閱讀 9338

通過區域性資訊尋找小片片(segment)和小片片之間的連線(link)來進行文字檢測。每個 seg 是文字的一部分,link 是虛構出來的 seg 和 seg 中點間的連線,能相容各種形狀和方向的文字框。基礎網路和 ssd 很相似,seg 和 link 都是利用 conv 當作**器**得到。

seg 的檢測和 ssd 檢測很像,基於密集取樣,多層取樣以適配多種尺度。卷積**期產生7維的輸出,其中2維是經過 softmax 歸一化後seg的得分。其餘5維**的是 feature map 上的 default box (正方形畫素點)和 ground truth 之間的偏移,分別是 x,y,w,h,o

因為**的是偏移量,所以還需要乙個轉換才對應到實際座標

其中xd,yd是原影象素座標,xs,ys是特徵圖上的畫素座標。前兩個公式表明 default box 的中點到原圖座標的對映關係。a是設定的 default box 的邊長。每一層 feature map 因為下取樣帶來的視野,所以 a 的基數是 w原/w特,係數1.5是為了提高召回率設定的 over lap。x』, y』, w』, h』 相關的四個公式表示**值和原圖座標的對映關係。x』, y』, w』, h』 也可以理解成訓練中的 ground truth。

因為a的存在,巧妙的將所有依賴特徵圖尺寸的值都轉化到原圖,相當於找到了共同的尺度。用 default box 和尺度歸一化,是目標檢測系列常見的技巧。

link 有兩類,一類是同層 link,一類是跨層 link。

對於同層 link 其定義在同一層相鄰位置 seg 之間,因為井字格的 seg 分布形狀,所以乙個 seg 同層相鄰8個 seg,也即是有8個 link。每個 link 輸出2個維度的 softmax 的得分。

對於跨層 link 其定義在當層和上一層 feature map 上。因為每個 seg **的範圍存在overlap,以便能夠提高召回,但是這樣的結果是,對於同乙個詞,不同層級的 feature map 都能檢測到 seg,這回產生很多冗餘。跨層 link 是為了解決這個問題。除了第一層意外,每一層都會輸出跨層 link。因為相鄰兩層 feature map 的尺度相差2倍,所以同層和上一層的相鄰 link 位置關係為 1:4,也即是當前層會和4個上一層 seg 相鄰。對於這4個 link,每個也輸出2維的 softmax 得分。

整體看來乙個**器輸出的結果有 2+5+16(+8) 維

todo 待補充

對於上的文字,原始標註有整個文字的 bbox。為了生成訓練需要的 seg,會用 default box 的邊長a和文字的 bbox 的高h去做比值,滿足條件的才作為有效標註

max(a/h, h/a)<=1.5
如果某個 default box 對原圖上任意文字 bbox 都不滿足上述標準,那麼這個這個 default box 無效,否則這個 default box 有效。如果乙個 default box 有多個滿足的 bbox,它將和 min 的 bbox 關聯。最小的的含義是這個 default box 和這個文字 bbox 的尺寸最接近。

對於有效的 default box,需要計算它和關聯的 bbox 之間的 offset,找出 default box 負責**的 seg,然後計算這個 seg 的 x』, y』, w』, h』 。

// 會有一些旋轉需要配**釋更清楚,todo 待補充

link 生成規則:

乙個 link 兩端的 default box 都是有效的

兩個 default box 關聯了同乙個詞

模型需要同時訓練有三個部分:

所以損失函式也為三個部分的 loss 之和:

l_total = 1/n_s·l_conf(y_s, c_s) + 1/n_l·l_conf(y_l, c_l)  + 1/n_s·l_loc(s', s)
l_conf 是 soft-max loss,用來計算兩個分類部分的損失;l_loc 是 smooth l1 loss,用來計算回歸部分的損失。同時各個部分的損失被當前啟用數量做歸一。

在訓練樣本的選擇上,使用了 ohnm(online hard negative ming) 演算法,保證正負樣本的比例以及挑選難負樣本。原文中並沒有細說ohnm的過程,通過檢視其他的文章,理解這個過程可能是在計算損失之前,按照 l_conf(y_s, c_s) 從大到小排序,挑選誤差最大的正負樣本,保持正負樣本1:3 的比例。在這些樣本上計算 l_total。

使用的是標準 sgd 優化器,momentum 為0.9。會縮放到 384x384。

大話文字檢測經典模型 SegLink

在自然場景中,例如燈箱廣告牌 產品包裝盒 商標等,要檢測出其中的文字會面臨著各種複雜的情況,例如角度傾斜 變形等情況,這時就需要使用基於深度學習的方法進行文字檢測。在之前的文章中,介紹了基於卷積神經網路和迴圈神經網路的ctpn文字檢測方法 見文章 大話文字檢測經典模型 ctpn 該方法能在自然場景下...

文字檢測 CTPN

參考 faster rcnn 非常詳盡 零基礎入門深度學習 5 迴圈神經網路 零基礎入門深度學習 6 長短時記憶網路 lstm 文章基本資訊 題目 detecting text in natural image with connectionist text proposal network,簡稱c...

文字識別 文字檢測資料集

1 chinese text in wild ctw 包含平面文字,凸起文字,城市文字,農村文字,低亮度文字,遠處文字,部分遮擋文字。影象大小2048 2048,資料集大小為31gb。8 1 1 比例訓練集 25887張影象,812872個漢字 測試集 3269張影象,103519個漢字 驗證集 3...