邢晉超,潘廣貞
中北大學 軟件學院,太原 030000
在如今飛速發(fā)展的時代,文法手語(簡稱手語)是聽障人士與他人交流和獲取外界信息的主要途徑,也是幫助他們融入社會的重要工具。聽力障礙者在全世界殘疾人群體中占有較大的比重,隨著人們對特殊群體的深入了解,對手語的關注也更為廣泛[1]。但是,當健全人士與聽障人士進行信息交互時,健全人士會遇到無法讀懂手語的巨大障礙,因此手語識別(sign language recognition,SLR)研究在聽障人士與健全人士的交流之中占據著非常重要的地位。
手語識別是指利用算法和技術來識別所產生的手勢序列,并以文本或語音的形式闡述其意義。目前,國內外主流的手語識別方法依據使用的媒介不同可分為:基于傳感器的方法和基于計算機視覺的方法。
第一種是基于傳感器的方法。傳感器包括數據手套、臂環(huán)、智能手表等。Wen等[2]提出了一個基于摩擦電智能手套的手語識別方法,共配置了15 個摩擦電傳感器,將智能手套收集到的句子利用分割法分為單詞單元,識別通過單詞單元重組創(chuàng)建的新的句子,平均正確率達到86.67%。Li 等[3]利用隱馬爾可夫模型技術提出了一種過渡信息建模的SLR模型框架,對來自5個手勢采集者利用數據手套收集獲得的1 024個測試句子、510個單詞的詞匯量進行測試,單詞的準確率達到87.4%。Ahmed等[4]提出了一種基于可穿戴感官手套的新型實時標志識別系統(tǒng),該系統(tǒng)具有17 個傳感器和65 個通道。實驗中包括5名馬來西亞手語(Malaysian sign language,MSL)的參與者執(zhí)行的75個手勢,所有這些手勢都取自MSL數字,字母和單詞,其中數字、字母和單詞的識別精度分別為99%、96%和93.4%。雖然利用傳感器進行手語識別的方法具有較高的靈活度,但是它們要求聽障人士佩戴必要的感官設備,這對聽障人士來說是額外的負擔。
另一種是基于計算機視覺的方法。Boukdir 等[5]提出了一種基于深度學習架構的阿拉伯手語識別方法,使用2DCRNN(2D convolutional recurring neural network)模型提取具有循環(huán)網絡模式的特征,以檢測幀之間的關系,使用3DCNN(3D convolutional neural network)模型從視頻塊中學習時空特征,通過四重交叉驗證技術得到的結果證明了2DCRNN的水平準確率為92%,3DCNN的水平準確率為99%。Guo等[6]提出了一種用于手語翻譯的分層長短期記憶網絡(long short-term memory,LSTM),該方法解決了傳統(tǒng)的隱馬爾可夫模型和聯(lián)結時間分類在識別期間可能無法解決與句子中的視覺內容相對應的混亂單詞順序困難。Necati等[7]提出了一個端到端的手語轉換器,通過CTC(connectionist temporal classification)將識別和翻譯問題綁定到一個統(tǒng)一的體系結構中實現(xiàn),這種聯(lián)合方法不需要時間信息,解決了兩個相互依賴的序列學習問題,在PHOENIX14T 數據集上有著優(yōu)越的表現(xiàn)。Zhang等人[8]構建了一種基于全局-局部特征描述的手語識別框架,提出了具有注意層的三維殘差全局網絡模型和基于目標檢測的局部網絡模型。通過SLR_Dataset 和DEVSIGN_Dataset 兩個數據集的實驗表明,該方法能夠獲得較高的準確率(分別為89.2%、91.0%)和較好的泛化性能。基于計算機視覺的手語識別,在保證準確率的情況下,交互方式簡單,設備依賴性較低,適合在現(xiàn)實生活中應用。
YOLO(you only look once)系列算法具有比較簡潔的結構,計算處理速度快,但是在最新的YOLOv5中,對整個特征圖中的每個區(qū)域會進行相同的處理,并考慮每個區(qū)域對最終檢測具有相同的貢獻。然而,在實際應用中,對象周圍往往存在復雜而豐富的上下文信息,網絡應該重點學習關鍵信息,忽視不重要的背景信息,而不是一視同仁。并且在現(xiàn)實生活中由于內存以及計算機資源的限制,將常規(guī)的網絡模型部署到移動設備是件非常困難的事,在優(yōu)化網絡時,也需要考慮網絡規(guī)模的大小。
本文將在YOLOv5s 算法的基礎上進行改進,對手語圖像進行處理,首先使用K-means++算法提高先驗錨盒的尺寸匹配度,之后將改進后的CBAM(convolution block attention module)注意力機制加入到骨干網絡中,增強特征空間信息以及通道信息之間的關系,以提高手語識別的準確率。最后將Cross Entropy Loss 和Lovasz-Softmax Loss加權結合使用,使得網絡在模型訓練過程中收斂得更加穩(wěn)定,以便更好地滿足實際應用需求。
單階段目標檢測算法YOLO 系列隨著近年來迭代與優(yōu)化,新的YOLOv5算法已成為高性能的實施目標檢測的模型之一。YOLOv5網絡目前包含四種網絡模型:YOLOv5s、YOLOv5m、YOLOv5l和YOLOv5x。YOLOv5s是其中網絡深度和寬度最小的模型,而后三種模型是在YOLOv5s上不斷深化和擴展的產品。越小的網絡模型對移動端的性能要求也越低,部署起來也越方便,因此本文選擇在YOLOv5s 網絡模型的基礎上進行改進。YOLOv5s 結構分為Input(輸入端)、Backbone(骨干網絡)、Neck(多尺度特征融合模塊)、Prediction(預測端)四部分,其網絡結構如圖1所示。

圖1 YOLOv5s網絡結構示意圖Fig.1 Network structure diagram of YOLOv5s
在輸入端,YOLOv5s 首先采用Mosaic 數據增強的方式,對圖片進行隨機裁剪、隨機縮放和隨機排布,豐富了目標檢測物的背景,并且在批量標準化計算時一次計算4張圖片的數據,使用單個GPU就可以達到比較好的效果,增加了網絡的普遍適用性[9]。其次,使用自適應錨框計算初始錨框參數,網絡會根據不同的數據集自適應地計算出相對應的先驗錨框值,YOLOv5s 的初始先驗錨框參數為[10,13,16,30,33,23]、[30,61,62,45,59,119]、[116,90,156,198,373,326]。最后,通過自適應圖片縮放將圖片統(tǒng)一縮小或者放大到同一個尺寸。
與之前的YOLO系列網絡模型相比,YOLOv5在骨干網絡中增加了Focus 結構,其核心是對圖片進行切片操作。之后YOLOv5 使用了和YOLOv4[10]一樣的跨級部分網絡(cross stage partial network,CSP)結構,但YOLOv4僅在Backbone中使用了CSP結構,而YOLOv5在Backbone和Neck中分別使用了兩種不同的CSP。在Backbone中,使用帶有殘差結構的CSP1_X。因為Backbone網絡較深,殘差結構的加入使得層和層之間進行反向傳播時,梯度值得到增強,有效防止網絡加深時所引起的梯度消失,得到的特征粒度更細。在Neck中使用CSP2_X,相對于單純的CBL(Conv+BN+Leaky_relu),將主干網絡的輸出分成了兩個分支,之后將其拼接,使網絡對特征的融合能力得到加強,保留了更豐富的特征信息。
多尺度特征融合是目標檢測框架中的關鍵環(huán)節(jié),最早的Neck 是使用上下采樣塊,該方法的特點是沒有特征層聚合操作,如SSD(single shot multibox detector)[11],直接跟隨頭部后的多層次特征圖。目前常用的Neck聚合塊有FPN(feature pyramid networks)[12]、PAN(pyramid attention network)[13]、ASFF(adaptively spatial feature fusion)[14]、BiFPN[15]等。YOLOv5s 的Neck 使 用FPN+PAN 結構,如圖2 所示,由若干個自底向上的路徑和若干個自頂向下的路徑組成,對提取到的特征圖進行不同階段的再處理和合理使用,以便更好地利用Backbone提取到的特征。

圖2 Neck結構示意圖Fig.2 Neck structure diagram
YOLOv5 預測端通常包括Bounding box 損失函數和非極大值抑制(nonmaximum suppression,NMS)。YOLOv5的Bounding box回歸損失函數為GIOU_Loss,有效地解決了前期YOLO 系列無法優(yōu)化邊界框不相交的問題。最后,YOLOv5使用加權NMS篩選多目標框,用來處理冗余預測框的問題,提高了網絡識別的準確性。
YOLOv5使用K-means對通用目標檢測數據集COCO進行聚類,獲得初始先驗錨框參數。但是K-means算法是隨機分配初始聚類中心,其可能會導致初始聚類中心與最佳聚類中心相差甚遠,且僅適用于COCO、VOC 等開放場景數據集,而文中數據集的檢測對象與其存有較大差異。因此,K-means算法并不適合文中的手語動作數據,若以原本的錨框設定進行訓練,不僅影響模型收斂速度,還會導致最終的檢測效果不佳。
為獲取針對性的初始錨框,本文選擇K-means++算法對標記的目標框架進行多維聚類,針對K-means聚類算法的缺陷,用直觀有效的方法優(yōu)化了K-means算法隨機初始點的選取,即隨機選擇一個樣本作為當前的初始聚類中心,然后計算每個樣本和已有聚類中心之間的最短距離,并將該樣本歸類到與其相距最小的聚類中心所對應的類別中。同時計算出每個樣本被設定為下一個聚類中心的概率,選擇概率值最大的樣本作為下一個中心[16],其中概率的計算公式為:

式中,D(x)表示每一個樣本點到當前中心的最短距離,每次分配一個對象,會根據現(xiàn)有的聚類對象重新計算聚類中心,重復此過程直到沒有對象被重新分配到其他的聚類中,最后篩選出K聚類中心。盡管K-means++算法中用于初始選擇聚類中心的方法需要花費額外的時間,但是K均值部分本身在選取合適的聚類中心后會很快收斂,因此該算法實際上減少了計算時間,同時計算出的錨框與本文數據集中的目標匹配得更加精準,對于文中在復雜背景中的手語動作十分有效。在聚類過程中,對應于不同聚類中心數的平均交并比(intersection over union,IoU)如圖3所示。
從圖3中可以得出,當聚類中心的數目為0到9時,平均交并比呈快速上升趨勢,而當聚類中心的數目為9到12 時,平均交并比的變化逐漸平緩。為了平衡計算精度和效率,本文最終選擇了9 個聚類中心,并確定了先驗錨框尺寸,如表1所示。

表1 先驗錨框尺寸Table 1 Prior anchor box scales

圖3 聚類中心數與平均交并比的變化曲線Fig.3 Variation curve of cluster center number and IoU
表1中獲取的9 個先驗錨框之間的差異性較大,將其應用到網絡的不同尺度檢測層中,聚類效果較好。K-means++算法降低了原始算法在初始聚類點所造成的聚類偏差,并且使初始的聚類中心之間距離盡可能地遠,有效地彌補了K-means的缺陷。
對于輸入的手語圖像,除了手部信息外,經常會伴有復雜的背景信息,在卷積時,背景的迭代累積會形成大量冗余信息,從而淹沒部分目標,導致檢測準確率不高[17]。為此,本文改進了CBAM[18]注意力機制,并選擇出有效的位置將其加入到YOLOv5s網絡模型中進行特征融合,使模型更加精準地定位和識別感興趣的目標。
注意力機制是通過關注輸入對象的重要區(qū)域來獲得更多的關鍵信息。CBAM 是一種簡單而有效的注意力機制,其結合了通道注意和空間注意。其中,通道注意是學習不同通道的權值,并用權值對不同通道進行多重劃分,以增強網絡對關鍵通道域的注意。對于F∈RC×H×W層的特征圖,其中C表示通道數,H和W表示特征映射的長度和寬度(以像素為單位),通道注意模塊首先計算每個通道MC∈RC×1×1的權重,計算公式如式(2)所示。

式(2)中,F(xiàn)Cavg和FCmax分別表示平均池化和最大池化后的特征圖,σ是sigmoid激活函數。W1和W2表示兩層全連接層的權重,W1∈RC/r×C,W2∈RC×C/r,r是壓縮率。之后,將得到的通道注意特征圖MC與原始特征圖相乘并發(fā)送到空間注意力模塊。空間注意關注目標在圖像上的位置信息,并通過空間特征的加權選擇性地聚集每個空間的空間特征。如式(3)所示,空間注意使用通道注意特征圖MC與原始特征圖F相乘得到的特征圖FS作為輸入,依次執(zhí)行最大池化和平均池化,然后通過與7×7 的卷積核進行卷積得到空間注意權重圖MS∈R1×H×W,如式(4)所示。

將卷積后得到的MS與FS相乘,再與原始特征圖F相加。最后,將求和后的特征圖通過ReLU激活函數,輸出最終的特征圖MF,如式(5)所示。

但是CBAM 中的通道注意為了控制模型的復雜性,使用全連接層來對通道特征的空間維度進行壓縮,將通道特征投影到低維空間,然后再將其映射回來。然而,降維的過程必然會造成部分通道特征信息的缺失,對捕獲所有通道之間的依賴性有副作用,無法獲取復雜的手語動作的全部特征信息。因此,為了避免CBAM通過降維造成的部分通道信息的缺失,以及更有效地提高手語識別網絡檢測的精準率,本文改進后的CBAM注意力機制,僅保留CBAM的空間域,而舍棄其通道域的部分,選擇ECA-Net(efficient channel attention)[19]作為改進后的CBAM注意力機制的通道域。
在沒有降維的信道級全局平均池(global average pooling,GAP)之后,ECA-Net模塊通過使用一維卷積進行通道特征聚合,考慮每個通道及其K個相鄰的通道來捕獲跨通道交互信息。卷積核大小K表示局部交叉通道交互的覆蓋范圍,即計算中涉及該通道的多少個鄰居。為了避免手動調整K,使用一種方法自適應地確定其值,如式(6)所示。其中,通道數C的初始值為64,|t|odd表示t的最近奇數,γ設置為2,b設置為1。

將ECA模塊應用于本文改進后CBAM注意力機制的通道域后,不同的卷積核大小對應的準確率如圖4所示。分析圖4 可知,當K在所有卷積塊中固定時,需要人工進行不斷的驗證,以選取最合適的卷積核大小。針對本文的手語數據集,K=7 時網絡模型檢測效果最佳;而通過式(6)自適應地確定卷積核大小時,它可以避免通過交叉驗證手動調整參數,直接計算出最合適的K值,充分融合了通道間的交互信息,使得網絡的檢測性能得到優(yōu)化。改進后CBAM 注意力機制的結構如圖5所示。

圖4 卷積核大小與準確率的變化曲線Fig.4 Variation curve of convolution kernel size and accuracy

圖5 改進的CBAM注意力機制結構示意圖Fig.5 Structure diagram of improved CBAM attention mechanism
YOLOv5s網絡使用交叉熵函數(Cross Entropy Loss)作為置信度和類別的損失函數。交叉熵損失函數主要用于梯度下降,但是其只關注對于正確標簽預測的準確性,而沒有注意到其他非正確標簽的差異,從而導致學習到的特征比較零散,會造成一部分離散損失,而這部分離散的損失不能直接求導,使得損失函數無法繼續(xù)優(yōu)化。而Lovasz-Softmax Loss[20]中用于平滑擴展的Lovasz Extension是一個次模函數,此函數已經具有成熟的數學工具,可以將離散函數做光滑處理。因此本文對Cross Entropy Loss和Lovasz-Softmax Loss進行權重配比,從而將兩個損失函數加權結合使用,以優(yōu)化網絡的檢測性能。
首先,交叉熵作為損失函數的一部分,在梯度下降時,有效地避免了均方誤差損失函數學習速率下降的問題,如式(7)所示。

之后,通過Lovasz-Softmax Loss中的Lovasz Extension對離散損失進行平滑擴展。擴展是基于集合函數的次模分析,其中次模函數的定義如式(8)所示,定義在有限集合E上,冪2E的一個實函數f,當且僅當對于E的任意兩個子集X、Y滿足式(8),稱f是次模函數。

本文中擴展的集合函數是從一組預測失誤的數據映射到真實數據的集合,對于一個真實值y*和預測值y~ ,定義類別c的錯誤像素集,如式(9)所示:

給定一個次模函數f:Hn→R和一個Lovasz 擴展函數,次模函數的Lovasz Extension 被定義為式(11),其中1 ≥xπ(1)≥xπ(2)≥…≥xπ(n)≥0,xπ(0)=1,xπ(n+1)=0。Lovasz-Softmax損失函數如式(12)所示,其中Fi(x)表示i類的輸出分數。

由式(11)可知,此時平滑后的函數已經是連續(xù)的,能直接對誤差x求導,導數也很簡潔,即f(x)。并且Lovasz Extension 處理后的函數是一個凸函數,可高效實現(xiàn)最小化,這樣就大大方便了對損失函數的優(yōu)化。經過Lovasz Extension 平滑后的損失函數,將之前無法利用的離散損失加入計算,對于之前無法識別或者識別度較低的復雜手語動作十分有效,并且使得訓練過程變得較為平穩(wěn),優(yōu)化了模型的檢測性能。但是在單獨訓練Lovasz-Softmax Loss的過程中,Lovasz擴展不會受到與標簽匹配的樣本的影響,在深層網絡中,Lovasz 擴展可能沒有任何梯度。而交叉熵損失函數可彌補Lovasz-Softmax Loss中可能不存在梯度的缺陷,后者又可以在前者的基礎上進行平滑收斂。
最終將Cross Entropy Loss和Lovasz-Softmax Loss通過加權系數k1和k2結合使用,使得改進后的網絡在模型訓練過程中收斂得更加穩(wěn)定。本文中的k1和k2的取值分別為1.0和0.7,最終的損失函數如式(13)所示。

本文采用Roboflow的American Sign Language Letters Dataset數據集進行訓練,此數據集共1 728張圖像,圖像大小為608×608,其中除了720張真實手語圖像外,還包含通過數據扭曲和過度采樣處理后擴充的圖像。在訓練時按照9∶1的比例,將此數據集隨機劃分為包含1 555張圖片的訓練集和173張圖片的測試集。
網絡超參數配置如下:在模型訓練中,通過Adam Optimizer 優(yōu)化器對參數進行調優(yōu),設置目標的類別置信度閾值為0.5,初始學習率為0.001,權重衰減系數設置為0.000 5,以防止數據過擬合。此外,batch size設置為16,一共訓練300個epoch。
具體測試環(huán)境:GPU 為Tesla T4,顯存為16 GB,CUDA 版本10.2,cuDNN 版本7.6.5,Pytorch 版本1.7.0,編譯語言為Python3.7。
在目標檢測領域,通常使用精準率(precision)、召回率(recall)和平均精準率(mean average precision,mAP)對目標檢測算法性能進行評價[21]。其中,精準率P是指真正的正樣本與模型識別出的正樣本的比率,計算公式如式(14)所示:

式中,TP表示模型正確預測正樣本的個數;FP表示模型將負樣本錯誤檢測為正樣本的個數。
召回率R是指在測試集所有真正的正樣本中,模型正確檢測出正樣本的個數所占的比率,計算公式如式(15)所示。

其中,F(xiàn)N表示正樣本被錯誤識別為負樣本的個數。
如果一個算法的性能比較好,那么其應該有如下的表現(xiàn):在召回率增長的同時,精準率的值保持在一個很高的水平。
一般還需要一個綜合的參數來檢測網絡的算法性能,例如mAP值,計算公式如式(16)所示:

式中,N表示測試集中的樣本總數,C是檢測任務中類別的種數,P(K)是模型在同時識別K個樣本時精準率的值,R(K)表示模型識別的樣本個數從K-1 變?yōu)镵時,召回率的變化情況。
3.3.1K-means++
首先通過對比實驗來驗證本文應用K-means++算法提高先驗錨框的尺寸匹配度是否能夠提升網絡在手語識別方面的精準率。原YOLOv5s網絡模型與改進的網絡在同一個數據集上分別進行相同epoch 數量的訓練,實驗結果如表2 所示,其中FPS(frame per second)用來評估目標檢測的速度。

表2 對比實驗測試結果Table 2 Test results of comparative experiment
從表2 中可以看出,在YOLOv5s 網絡的基礎上先驗錨盒的聚類方法由K-means算法改為K-means++算法,mAP 提升了0.83 個百分點,F(xiàn)PS 提升了0.12。而改進后的YOLOv5s 算法因與原YOLOv5s 網絡結構的不同,檢測精度隨之也發(fā)生變化。在改進后YOLOv5s 網絡的基礎上使用K-means++算法與使用K-means算法相比較,mAP提升了0.23個百分點,F(xiàn)PS提升了0.11,同時與原YOLOv5 模型相比,mAP 高出了3.01 個百分點。總體上來說,應用K-means++聚類算法定制出的先驗錨盒的尺寸更加合理,對于本文中的手語動作目標和復雜的背景十分有效,使得網絡獲得了更好的定位精度。
3.3.2 注意力機制對比
為了分析降低特征圖的空間維度對通道注意的影響,實驗只保留改進前后CBAM模塊中的通道注意力,并將其融入到YOLOv5s 骨干網絡中。實驗結果如表3所示,YOLOv5s_CBAM表示使用原始CBAM中壓縮率為16 的兩層全連接層進行通道特征聚合;YOLOv5s_CBAM_FC2表示直接使用兩層全連接層聚合通道特征;YOLOv5s_CBAM_FC表示僅使用一層全連接層進行通道特征聚合;YOLOv5s_ICBAM 表示使用改進后的CBAM 注意力機制(簡稱為ICBAM)的通道域,即采用ECA-Net的一維卷積進行通道特征的聚合。

表3 通道注意模塊對比實驗Table 3 Comparative experiment of channel attention module
通過分析表3 的數據可知,不進行特征壓縮的YOLOv5s_CBAM_FC2的模型準確率比使用原始CBAM注意力機制的模型準確率高出0.51個百分點,這表明去除特征壓縮的過程,雖然使得模塊的參數量增大,但是保留了較完整的特征圖信息,提升了通道注意力的特征表達能力。而直接使用一層全連接層對通道信息進行聚合時,mAP值提升了0.45個百分點,這意味著減少全連接層的使用,可以在參數量大量下降的情況下,進一步避免特征壓縮,從而提升了模型的檢測效果。最后,使用本文的ICBAM 注意力機制,直接對全局池化后的通道特征進行一維卷積,并沒有對特征進行壓縮,也沒有使用全連接層進行映射,mAP 值總體提升了1.37 個百分點。以上結果清楚地表明了避免維度降低將有助于聚合通道特征,從而提升整體ICBAM 注意力機制在YOLOv5s中的性能。
改進后的CBAM 注意力機制將特征空間的位置信息與通道特征信息相結合,以便網絡能夠在訓練過程中掌握目標特征的“關鍵點”。然而,在特定情況下,ICBAM模塊在網絡模型中的哪個位置進行特征融合是有效的,仍然是一個有待研究的問題。本文將ICBAM模塊融合到YOLOv5s 網絡模型的不同位置,并對檢測結果進行了研究,實驗結果如表4所示。

表4 改進的CBAM模塊嵌入到網絡不同區(qū)域的測試結果Table 4 Test results of improved CBAM module embedded into different areas of network
從表4中可以發(fā)現(xiàn),將ICBAM模塊嵌入在YOLOv5s骨干網絡中,mAP 為97.01%,與原YOLOv5s 相比提升了2.78 個百分點,檢測精度有了明顯的提升;而將ICBAM 模塊嵌入在多尺度特征融合模塊時,mAP 為94.27%,模型參數增加了8.8×105,對模型產生的影響很小;最后,將ICBAM模塊嵌入到YOLOv5s的預測端時,mAP為95.18%,模型參數增加了1.34×106。經過對比可以得出,將ICBAM 模塊融合到YOLOv5s 骨干網絡中,可以最有效地增強實例上特征層的語義信息,網絡會更加關注隱藏在底層的容易被忽略的目標。圖6 展示了將ICBAM 注意力機制模塊分別嵌入到YOLOv5s 的骨干網絡、多尺度特征融合模塊、預測端三個區(qū)域后的網絡結構。

圖6 ICBAM模塊嵌入YOLOv5s不同區(qū)域后的三種結構Fig.6 Three structures of ICBAM module embedded in different areas of YOLOv5s
為了進一步驗證本文改進后CBAM 注意力機制模塊的性能,將其分別與僅有通道域的ECA 注意力機制模塊和改進前同時擁有通道域和空間域的CBAM注意力機制模塊做了對比實驗,結果如表5所示。
分析表5的數據可知,當YOLOv5s網絡中加入ECA注意力機制模塊時,與原YOLOv5s網絡相比,參數增加了1.09×106,mAP 提升了0.85 個百分點,由此說明添加通道注意力可以使模型更加精準地定位目標。而將改進前的CBAM 模塊加入到YOLOv5s 網絡時,模型參數增加了1.7×105,mAP提升了1.66個百分點,精準率比加入ECA 模塊時更高,這意味著在注意力機制模塊中添加空間注意更有助于手語識別。最后,將ICBAM 模塊加入到YOLOv5s 網絡中,盡管附加了1.33×106模型參數,但是mAP 比原YOLOv5s 網絡高出了2.78 個百分點。上述實驗表明,改進后的CBAM 注意力機制同時具有空間注意和通道注意,可以有效地提高網絡檢測的準確率,更適用于手語識別任務。

表5 不同注意力機制對比結果Table 5 Comparison of different attention mechanisms
3.3.3 不同損失函數對比
此小節(jié)通過對比實驗來驗證Cross Entropy Loss與Lovasz-Softmax Loss加權結合使用,是否能夠使改進后的YOLOv5s網絡更加穩(wěn)定平滑地收斂。為了能更清晰地展現(xiàn)實驗結果,將只具有Cross Entropy Loss 函數的模型稱為CEL-YOLOv5s,只具有Lovasz-Softmax Loss函數的模型稱為LSL-YOLOv5s,具有Cross Entropy Loss與Lovasz-Softmax Loss 加權結合損失函數的模型稱為CELS-YOLOv5s,損失曲線對比圖如圖7所示。

圖7 損失曲線對比圖Fig.7 Loss curve comparison chart
分析圖7可以看出,30次epoch后,三個網絡模型都開始逐漸收斂。首先,CEL-YOLOv5s 模型收斂后的損失值在0.060~0.100 之間波動,并且其Loss 值普遍高于LSL-YOLOv5s 和CELS-YOLOv5s,損失波動嚴重。其次,LSL-YOLOv5s 模型收斂后,其損失波動范圍在0.020~0.048 之間,損失值的大小下降頗多,但是其訓練過程仍有振蕩的現(xiàn)象,平穩(wěn)性的提升程度依然有限。最后,CELS-YOLOv5s 模型收斂后的損失值的大小與LSL-YOLOv5s 損失值的大小相當,但是損失波動范圍在0.018~0.030之間,損失波動范圍縮小,使得網絡收斂地更加平滑穩(wěn)定,在保證網絡快速收斂的情況下,最大限度地優(yōu)化了網絡的穩(wěn)定性,適用于手部動作等小范圍的變化目標。
3.3.4 不同網絡模型對比實驗
最后,為了驗證本文提出的改進YOLOv5s 模型的高效性,將其與同類型單階段網絡YOLOv3[22]、YOLOv4、SSD 進行對比,同時,加入雙階段網絡Faster RCNN[23],對測試結果進行多元分析,得到結果如表6 所示。改進的YOLOv5s 模型的參數規(guī)模遠小于YOLOv3 和YOLOv4模型的參數規(guī)模,mAP50值為97.67%,比后兩個模型分別高出了7.66個百分點和5.54個百分點,說明本文改進后的YOLOv5s模型在準確識別手語動作方面有較大的優(yōu)勢。與不同系列但同為單階段網絡的SSD比較,本文改進后的YOLOv5 模型仍具有明顯的優(yōu)勢,模型參數比其低1.62×107,mAP50 值比其高14.07 個百分點。而雙階段檢測網絡模型Faster RCNN,與其他算法比較,其mAP50 值過低,并且其模型參數過大,檢測速度較慢,對硬件設備要求較高。最后,通過對比實驗可以得出,本文改進的YOLOv5s 網絡模型有較高的準確率,可以更有效地進行手語識別,實現(xiàn)了更好的檢測性能。

表6 不同網絡的對比實驗測試結果Table 6 Comparative experimental test results of different networks
此節(jié)對本文提出的改進YOLOv5s 模型進行消融實驗以驗證各模塊的有效性,其結果如表7所示。分析表7中的數據可以得出,首先將改進后的CBAM模塊加入到YOLOv5s的骨干網絡中,模型參數增加了1.33×106,mAP50 值升高了2.78 個百分點,雖然附加了少量的參數,但是使得網絡檢測的精準率有比較明顯的提升,在一定程度上緩解了因背景復雜而出現(xiàn)的手語動作誤檢、漏檢等問題。其次,應用K-means++算法提高先驗錨框的尺寸匹配度,模型參數沒有發(fā)生太大的變化,mAP50值提升了0.23個百分點,有效地提升了先驗錨框與實際物體的匹配度。最后,將Cross Entropy Loss和Lovasz-Softmax Loss加權結合應用在網絡中,對模型參數也幾乎沒有產生影響,mAP50值在之前的基礎上提升了0.43個百分點,與原YOLOv5s 模型相比mAP50 值整體提高了3.44個百分點。

表7 消融實驗測試結果Table 7 Test results of ablation
同時,圖8 更清晰地展現(xiàn)了改進前后YOLOv5s 網絡在訓練過程中損失曲線和精度曲線的變化。在圖8(a)中,改進YOLOv5s 曲線在原YOLOv5s 曲線下方,這說明改進的YOLOv5s 網絡損失值更低,同時前者曲線發(fā)生拐點的時間比后者曲線更早并且在100次Epoch后變得更加光滑,這表明改進的YOLOv5s網絡可以更快、更平穩(wěn)地收斂。從圖8(b)中可以看出,改進的YOLOv5s曲線在原YOLOv5s曲線上方,這意味著改進的YOLOv5s網絡的檢測精度整體高于原YOLOv5s 網絡,并且改進后網絡的學習曲線平滑了許多,這說明改進YOLOv5s網絡的訓練過程的穩(wěn)定性更好。從總體上來說,本文改進后的YOLOv5s網絡具有較高的準確率,優(yōu)化了手語網絡檢測性能,能夠較好地滿足實際手語識別應用的需求。

圖8 損失和準確率變化曲線Fig.8 Loss and accuracy curves
本文改進YOLOv5s網絡模型后的檢測結果的混淆矩陣如圖9所示。從圖中可以看出,大部分數據落于對角線上,且數值較高,說明本文改進后的YOLOv5s網絡精準率較高。但是偶爾也會出現(xiàn)錯誤檢測的問題,例如將字母I檢測為字母F,將字母M檢測為字母N,這是因為不同字母手語動作相像或者需要變化動作表示的字母都有可能被誤測,后期仍需對數據集和網絡進行優(yōu)化。

圖9 混淆矩陣Fig.9 Confusion matrix
為了進一步展示本文改進YOLOv5s網絡在手語動作方面的檢測效果,從測試集中隨機選取了不同類型的手語動作圖片進行測試,改進YOLOv5s 網絡前后的對比檢測結果如圖10所示。圖10(a)為YOLOv5s的檢測結果,圖10(b)是本文改進后的YOLOv5s網絡模型檢測結果。從圖10(a)中可以發(fā)現(xiàn),在復雜的環(huán)境背景下,YOLOv5s 出現(xiàn)了檢測錯誤的情況,誤將背景檢測成了手語動作。而在圖10(b)中,本文改進后的YOLOv5s網絡模型沒有受到背景變化的影響,準確地檢測出圖像中的手語動作,并且置信度也更高。通過兩圖的對比可以得出,本文改進后的YOLOv5s 網絡模型檢測結果更精準,這說明改進后的網絡對復雜的環(huán)境具有良好的適應性,能夠捕捉到關鍵的信息,具有更好的泛化能力[24]。

圖10 改進YOLOv5s與原YOLOv5s檢測結果對比Fig.10 Detection results comparison of improved YOLOv5s and original YOLOv5s
針對健全人士與聽障人士交互信息困難的問題,本文提出了一種改進YOLOv5s 網絡模型的手語識別網絡。首先將改進的注意力機制CBAM 模塊融合到YOLOv5s的骨干網絡中,使模型做出更加準確的判斷;隨后應用K-means++算法提高網絡先驗錨框的尺寸匹配度;最后將Cross Entropy Loss和Lovasz-Softmax Loss加權結合應用在YOLOv5s 網絡模型中,得到更適用于手語識別的網絡模型。在消融實驗中,本文改進的YOLOv5s 網絡模型與原YOLOv5s 網絡模型相比,mAP提高了3.44個百分點,具有較高的精準率。本文改進的YOLOv5s 網絡模型,能夠較好地滿足實際生活中手語識別應用的需求,并且可以有效地避免聽障人士被社會孤立,解決健全人士與聽障人士交流溝通的問題。