摘" 要:文章為解決手勢(shì)識(shí)別研究中欠缺考慮多時(shí)相、特征多樣性的問題,提出了一種基于改進(jìn)DeeplabV3+模型的手勢(shì)識(shí)別提取方法。通過更改模型中ASPP模塊結(jié)構(gòu),使用多個(gè)不同的空洞率以及圖像金字塔池化等操作,增加CBAM注意力機(jī)制模塊,提升模型的提取精度和效率。在公開Freihand數(shù)據(jù)集上進(jìn)行驗(yàn)證,結(jié)果表明:改進(jìn)后的DeeplabV3+模型訓(xùn)練速度提高了29.2%,識(shí)別精確度提升了0.04%,相似度提升了0.68%,召回率提高了0.36%。
關(guān)鍵詞:語義分割;手勢(shì)識(shí)別;深度學(xué)習(xí);DeepLabV3+模型
中圖分類號(hào):TP391.4" " 文獻(xiàn)標(biāo)識(shí)碼:A" 文章編號(hào):2096-4706(2024)18-0039-05
Research on DeepLabV3+ Algorithm Based on Gesture Recognition
WANG Yu, PAN Jinghao, WU Chaoming, CHEN Zongyan, WANG Yaning, XIE Yue
(School of Information and Communication Engineering, Nanjing Institute of Technology, Nanjing" 211167, China)
Abstract: In order to solve the problems that multi-temporal and feature diversity are not considered in gesture recognition research, this paper proposes a gesture recognition extraction method based on improved DeeplabV3+ model. By changing the ASPP module structure in the model, using multiple different void rates and image Pyramid Pooling and other operations, CBAM Attention Mechanism modules are added to improve the extraction accuracy and efficiency of the model. The results show that the training speed of improved DeeplabV3+ model is improved by 29.2%, the recognition accuracy is improved by 0.04%, the similarity is improved by 0.68%, and the recall rate is improved by 0.36%.
Keywords: semantic segmentation; gesture recognition; Deep Learning; DeepLabV3+ model
0" 引" 言
手勢(shì)識(shí)別是計(jì)算機(jī)科學(xué)中的一個(gè)議題,它類屬于計(jì)算機(jī)視覺和人機(jī)交互領(lǐng)域,旨在通過識(shí)別和解釋人類的手勢(shì)動(dòng)作,賦予計(jì)算機(jī)可以理解人的意圖的能力并與人進(jìn)行直接的自然交互。早期的手勢(shì)識(shí)別方法主要基于傳感器技術(shù)。然而,這些方法存在諸多限制,如傳感器的高成本、佩戴設(shè)備的不便以及對(duì)特定環(huán)境的依賴性等,這些外部設(shè)備的介入雖提升了手勢(shì)識(shí)別的準(zhǔn)確度和穩(wěn)定性,但丟失了手勢(shì)自然的表達(dá)方式,因此,基于視覺的手勢(shì)識(shí)別方式隨之誕生,視覺手勢(shì)識(shí)別是通過對(duì)視頻采集設(shè)備拍攝到的包含手勢(shì)的圖像序列,運(yùn)用計(jì)算機(jī)視覺技術(shù)進(jìn)行處理,進(jìn)而對(duì)手勢(shì)加以識(shí)別[2]。
前人的研究工作提出了一種基于深度學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)模型,它能夠區(qū)分手部與抓握物體的不同,提取出手部的圖像,并通過提取和學(xué)習(xí)手勢(shì)圖像的特征,實(shí)現(xiàn)了對(duì)手勢(shì)動(dòng)作的準(zhǔn)確識(shí)別。該方法在標(biāo)準(zhǔn)數(shù)據(jù)集上獲得了高精度性,為實(shí)際應(yīng)用提供了可行的解決方案。另外,針對(duì)手勢(shì)動(dòng)作的時(shí)序性和動(dòng)態(tài)性,提出了一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)的方法,能夠有效捕捉手勢(shì)序列的時(shí)序特征,并實(shí)現(xiàn)實(shí)時(shí)的手勢(shì)識(shí)別。該方法在實(shí)驗(yàn)測(cè)試中表現(xiàn)出了較好的準(zhǔn)確率和實(shí)時(shí)性,為實(shí)際交互系統(tǒng)的設(shè)計(jì)提供了有力支持。
綜上所述,前人的研究工作在手勢(shì)識(shí)別領(lǐng)域取得了一定的突破,為解決手勢(shì)識(shí)別問題提供了有效的方法和技術(shù)。然而,現(xiàn)有方法仍然存在一些挑戰(zhàn),如復(fù)雜背景下的識(shí)別問題、多人手勢(shì)識(shí)別,抗異物遮擋干擾等方面仍需進(jìn)一步改進(jìn)和提高。因此,本論文旨在提升神經(jīng)網(wǎng)絡(luò)模型性能的方法以應(yīng)對(duì)這些挑戰(zhàn),并提出高效可靠的解決方案,以促進(jìn)手勢(shì)識(shí)別技術(shù)在實(shí)際應(yīng)用中的推廣和應(yīng)用[1-2]。
1" 模型與算法
1.1" 原DeeplabV3+介紹
DeepLabV3+是一個(gè)用于圖像語義分割的深度學(xué)習(xí)模型,它由Google的研究人員開發(fā)。這種模型在圖像處理領(lǐng)域非常重要,因?yàn)樗軌驅(qū)D像中的每個(gè)像素進(jìn)行分類。語義分割是計(jì)算機(jī)視覺中的一項(xiàng)挑戰(zhàn),它要求模型對(duì)圖像中的每個(gè)像素分配類別標(biāo)簽,而不區(qū)分屬于同一類別的不同實(shí)例(即,實(shí)例分割)。其結(jié)構(gòu)核心如圖1所示。
DeepLabV3+模型的核心貢獻(xiàn)在于它的空間金字塔池化(Spatial Pyramid Pooling, SPP)模塊,這個(gè)可以聚合不同尺度的上下文信息,使得模型能夠在保持細(xì)節(jié)的同時(shí)進(jìn)行有效的語義分割。
在DeepLabV3+模型中,空洞空間卷積池化金字塔(Atrous spatial pyramid pooling, ASPP)[3]模塊被集成到一個(gè)編碼器-解碼器架構(gòu)中,這種結(jié)構(gòu)允許模型在保持高分辨率輸出(即解碼器部分)的同時(shí),通過編碼器部分獲取更深的特征表示和多尺度信息。這種設(shè)計(jì)提高了模型對(duì)像素級(jí)分類的準(zhǔn)確性。
1.2" 改進(jìn)后的deeplabv3+算法
DeepLabV3+模型在圖像分割任務(wù)中已經(jīng)取得了很好的性能[3]。為了進(jìn)一步提高模型的性能,本文將ASPP模塊替換為密集空洞空間金字塔池化(Densely connected AtrousSpatialPyramid Pooling, DenseASPP)模塊,并加入自注意模塊。這種改進(jìn)帶來了以下優(yōu)勢(shì):DenseASPP模塊通過全局和局部特征的融合,能夠更好地捕捉圖像中的語義信息。全局特征融合使模型能夠從整個(gè)圖像中獲取全局上下文信息,而局部特征融合則更加關(guān)注與目標(biāo)相關(guān)的局部細(xì)節(jié)。自注意模塊能夠自動(dòng)關(guān)注與目標(biāo)相關(guān)的特征信息。通過引入自注意機(jī)制,模型能夠自動(dòng)選擇對(duì)語義分割任務(wù)更重要的特征,并對(duì)它們進(jìn)行加權(quán)處理。
1.2.1" DenseASPP
DenseASPP如圖2所示:其中每一層的膨脹率一層一層地增加。下部是小膨脹率的層,上面是大膨脹率的層。DenseASPP的最終輸出是一個(gè)由多膨脹率、多尺度的空洞卷積生成的特征圖。
計(jì)算公式:
yi=Hk,dl([yl-1,yl-2,…,y0]) (1)
其中dl表示第l層的膨脹率,[…]表示concat操作。[yl-1,yl-2,…,y0]表示通過連接之前所有層的輸出而形成的特征圖。與最初的ASPP相比,DenseASPP將所有擴(kuò)展的層堆疊在一起,并通過密集的連接將它們連接起來。這種變化給我們帶來了主要的兩個(gè)好處:更密集的特征金字塔和更大的接受域[4]。為了控制模型的大小并防止網(wǎng)絡(luò)變得太寬,在DenseASPP的每一個(gè)擴(kuò)張層之前增加一個(gè)1×1的卷積層來減少特征圖寬度,以將特征圖的深度減少到原始大小的一半[5]。
圖3(a)為傳統(tǒng)的一維空洞卷積層,其膨脹率為6。這種卷積的接受域大小為13。然而,在如此大的核中,只有3個(gè)像素被采樣進(jìn)行計(jì)算。這種現(xiàn)象在二維情況下會(huì)變得更糟。雖然獲得了較大的接受域,但在計(jì)算過程中卻放棄了大量的信息,在DenseASPP中,擴(kuò)張率一層層地增加,因此,上層的卷積可以利用下層的特征,使像素采樣更密集。圖3(b)說明了這一過程:在膨脹速率3的層下方放置膨脹速率6的膨脹層。對(duì)于膨脹速率為6的原始膨脹層,7像素的信息將有助于最終的計(jì)算,比原來的3像素密度更大。如此龐大接受域可以為高分辨率圖像中的大物體提供全局信息[6]。
1.2.2" 卷積注意力機(jī)制
卷積注意力機(jī)制(Convolutional Block Attention Module, CBAM)[7]是一種簡(jiǎn)單而高效的注意力模塊,專為前饋卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)。當(dāng)給定一個(gè)中間特征圖時(shí),CBAM能夠沿著通道和空間這兩個(gè)獨(dú)立的維度,依次推斷出相應(yīng)的注意力圖。這些注意力圖隨后會(huì)與輸入特征圖相乘,從而實(shí)現(xiàn)對(duì)特征的自適應(yīng)修飾。其結(jié)構(gòu)如圖4所示。
可以看到 CBAM 包含2個(gè)獨(dú)立的子模塊,通道注意力模塊(Channel Attention Module, CAM)[8]和空間注意力模塊(Spartial Attention Module, SAM),CBAM注意力機(jī)制由兩個(gè)部分組成:通道注意力和空間注意力。
通道注意力機(jī)制是一種專門處理特征圖通道間關(guān)系的方法。該機(jī)制首先將特征圖在空間維度上進(jìn)行壓縮,得到一個(gè)一維矢量,以便更好地分析通道間的依賴關(guān)系。在壓縮過程中,通道注意力機(jī)制不僅利用了平均值池化(Average Pooling, AP),還考慮了最大值池化(Max Pooling, MP),從而能夠更全面地捕捉特征映射的空間信息。這兩種池化方式分別將特征圖的空間信息聚合起來,并送入一個(gè)共享網(wǎng)絡(luò)進(jìn)行處理。隨后,通過逐元素求和合并這兩種池化方式的結(jié)果,生成通道注意力圖。由此通道注意力機(jī)制可以表達(dá)為:
Mc(F)=σ(MLP(AvgPool(F))
+MLP(MaxPool(F)))
=σ(W1(W0())" " " " " " " " (2)
+W1(W0()))
空間注意力機(jī)制聚焦于特征圖中的空間位置,通過壓縮通道維度來提取空間信息。在這一過程中,它分別應(yīng)用了平均值池化和最大值池化。最大值池化(MaxPool)操作是在每個(gè)通道上尋找最大值,次數(shù)等于特征圖的高度乘以寬度;而平均值池化(AvgPool)則是計(jì)算每個(gè)通道的平均值,同樣覆蓋整個(gè)空間維度。這兩種池化方式生成的特征圖隨后合并,形成一個(gè)包含兩個(gè)通道的特征圖,分別代表最大和平均空間信息。經(jīng)過CBAM的處理,新的特征圖會(huì)獲得通道和空間兩個(gè)維度上的注意力權(quán)重。這種雙重關(guān)注極大地加強(qiáng)了特征在通道和空間上的聯(lián)系,使得模型能夠更精確地提取目標(biāo)的有效特征[9],從而提升了整體性能。該過程可按照以下公式表示:
(3)
對(duì)于輸入的特征圖,CBAM模塊會(huì)沿著兩個(gè)獨(dú)立的維度(通道和空間)依次推斷注意力圖,然后將將注意力圖與輸入的特征圖相乘以進(jìn)行自適應(yīng)特征優(yōu)化[10]。
2" 實(shí)驗(yàn)及結(jié)果分析
2.1" 實(shí)驗(yàn)環(huán)境
實(shí)驗(yàn)仿真環(huán)境為Python 3.7.12,Anaconda 3,TensorFlow 2.6.4,Keras 2.6.0,采用Linux操作系統(tǒng)。硬件環(huán)境為深度學(xué)習(xí)GPU運(yùn)算塔式服務(wù)器主機(jī),裝有TeslaP100專業(yè)計(jì)算卡,采用GP100核心,有16 GB的HBM2顯存。實(shí)驗(yàn)中,將學(xué)習(xí)率設(shè)置為0.001,訓(xùn)練批次為50,每批16個(gè)訓(xùn)練集。本次實(shí)驗(yàn)屬于語義分割模型范疇,故采用處理二分類問題的交叉熵作為損失函數(shù)[11],它是基于信息熵(cross-entropy)理論計(jì)算分類結(jié)果的誤差度量值。
2.2" 數(shù)據(jù)集
本實(shí)驗(yàn)采用Freiburg University提供的FreiHAND數(shù)據(jù)集,這是一個(gè)用于從彩色圖像中估計(jì)手部姿勢(shì)和形狀的數(shù)據(jù)集,既可以用于算法模型的訓(xùn)練也可以用來作為模型的測(cè)試評(píng)估。它包含4×32 560=130 240個(gè)訓(xùn)練樣本和3 960個(gè)評(píng)估樣本,每個(gè)訓(xùn)練樣本提供RGB圖像(224×224像素),手部分割蒙版,3D形狀注釋,21個(gè)手部關(guān)鍵點(diǎn)的3D關(guān)鍵注釋。對(duì)數(shù)據(jù)集采用隨機(jī)排序操作,提升訓(xùn)練的隨機(jī)性,將數(shù)據(jù)進(jìn)行歸一化和離散化操作,以改善模型訓(xùn)練和收斂能力,減少數(shù)據(jù)量,提高模型化能力。接著采用隨機(jī)劃分的方法將數(shù)據(jù)集分為訓(xùn)練集,驗(yàn)真集,測(cè)試集,數(shù)據(jù)量分別為1 000,500,200。
2.3" 實(shí)驗(yàn)分析
為了方便理解模型訓(xùn)練過程,實(shí)驗(yàn)采用梯度加權(quán)類激活映射(Gradient-weighted Class Activation Mapping, GradCAM)算法,通過觀察GradCAM生成的熱力圖來理解模型在做出分類決策時(shí),哪些區(qū)域?qū)τ谔囟悇e是最重要的。這有助于探索模型的決策過程并提供可視化的解釋。如圖5所示,第一列為手勢(shì)的原始圖像。第二列為原始圖像的掩碼。第三列為模型預(yù)測(cè)的掩碼。第四列為原始圖像中重疊部分的預(yù)測(cè),明亮的部分即時(shí)圖中重疊區(qū)域的預(yù)測(cè)。第五列是GradCAM生成的熱力圖,其中綠色的部分即為識(shí)別出來的手勢(shì)部分。
2.4" 實(shí)驗(yàn)結(jié)果
圖6、7分別為原模型和改進(jìn)后模型的損失率變化曲線,其中橫坐標(biāo)代表訓(xùn)練批次,縱坐標(biāo)代表損失率,橙色和紅色曲線分別代表模型在驗(yàn)證集和訓(xùn)練集上的損失率大小。相比較原模型,改進(jìn)后的模型在收斂速度上得到顯著提升,原模型從25批次時(shí)開始收斂,而改進(jìn)后的模型從15批次開始收斂,在收斂速度上改進(jìn)后的模型明顯優(yōu)于原模型。
如圖8所示,為了直觀地展示對(duì)比結(jié)果,本文選擇了較典型的手勢(shì)識(shí)別進(jìn)行展示。如圖8所示,(a)(b)(c)分別表示原圖像,原模型分割結(jié)果,本文模型分割結(jié)果,從中可見,DeeplabV3+模型在面對(duì)復(fù)雜手勢(shì)動(dòng)作時(shí),存在漏提取、誤取現(xiàn)象。本文模型在提取效果上要優(yōu)于DeeplabV3+模型,對(duì)于手指凹凸區(qū)域輪廓也能準(zhǔn)確提取。
為了從數(shù)值上更加準(zhǔn)確的感受到改進(jìn)模型的優(yōu)勢(shì),實(shí)驗(yàn)中運(yùn)用到了相似度,精確度,準(zhǔn)確率等計(jì)算方法來評(píng)估比較模型的相關(guān)性能。相似度的計(jì)算使用ResNet50模型對(duì)預(yù)測(cè)后的圖像和標(biāo)簽圖像進(jìn)行預(yù)測(cè),得到圖像的特征向量。然后將兩張圖片的特征向量進(jìn)行比較,使用余弦相似度來評(píng)估它們的相似性(余弦相似度是一種度量?jī)蓚€(gè)向量之間相似度的方法,它的值范圍在-1到1之間,當(dāng)兩個(gè)向量的方向相同時(shí)余弦相似度接近1),最終計(jì)算得到的余弦相似度得分。精確度(Accuracy)和召回率(Recall)的計(jì)算涉及混淆矩陣的計(jì)算,通過標(biāo)簽與預(yù)測(cè)結(jié)果來構(gòu)造混淆矩陣,從而得到正確預(yù)測(cè)的正樣本(TP),錯(cuò)誤預(yù)測(cè)的正樣本(TP),錯(cuò)誤預(yù)測(cè)的陰性樣本(FN),正確預(yù)測(cè)的陰性樣本(TN)等數(shù)值。通過式(4)和式(5)的計(jì)算最終得到模型的精確度和準(zhǔn)確率。相關(guān)實(shí)驗(yàn)數(shù)據(jù)統(tǒng)計(jì)如表1所示。從結(jié)果分析計(jì)算得到改進(jìn)后的模型識(shí)別精確度提升了0.04%,相似度提升了0.68%,召回率提高了0.36%。
Accuracy=TP/(TP+FP) (4)
Recall=TP/(TP+FN) (5)
改進(jìn)后的模型不僅分割效果更優(yōu)而且在單張圖片運(yùn)行速度(ms)與大?。∕B)上也更優(yōu)。在每秒處理照片的效率上,改進(jìn)后的模型速度提升約6幀/秒,有效提升了模型的使用成本。
3" 結(jié)" 論
本文對(duì)DeeplabV3+模型在手勢(shì)識(shí)別研究中未考慮的多時(shí)相、特征多樣性等問題,提出了一種新興的改進(jìn)算法。我們通過對(duì)DeeplabV3+模型中的ASPP模塊進(jìn)行結(jié)構(gòu)改進(jìn),同時(shí)優(yōu)化了模型的特征提取網(wǎng)絡(luò),并且增加了CBAM注意力機(jī)制,從而提升了手勢(shì)識(shí)別的準(zhǔn)確性和效率。在FreiHand數(shù)據(jù)集上進(jìn)行驗(yàn)證,實(shí)驗(yàn)結(jié)果證明,本文提出的算法可以增強(qiáng)原模型對(duì)復(fù)雜手勢(shì)的分割效果,處理模型的速度也有所提高。同時(shí)還存在著處理時(shí)間久,計(jì)算量大的問題,未來將聚焦于降低模型復(fù)雜度,減少計(jì)算量等方面。
參考文獻(xiàn):
[1] 房愛印,尹曦萌,謝成磊,等.一種提升水尺水位識(shí)別響應(yīng)速度的方法、設(shè)備及存儲(chǔ)介質(zhì):CN116883808A [P].2023-10-13.
[2] 武霞,張崎,許艷旭.手勢(shì)識(shí)別研究發(fā)展現(xiàn)狀綜述 [J].電子科技,2013,26(6):171-174.
[3] 徐建功,馬曉雙.基于深度學(xué)習(xí)的極化SAR影像海面溢油檢測(cè)研究 [C]//第七屆高分辨率對(duì)地觀測(cè)學(xué)術(shù)年會(huì).長(zhǎng)沙:[出版者不詳],2020:804-812.
[4] 姬曉飛,張可心,唐李榮.改進(jìn)DeepLabv3+網(wǎng)絡(luò)的圖書書脊分割算法 [J].計(jì)算機(jī)應(yīng)用,2023,43(12):3927-3932.
[5] 曹連雨,張小璐.語義分割方法、裝置、計(jì)算機(jī)設(shè)備和存儲(chǔ)介質(zhì):CN116543161A [P].2023-08-04.
[6] 戴偉達(dá).基于全卷積神經(jīng)網(wǎng)絡(luò)的語義分割算法研究 [D].南京:南京郵電大學(xué),2019.
[7] 劉祥.基于卷積神經(jīng)網(wǎng)絡(luò)的遙感圖像目標(biāo)檢測(cè) [J].微型電腦應(yīng)用,2021,37(7):127-130.
[8] 陳茂龍.基于深度學(xué)習(xí)的肺結(jié)節(jié)特征提取與病灶檢測(cè)算法研究 [D].長(zhǎng)春:長(zhǎng)春工業(yè)大學(xué),2023.
[9] 何東宇,朱榮光,范彬彬,等.倒置殘差網(wǎng)絡(luò)結(jié)合注意力機(jī)制的摻假羊肉分類檢測(cè)系統(tǒng)構(gòu)建 [J].農(nóng)業(yè)工程學(xué)報(bào),2022,38(20):266-275.
[10] WOO S H,PARK J C,LEE J Y,et al. CBAM: Convolutional Block Attention module [C]//Proceedings of the European Conference on Computer Vision (ECCV).Munich:Springer,2018:3-19.
[11] 胡家珩,岑詠華,吳承堯.基于深度學(xué)習(xí)的領(lǐng)域情感詞典自動(dòng)構(gòu)建——以金融領(lǐng)域?yàn)槔齕J].數(shù)據(jù)分析與知識(shí)發(fā)現(xiàn),2018,2(10):95-102.
作者簡(jiǎn)介:王宇(2004—),男,漢族,江蘇宿遷人,本科在讀,研究方向:人工智能。