陳 帥,袁宇浩
(南京工業(yè)大學(xué) 電氣工程與控制科學(xué)學(xué)院,南京 211816) E-mail:1621253937@qq.com
手語(yǔ)是聾啞人進(jìn)行信息交流的重要手段,而手語(yǔ)字母是手語(yǔ)的基本組成單元,手語(yǔ)字母識(shí)別也是人機(jī)交互的重要組成部分[1].手語(yǔ)識(shí)別作為一種新的交互方式,被廣泛應(yīng)用到虛擬現(xiàn)實(shí)系統(tǒng)、互動(dòng)游戲平臺(tái)、手語(yǔ)識(shí)別和控制機(jī)器人等領(lǐng)域[2].
在人機(jī)交互的過程中,為了能夠準(zhǔn)確地識(shí)別出手部信息,提高識(shí)別的準(zhǔn)確率就顯得尤其重要[3].目前,對(duì)于手部信息的識(shí)別方法主要可以分為兩類:基于外部設(shè)備的識(shí)別方法,基于計(jì)算機(jī)視覺的識(shí)別方法[3].
基于外部設(shè)備的手部信息識(shí)別方法指借助外部設(shè)備對(duì)數(shù)據(jù)進(jìn)行采集,根據(jù)采集的數(shù)據(jù)對(duì)手部信息進(jìn)行識(shí)別,如Kinect,可穿戴數(shù)據(jù)手套等[4],該識(shí)別方法具有極高的準(zhǔn)確性和檢測(cè)速度.但價(jià)格過于昂貴且操作不方便[4].基于計(jì)算機(jī)視覺的手勢(shì)識(shí)別則是通過識(shí)別圖像中手部的特征來判斷手勢(shì)[5].
近年來,卷積神經(jīng)網(wǎng)絡(luò)在圖像識(shí)別領(lǐng)域取得巨大成果,與傳統(tǒng)機(jī)器學(xué)習(xí)手勢(shì)識(shí)別相比,基于卷積神經(jīng)網(wǎng)絡(luò)的手勢(shì)識(shí)別具有更好的自適應(yīng)能力,具有更強(qiáng)的魯棒性.目前,吳曉鳳、張江鑫等人利用Faster-RCNN對(duì)手勢(shì)進(jìn)行識(shí)別,取得了較高的精度,但檢測(cè)速度較慢,不能做到實(shí)時(shí)檢測(cè)[6].張強(qiáng)、張勇[7]等人采用Yolov3網(wǎng)絡(luò)對(duì)靜態(tài)手勢(shì)進(jìn)行識(shí)別,該方法采用Kinect設(shè)備采集手勢(shì)信息,利用K-means算法對(duì)Yolov3的錨框進(jìn)行設(shè)定,在實(shí)時(shí)性和檢測(cè)精度上同時(shí)取得了不錯(cuò)的效果[8,9].Rao等人利用前饋神經(jīng)網(wǎng)絡(luò)對(duì)手語(yǔ)視頻進(jìn)行檢測(cè),檢測(cè)精度達(dá)到了90%[10].CHAUDHARY利用方向直方圖,設(shè)計(jì)了一種手勢(shì)識(shí)別神經(jīng)網(wǎng)絡(luò),準(zhǔn)確率達(dá)到了92.8%[11].
由于現(xiàn)有的檢測(cè)設(shè)備價(jià)格昂貴,檢測(cè)方法檢測(cè)速度慢,不能做到實(shí)時(shí)檢測(cè),且檢測(cè)精度較差,在不同的設(shè)備之間移植困難.而Yolov5網(wǎng)絡(luò)相比于其他網(wǎng)絡(luò)具有檢測(cè)速度快,檢測(cè)精度高,且方便移植到手機(jī)等便攜式設(shè)備中.本文以Yolov5網(wǎng)絡(luò)為基礎(chǔ)進(jìn)行改進(jìn),融入SE通道注意力機(jī)制[12]和ASFF自適應(yīng)特征融合機(jī)制[13],并對(duì)數(shù)據(jù)集進(jìn)行處理,增加在強(qiáng)光下帶有投影以及復(fù)雜背景和進(jìn)行灰度處理過的圖片,使Yolov5對(duì)于圖像高層的語(yǔ)義信息以及對(duì)底層的輪廓、邊緣、顏色、形狀信息利用的更加充分[14].改進(jìn)后的Yolov5-ASFF-SE網(wǎng)絡(luò)在手語(yǔ)字母識(shí)別準(zhǔn)確度上達(dá)到了96.1%,平均精度均值達(dá)到了96.8%.相比原Yolov5網(wǎng)絡(luò),在檢測(cè)速度基本保持不變的前提下,平均精度均值提高6%.
目標(biāo)檢測(cè)就是對(duì)圖像中的目標(biāo)物體位置和大小進(jìn)行判定,隨著深度學(xué)習(xí)的不斷發(fā)展,基于深度學(xué)習(xí)的目標(biāo)檢測(cè)方法也得到了廣泛普及[15].深度學(xué)習(xí)目標(biāo)檢測(cè)算法大體上可以分為雙階段和單階段兩種,雙階段目標(biāo)檢測(cè)算法雖然檢測(cè)精度較高,但速度比較慢,很多時(shí)候無法滿足要求[15].單階段目標(biāo)檢測(cè)算法則是端到端檢測(cè),雖然單階段目標(biāo)檢測(cè)算法速度較快,但檢測(cè)不夠準(zhǔn)確,很多重疊遮擋的物體無法被檢測(cè)到[15,16].
Yolo是目標(biāo)檢測(cè)領(lǐng)域常用的端到端的卷積神經(jīng)網(wǎng)絡(luò)模型,發(fā)展至今,共有5個(gè)版本,分別是Yolov1至Yolov5[17].Yolo在第3代發(fā)展到巔峰,網(wǎng)絡(luò)結(jié)構(gòu)基本成型,在兼顧實(shí)時(shí)性的同時(shí)保證了檢測(cè)的準(zhǔn)確性.Yolov4和Yolov5也是在Yolov3的基礎(chǔ)上進(jìn)行改進(jìn),提高了檢測(cè)速度和檢測(cè)精度.
與Yolov3相比,Yolov5具有更高的準(zhǔn)確性以及更快的速度.Yolov5包括四種不同的網(wǎng)路結(jié)構(gòu),Yolov5s,Yolov5m,Yolov5l,Yolov5x,這4種網(wǎng)絡(luò)結(jié)構(gòu)的深度和寬度各不相同,其中Yolov5s寬度和深度最小[18].為了滿足速度要求,本文選用網(wǎng)絡(luò)深度和寬度最小的Yolov5s網(wǎng)絡(luò)模型.根據(jù)處理內(nèi)容的不同,Yolov5s目標(biāo)檢測(cè)網(wǎng)絡(luò)可以分為Input輸入端、Backbone特征提取端、Neck頸部端、Prediction預(yù)測(cè)端.
Yolov5的Input輸入端,采用Mosaic圖像增強(qiáng)來提升檢測(cè)效果,采用自適應(yīng)錨框計(jì)算來設(shè)定初始錨框的大小,采用自適應(yīng)圖片縮放固定圖片的尺寸.
2.2.1 Mosaic數(shù)據(jù)增強(qiáng)
Mosaic圖像增強(qiáng)是隨機(jī)將4張圖片拼接成一張圖片進(jìn)行訓(xùn)練,4張圖片拼接成一張?jiān)黾恿撕芏嘈∧繕?biāo),提升了小目標(biāo)的識(shí)別能力[19].增加了網(wǎng)絡(luò)的穩(wěn)定性,改善了網(wǎng)絡(luò)的訓(xùn)練效果.
2.2.2 自適應(yīng)錨框計(jì)算
自適應(yīng)錨框計(jì)算,指在網(wǎng)絡(luò)訓(xùn)練前,Yolov5根據(jù)不同的目標(biāo)檢測(cè)數(shù)據(jù)集,自動(dòng)設(shè)定初始錨框的大小,而Yolov3需要單獨(dú)采用K-means聚類算法人為設(shè)定初始錨框的大小,Yolov5將其嵌入到算法中.在網(wǎng)絡(luò)訓(xùn)練的過程中,網(wǎng)絡(luò)自行設(shè)定錨框的大小.
2.2.3 自適應(yīng)圖片縮放
自適應(yīng)圖片縮放,即自動(dòng)縮放圖片尺寸到640×640的大小,傳統(tǒng)的圖片縮放和拉伸,增添的黑邊比較多,增加了網(wǎng)絡(luò)的計(jì)算量,而Yolov5對(duì)該算法進(jìn)行改進(jìn),增添最小的黑邊,這樣可以減少網(wǎng)絡(luò)的訓(xùn)練速度和檢測(cè)速度.
Yolov5的Backbone主干部分采用darknet53特征提取網(wǎng)絡(luò),特征提取網(wǎng)絡(luò)主要由Focus結(jié)構(gòu),CSP結(jié)構(gòu)和SPP結(jié)構(gòu)組成.
2.3.1 Focus結(jié)構(gòu)
Focus結(jié)構(gòu)的功能和鄰近下采樣相似,對(duì)圖片進(jìn)行切片操作,得到了4張互補(bǔ)的圖片,4張互補(bǔ)的圖片長(zhǎng)相相似,但沒有信息丟失,這樣一來,將W、H信息就集中到了通道空間,輸入通道擴(kuò)充了4倍,即拼接起來的圖片相對(duì)于之前RGB三通道變成了12個(gè)通道,最后將得到的新圖片再經(jīng)過卷積操作,最終得到了沒有信息丟失的2倍下采樣特征圖.Yolov5的Focus結(jié)構(gòu)如圖1所示.
圖1 Yolov5的Focus結(jié)構(gòu)Fig.1 Focus structure of Yolov5
2.3.2 CSP結(jié)構(gòu)
Yolov5設(shè)計(jì)了兩種CSP結(jié)構(gòu),一種是帶了殘差的CSP1_X結(jié)構(gòu),另一種是用普通的卷積塊替換殘差的CSP2_X結(jié)構(gòu).帶殘差的CSP1_X結(jié)構(gòu)使用在backbone里,不帶殘差的CSP2_X結(jié)構(gòu)使用在neck部分.darknet53為較深的網(wǎng)絡(luò),增加殘差結(jié)構(gòu)可以避免因?yàn)榫W(wǎng)絡(luò)深度的增加而帶來的梯度消失.從而增強(qiáng)部分的泛化能力.Yolov5的CSP結(jié)構(gòu)如圖2所示.
圖2 Yolov5的CSP結(jié)構(gòu)Fig.2 CSP structure of Yolov5
2.3.3 SPP結(jié)構(gòu)
SPP結(jié)構(gòu),也叫空間金字塔池化層,通過不同大小卷積核的池化操作抽取不同尺度特征,增加了尺度的多樣性,防止出現(xiàn)過擬合,同時(shí)加快了網(wǎng)絡(luò)的收斂速度.SPP結(jié)構(gòu)如圖3所示.
圖3 Yolov5的SPP結(jié)構(gòu)Fig.3 SPP structure of Yolov5
Neck頸部端采用自頂向下的特征金字塔FPN結(jié)構(gòu)以及自底向上的PAN的組合結(jié)構(gòu),FPN+PAN的組合結(jié)構(gòu)中采用了不帶殘差的CSP2_X結(jié)構(gòu),增強(qiáng)了網(wǎng)絡(luò)的特征融合能力.Yolov5的FPN和PAN結(jié)構(gòu)如圖4所示.
圖4 Yolov5的FPN和PAN結(jié)構(gòu)Fig.4 FPN and PAN structure of Yolov5
Yolov5的輸出端,使用 GIOU作為邊界框損失函數(shù),使用加權(quán) NMS 對(duì)非極大值進(jìn)行抑制,從而獲得最優(yōu)目標(biāo)框[20].輸出層共有3個(gè)尺寸的輸出通道,大小分別 19×19×255、38×38×255、76×76×255[21].
手語(yǔ)字母圖像相較于其他圖像,不同手勢(shì)的相似性太高,細(xì)節(jié)信息不夠豐富,因此,手語(yǔ)字母識(shí)別進(jìn)行細(xì)節(jié)提取就顯得尤其重要.對(duì)于卷積操作,很大一部分工作是增大感受野,通過在CNN卷積神經(jīng)網(wǎng)絡(luò)中融入SE通道注意力機(jī)制,可以增大特征提取的感受野,從而可以提取到更多的手勢(shì)細(xì)節(jié)信息[22].
圖5 SE通道注意力結(jié)構(gòu)Fig.5 SE channel attention structure
SE通道注意力機(jī)制,包括Squeeze壓縮操作和Excitation操作,首先對(duì)Darknet53特征提取網(wǎng)絡(luò)提取到的特征進(jìn)行壓縮操作,進(jìn)而對(duì)特征進(jìn)行Excitation操作,最后累加Excitation操作得到的權(quán)重與初始特征圖進(jìn)行相乘得到的結(jié)果.進(jìn)而輸出.SE通道注意力結(jié)構(gòu)如圖5所示.
Yolov5目標(biāo)檢測(cè)網(wǎng)絡(luò)采用PANet結(jié)構(gòu)進(jìn)行融合,這種融合方式只是簡(jiǎn)單的將特征圖變換成相同尺寸,然后再相加,無法充分利用不同尺度的特征[23].為了對(duì)圖像高層的語(yǔ)義信息以及對(duì)底層的輪廓、邊緣、顏色、形狀信息進(jìn)行充分利用,現(xiàn)融入自適應(yīng)特征融合機(jī)制.自適應(yīng)特征融合機(jī)制的結(jié)構(gòu)圖如圖6所示.
圖6 ASFF的結(jié)構(gòu)設(shè)計(jì)圖Fig.6 Structural design diagram of ASFF
Yolov5頸部的輸出為level、level2和level3特征圖,圖中以ASFF-3為例進(jìn)行介紹,融合后的ASFF-3輸出為level1、level2、level3的語(yǔ)義特征與來自不同層的權(quán)重α,β和γ相乘并進(jìn)行相加的結(jié)果[23].如公式(1)所示:
(1)
(2)
實(shí)驗(yàn)從線上收集了1800張手語(yǔ)字母數(shù)據(jù)集.數(shù)據(jù)集包含26個(gè)數(shù)據(jù)類別,分別是′A′,′B′,′C′,′D′,′E′,′F′,′G′,′H′,′I′,′J′,′K′,′L′,′M′,′N′,′O′,′P′,′Q′,′R′,′S′,′T′,′U′,′V′,′W′,′X′,′Y′,′Z′,為了提高手語(yǔ)字母識(shí)別的準(zhǔn)確性,對(duì)手語(yǔ)字母數(shù)據(jù)集進(jìn)行處理,增加在強(qiáng)光下帶有投影以及復(fù)雜背景和進(jìn)行灰度處理過的圖片,如圖7所示.
圖7 復(fù)雜背景下圖片F(xiàn)ig.7 Picture with complex background
使用 LabelImg軟件對(duì)圖片進(jìn)行標(biāo)注,數(shù)據(jù)集格式選用YOLO,標(biāo)簽保存為txt格式,文件名和圖片名稱一致[24].標(biāo)注的圖片如圖8所示.
圖8 手語(yǔ)字母數(shù)據(jù)集Fig.8 Sign language alphabet data set
根據(jù)用途不同,對(duì)標(biāo)注好的數(shù)據(jù)集進(jìn)行劃分,分為訓(xùn)練集、驗(yàn)證集和測(cè)試集.具體劃分比例如表1所示.
表1 訓(xùn)練集,驗(yàn)證集和測(cè)試集Table 1 Training set,validation set and test set
本實(shí)驗(yàn)采用 Ubuntu18.04 操作系統(tǒng),深度學(xué)習(xí)框架選用 Pytorch 架構(gòu),使用 GeForce GTX 2060 的顯卡進(jìn)行訓(xùn)練.具體實(shí)驗(yàn)配置如表2所示.
表2 實(shí)驗(yàn)環(huán)境Table 2 Experimental environment
本文選用平均精度均值MAP作為模型的評(píng)估指標(biāo),它們的數(shù)值越大,表示手語(yǔ)字母識(shí)別效果越好[25,26].在介紹平均精度均值之前先介紹準(zhǔn)確率和召回率,準(zhǔn)確率P是檢測(cè)正確的數(shù)量占預(yù)測(cè)為正的比例,召回率R是檢測(cè)為正的數(shù)量占實(shí)際為正的比例[25,26].
(3)
(4)
式中:TP為手指字母檢測(cè)正確的數(shù)量,FP為手指字母檢測(cè)錯(cuò)誤的數(shù)量,FN為未被檢測(cè)出的數(shù)量.
AP為平均精度,其值為PR曲線下的面積,平均精度均值MAP即AP的平均值.MAP公式如下:
(5)
Yolov5s在對(duì)手語(yǔ)字母數(shù)據(jù)集進(jìn)行訓(xùn)練過程中,將batch_size大小設(shè)置為16,在對(duì)模型訓(xùn)練200個(gè)epochs后,模型逐漸收斂.準(zhǔn)確率,召回率,平均精度均值均已穩(wěn)定.本文將訓(xùn)練次數(shù)設(shè)置成300.Yolov5s訓(xùn)練結(jié)果圖如圖9所示.
圖9 yolov5s訓(xùn)練結(jié)果圖Fig.9 yolov5s training results graph
Yolov5s模型經(jīng)過300輪訓(xùn)練,手勢(shì)識(shí)別準(zhǔn)確度達(dá)到90.3%,平均精度均值MAP達(dá)到90.8%.實(shí)驗(yàn)結(jié)果如圖10所示.
圖10 Yolov5s模型的MAPFig.10 MAP of Yolov5s model
Yolov5s模型在訓(xùn)練300輪后,保存的權(quán)重文件僅為13.8Mb,圖片大小設(shè)置為640×640,RTX2060顯卡檢測(cè)一張圖片的速度為0.021秒,即47.6FPS,檢測(cè)速度可以滿足需求.
4.3.1 Yolov5s-SE實(shí)驗(yàn)結(jié)果
Yolov5s-SE模型經(jīng)過300輪訓(xùn)練,手勢(shì)識(shí)別準(zhǔn)確度達(dá)到93.0%,平均精度均值MAP達(dá)到93.3%.由此可見,通道注意力機(jī)制對(duì)于手部細(xì)節(jié)信息提取較為豐富.實(shí)驗(yàn)結(jié)果如圖11所示.
Yolov5-SE模型在訓(xùn)練300輪后,圖片大小設(shè)置為640×640,RTX2060顯卡檢測(cè)一張圖片的速度為0.023秒,即43.47FPS.
4.3.2 Yolov5s-ASFF實(shí)驗(yàn)結(jié)果
Yolov5s-ASFF模型經(jīng)過300輪訓(xùn)練,手勢(shì)識(shí)別準(zhǔn)確度達(dá)到94.1%,平均精度均值MAP達(dá)到94.3%.由此可見,ASFF對(duì)于手部高層的語(yǔ)義信息和底層的細(xì)節(jié)信息較為豐富.實(shí)驗(yàn)結(jié)果如圖12所示.
圖11 Yolov5s-SE模型的MAPFig.11 MAP for the Yolov5s-SE model
圖12 Yolov5s-ASFF模型的MAPFig.12 MAP for the Yolov5s-ASFF model
Yolov5-ASFF模型在訓(xùn)練300輪后,圖片大小設(shè)置為640×640,RTX2060顯卡檢測(cè)一張圖片的速度為0.019秒,即52.6FPS.
4.3.3 Yolov5s-ASFF-SE實(shí)驗(yàn)結(jié)果
Yolov5s-ASFF-SE模型經(jīng)過300輪訓(xùn)練,手勢(shì)識(shí)別準(zhǔn)確度達(dá)到96.1%,平均精度均值MAP達(dá)到96.8%.實(shí)驗(yàn)結(jié)果如圖13所示.
圖13 Yolov5s-ASFF-SE模型的MAPFig.13 MAP for the Yolov5s-ASFF-SE model
Yolov5-ASFF-SE模型在訓(xùn)練300輪后,圖片大小設(shè)置為640×640,RTX2060顯卡檢測(cè)一張圖片的速度為0.022秒,即45.45FPS.
相比原Yolov5模型,Yolov5-ASFF-SE模型在檢測(cè)速度基本不變的前提下,平均精度均值提升了6%.為了直觀看出模型改進(jìn)前后MAP的變化情況,現(xiàn)統(tǒng)計(jì)模型改進(jìn)前后的MAP,繪制MAP曲線,如圖14所示.
由圖14可得,模型在改進(jìn)前后,相比于原模型擁有更快的收斂速度,原Yolov5s模型在150輪左右逐漸收斂,改進(jìn)后的模型在訓(xùn)練100輪時(shí)逐漸收斂,節(jié)省了大量的訓(xùn)練時(shí)間.在訓(xùn)練時(shí)間有限的前提下,能夠取得較好的效果.
圖14 模型改進(jìn)前后MAP變化Fig.14 Change in MAP before and after model improvement
現(xiàn)對(duì)比其他一些先進(jìn)的目標(biāo)檢測(cè)神經(jīng)網(wǎng)絡(luò),即Faster-rcnn,Yolov3,Yolov3-tiny等,在訓(xùn)練集,測(cè)試集,驗(yàn)證集,實(shí)驗(yàn)設(shè)備保持不變的前提下,統(tǒng)計(jì)這些方法的平均精度均值和檢測(cè)速度.如圖15所示.
圖15 主流網(wǎng)絡(luò)MAP和FPS對(duì)比Fig.15 Mainstream network MAP and FPS comparison
由圖15可得,Yolov5s模型相比其他神經(jīng)網(wǎng)路模型,檢測(cè)速度和精度均高于其他主流神經(jīng)網(wǎng)絡(luò)模型,改進(jìn)后的Yolov5-ASFF-SE模型相比原Yolov5s模型在檢測(cè)速度基本不變的前提下,檢測(cè)精度大大提高,可以滿足日常使用.
模型改進(jìn)前后,每個(gè)手指字母的識(shí)別平均精度均值MAP如表3所示.
由表3可以看出,在模型改進(jìn)前后,基本每個(gè)手語(yǔ)字母的識(shí)別平均精度均值MAP均有提升,在模型改進(jìn)前,C,I,N,V字母的準(zhǔn)確率較低,模型改進(jìn)后,C,I,N,V字母的準(zhǔn)確率提升較為明顯.由此可見,改進(jìn)后的Yolov5-ASFF-SE網(wǎng)絡(luò)對(duì)于手部細(xì)節(jié)的提取更加充分.
4.3.4 Yolov5便攜設(shè)備移植
Yolov5使用Android studio和Visual studio軟件,可以方便的將訓(xùn)練好的權(quán)重移植到手機(jī)中,也可以使用Qt進(jìn)行前段界面編程,方便進(jìn)行攝像頭調(diào)用.圖16為攝像頭實(shí)時(shí)監(jiān)測(cè).
本文基于Yolov5s網(wǎng)絡(luò)模型提出一種改進(jìn)的Yolov5-ASFF-SE模型,融入SE通道注意力機(jī)制和ASFF自適應(yīng)特征融合機(jī)制,并對(duì)數(shù)據(jù)集進(jìn)行處理,增加背景的復(fù)雜度,相比原Yolov5s網(wǎng)絡(luò),Yolov5-ASFF-SE模型在檢測(cè)速度基本不變的前提下,檢測(cè)精度提升了6%.但個(gè)別手語(yǔ)字母檢測(cè)精度仍有待提升,下一步將改進(jìn)Yolov5的網(wǎng)絡(luò)結(jié)構(gòu),并擴(kuò)充數(shù)據(jù)集,來提升個(gè)別字母的檢測(cè)精度.另外,本文檢測(cè)的手語(yǔ)字母為靜態(tài)檢測(cè),而靜態(tài)手語(yǔ)字母檢測(cè)是動(dòng)態(tài)檢測(cè)的基礎(chǔ),以后將進(jìn)一步研究動(dòng)態(tài)檢測(cè).
表3 單一字母識(shí)別MAPTable 3 Single letter identification MAP
圖16 攝像頭檢測(cè)Fig.16 Camera detection