国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種改進(jìn)YOLOv3的手勢識別算法

2021-01-26 05:50睢丙東張湃王曉君
關(guān)鍵詞:目標(biāo)檢測

睢丙東 張湃 王曉君

摘 要:為了解決YOLOv3算法在手勢識別中存在識別精度低及易受光照條件影響的問題,提出了一種改進(jìn)的YOLOv3手勢識別算法。首先,在原來3個檢測尺度上新增加1個更小的檢測尺度,提高對小目標(biāo)的檢測能力;其次,以DIoU代替原來的均方差損失函數(shù)作為坐標(biāo)誤差損失函數(shù),用改進(jìn)后的Focal損失函數(shù)作為邊界框置信度損失函數(shù),目標(biāo)分類損失函數(shù)以交叉熵作為損失函數(shù)。結(jié)果表明,將改進(jìn)的YOLOv3手勢識別算法用于手勢檢測中,mAP指標(biāo)達(dá)到90.38%,較改進(jìn)前提升了6.62%,F(xiàn)PS也提升了近2倍。采用改進(jìn)的YOLOv3方法訓(xùn)練得到的新模型,識別手勢精度更高,檢測速度更快,整體識別效率大幅提升,平衡了簡單樣本和困難樣本的損失權(quán)重,有效提高了模型的訓(xùn)練質(zhì)量和泛化能力。

關(guān)鍵詞:計(jì)算機(jī)神經(jīng)網(wǎng)絡(luò);YOLOv3;目標(biāo)檢測;手勢識別;DIoU;Focal損失函數(shù)

中圖分類號:TP391.9?文獻(xiàn)標(biāo)識碼:A

文章編號:1008-1542(2021)01-0022-08

YOLOv3是一種多目標(biāo)檢測算法[1],具有識別速度快、準(zhǔn)確率高等優(yōu)點(diǎn),廣泛用于目標(biāo)檢測中[2]。手作為信息表達(dá)的重要組成部分,近年來成為人們研究的重點(diǎn)[3]。隨著人工智能技術(shù)的發(fā)展,越來越多的學(xué)者利用神經(jīng)網(wǎng)絡(luò)進(jìn)行手勢識別[4]。其中YOLOv3以其出色的檢測性能,被應(yīng)用在手勢檢測領(lǐng)域。例如:羅小權(quán)等[5]采用改進(jìn)的K-means聚類算法,提高了YOLOv3對火災(zāi)的檢測能力;陳俊松等[6]利用改進(jìn)的YOLOv3特征融合方法,實(shí)現(xiàn)了對筷子毛刺的檢測;張強(qiáng)[7]提出了基于YOLOv3的實(shí)時人手檢測方法,通過改進(jìn)anchor參數(shù),快速檢測出測試者擺出的手勢;毛騰飛等[8]通過改進(jìn)的YOLOv3檢測尺度,實(shí)現(xiàn)了對人手功能的實(shí)時檢測。

本文提出一種基于改進(jìn)YOLOv3的手勢識別算法,通過增加YOLOv3的檢測尺度、改進(jìn)位置損失函數(shù)和邊界框置信度損失函數(shù),得到檢測效果更好的算法,以解決手勢識別的相關(guān)問題。

1?YOLOv3算法介紹

1.1?YOLOv3模型

YOLOv3由卷積層(convolution layers)、批標(biāo)準(zhǔn)化層(batch normalization, BN)、激活層(leaky relu)組成[9],引入殘差塊結(jié)構(gòu),在很大程度上提升了網(wǎng)絡(luò)訓(xùn)練速度和效率[10]。YOLOv3主體網(wǎng)絡(luò)為darknet-53,相比于ResNet-152和ResNet-101,具有更出色的特征提取能力。采用該神經(jīng)網(wǎng)絡(luò)對輸入圖像進(jìn)行特征提取,利用特征金字塔(feature pyramid networks,F(xiàn)PN)進(jìn)行融合[11],采用步長為2的卷積進(jìn)行降采樣,分別在32,16,8倍降采樣處檢測目標(biāo)。

FPN架構(gòu)如圖1所示。將圖像輸入到網(wǎng)絡(luò)模型后進(jìn)行卷積操作,為了使Layer4和Layer2具有相同的尺度,對Layer2降低維度,接著對Layer4進(jìn)行上采樣操作,然后將這2層的特征進(jìn)行融合[12]。將融合后的結(jié)果輸入到Layer5中,這樣就會獲得一條更具表達(dá)力的語義信息。YOLOv3網(wǎng)絡(luò)按照FPN架構(gòu)融合了淺層和深層的特征信息[13],可以獲得更多圖片特征,檢測效果更好。

運(yùn)用該模型檢測手勢時,首先將手勢圖像按13×13,26×26,52×52網(wǎng)格大小進(jìn)行劃分,每個網(wǎng)格分配3個候選框,然后計(jì)算候選框與真值框的重合程度及置信度大小,最后對比候選框的得分值,分值最高的候選框即為模型預(yù)測手勢結(jié)果。

1.2?損失函數(shù)

YOLOv3算法的損失函數(shù)[14]由3部分組成:均方差(mean square error, MSE)損失函數(shù)作為坐標(biāo)誤差損失函數(shù),交叉熵?fù)p失函數(shù)作為置信度和類別的損失函數(shù),損失函數(shù)如式(1)所示:

2?改進(jìn)的YOLOv3算法

2.1?增加模型檢測尺度

針對人手大小不一會導(dǎo)致檢測效果不佳的問題,在原來3個檢測尺度基礎(chǔ)上,結(jié)合FPN思想增加至4個檢測尺度,以此提高小目標(biāo)人手的檢測能力。改進(jìn)后的YOLOv3檢測尺度分別為13×13,26×26,52×52,104×104。

改進(jìn)后的YOLOv3網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,圖2中粗體標(biāo)注的為104×104檢測尺度。在YOLOv3網(wǎng)絡(luò)中通過多卷積操作后,將52×52的特征層上采樣操作變換成104×104,使之與上一層具有相同的特征尺寸,然后將該層與104×104特征層進(jìn)行融合,得到一個表達(dá)能力更強(qiáng)的語義信息。

改進(jìn)后的YOLOv3網(wǎng)絡(luò)有4個檢測尺度,每個檢測尺度均融合了低層細(xì)節(jié)信息和深層語義信息,同時可以進(jìn)行單獨(dú)預(yù)測,因此改進(jìn)后的檢測網(wǎng)絡(luò)具有更為出色的檢測能力。

2.2?改進(jìn)損失函數(shù)

在目標(biāo)檢測中常用IoU(intersection over union)衡量預(yù)測框和真實(shí)框的重合程度[16]。一般認(rèn)為,該值越大,兩框的重合程度越好,算法檢測精度越高,反之則越差[17]。

經(jīng)大量實(shí)驗(yàn)發(fā)現(xiàn),以均方誤差作為坐標(biāo)誤差損失函數(shù)存在以下缺點(diǎn):一是IoU越大,并不一定代表預(yù)測框與真值框重合程度越好,通過圖3可以看出IoU相同時,2個框的重合程度并不一樣;二是損失函數(shù)沒有將檢測目標(biāo)和錨框之間的中心距離、重疊率及尺度考慮進(jìn)去。

2.2.1?改進(jìn)坐標(biāo)誤差損失函數(shù)

針對以上不足,本文采用DIoU作為坐標(biāo)誤差損失函數(shù)[18],DIoU將預(yù)測框和真值框之間的距離、重疊率以及尺度均加以考慮。DIoU計(jì)算過程如下:

式中:R1,R2分別代表預(yù)測框中心和真值框中心;L為R1和R2間的歐氏距離;c,Ag,Ap,I分別代表預(yù)測框和真值框的最小閉包區(qū)域的對角線距離、真值框的面積、預(yù)測框的面積及重疊面積。

DIoU損失的計(jì)算如式(4)所示:

DIoU作為損失函數(shù),一是可以直接最小化預(yù)測框和真值框之間的歸一化距離,使收斂速度更快;二是當(dāng)預(yù)測框與真值框不重疊時,仍然可以為預(yù)測框提供移動方向;三是2個框在水平和垂直方向上時,DIoU回歸速度非常快;四是在非極大值抑制評估中,DIoU可以代替IoU,使NMS得到更加合理及有效的結(jié)果。

2.2.2?改進(jìn)置信度損失函數(shù)

為了解決樣本不平衡問題,LIN等[19]提出了Focal損失函數(shù)。為進(jìn)一步提高YOLOv3的檢測精度,本文采用改進(jìn)的Focal損失函數(shù)作為置信度損失函數(shù)。Focal損失函數(shù)能夠在模型訓(xùn)練過程中通過增大困難樣本權(quán)重的方法,有效解決樣本不平衡問題[20],使訓(xùn)練模型具有更佳的檢測效果。Focal損失函數(shù)如式(5)所示:

式中:γ為聚焦參數(shù),是一個大于0的超參數(shù);αt為平衡參數(shù),也是一個超參數(shù),用來控制正負(fù)樣本對總損失的權(quán)重,平衡多類別樣本數(shù)量;pt為標(biāo)簽預(yù)測概率。

式(5)中αt和γ這2個參數(shù)一般由人為規(guī)定,但是如果設(shè)定的數(shù)值不貼合數(shù)據(jù)集,訓(xùn)練效果反而不好[21]。針對這一問題,本文根據(jù)數(shù)據(jù)集確定該參數(shù),確定過程如下。

1) 確定平衡參數(shù)αt

本文樣本有5個類別,為了對困難樣本加大損失函數(shù)權(quán)重,同時減小容易樣本的損失權(quán)重,根據(jù)各類樣本數(shù)量來縮放分類損失大小。計(jì)算思路為權(quán)重設(shè)定的目標(biāo)要使任意2個類別樣本數(shù)量和這2個類別的權(quán)重成反比,如式(6)所示:

式中:N為樣本類別總數(shù);mi為第i類樣本數(shù)量;第i類的平衡參數(shù)αi等于類別權(quán)重值的大小。這樣平衡參數(shù)能夠較好地均衡樣本數(shù)量大小對應(yīng)的損失值。

2) 確定聚焦參數(shù)γ

通過大量實(shí)驗(yàn)發(fā)現(xiàn),在模型訓(xùn)練初期,使用Focal損失函數(shù)的模型訓(xùn)練精度低于使用交叉熵?fù)p失函數(shù)時的精度[19]。為此本文采用每N輪訓(xùn)練后調(diào)整1次γ值的方法,調(diào)整方式如式(7)所示:

綜上所述,本文以DIoU代替原來的均方差損失函數(shù)作為坐標(biāo)誤差損失函數(shù),用改進(jìn)后的Focal損失函數(shù)作為邊界框置信度損失函數(shù),目標(biāo)分類損失函數(shù)以交叉熵作為損失函數(shù)。因此,YOLOv3損失函數(shù)如式(8)所示:

式中CE表示交叉熵?fù)p失函數(shù)。DIoU損失作為目標(biāo)框坐標(biāo)回歸損失,將預(yù)測框和真值框之間的距離、重疊率以及尺度均考慮進(jìn)去,在很大程度上提高了目標(biāo)框回歸速度。在邊界框置信度交叉熵?fù)p失函數(shù)的基礎(chǔ)上加入焦點(diǎn)損失函數(shù),顯著平衡了簡單樣本和困難樣本的損失權(quán)重,有效提高了模型的訓(xùn)練質(zhì)量和泛化能力。

3?實(shí)驗(yàn)及結(jié)果

3.1?數(shù)據(jù)集

為了使數(shù)據(jù)集更加豐富,本文在盡可能多的自然場景下采集手勢圖像,手勢1到手勢5各自采集500張圖片,采用Labelimg工具標(biāo)記手勢目標(biāo)制作數(shù)據(jù)集[23]。為了充分利用樣本圖片,對圖片進(jìn)行30°,60°,90°,180°,270°旋轉(zhuǎn)、垂直和水平翻轉(zhuǎn),并以0.4,0.6,0.8的因子縮小圖片[24]。對圖片隨機(jī)增強(qiáng)亮度,增強(qiáng)范圍為0.1~2,并對樣本圖片適當(dāng)增加椒鹽噪聲,對樣本數(shù)據(jù)增強(qiáng)后獲得14 500張訓(xùn)練圖片。

3.2?實(shí)驗(yàn)平臺與評價指標(biāo)

采用CPU為英特爾i7-7700HQ、英偉達(dá)GTX1060顯卡訓(xùn)練模型,交互語言為python3.6,使用CUDA9.0和CUDNN7.4加速訓(xùn)練過程。在訓(xùn)練網(wǎng)絡(luò)模型階段,使用的部分參數(shù)batch size為16,圖片大小為416×416,迭代輪數(shù)20 000,IoU閾值為0.5。

目標(biāo)檢測中常用以下指標(biāo)衡量模型訓(xùn)練效果:Precision(查準(zhǔn)率)、Recall(召回率)、AP(平均精度)和mAP(平均精度均值)[25],如式(9)—式(12)所示:

式中:TP(ture positive)表示分類器正確預(yù)測的正樣本;FN(false negative)表示分類器錯誤預(yù)測的負(fù)樣本;FP(false positive)表示分類器錯誤預(yù)測的正樣本;n為采樣P-R對,k為樣本類別數(shù)(本文為5)。

3.3?結(jié)果分析

采用改進(jìn)后的YOLOv3算法與傳統(tǒng)YOLOv3,SSD300,F(xiàn)aster R-CNN經(jīng)典多尺度目標(biāo)檢測算法[26]對每個類別AP值進(jìn)行對比,結(jié)果如表1所示。同時,對比各算法的幀率(frames per second,F(xiàn)PS)、mAP和達(dá)到Loss閾值的迭代次數(shù),結(jié)果如表2所示,各算法檢測手勢效果如圖4所示。

由表1和表2分析可知,改進(jìn)后的YOLOv3算法mAP能夠達(dá)到90.38%,相對于傳統(tǒng)YOLOv3,SSD300,F(xiàn)aster R-CNN分別提高了6.62%,11.18%和0.28%,并且每個類別的檢測精度均大于傳統(tǒng)YOLOv3和SSD300算法。從檢測速度上分析,改進(jìn)后的YOLOv3算法FPS比改進(jìn)前提升近2倍,但和SSD300相比還有不少差距。分析迭代次數(shù)可知,改進(jìn)后的算法在訓(xùn)練時損失函數(shù)收斂速度更快。

從圖4可以看出,改進(jìn)后的算法在檢測效果和檢測精度上表現(xiàn)更加出色,因?yàn)槭謩?和手勢2可能存在遮擋問題,導(dǎo)致個別誤檢,但是整體識別效率有了大幅度提升,模型具有較高的泛化能力和魯棒性。

4?結(jié)?語

1)本文針對手勢檢測中存在精度和速度無法兼顧的問題,以YOLOv3為檢測框架,在原來檢測尺度上增加一個檢測尺度,提高小目標(biāo)的檢測能力。采用DIoU作為坐標(biāo)誤差損失函數(shù),并用改進(jìn)后的Focal損失函數(shù)代替交叉熵?fù)p失函數(shù)作為邊界框置信度損失函數(shù)。

2)實(shí)驗(yàn)結(jié)果表明,本文改進(jìn)的YOLOv3模型在檢測精度上有了明顯提升,并且檢測速度幾乎相同,能夠有效識別檢測者的手勢。但是增加一個檢測尺度后,模型的訓(xùn)練速度會變慢,并且當(dāng)真值框和目標(biāo)框距離過遠(yuǎn)時,DIoU無法為候選框提供移動方向。因此,未來將深入探究如何在增加檢測尺度時不減慢模型的訓(xùn)練速度,同時嘗試采用CIoU代替DIoU作為損失函數(shù)。

參考文獻(xiàn)/Reference:

[1]?LIU Jun, WANG Xuewei. Early recognition of tomato gray leaf spot disease based on MobileNetv2-YOLOv3 model[J]. Plant Methods,2020, 16(11):612-231.

[2]?YU Yuan, REN Jinsheng, ZHANG Qi, et al. Research on tire marking point completeness evaluation based on K-means clustering image segmentation[J]. Sensor, 2020, 20(17):4687-4697.

[3]?WILLIAMS E H,LAURA B, DOWNING P E,et al. Examining the value of body gestures in social reward contexts[J]. Neurolmage,2020, 222:117276-117286.

[4]?HU Wei, ZHU Quanxin. Moment exponential stability of stochastic delay systems with delayed impulse effects at random times and applications in the stabilisation of stochastic neural networks[J].International Journal of Control, 2020, 93(10):2505-2515.

[5]?羅小權(quán),潘善亮.改進(jìn)YOLOv3的火災(zāi)檢測方法[J].計(jì)算機(jī)工程與應(yīng)用2020,56(17):187-196.

LUO Xiaoquan, PAN Shanliang. Improved YOLOv3 fire detection method[J].Computer Engineering and Applications, 2020, 56(17):187-196.

[6]?陳俊松,何自芬,張印輝.改進(jìn)YOLOv3算法的筷子毛刺缺陷檢測方法[J].食品與機(jī)械,2020,36(3):133-138.

CHEN Junsong,HE Zifen,ZHANG Yinhui.Defect detection method of chopsticksbased on improved YOLOv3 algorithm[J].Food & Machinery,2020,36(3):133-138.

[7]?張強(qiáng). 基于改進(jìn)YOLOv3的手勢識別方法研究[D].合肥:合肥工業(yè)大學(xué),2019.

ZHANG Qiang.Hand Gesture Recognition Approach Research Basedon Improved YOLOv3[D].Hefei:Hefei University of Technology,2019.

[8]?毛騰飛,趙曙光.基于改進(jìn)YOLOv3的實(shí)時人手檢測算法[J].現(xiàn)代計(jì)算機(jī),2020(5):57-60.

MAO Tengfei,ZHAO Shuguang.Real-time hand detection algorithm based on improved YOLOv3[J].Modern Computer,2020(5):57-60.

[9]?WILLIAMS A S, ORTEGA F R. Understanding multimodal user gesture and speech behavior for object manipulation in augmented reality using elicitation[J]. IEEE Transactions on Visualization and Computer Graphics, 2020,doi:10.1109/TVCG.2020.3023566.

[10]THOMSEN J L D, MARTY A P, SHIN W, et al. Barriers and aids to routine neuromuscular monitoring and consistent reversal practice:A qualitative study[J]. Acta Anaesthesiologica Scandinaviva, 2020, 64(8):1089-1099.

[11]LI Qiaoliang, LI Shiyu, LIU Xinyu, et al. FecalNet: Automated detection of visible components in human feces using deep learning[J]. Medical Physics, 2020, 47(9):4212-4222.

[12]LI Qiaoliang, YU Zhigang, QI Tao, et al. Inspection of visible components in urine based on deep learning[J]. Medical Physics, 2020, 47(7):2937-2949.

[13]NURI E O, KAPLAN G, ERDEM F, et al. Tree extraction from multi-scale UAV images using mask R-CNN with FPN[J]. Remote Sensing Letters, 2020, 11(9):847-856.

[14]LUO Ze, YU Huiling, ZHANG Yizhuo. Pine cone detection using boundary equilibrium generative adversarial networks and improved YOLOv3 model[J]. Sensors, 2020, 20(16):doi:10.3390/s20164430.

[15]ZHANG Xiaoguo, GAO Ye, WANG Huiqing, et al. Improve YOLOv3 using dilated spatial pyramid module for multi-scale object detection[J].International Journal of Advanced Robotic Systems, 2020, 17(4):doi:10.1177/1729881420936062.

[16]KUZNETSOVA A, MALEVA T, VLADIMIR S. Using YOLOv3 algorithm with pre-?and post-processing for apple detection in fruit-harvesting robot[J]. Agronomy, 2020, 10(7):doi:10.3390/agronomy10071016.

[17]HAN Fenglei, YAO Jingzheng, ZHU Haitao, et al. Underwater image processing and object detection based on deep CNN method[J]. Journal of Sensors, 2020,doi:10.1155/2020/6707328.

[18]WU Xiongwei, SAGOO D, ZHANG Daoxin, et al. Single-shot bidirectional pyramid networks for high-quality object detection[J]. Neurocomputing, 2020, 401:1-9.

[19] LIN T Y, GOYAL P, GIRSHICK R, et al. Focal loss for dense object detection[C]//Proceedings of the IEEE International Conference on Computer Vision. [S.l.]:[s.n.]:2017.2980-2988.

[20]AGHDASSI A, TRAN Q T, BULLA T, et al. Focal pancreatic lesions in autoimmune pancreatitis and weight loss[J].Gut, 2020,doi:10.1136/gutjnl-2020-321987.

[21]LI Dongdong, WEN Gongjian, KUAI Yangliu, et al. Robust visual tracking with channel attention and focal loss[J]. Neurocomputing, 2020, 401:295-307.

[22]PERSSON D, HEYDARI G, EDVINSSON C, et al. Depth-resolved FTIR focal plane array (FPA) spectroscopic imaging of the loss of melamine functionality of polyester melamine coating after accelerated and natural weathering[J]. Polymer Testing, 2020, doi:10.1016/j.polymertesting.2020.106500.

[23]YAO Shangjie, CHEN Yaowu, TIAN Xiang, et al. An improved algorithm for detecting pneumonia based on YOLOv3[J]. Applied Sciences, 2020, 10(5):doi:10.3390/app10051818.

[24]GERLACH S, CHRISTOPH F, HOFMANN T, et al. Multicriterial CNN based beam generation for robotic radiosurgery of the prostate[J].Current Directions in Biomedical Engineering, 2020, 6(1):doi:10.1515/cdbme-2020-0030.

[25]LI Min, ZHANG Zhijie, LEI Liping, et al. Agricultural greenhouses detection in high-resolution satellite images based on convolutional neural networks: Comparison of faster R-CNN, YOLOv3 and SSD[J]. Sensors, 2018, 10:131-152.

[26]王慧. 基于改進(jìn)Faster R-CNN的安全帽檢測及身份識別[D]. 西安:西安科技大學(xué), 2020.

WANG Hui. Safety Helmet Detection and Identification Based on Improved Faster R-CNN[D]. Xi′an: Xi′an University of Science and Technology, 2020.

猜你喜歡
目標(biāo)檢測
多視角目標(biāo)檢測與跟蹤技術(shù)的研究與實(shí)現(xiàn)
視頻中目標(biāo)檢測算法研究
行為識別中的人體運(yùn)動目標(biāo)檢測方法
移動機(jī)器人圖像目標(biāo)識別
基于背景建模法的運(yùn)動目標(biāo)檢測
基于P3電位的目標(biāo)檢測研究
智能視頻技術(shù)在電力系統(tǒng)領(lǐng)域的應(yīng)用
相關(guān)K分布雜波中擴(kuò)展目標(biāo)積累檢測性能分析
基于連通域標(biāo)記的目標(biāo)檢測算法設(shè)計(jì)與實(shí)現(xiàn)
一種改進(jìn)的峰均功率比判源方法
鸡西市| 响水县| 全南县| 高淳县| 丽江市| 龙井市| 五峰| 德兴市| 镇远县| 洛南县| 正蓝旗| 潼南县| 开江县| 子洲县| 方山县| 和平区| 晋城| 宁安市| 汝南县| 资兴市| 方城县| 弋阳县| 晋城| 宾川县| 岳西县| 同德县| 宿州市| 思茅市| 香河县| 广州市| 贞丰县| 交城县| 枣阳市| 陕西省| 航空| 肥乡县| 安阳县| 西充县| 宁远县| 宿松县| 灯塔市|