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

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

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

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

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

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

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

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

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

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

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

表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所示,注意力模塊使得模型在訓練過程中收斂更快,并且模型預(yù)測任務(wù)的損失值略小于未包含注意力模塊的模型。這說明增加注意力模塊有效減少了像素分類任務(wù)以及距離場任務(wù)對于圖像中非文本區(qū)域的錯誤預(yù)測結(jié)果。鑒于注意力模塊對模型預(yù)測準確率的有效提升,回歸預(yù)測模塊采用包含注意力模塊的架構(gòu)設(shè)計。
3.2.2不同損失函數(shù)的對比
在增加注意力模塊的基礎(chǔ)上,為了驗證距離場回歸任務(wù)中損失函數(shù)修改的有效性,對4種距離場損失函數(shù)分別進行了實驗,實驗結(jié)果如表3所示。其中利用開方自適應(yīng)增加損失值的方式將準確率提升了3.80個百分點。增加權(quán)重的方法使得模型在檢測性能上沒有明顯的提升,由于增加權(quán)重的方法中權(quán)重值大于等于1,因此一定程度上等效于增加了損失值,但增加邊緣區(qū)域的損失權(quán)重意味著中心區(qū)域的損失權(quán)重相對降低,進而影響距離場中心區(qū)域距離值的預(yù)測準確性,弱化了模型預(yù)測準確率的提升效果。這也使得同時使用兩種方法相較于僅使用開方自適應(yīng)增加損失值的方式準確率減低了1.85個百分點。因此本文最終采用Ld_s作為模型的距離場回歸任務(wù)損失函數(shù),易于模型的訓練優(yōu)化,提高模型的預(yù)測準確率。

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

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

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