田 萱 王子亞 王建新
(1.北京林業大學信息學院, 北京 100083; 2.國家林業草原林業智能信息處理工程技術研究中心, 北京 100083)
食品標簽是印刷于食品封裝容器上的文字,主要包括產品名稱、配料、生產商、產地和營養成分等用于描述該食品相關信息的內容。消費者根據該信息查詢并判斷該食品是否符合自身需求,食品監督抽檢機構根據該信息進行食品安全相關的數據挖掘和分析[1-2]。作為食品標簽識別的必要步驟,食品標簽的文本檢測(即定位其邊界)對于食品安全監督和保障非常重要。
文本檢測是圖像信息分析和提取過程中的重要技術,其關鍵在于如何區分和定位復雜的文本區域和背景區域。傳統的圖像文本檢測主要利用人工設計特征檢測圖像中的文本,主要包括基于連通域分析和基于滑動窗口兩類檢測方法。其中,筆畫寬度變換(Stroke width transformation,SWT)[3]和最大穩定極值區域(Maximally stable extremal regions,MSER)[4]是經典的基于連通域分析的方法,分別利用圖像中文本的筆畫寬度和像素特征獲取文本區域。基于滑動檢測窗的方法采用了自頂向下策略檢測文本,該類方法[5-6]采用不同尺寸窗口對整幅自然場景圖像進行掃描,然后提取窗口區域的人工設計特征[7-8],結合已訓練的分類器判斷圖像中窗口位置是否為文本。
食品標簽檢測屬于復雜場景下的文本檢測[9],不同的食品包裝包含不同尺寸、顏色、形狀、對比度的標簽文本,并且食品標簽的背景相較于印刷文檔更加復雜,傳統的文本檢測方法[10-13]受到人工設計特征的局限性,難以滿足復雜的食品標簽文本檢測需求。目前,深度學習技術已經廣泛應用于目標檢測領域[14],并且對文本檢測技術的創新具有重要的推動作用,能夠有效避免人工設計特征存在的局限性。其中,基于區域建議的方法[15-16]由于需要預設固定形狀的候選框,使其對不規則文本的檢測受到限制。語義分割技術[17]能夠從圖像中分割任意形狀目標區域,經典的語義分割算法包括FCN[18]、SegNet[19]、DeepLab[20]和PSPNet[21]等,目前已經出現眾多基于語義分割的自然場景文本檢測算法[22-25],但這些方法檢測食品標簽的準確率有待提升。本文借鑒經典語義分割算法的思路,提出基于語義分割的距離場模型,以檢測食品標簽文本,使計算機能夠有效分割圖像中的文本,實現食品包裝上文本內容的自動定位。
鑒于目前沒有公開可用的食品包裝圖像數據集,本文通過自采數據集形式進行模型訓練和實驗評估。通過手機拍攝,從不同顏色以及透明的袋、盒、瓶和罐狀包裝表面采集得到食品包裝圖像共計509幅,這些圖像涵蓋了茶葉類、肉制品、奶制品、調味品、食用油、干果類和酒類等主要食品類型。圖像中包含不同的食品標簽文本,文本框共計13 205個,其中矩形文本框11 880個,彎曲不規則文本框1 325個。但本文在研究過程中利用由若干個坐標點順時針連接構成的多邊形表示文本區域,因此并不對規則矩形和彎曲標簽文本進行特別區分。
采用自助采樣方法劃分訓練集和測試集,即假設初始數據集Q包含M個樣本,每次使用有放回采樣方式從數據集Q中隨機選取一個樣本,將其復制放入新數據集Q′中,每個樣本每次未被采樣到的概率為1-1/M,重復上述隨機采樣過程M次,得到一個新的數據集Q′。顯然,數據集Q中存在一直未被采樣到的樣本,本文將這些樣本作為測試集,其他樣本作為訓練集。通過這種采樣方法使得從數據集Q中劃分的測試集約占數據集總數的1/e,即
(1)
通過上述方法本文將食品包裝圖像劃分為訓練集和測試集,如表1所示,其中訓練集圖像為327幅且包含8 453個文本框,測試集圖像為181幅且包含4 752個文本框。

表1 數據集數量Tab.1 Number of datasets
為了有效表示食品包裝圖像中標簽文本區域,本文將屬于同一標簽內容的空間區域視為一個單獨的文本區域。鑒于食品包裝可能存在褶皺和彎曲的現象,采用由若干個坐標點順時針連接構成的多邊形表示文本區域,這樣可以滿足任意形狀的標簽區域標識需要,因此未區分規則矩形和彎曲標簽文本。原始圖像和人工標注如圖1所示。

圖1 原始圖像和標注圖像示例Fig.1 Examples of original images and annotated images
針對食品包裝圖像中的標簽文本檢測,提出一種基于語義分割的距離場模型(Semantic segmentation based distance field model,DFM),該模型包含像素分類任務和距離場回歸任務。DFM能夠根據神經網絡模型預測圖像中文本區域內像素點至其邊界的歸一化距離以及文本與背景分割圖。為了有效利用像素分類任務與距離場回歸任務之間存在的聯系以提升模型的檢測效果,在回歸預測模塊中增加了注意力模塊,并且針對距離場回歸任務損失值過小導致模型訓練優化不佳的問題,對其損失函數提出改進,以提高模型的預測準確率。最后根據DFM兩類任務的預測結果利用擴展分組算法獲得食品包裝的標簽文本區域。
DFM包含兩部分:多尺度特征提取模塊和回歸預測模塊,多尺度特征提取模塊利用基礎網絡提取并融合不同維度的圖像特征,再將融合特征輸入到回歸預測模塊。回歸預測模塊包含像素分類和距離場回歸任務,分別預測食品包裝圖像中的文本分割圖以及文本區域內像素到最近邊界的歸一化距離(簡稱距離場),模型檢測流程如圖2所示。

圖2 基于語義分割的距離場模型檢測流程Fig.2 Detection process of distance field model based on semantic segmentation

圖3 基于語義分割的距離場模型結構Fig.3 Structure diagram of distance field model based on semantic segmentation
2.1.1多尺度特征提取模塊
DFM使用ResNet[26]網絡作為基礎特征提取網絡,該網絡是當前應用最廣泛的深度卷積特征提取網絡之一。ResNet[26]主要由stage1~stage5共5個網絡模塊組成,多尺度特征提取模塊采用基于FPN[27](特征金字塔網絡)的方式,對ResNet[25]提取的特征進行融合作為后續回歸預測模塊的輸入,即融合低維圖像精細特征和高維圖像粗略特征。
如圖3所示,將ResNet-50網絡中不同階段得到語義特征f1、f2、f3和f4通過卷積和上采樣運算得到不同維度融合特征P1、P2、P3和P4,其計算方式為
P4=Conv1×1(f4)
(2)
Pi=Conv3×3(Conv1×1(fi)+Up×2(Pi+1))
(i=1,2,3)
(3)
式中 Up×s——s倍上采樣函數
Convk×k——核尺寸k×k的卷積函數
最后通過上采樣運算和拼接操作將P1、P2、P3和P4合并得到多尺度融合特征圖F,其計算方式為
F=[P1;Up×2[P2;Up×2[P3;Up×2(P4)]]]
(4)
式中 [X1;X2]——X1與X2拼接
2.1.2回歸預測模塊及其改進
回歸預測模塊對特征F進行卷積運算并上采樣至原圖像大小,得到預測圖P∈RH×W×3,其中RH×W×2用于食品包裝圖像的像素分類預測任務,RH×W×1用于距離場回歸任務,H和W分別表示輸入圖像的高度和寬度。

(5)
(6)
Pd=Pc
(7)

圖4 回歸預測模塊結構Fig.4 Structure diagram of regression prediction module
在計算距離場損失值時,本文僅考慮圖像文本區域中像素點距離預測值與真值的差距。因此,距離場的預測結果僅關注食品圖像中像素分類結果為文本區域的特征,鑒于DFM兩類預測任務之間存在這樣的關聯性,本文在回歸預測模塊增加注意力模塊(Attention module,AM)以進一步強化任務之間的關系,并利用這種關系提高模型的預測準確率。如圖4b所示,考慮到距離場的預測任務要比像素分類任務更加困難,本文在多尺度融合特征F的基礎上利用寬高均為3的卷積核提取圖像復雜特征F1,提高距離場預測結果準確性。然后將像素分類任務文本區域預測圖與特征F1按元素相乘得到特征Fd,最后再對特征Fd進行卷積運算并通過Sigmoid激活函數得到距離場的預測結果Td。
2.1.3模型損失函數及其改進
DFM模型的損失函數L為
L=Lt+λLd
(8)
式中Lt——像素分類任務的損失函數
Ld——距離場回歸任務的損失函數
λ——兩類任務損失的平衡系數
(1)像素分類任務的損失函數
像素分類任務預測食品包裝圖像中標簽文本區域,本文將文本區域內的像素點標記為正樣本,背景區域的像素點標記為負樣本,通常食品包裝圖像中背景區域占比較大,這種類別不平衡使得網絡偏向學習背景特征從而影響食品標簽的檢測。當前有不同的解決方法處理該問題,例如困難負樣本挖掘(Hard example mining,HEM)[28]、焦點損失函數(Focal loss)[29]和平衡交叉熵等,本文采用HEM策略篩選預測錯誤的負樣本,使正負樣本的比例為1∶3。并使用平衡交叉熵作為像素分類的損失函數,公式為
(9)
式中Ω——經過困難負樣本挖掘獲得的所有正負樣本的集合

ci——預測置信度
(2)距離場回歸任務的損失函數
僅依賴文本與背景的像素分類任務很難區分排列緊湊的文本行或者單詞,本文提出距離場回歸任務,即預測圖像中屬于文本區域內的第i個像素點與該文本區域邊界的歸一化距離di(圖5a),將di大于閾值的部分視為文本中心區域,再向邊緣區域按di遞減擴展像素點,直至di不再遞增。di的計算方式為
(10)

(11)
式中pi,j——屬于文本區域j的第i個像素點的坐標
Bj——文本區域j的邊界像素點坐標集合
ri,j——屬于文本區域j的第i個像素點到其邊界Bj的歐氏距離
rj——屬于文本區域j的所有像素點至邊界Bj歐氏距離的集合

圖5 距離場標簽生成Fig.5 Label generation of distance field
為了消除距離對文本區域和圖像尺寸的敏感性,本文將歐氏距離變換至范圍為[0,1]的歸一化距離di,將文本區域內像素點到邊界的歐氏距離ri,j除以rj的最大值得到歸一化距離di。對于背景區域的像素點,本文將其距離場的標簽值設為零,最后生成的距離場標簽如圖5b所示。顯然文本中心到邊界區域的di逐漸減小,且相鄰的不同文本區域邊界區域的di呈現先遞減再遞增的變化趨勢,這種特征有助于區分相鄰的文本。最后基于分類預測和距離場回歸結果使用后處理的距離場分組算法得到食品標簽文本并分離相鄰的文本,DFM的初始距離場損失定義為
(12)

在距離場真值標注中,由于越靠近邊界區域的歸一化距離值越接近于零,這種不一致性導致邊界區域的距離場預測結果損失通常偏小,因而不能保證預測結果的準確性,這種損失值與期望準確率的不匹配性會影響距離場回歸預測結果,進而影響后處理分組算法獲取食品標簽文本。
本文使用兩個不同的方案解決該問題,從細節考慮,由于距離場損失和預測準確率的不匹配性源于誤差參考尺度的不一致性,使用相對誤差替換每個像素位置距離回歸預測的絕對誤差,即增加權重的方式,其計算方式為
(13)
從整體考慮,回歸任務比分類任務有更高的預測精度要求,然而為了消除食品標簽文本大小對距離的影響,本文使用歸一化距離作為預測目標,這導致食品標簽文本檢測的距離場損失值很小,因此,在損失函數基礎上增加開方運算自適應放大損失值,即增加開方的方式,而不僅依賴于固定的距離場損失系數,其計算方式為
(14)
為了對比驗證不同函數對于模型訓練優化的作用,本文將在距離場回歸任務中分別采用損失函數Ld、Ld_w、Ld_s以及Ld_ws進行實驗。Ld_ws為增加權重與開方的組合方式,其計算方式為
(15)
為了區分彼此靠近的食品標簽文本,本文根據距離場任務的預測結果利用擴展分組算法來解決這個問題,其中心思想是源于廣度優先搜索算法。模型預測結果中包含圖像像素分類Tc和距離場Td,通過設置閾值α和β,將Tc>α且Td>β的區域通過連通域計算得到食品標簽文本的中心區域Tk,如算法1第3~11行所示,其中α取值為0.9,β取值為0.5。
算法1 擴展分組算法
輸入:像素分類預測Tc和距離場預測Td,文本區域分割閾值α,中心區域分割閾值β,邊界閾值γ
輸出:文本區域分割圖Ts
1Tk←Tc>αandTd>β
2visited←?,queue←?,Ts←?,N←0
3 forpi∈Tkdo
4 ifpi?visitedthen
5queue.put(pi);visited←visited∪pi;N←N+1;K←?
6 whilequeue≠? do
7pi←queue.pop();K←K∪(pi,N)
8 if ?h∈neibor(pi) andh?visitedandh∈Tkthen
9queue.put(h);visited←visited∪h
10 end if
11 end while
12queue.put(boundary(K))
13 whilequeue≠? do
14pi←queue.pop()
15 if ?h∈neibor(pi) andh?visitedandTd(pi)≥Td(h)≥γthen
16queue.put(h);K←K∪(h,N);visited←visited∪h
17 end if
18 end while
19Ts←Ts∪K
20 end if
21 end for
22 returnTs
然后將Tc>α的非中心區域像素點進行分組將其劃分入不同的標簽文本,如算法1第12~17行所示。該分組過程為:將Tk的邊緣像素點作為初始點,選擇每個像素點的相鄰且未分組的點作為候選擴展點,根據標簽文本區域距離場從內向外的遞減特征,若候選像素點位置的距離場預測值不大于當前點,將其作為擴展像素點劃分入Tk中,循環上述步驟尋找新增點的候選擴展點并判斷是否符合分組條件,直至擴展到邊界時停止。由于Sigmoid激活函數預測值大于零,算法實現中將距離場邊界的閾值γ設置為很小的值(本文中γ取值為0.001)而不是零。
3.1.1訓練細節及參數
由于本文數據集偏小,故采用以下數據增廣策略提高模型訓練效果:將圖像隨機垂直翻轉或旋轉大小在(-10°,10°)區間內的角度;將圖像按照比例{0.5,1.0,2.0}隨機縮放;從圖像中隨機裁剪尺寸為512像素×512像素子區域作為訓練樣本。此外,還將圖像按通道內的均值和標準差進行歸一化以統一訓練數據的分布,增加模型的訓練速度。訓練階段使用權重(decay)為0.001、動量為0.9的隨機梯度下降算法作為優化器,損失函數平衡系數λ取值為5,每次訓練圖像數量為8,數據集訓練輪次(epoch)為600,初始學習率為10-3,且每150輪次縮小90%。
3.1.2評估方法
目前文本檢測包含3個評價指標:召回率Rrecall、準確率Pprecision和調和平均值Fmeasure,調和平均值的計算方法為
(16)
真值框與檢測框的交并比Ii,j的計算方法為
(17)
式中 intersection(·)——交集函數
union(·)——并集函數
area(·)——面積函數
Gi——真值框Dj——檢測框
為了驗證注意力模塊對模型的影響以及不同損失函數的預測效果,通過消融實驗對比改進前后的模型檢測性能。并且為了證明模型檢測食品標簽文本的準確性,將DFM與其他文本檢測模型進行實驗對比,并介紹分析實驗結果。
3.2.1不同回歸預測模塊的對比
首先分別對改進前的預測結構(圖4a)以及改進后包含注意力模塊的預測結構(圖4b)進行訓練,以此驗證注意力模塊對于模型性能的提升。為了消除損失函數優化對于實驗結果的影響,本實驗的損失函數采用均方差損失函數Ld,其具體計算方法如式(12)所示。實驗結果如表2所示,增加空間注意力模塊使得模型在準確率以及調和平均均有所提升,分別提高了4.39、2.23個百分點。相較于改進前直接預測像素分類結果和距離場回歸結果的方式,通過增加注意力模塊使得距離場的回歸預測與像素分類結果存在關聯關系,即利用像素分類任務的預測結果弱化模型提取的圖像背景區域特征,使得距離場回歸任務減少對于非文本區域的錯誤預測,而當距離場回歸任務出現假文本區域的距離場預測結果時,表明模型的像素分類任務存在錯誤的背景與文本預測結果,通過間接反饋使得模型在訓練的過程中進一步優化像素分類任務。其意義在于使得模型的像素分類任務更加關注圖像的背景與文本的二分類預測,降低模型對于食品圖像中背景區域的錯誤預測,從而增加模型整體的預測準確率。

表2 是否包含注意力模塊的模型對比Tab.2 Model comparison of whether or not attention modulewas included %

圖6 模型訓練過程的損失值對比Fig.6 Comparison of loss value during process of model training
如圖6所示,注意力模塊使得模型在訓練過程中收斂更快,并且模型預測任務的損失值略小于未包含注意力模塊的模型。這說明增加注意力模塊有效減少了像素分類任務以及距離場任務對于圖像中非文本區域的錯誤預測結果。鑒于注意力模塊對模型預測準確率的有效提升,回歸預測模塊采用包含注意力模塊的架構設計。
3.2.2不同損失函數的對比
在增加注意力模塊的基礎上,為了驗證距離場回歸任務中損失函數修改的有效性,對4種距離場損失函數分別進行了實驗,實驗結果如表3所示。其中利用開方自適應增加損失值的方式將準確率提升了3.80個百分點。增加權重的方法使得模型在檢測性能上沒有明顯的提升,由于增加權重的方法中權重值大于等于1,因此一定程度上等效于增加了損失值,但增加邊緣區域的損失權重意味著中心區域的損失權重相對降低,進而影響距離場中心區域距離值的預測準確性,弱化了模型預測準確率的提升效果。這也使得同時使用兩種方法相較于僅使用開方自適應增加損失值的方式準確率減低了1.85個百分點。因此本文最終采用Ld_s作為模型的距離場回歸任務損失函數,易于模型的訓練優化,提高模型的預測準確率。

表3 不同距離場損失函數訓練的模型對比Tab.3 Comparison of model trained with different distance field loss functions %
3.2.3不同模型方法的對比
為了驗證DFM對食品標簽文本檢測的性能,最后將DFM與基于語義分割的自然場景文本檢測方法TextSnake[22]、TextField[25]和PSENet[23]作對比如
表4所示,實驗結果表明DFM對食品標簽文本檢測具有更高的性能,改進前的初始模型準確率較其他模型提升約2個百分點,增加注意力模塊以及損失損失函數的改進使得DFM的召回率、準確率和調和平均值分別為87.61%、76.50%和81.68%,比其他模型的召回率提升超過2個百分點,調和平均值的提升超過7個百分點。相較于改進前,改進后的DFM預測結果比其他模型更加準確。

表4 不同模型方法的對比Tab.4 Comparison of different models %
對食品標簽文本檢測效果的影響主要在于標簽文本檢測不準確或者丟失。如圖7所示,TextSnake[22]模型中利用圓盤參數表征文本區域,其圓盤連接不穩定,極大影響了檢測效果。TextField[25]模型根據預測結果生成的文本區域代表像素存在丟失的情況,導致檢測文本失敗。PSENet[23]模型檢測營養成分等較小的文本存在丟失,該方法依賴于標簽中心區域的文本和背景二分類預測,對于很小的文本其中心區域極小,很容易被忽略。DFM對標簽文本的檢測比其他方法更加準確,PSENet[23]檢測到圖像中的文本,但并沒有將屬于同一標簽的內容定位為整體,并且丟失了強光照附近的標簽內容。

圖7 不同模型的檢測效果對比Fig.7 Comparison of detection result of different models
針對食品包裝上的食品標簽檢測提出一種基于語義分割的距離場模型,對模型回歸預測模塊結構和距離場回歸任務損失函數的改進使得模型的預測準確率分別提升了4.39、3.80個百分點。改進后的DFM模型在食品包裝圖像數據集上的調和平均值達到81.68%,優于近兩年流行的其他自然場景文本檢測模型。