李陽,李紹彬,解云超,馮爽
(中國傳媒大學 信息工程學院,北京 100024)
文本檢測是近年來計算機視覺領域具有挑戰性的熱門研究課題之一。文本作為一種特殊的視覺信息,它除了具備顏色、紋理這些基本的計算機視覺特征外,還具有較為明確的、有針對性的語義信息,在圖像及場景理解中扮演著關鍵角色。
足球是全世界最受歡迎的體育運動之一,觀眾、球隊教練、球迷等等都有對足球比賽進行智能分析的需求。近年來,對足球賽事自動分析工具的需求大大增加。在足球比賽場景畫面復雜的情況下,對足球賽事圖像進行較為精準的文本檢測,為理解賽事場景中的信息、分析足球賽事提供了研究基礎。
場景圖像中的文本檢測是場景文本分析的第一步,目前已經有很多不同的方法可以用于文本檢測。場景文本檢測方法主要分為兩類:一類是基于連通區域分析的方法,另一類是基于滑動窗口的方法。Yao[1]、Epshtein[2]、Neumann[3]等人采用連通區域分析的方法進行文本檢測,這類方法[1-5]首先根據顏色相似或空間鄰接等一致性特征,進行連通域分析,然后對連通區域按照文本區域、非文本區域做出判定,從而將文本區域從整幅圖像中區分出來。Kim[6]、Gllavata[7]、Lyu[8]等人采用滑動窗口的方法進行文本檢測,基于滑動窗口的方法[6-10]主要通過采用大小可變的滑動窗口在多個空間尺度上進行采樣,然后利用機器學習的方法判別窗口里是否具有文本信息。
本文基于TextBoxes[11]算法,提出新的卷積神經網絡,對足球賽事場景下的文本能夠有效檢測。針對足球賽事場景下,文本幾何形狀多樣、球衣號碼和廣告牌的寬高比例不同等問題,設置適用于足球場景中文本檢測的默認框;針對足球賽事場景下,圖像背景遠遠多于文本而導致的樣本不均衡問題,提出使用Focal Loss作為用于分類的損失函數,并制作用于足球賽事場景下文本檢測的數據集,在該數據集上對算法有效性進行了驗證。
文本檢測的網絡結構如圖1所示,這是一個28層的卷積網絡,其中前13層繼承于VGG-16[12]的網絡結構,保留了VGG-16的conv1_1至conv4_3層,之后額外添加了15層,包括13個卷積層和2個池化層。卷積層的尺寸逐漸減小,可以預測出不同尺度的檢測框。其中,6個卷積層的特征圖直接連接到文本框層(Text-box Layers),文本框層輸出為每個默認框相對于真實邊界框的偏移值和預測的檢測框的分類分數。最后,采取非極大值抑制整合輸出。該網絡模型具體配置參數如表1所示。

圖1 文本檢測網絡結構示意圖
網絡中的所有卷積核尺寸均較小,為3×3或1×1,故該網絡參數較少。添加填充(padding)后的特征圖經過3×3和1×1的卷積核卷積計算后,寬和高不變,隨著網絡層數加深,網絡能夠表征抽象和高級的特征。對于采用大卷積核的網絡,輸入圖像經過一次卷積,會產生較小的特征圖,經過數層卷積便會生成1×1特征圖,網絡層數較淺,映射關系相對簡單,學習到的特征泛化能力不夠突出。因此,采用小卷積核具有減少參數和加深網絡的優點。
為了檢測到不同尺寸的目標文本,傳統方法將圖像縮放至不同大小進行檢測,最后再將結果合并。對于卷積層來說,越底層對應的感受野越小,保留的圖像細節越多;越高層對應的感受野越大,能捕捉到更全局的信息。本文利用卷積網絡中不同層提取特征不同的特點,可以達到對不同尺寸的目標文本進行檢測的目的。所以,本文檢測網絡采用6個不同的特征圖,來實現多尺度檢測。

表1 文本檢測CNN詳細配置

續表
本文針對足球場景下的文本進行檢測。在足球場景下,文本主要包括球衣號碼、場景中的廣告牌、球員名稱以及臺標等。相較于普通的自然場景中的文本,足球場景下的文本類別和幾何形狀的多樣,分別體現在球衣號碼和英文單詞、數字和單詞的幾何形狀間區別很大。如圖2所示,球衣號碼多是高大于寬的,而球員名稱或者廣告中的單詞多是寬大于高的。

圖2 足球場景下文本形狀示意圖
根據文本特點,選取適用于足球場景中文本檢測的默認框。針對號碼選取寬高比為{1:5、1:3、1:2}的默認框,針對單詞文本選取寬高比為{1:1、2:1、3:1、5:1}的默認框,即定義了{1:5,1:3,1:2,1:1,2:1,3:1,5:1}這7種比例的默認框。并采取3×3卷積核代替原始模型中1×5卷積核,3×3卷積核對較大寬高比和較小寬高比的文本都適用。
對Text-box Layers的卷積核的通道數,根據默認框的改變而做出相應的改變。檢測網絡使用卷積神經網絡特征圖生成相應的默認框,在Conv4_3、Conv7、Conv8_2、Conv9_2、Conv10_2、Global這6個卷積層的特征圖上,每一個神經元具有對原始圖像的感受野,對應著原始圖像感受野區域的不同比例的默認框。對這6個特征圖上的每一個神經元節點,可以預測其對應的默認框的偏移值,以及是否為檢測框的類別分數。例如,對于每一個特征點對應的區域,取k個不同形狀的默認框,那么就會產生(2+4)*k個輸出,其中2是指對于每個默認框會計算2個二分類的分數,4是指對于每個默認框會計算4個位置偏移值。對于m×n大小的特征圖,應將卷積核通道數設置為(2+4)*k,產生(2+4)kmn個輸出。
在訓練過程中,需要判定默認框是否為正樣本,當默認框與標定框(ground truth)的面積的交叉重疊比(Intresection Over Union,IOU)大于閾值0.5時,判定為正樣本,反之則判定為負樣本。
訓練分為兩個任務:分類任務和回歸任務。分類任務用于判別默認框是否為文本,輸出是2維向量,表示是文本的概率以及不是文本的概率;回歸任務用于預測默認框位置的偏移值,以得到更貼近真實文本框的檢測框,輸出是4維向量,表示經過特定規則平移縮放后的偏移值。因此,檢測網絡的損失函數由兩部分構成,分別為代表置信度的分類損失函數和代表位置的回歸損失函數。
檢測網絡采用的損失函數如下:
L(p,l,v*,v)=Lconf(p,l)+αLloc(v*,v)
(1)
其中,Lconf為評估分類的損失函數;Lloc為評估位置的損失函數;l為代表類別的標簽,l=1表示是文本區域,l=0表示是背景;參數p=(p0,p1)代表每個類別的概率;v是預測框相對于默認框的偏移值;v*是真實框相對于默認框的偏移值;α為兩個損失函數的權衡值,這里取1。
對于回歸損失函數Lloc,使用Smooth L1 Loss[13],該損失函數具體表示如下:
(2)

(3)
其中,參數v和v*定義如下:
(4)
(5)
其中,x、y、h、w分別是預測出的檢測框的中心點橫坐標、縱坐標、高、寬;xa、ya、ha、wa分別是默認框的中心點的橫坐標、縱坐標、高、寬;x*、y*、h*、w*分別是真實框的中心點的橫坐標、縱坐標、高、寬。
對于分類損失函數,使用Focal Loss[14],使得模型在訓練時更注重于難訓練的樣本。難于區分的樣本對損失的貢獻變大,網絡更傾向于對這些樣本學習。Focal Loss定義如下:
FL(pl)=-α(1-pl)γlog(pl)
(6)
其中,l為類別的標簽,l=1表示是文本區域,l=0表示是背景;參數p=(p0,p1)代表每個類別的概率;α是權重參數,這里取0.25;γ是聚焦參數,這里取2。
將表示置信度的分類損失函數用Focal Loss表示,即:
Lconf(p,l)=FL(p)
(7)
由式(6)可知,當概率大,也就是容易正確分類時,會減小損失對網絡的反饋;當概率小,也就是樣本難以區分時,會增加這些樣本的權重。α解決了正負樣本之間的平衡問題,(1-pl)γ則對易分樣本和難分樣本進行區分。當一個樣本分類錯誤,即概率p很小時,(1-p)因子就會接近1,其損失不被影響;當一個樣本分類正確,即其概率很大接近1時,因子(1-p)就接近0,這個樣本的權重就被降低了。γ參數調節易分樣本降低權重的比例,顯然,樣本越易分,則對損失的貢獻越小,相對來說,難分樣本所占的比重就會變大。
在檢測任務的后續處理中,需要使用非極大值抑制進行搜尋,消除冗余的檢測框,找到最佳的檢測框,非極大值抑制效果示意圖如圖3所示。首先,將檢測結果按照置信度得分進行排序,選中概率最大的檢測結果,將其余檢測框與這個檢測框進行比較,若IOU大于某一設定的閾值,則認為這些檢測框包含于目前這個得分最高的檢測框中;然后,將這些檢測框刪除,保留第一個檢測框;最后,從未處理的檢測框中繼續選擇概率最大的檢測框,重復上述過程,直到處理完所有的檢測框,得到最終保留下來的結果。

圖3 非極大值抑制效果示意圖
(1)足球場景的文本檢測數據集:對足球賽事場景下的文本進行標注。足球賽事圖片截取于20個足球賽事視頻中,對圖片中英文字符、數字、符號“:”和符號“-”進行標注。分別標注了文本的坐標信息以及文本內容,生成相應的xml標簽文件。標注共得到3000張圖片,包含34512個文本區域。足球賽事場景下文本標注的圖片如圖4所示,標簽如圖5所示。使用該數據集的2300張樣本作為訓練數據,用于微調訓練網絡模型;其余的700張樣本作為測試數據,用于對算法的驗證。

圖4 足球場景下文本標注圖片

圖5 足球場景下文本標注的標簽
(2)數字合成數據集:制作合成數據工具,由背景圖片和提供的數字或字符自動合成供文本檢測的圖片,每張圖片具有對應的標簽文件,標簽文件中是文本的位置信息。該方法共合成200000張圖片。數字合成圖片如圖6所示,標簽如圖7所示。該數據集用于預訓練網絡模型。

圖6 數字合成圖片

圖7 數字合成圖片的標簽
(3)SythText[15]數據集:SythText是公開數據集,由真實的自然場景圖片和文本實例合成。該數據集包含858750張圖片,這些圖片由11698張背景圖片和7266866個單詞文本構成。SythText數據集用于預訓練網絡模型。
網絡輸入采用300×300大小的圖片,RGB三通道輸入。在訓練過程中,加載VGG-16模型中相應的參數(即表1中Conv1_1到Conv4_3的參數)對網絡這部分卷積層進行初始化。訓練采用隨機梯度下降法(Stochastic Gradient Descent,SGD)進行網絡優化學習,動量參數為0.9,權值衰減為(Weight Decay)為0.0005,學習率初始化設置為0.001,以指數衰減法更新學習率。實驗在Windows系統下完成,GPU配置為NVIDIA GTX1080,采用的深度學習框架為Google的TensorFlow,使用Python進行編程實驗。
本文分別對基礎網絡TextBoxes、重新設定默認框的改進網絡OursDefault、在OursDefault基礎上使用Focal Loss作為損失函數的改進網絡OursDefault+Focal進行訓練與測試。
測試數據為700張足球場景下文本檢測圖片,與訓練數據不重復。評估基于三個指標:精確度P、召回率R、綜合指標F。精確度P為正確檢測到的文本數量與所有預測出的矩形框個數的比值;召回率R為正確檢測到的文本數量與所有真實文本數量的比值;綜合指標F為精確度P和召回率R的調和平均值。本文對測試數據中全部文本的精確度、召回率和綜合指標進行評估,并分別對數字文本和字母文本的召回率進行評估。

表2 不同算法的檢測性能對比
表2為對基礎算法TextBoxes、本文改進算法OursDefault、OursDefault+Focal的檢測性能的對比。可以看出,本文改進的模型在召回率和綜合指標上均有提升。首先,OursDefault模型與TextBoxes基礎模型的結果相比較,召回率有較大的提升,說明本文提出的改進方法能正確檢測到更多的真實文本。尤其是數字文本的召回率,OursDefault模型相比TextBoxes模型提高了將近10%,說明本文提出的改進算法能夠有效檢測數字文本。其次,OursDefault+Focal模型與前兩個模型相比較,全部文本、數字文本、字母文本的召回率均有提升,并且綜合指標F最高。精確度有所下降的原因是,改進后的模型對文本特征更為敏感,會將測試圖片中與文本極為相似的圖案檢測為文本。
圖8為TextBoxes模型與OursDefault模型檢測結果的展示。可以看出,TextBoxes算法對于橫向文本可以成功檢測,但是對于豎狀的文本、側身時導致寬高比很小的文本,如圖8中的球衣號碼“7”、球衣號碼“16”,難以檢測。本文算法OursDefault在重新對默認框進行設置后,對于這些寬高比小的豎狀文本,均能夠有效檢測。檢測效果得到改善是因為原始TextBoxes模型中均為寬高比大于1的默認框,而改進后的OursDefault模型中設置有寬高比小于1 的默認框,這些默認框能夠對球衣號碼這種大多為豎狀的文本更好地擬合。
圖9為OursDefault模型與OursDefault+Focal模型檢測結果比較。可以看出,相較于OursDefault模型,OursDefault+Focal模型在遮擋、殘缺、模糊的情況下,能夠更成功地檢測到文本。這是因為,足球賽事場景中的背景區域遠遠多于文本區域,在我們選取的默認框中,負樣本數要遠遠多于正樣本,正負樣本不均衡。本文提出使用Focal Loss作為分類損失函數進行訓練,在訓練過程中Focal Loss對不同樣本賦予不同的權重。易于區分的樣本權重較小,難以檢測的目標權重較大,有效解決了樣本不均衡帶來的問題。對遮擋、殘缺、模糊這類難以區分的樣本,在訓練時給予較大權重,因此該模型能夠對其有效檢測。

TextBoxes檢測結果 OursDefault檢測結果圖8 TextBoxes與OursDefault檢測結果比較

OursDefault檢測結果 OursDefault+Focal檢測結果圖9 OursDefault與OursDefault+Focal檢測結果比較
本文采用卷積神經網絡對足球賽事場景下的文本進行檢測,在TextBoxes網絡的基礎上提出兩點改進:一是重新設置默認框,解決球衣號碼等豎狀文本的檢測問題;二是使用Focal Loss作為分類損失函數進行訓練,解決背景與文本的正負樣本不均衡問題。此外,還制作了足球賽事場景下文本檢測的數據集,用于訓練和測試。實驗結果表明,本文提出的改進方法是有效的。在下一步的研究中,考慮將角度信息用于位置回歸任務中,實現對傾斜文本的多方向檢測。