採用可微二值化的實時場景文字檢測
對於基於分割的方法來說,二值化的後處理過程是必要的,將分割方法產生的概率圖轉換成文字區域。在本篇文章中,我們提出了乙個模型叫differentiable binarization。通過db模組的優化,乙個分割網路可以自適應的設定二值化的閾值,不但簡化了後處理過程而且增強了文字檢測的表現力。給予乙個簡單的分割網路,我們在五個資料集上驗證了db的效能,在準確率和速度上都達到了最優。
大多數現存的檢測方法使用相近的檢測通道如圖2。首先設定乙個固定的閾值用於將分割網路生成的概率圖轉換為二值圖。接下來,一些啟發式的方法例如畫素聚類用於將畫素聚集成文字例項。我們的方法目的是將二值化操作插入到分割網路用於聯合優化。在這種方案下,影象中每乙個位置的閾值可以自適應的**,可以完全的區分前景和背景畫素。然而,標準的二值化操作時不可微的,我們提出乙個近似的函式用於二值化,叫做differentiable binarization(db),他是在分割過程的訓練是可微的。
文章的主要貢獻是提出了db模組,是可可微的在cnns中二值化操作可以端到端可訓練,通過結合乙個簡單的語義分割網路和所提出的db模組,我們提出了乙個健壯且快的文字檢測器。
db模組可以在推斷時消除,且不影響效能,沒有額外的記憶體或時間花費。
相關工作:
基於回歸的方法:
textboxes,textboxes++,dmpnet,sstd,rrd,east,deepreg,seglink,derpn
基於分割的方法:
畫素**+後處理得到bounding box
mask textspotter,psenet,pixel embedding。
快速檢測器:textboxes textboxes++ rrd east
方法:我們提出得方法架構如圖3所示。首先,輸入輸入到乙個特徵金字塔網路中。第二步,特徵金字塔網路上取樣至相同尺度並級聯以產生特徵圖f。接下來,特徵圖f用於**概率圖p和閾值圖t。接下來,近似二值圖b由p和f計算。在訓練階段,監督用於概率圖,閾值圖和二值圖,概率圖和二值圖共享相同的監督資訊。在推理階段,邊框可以很容易的從近似二值圖或概率圖中獲得,通過乙個邊框計算模組。
二值化:標準二值化,使用閾值t。
可微分二值化:標準的二值化是不可微的。因此,不可以在訓練階段隨著分割網路優化。為了解決這個問題,我們提出使用近似的過程執行二值化。
其中t從網路中學習的自適應的閾值圖,k表示放大因子。k經驗性的被設定為50。因為這個近似二值函式與標準二值函式相近,但是可微,所以可以在訓練階段優化。可微二值化不僅可以區分文字區域和背景,還可以分開相近的文字例項。db提高效能的原因可以用梯度的反向傳播來解釋。可以看出(1)梯度由放大因子k進行放大(2)梯度放大對於錯誤**很有用處,因此可以促進優化。p的梯度在背景和前景之間用t重新縮放。
自適應閾值:閾值圖類似於類似於text border map,但是在這裡閾值圖的動機和作用是不同於文字邊界圖的。有監督和無監督的閾值圖視覺化如圖6所示。即使沒有閾值圖監督,也將高亮文字邊界。這表示邊界類閾值對映有利於最終的結果。因此我們使用邊界類似的監督用於閾值圖上。乙個效用實驗用於在試驗階段監督的討論。對於用法text border map用於分離文字例項,閾值圖用於二值化。
deformable convolution 可變卷積
可以為模型提供乙個更靈活的感受野,可形變卷積用於conv3 conv4 conv5階段。
標籤生成:紅色的是文字區域的注釋,藍色和紅色分別為縮小和放大的區域。概率圖的特徵生成受psenet啟發。對於乙個文字影象,每乙個文字區域的四邊形用乙個分割集合來描述,icdar2015為四個ctw1500為16個。使用vatti clipping algorithm進行縮減。r設定為0.4。大圖和小圖之間的間隔作為文字區域的邊界,閾值圖的標籤可以通過計算最近分割的距離來生成。
優化:對於概率loss和二值化loss使用二值交叉熵loss。lt使用l1距離之和,在擴大的區域。
在推斷階段,可以使用概率圖或者近似二值圖生成文字邊框,產生結果大致相同。為了效率,直接使用概率圖。邊框形成過程包括三個步驟(1)概率圖或近似二值圖通過乙個常數閾值二值化(2)從二值圖中獲得連通區域(3)將連通區域進行擴張。
實現細節:對於所有的模型,先使用synthtext預訓練100k個迭代。在真實資料上微調1200個epochs,訓練batch為16。
資料增廣:隨機旋轉-10° - 10°。隨機裁剪,隨機反轉。為640x640
推理階段乙個batch乙個資料,後處理過程消耗總時間的30%。
消融實驗:dconv也有一半作用
閱讀任務 閱讀筆記 4
功能驅動的設計 1 構造總體模型 2 構造功能列表 3 制定開發計畫 4 功能設計階段 5 實現具體功能 軟體測試按目的分類 1 功能測試 2 非功能測試 軟體測試的各種方法 1 單元測試和 覆蓋率測試 2 構建驗證測試 3 驗收測試 4 探索式的測試 5 回歸測試 6 場景 整合 系統測試 7 夥...
芒果db入門筆記
1.建立資料庫 use qxdb 刪除 db.dropdatabase 新增使用者 db.createuser 2.建立集合 類似關係型db的表 db.createcollection clt user 檢視集合 show collections 刪除集合 db.clt user.drop 3.文件...
閱讀筆記 2006 01
請您尊重您的價值,因為它已經得到了社會的認可。當你貶低或破壞您的價值時,就等於貶低或破壞整個行業在這個社會的價值。無論在什麼時候,自己都應該尊重自己的價值,而不能因為一時的困境而貶低和破壞了自己的價值,因為你的破壞之舉,將傷害到整個行業的價值乃至社會的規則。因為,唯有懂得尊重自己的價值的人,才能真正...