劉信良,王靜秋
(南京航空航天大學 機電學院,南京 210016)
數字圖像是由有限像素值組成的二維矩陣,包含豐富的語義信息,自動識別圖像中的目標,例如文字是當前研究的熱點問題.圖像文字識別技術是指利用計算機視覺等技術分離圖像中文字與背景區域,并且準確識別文字內容的過程.該技術可將圖像中的文字轉化為可供計算機識別和處理的文本信息,減少人為參與,提高自動化程度.
圖像文字識別技術一般先分割圖像中的目標文字再識別其內容,目標文字分割的效果影響文字內容識別的準確度.林孜陽等[1]提出了一種結余連通域的目標文字分割算法,通過連通域閾值分析,將文本塊聯通,從而實現對難提取的文字分割.易小波[2]提出了一種圖像二值化分割處理的方法,通過對圖像特征的研究,選取適當的閾值對圖像進行二值化,從而達到分割的效果.鄭澤鴻等[3]提出將AP 聚類算法用于字符分割,根據類中心對特征點進行歸類得到分割結果.上述算法運行速度快、對特定場景分割準確度高,但需要人為設定大量參數,且通用性較差、魯棒性不足,在實際應用中仍然存在較多的局限性.
近些年,深度學習中的卷積神經網絡被應用到眾多領域,如圖像分類[4,5]、目標檢測[6,7]、目標追蹤[8]、圖像分割[9]等,取得了令人矚目的成績,逐漸成為研究的熱點.Zhang 等[10]提出一種串聯全卷積神經網絡(Fully Convolutional Networks,FCN)[11]的方法,先用FCN 模型粗分割出文字區域,再用另一FCN 分類器預測出每個文字區域的中心位置,以去除粗分割時錯誤區域.此方法在稀疏文本下表現較好,但無法解決復雜文本重疊情況.
本文針對圖像中文字逐點標注復雜費時的問題,設計一種簡單的數據標注與增廣方式,并且改進FCN 模型,結合大津法[12]及全連接條件隨機場[13],實現對較復雜圖像中目標文字的語義分割,為后續文字識別做準備.
語義分割是指自動分割并識別圖像中具有特定語義的目標物體的過程.如圖1所示,將人和自行車作為兩種語義類別,在圖像中自動分割出屬于這兩類的所有物體,并標定其類別,其余部分當作背景.圖像中目標文字分割也可以當作語義分割問題求解,將文字當作唯一的語義類別,其余當作背景,從而將文字從圖像中分割出來.
本文提出了一種基于全卷積神經網絡的圖像文字語義分割的算法,并采用大津法和全連接條件隨機場進行修正處理.如圖2所示,首先利用FCN 模型對輸入圖像進行初步分割,再用大津法對其二值化處理,最后使用全連接條件隨機場修正,得到精細的語義分割結果.
FCN 模型是用于任意尺寸圖像輸入的語義分割模型,此模型包括圖像特征提取編碼和標記圖像解碼生成兩個部分.圖像特征提取編碼是對圖像高級語義特征抽象的過程,通過多層卷積和池化操作,刪除冗余信息,提取出圖像的本質信息.標記圖像解碼生成是對語義特征重建的過程,通過上采樣操作恢復圖像的原始尺寸,并得到每個像素所屬的類別.
如圖3(a)所示,本算法中的FCN 特征提取基礎網絡為VGG16 網絡[14],利用13 個3×3 的卷積層和5 個最大池化層提取圖像中抽象的語義特征,通常這些特征是整張圖像的全局特征.同時,FCN 將VGG16 網絡的全連接層用1×1 卷積層替換,以解決全連接層神經元個數必須固定的缺點,從而實現任意尺寸圖像輸入.由于圖像特征提取過程經過了5 個最大池化,原始圖像被縮小了32 倍,故需要用反卷積進行上采樣,恢復成原始圖像的大小.如圖3(b)所示,第5 個池化層輸出的特征圖經過反卷積擴大2 倍后與第4 個池化層輸出的特征圖結合,將其結果反卷積擴大2 倍后與第3 個池化層輸出的特征圖結合,最后反卷積擴大8 倍生成預測標簽圖像.通常特征提取中間步驟的特征圖包含著豐富的淺層特征,如邊緣、紋理等,將此淺層特征與最終提取的深層抽象特征結合可以更加準確地分割物體.

圖1 語義分割示例

圖2 算法流程圖

圖3 FCN 整體結構
本文改進原有的FCN 模型,采用均方差損失函數,定義為式(1),其中yi為預測的標簽值,y?i為真實的標簽值.采用此損失函數目的是利用回歸的方式,使得最終特征圖的目標值接近255,背景值接近0,通過前景背景較大的差異值準確分割出文字區域大體位置.

大津法能夠根據閾值將圖像分為目標和背景兩部分,通過計算目標和背景的類間方差,遍歷所有灰度值尋找最佳閾值使得類間方差最大.對于帶有文字的圖像,假設屬于文字的像素點數占整幅圖像的比例為ωo,平均灰度為μo;背景像素點數占整幅圖像的比例為ωb,平均灰度為μb.類間方差g如式(2)計算:

遍歷0~255 各灰度值,計算并尋找類間方差的極大值即為文字目標與背景分割的最佳閾值.
在本文中,對于一幅帶有文字的圖像,每個像素點i具有像素值Ii,對應的類別標簽為xi,以每個像素作為節點,像素之間的關系作為邊,構成了一個全連接條件隨機場.其吉布提能量可以表示為:

式中,ψu(xi)為一元勢能,來自大津法二值化的輸出,只與像素i自身相關,表述了像素i與其所屬類別的差異度:

二元勢能ψp(xi,xj)表達式為:

式中,?1為外觀核,p表示位置信息,I表示顏色信息,σα為用于控制位置信息的尺度,σβ為用于控制顏色相似度的尺度,通常在邊界位置顏色有較明顯的變化,因此位于邊界兩側的像素不同類別的可能性較大;?2為平滑度核,σγ為控制位置信息的尺度,此項只與位置信息有關,用于平滑去除一些孤立的小區域,通常這些區域不是文字區域.
本文提出的圖像文字語義分割算法融合了改進的FCN 模型、大津法和全連接條件隨機場,相比傳統數字圖像處理算法,此算法需要設定的參數少且能夠適用復雜場景的文字分割.
數據集圖像中的目標文字主要有兩種類型:光學字符(文字是由攝像設備輸入)和合成字符(通過軟件將字符合成到圖像上).原版FCN 模型的數據集需要逐點標注目標的輪廓并給出目標的類別,對于圖像集制作起來復雜、耗時,因此本文提出一種新的數據集制作方法:對原始數據集圖像用最小四邊形標記文字區域,即四邊形包圍區域設為目標,像素值為255,其余區域設為背景,像素值為0,如圖4(a)、圖4(b)所示;為擴充數據集,讓分割結果更加準確,制作模擬合成字符圖像,即準備一批無文字的背景圖像,將文字集隨機生成并合成到圖像中,文字的類型包含中文、英文和數字,顏色隨機生成,如圖4(c)、圖4(d)所示.數據集包含訓練集,驗證集和測試集,其中訓練集有10 000 張圖片,驗證集和測試集各有1000 張圖片.

圖4 數據集示例
本次實驗的FCN 模型是用Tensorflow[15]框架搭建,實驗平臺為個人電腦,硬件為:i7-8700k CPU,16 GB 內存,RTX 2070 GPU.
訓練時,所有圖像和標簽都被放縮為224×224,以32 張為一批送入模型中訓練.應用指數衰減的學習率,初始學習率設置為0.001,衰減系數設置為0.9.優化策略采用隨機梯度下降,共訓練了50 000 次,耗時約11 個小時,其損失函數值的趨勢如圖5所示,從圖中可以看出損失函數值隨著訓練的進行不斷下降,最終穩定在一定數值.
如圖6(a)、圖6(b)所示,將FCN 初步分割結果轉化為RGB 格式,亮色代表此區域為文字的概率值大,暗色代表此區域為背景的概率值大.從圖中可以看出,亮色區域與圖像中文字區域基本對應,越亮的部分代表著此區域是文字的概率越大;相反,暗色區域與圖像中的背景相對應.接著,用大津法對FCN 初步分割結果進行二值化處理,計算得到使得目標/背景的類間方差最大的閾值分別為107、91、93.如圖6(c),可以看出大津法大致將文字區域劃分出來,但是劃分結果較粗糙,存在錯誤標記區域.最后,使用全連接條件隨機場進行結果修正,如圖6(d)所示,可以看出經過全連接條件隨機場后處理的圖像能夠提升分割的結果,將大津法處理后的粗糙結果細化,更正了誤識別區域,為后續文字內容識別做好準備.然而,此算法仍存在一定漏檢和誤檢的問題,分別如圖6中第2 行與第3 行矩形框所示.

圖5 訓練時損失函數曲線

圖6 實驗結果
圖7為本文提出的算法與“FCN+全連接條件隨機場”算法對比結果.“FCN+全連接條件隨機場”算法的結果記為對照組,即采用FCN 模型進行初步分割(采用交叉熵損失函數),再用全連接條件隨機場進行后處理.圖7(a)、圖7(b)分別為兩種算法的初步分割圖,相較本文算法,對照組初步分割的結果較粗糙,有較多孤立的小片區域,且文字區域不夠明顯.最終分割結果如圖7(c)、圖7(d),對照組能夠分割出文字,但是出現一些漏分割現象,如圖中矩形框所示,且精細程度不如本文提出的算法.

圖7 對比結果
由于驗證集和測試集的標簽類型如圖4(b)所示,無法使用傳統的圖像分割的評判標準,如像素準確度、分割交占比(IOU)等,本文提出一種新的評判標準,評判步驟如下:
(1)先用OpenCV 對文字分割結果用最小矩形框集合,如圖8(a)所示,矩形框內部即為目標文字區域.

圖8 評價結果圖
(2)對真實標簽的每個文字區域(如圖8(b)),按照式(8)計算其對預測結果中每個文字區域的Ci,選取最大Cmax,并將取最大值時兩個文字區域的索引值記錄到集合I中.若Cmax≥60% 表示預測正確;若10%≤Cmax<60%預測錯誤;若Cmax<10%則表示漏檢;若預測結果中文字區域的索引值未出現在I中,則此區域為誤檢.

其中,Sp表示預測的文字區域,St表示真實文字區域.
(3)錯誤總數(Nerr)為預測錯誤個數(Ne)與漏檢個數(Nm)之和,準確率計算如下:

其中,Nc表示預測正確的總個數,Na為驗證集/測試集文字區域的總個數
根據此項判斷標準,實驗結果如表1所示,可以看出整體的實驗效果較好,沒有出現過擬合的情況;同時,可以發現結果中誤檢數量較漏檢數量多,可知本次實驗提出的算法容易將類似文字的圖案(背景)識別為文字(目標).本文算法的速度為0.181 s/幅,即5.5 fps,運行速度較快.

表1 圖像目標文字分割準確率分析
本文提出了一種基于改進全卷積神經網絡的圖像目標分割算法,此算法使用FCN 模型進行初步分割,再利用大津法進行二值化,最后使用全連接條件隨機場進行修正.此算法在準確度和速度上都取得了較好的效果,在測試集上可以達到85.7% 的準確度以及0.181 s/幅的速度.