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

?

基于神經(jīng)網(wǎng)絡(luò)與卡爾曼濾波的手部實(shí)時(shí)追蹤方法

2020-05-06 13:47:00曾公任姚劍敏林志賢郭太良
液晶與顯示 2020年5期
關(guān)鍵詞:手部卡爾曼濾波時(shí)刻

曾公任,姚劍敏*,嚴(yán) 群,林志賢,郭太良,林 暢

(1. 平板顯示技術(shù)國(guó)家地方聯(lián)合工程實(shí)驗(yàn)室,福州大學(xué)物理與信息工程學(xué)院,福建 福州 350108;2. 晉江市博感電子科技有限公司, 福建 晉江362200)

1 引 言

手部追蹤技術(shù)是指對(duì)視頻序列檢測(cè)是否存在檢測(cè)目標(biāo)手,并能對(duì)目標(biāo)進(jìn)行持續(xù)跟蹤。近年來(lái),智能人機(jī)交互技術(shù)不斷發(fā)展[1],手部追蹤技術(shù)是其中重要的一環(huán)。手部追蹤技術(shù)能夠應(yīng)用在監(jiān)控技術(shù)上,檢測(cè)人們是否進(jìn)行誤操作。動(dòng)態(tài)的手勢(shì)識(shí)別包含3個(gè)步驟:手部檢測(cè)、手部追蹤和手勢(shì)識(shí)別,其中手部追蹤是中間環(huán)節(jié),手部追蹤的不準(zhǔn)確可能會(huì)導(dǎo)致最后的手勢(shì)識(shí)別的錯(cuò)誤。而在視頻監(jiān)控中,手部追蹤能夠檢測(cè)到人們手部的運(yùn)動(dòng)軌跡,判斷用戶是否進(jìn)行必要或異常的操作,大大減少人工檢測(cè)的成本和時(shí)間。

在進(jìn)行手部追蹤前,首先要進(jìn)行手部檢測(cè)。要將手從視頻中分辨出來(lái),傳統(tǒng)的方法有:基于YcbCr顏色空間的手部檢測(cè)[2]、基于前景提取的手部檢測(cè)[3]、基于模型匹配的手部檢測(cè)、基于C-means的手部檢測(cè)[4]?;赮cbCr顏色空間的手部檢測(cè),在不同光照條件下對(duì)膚色檢測(cè)有較好的效果,但該方法在場(chǎng)景中有相似色調(diào)、手臂暴露在攝像頭下或者檢測(cè)膚色不在檢測(cè)區(qū)間內(nèi)的情況下會(huì)出現(xiàn)誤檢、多檢測(cè)和漏檢情況,并且YcbCr顏色空間的手勢(shì)檢測(cè)的方法耗費(fèi)時(shí)間多,不適用于實(shí)時(shí)系統(tǒng)?;谀P推ヅ涞氖植繖z測(cè),是尋找圖像子區(qū)域中與目標(biāo)模板相似度最大的區(qū)域,該方法適用于目標(biāo)做剛體運(yùn)動(dòng)或檢測(cè)目標(biāo)形變較小的情況,當(dāng)檢測(cè)目標(biāo)發(fā)生形變與目標(biāo)模板相差較大時(shí)檢測(cè)效果不佳?;谇熬疤崛〉氖植繖z測(cè),是將前景檢測(cè)目標(biāo)和背景分離開(kāi)的方法,若檢測(cè)目標(biāo)在場(chǎng)景中長(zhǎng)時(shí)間沒(méi)有運(yùn)動(dòng),可能會(huì)將檢測(cè)目標(biāo)檢測(cè)為背景,并且該方法對(duì)陰影響應(yīng)敏感,會(huì)將視頻中陰影的部分檢測(cè)為檢測(cè)目標(biāo)。由于傳統(tǒng)方法中的種種問(wèn)題,這里采用神經(jīng)網(wǎng)絡(luò)算法進(jìn)行手部檢測(cè)。近年來(lái),深度學(xué)習(xí)的方法大量應(yīng)用在圖像領(lǐng)域,神經(jīng)網(wǎng)絡(luò)算法已經(jīng)應(yīng)用在目標(biāo)檢測(cè)。對(duì)于特定的檢測(cè)目標(biāo),能夠達(dá)到較高檢測(cè)正確率,并且,近年提出的網(wǎng)絡(luò)模型相較于早年提出的模型在運(yùn)算速度上有較大提高,已經(jīng)能夠滿足實(shí)時(shí)的目標(biāo)檢測(cè)。

對(duì)于手部追蹤,由于手勢(shì)非剛體,在手部的運(yùn)動(dòng)過(guò)程中常常會(huì)發(fā)生手部變化。當(dāng)前大多數(shù)動(dòng)態(tài)手勢(shì)追蹤方法有Camshift[5]、粒子濾波[6]、相關(guān)濾波算法、kalman濾波[7]等方法。Camshift算法是以顏色分布圖為基礎(chǔ)進(jìn)行的目標(biāo)跟蹤技術(shù),是對(duì)Meanshift算法的改進(jìn),當(dāng)目標(biāo)發(fā)生較大形變或者遇到遮擋后,會(huì)出現(xiàn)目標(biāo)丟失或者追蹤框位置偏移等問(wèn)題,并且Camshift沒(méi)有對(duì)目標(biāo)的運(yùn)動(dòng)進(jìn)行估計(jì),在背景顏色復(fù)雜的情況下也會(huì)出現(xiàn)目標(biāo)丟失的情況。粒子濾波算法是基于門(mén)特卡洛仿真的最優(yōu)回歸貝葉斯濾波算法,適用于非線性非高斯模型。但是每次進(jìn)行估計(jì)與更新都需要從當(dāng)前系統(tǒng)狀態(tài)中取出帶權(quán)粒子,計(jì)算的過(guò)程復(fù)雜,雖然每次估計(jì)的正確率比較高,但是耗費(fèi)時(shí)間多,不適用于實(shí)時(shí)較高的系統(tǒng)。相關(guān)濾波算法利用快速傅里葉變換進(jìn)行濾波器訓(xùn)練和響應(yīng)圖計(jì)算,具有較好的實(shí)時(shí)性,但是對(duì)目標(biāo)的光照、形變較為敏感,不適用于手部形變較大的情況。Kalman濾波適用于線性高斯模型,由預(yù)測(cè)和修正兩部分組成。由于神經(jīng)算法在不同光照和手部形變的情況下都有較好的檢測(cè)效果,所以對(duì)于Kalman濾波有較好的修正效果。并且Kalman濾波算法相較于粒子濾波算法其計(jì)算量較小,適用于實(shí)時(shí)系統(tǒng)。

2 系統(tǒng)概述

圖1展示了本次設(shè)計(jì)系統(tǒng)的整體流程圖。首先對(duì)視頻輸入進(jìn)行預(yù)處理,并將每一幀的畫(huà)面進(jìn)行神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測(cè),在前幾幀時(shí)追蹤器為空,檢測(cè)到的目標(biāo)都是新目標(biāo),為每個(gè)出現(xiàn)的目標(biāo)生成一個(gè)追蹤器,對(duì)于后面輸入的每幀圖像,先進(jìn)行神經(jīng)網(wǎng)絡(luò)目標(biāo)檢測(cè),再將目標(biāo)信息輸入追蹤器。如果該目標(biāo)存在追蹤器,對(duì)該目標(biāo)進(jìn)行追蹤,并對(duì)追蹤器中的參數(shù)進(jìn)行修正;如果該目標(biāo)不存在對(duì)應(yīng)的追蹤器,則生成對(duì)應(yīng)的追蹤器。

圖1 整體流程圖Fig.1 Overall flow chart

3 基于SSD的手部目標(biāo)檢測(cè)

3.1 神經(jīng)網(wǎng)絡(luò)算法介紹

近年來(lái),深度神經(jīng)網(wǎng)絡(luò)在計(jì)算視覺(jué)領(lǐng)域發(fā)揮了重大作用。深度神經(jīng)網(wǎng)絡(luò)已經(jīng)使用在圖像分割、物體檢測(cè)、語(yǔ)義分割等領(lǐng)域。對(duì)于目標(biāo)檢測(cè)的算法,目前有Faster-RCNN[8]、YOLO[9-11]和SSD[12]等。Faster-RCNN的檢測(cè)精度較高,但是檢測(cè)時(shí)間較長(zhǎng)。YOLO檢測(cè)速度較快,但是檢測(cè)精度較低,并且對(duì)多尺度變化的目標(biāo)檢測(cè)效果不理想。SSD網(wǎng)絡(luò)在精度與處理速度上達(dá)到了相對(duì)的平衡,并且SSD對(duì)于不同尺度的目標(biāo)檢測(cè)效果較好。本文的檢測(cè)目標(biāo)會(huì)出現(xiàn)在場(chǎng)景中的任意位置,并且檢測(cè)目標(biāo)的尺度也會(huì)發(fā)生變化,因而在此選擇SSD為檢測(cè)網(wǎng)絡(luò)。

3.2 SSD卷積神經(jīng)網(wǎng)絡(luò)

SSD卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)框圖如圖2所示,由圖中能夠看出,SSD卷積神經(jīng)網(wǎng)絡(luò)由特征提取網(wǎng)絡(luò)與檢測(cè)識(shí)別網(wǎng)絡(luò)組成。

特征提取網(wǎng)絡(luò)是基于VGG-16網(wǎng)絡(luò)[13]修改得到的,VGG-16網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)如表1所示??梢钥闯鯲GG-16網(wǎng)絡(luò)由13個(gè)卷積層、15個(gè)激活函數(shù)層、5個(gè)最大池化層、3個(gè)全連接層、2個(gè)Dropout層和1個(gè)Softmax層組成,并且輸入的圖像尺寸為224×224。SSD的特征提取網(wǎng)絡(luò)對(duì)VGG-16網(wǎng)絡(luò)進(jìn)行3方面的修改:首先,將VGG-16的兩個(gè)全連接層Fc6和Fc7修改為卷積層Conv6和Conv7,并對(duì)Conv6卷積引入空洞卷積[14],能夠在不改變特征圖尺寸的情況下增大感受野;然后將Max Pool5的池化窗口尺寸從2×2修改為3×3,滑動(dòng)步長(zhǎng)由2變?yōu)?;最后,去掉Dropout層、全連接層和Softmax分類(lèi)層。特征提取網(wǎng)絡(luò)的主要作用是提取不同尺寸的卷積特征圖,能更好地檢測(cè)和識(shí)別目標(biāo)并能提高不同尺度目標(biāo)的檢測(cè)與識(shí)別效果。

圖2 SSD卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)框圖Fig.2 Block diagram of the SSD convolutional neural network

檢測(cè)識(shí)別網(wǎng)絡(luò)運(yùn)用獨(dú)立的卷積預(yù)測(cè)器進(jìn)行處理,預(yù)測(cè)輸入圖像中目標(biāo)的類(lèi)別以及目標(biāo)所在圖像中的位置,并給出目標(biāo)的置信度得分以及目標(biāo)的邊界框位置信息,然后綜合這些在多尺度特征圖上獲得的目標(biāo)類(lèi)別以及位置的預(yù)測(cè)信息,執(zhí)行非極大值抑制(Non-Maxium Suppression, NMS)算法,去除冗余的目標(biāo)預(yù)測(cè)邊界框,從而得到最終的檢測(cè)與識(shí)別結(jié)果。

表1 VGG-16網(wǎng)絡(luò)結(jié)構(gòu)參數(shù)Tab.1 VGG-16 network structure parameters

SSD卷積神經(jīng)網(wǎng)絡(luò)采用多任務(wù)學(xué)習(xí)策略,同時(shí)進(jìn)行目標(biāo)檢測(cè)和目標(biāo)識(shí)別的任務(wù),所以SSD網(wǎng)絡(luò)的損失函數(shù)包含兩部分:置信損失函數(shù)和定位損失函數(shù)。損失函數(shù)的定義如式(1)所示:

(1)

其中:α為置信損失函數(shù)和定位損失函數(shù)的權(quán)重,N為真實(shí)框的數(shù)量,c為置信度,l為預(yù)測(cè)框,g為真實(shí)框,Lconf(x,c)為置信損失函數(shù),其函數(shù)表達(dá)式定義如式(2)、(3)所示:

(2)

(3)

(4)

(5)

3.3 訓(xùn)練策略

神經(jīng)網(wǎng)絡(luò)參數(shù)龐大,從頭開(kāi)始訓(xùn)練需要大量的時(shí)間,采用遷移學(xué)習(xí)的方法,能夠減少學(xué)習(xí)時(shí)間。使用Tensorflow提供的ssd_mobilenet_v1_coo模型作為訓(xùn)練的起點(diǎn),采用EgoHand的數(shù)據(jù)集[15]進(jìn)行訓(xùn)練。進(jìn)行20萬(wàn)步訓(xùn)練,總損失在2.5處停止訓(xùn)練。訓(xùn)練完成后,當(dāng)重疊度(IOU)取值為0.5時(shí),手部檢測(cè)器的平均精確率(mAP)值為0.96,達(dá)到了較好的檢測(cè)效果。

4 手部跟蹤

4.1 卡爾曼濾波追蹤

卡爾曼濾波是建立一個(gè)線性高斯模型,能夠根據(jù)前面時(shí)刻的信息推算出后一時(shí)刻各個(gè)狀態(tài)的可能性。在手部跟蹤中,根據(jù)前面時(shí)刻手部的位置與運(yùn)動(dòng)速度等信息推算出下一個(gè)時(shí)刻各個(gè)位置出現(xiàn)的可能性,將下一時(shí)刻檢測(cè)出的手部位置進(jìn)行可能性判斷,推測(cè)出上一時(shí)刻畫(huà)面中手部位置,對(duì)目標(biāo)進(jìn)行跟蹤。

卡爾曼濾波器的狀態(tài)方程如式(6)所示,卡爾曼濾波器的觀測(cè)方程如式(7)所示:

Zt=AZt-1+B+ε,

(6)

Xt=CZt-1+D+δ,

(7)

式(6)中:Zt是t時(shí)刻的狀態(tài)向量,ε表示高斯分布的噪聲,由式(6)能夠看出,t-1時(shí)刻的狀態(tài)向量與t時(shí)刻的狀態(tài)線性呈線性關(guān)系。式(7)中Xt是t時(shí)刻的觀測(cè)向量,t表示高斯分布的噪聲,由公式能夠看出,t時(shí)刻的觀測(cè)量可以由t-1時(shí)刻的狀態(tài)向量線性變換得到。

根據(jù)公式(6)與公式(7),能夠?qū)⑹植扛檰?wèn)題變?yōu)榭柭鼮V波器遞推計(jì)算的過(guò)程,卡爾曼濾波計(jì)算的過(guò)程分為兩部分:“預(yù)測(cè)”與“修正”。預(yù)測(cè)過(guò)程:根據(jù)當(dāng)前時(shí)刻預(yù)測(cè)下一時(shí)刻的狀態(tài)向量。修正過(guò)程:根據(jù)最新的觀測(cè)量對(duì)卡爾曼濾波器中的參數(shù)信息進(jìn)行調(diào)整,修正上次預(yù)測(cè)中出現(xiàn)的誤差,以便更好地進(jìn)行下一次預(yù)測(cè)。

4.2 hand ReID手部重檢測(cè)算法

對(duì)于多目標(biāo)追蹤,只用卡爾曼濾波追蹤算法存在局限性,當(dāng)追蹤目標(biāo)被遮擋或消失在視野中,再次出現(xiàn)時(shí),往往不會(huì)繼續(xù)保持追蹤,會(huì)認(rèn)為是新目標(biāo)重新追蹤。因此,引入了基于深度學(xué)習(xí)的多目標(biāo)跟蹤算法。手部重檢測(cè)算法是基于行人重檢測(cè)(person ReID)算法[16]。行人重檢測(cè)算法主要應(yīng)用于跨攝像頭場(chǎng)景下行人識(shí)別與檢索,其中一種檢測(cè)方法是局部特征學(xué)習(xí)方法,局部特征檢測(cè)方法將人的圖像從上到下進(jìn)行三等分,輸入模型,動(dòng)態(tài)調(diào)整不同區(qū)域在圖像中的占比,將3個(gè)部分輸入到 網(wǎng)絡(luò),提取特征,最后將3個(gè)分信息結(jié)合在一起進(jìn)行估計(jì)。

由于手部追蹤時(shí)沒(méi)有人體那么多的特征,因此將行人重檢測(cè)算法進(jìn)行簡(jiǎn)化,去除將圖像三等分的步驟,將圖像輸入到網(wǎng)絡(luò),提取特征,將特征存儲(chǔ)起來(lái)。當(dāng)卡爾曼濾波沒(méi)有找到目標(biāo)時(shí),將其特征與檢測(cè)目標(biāo)的特征進(jìn)行匈牙利匹配,找到先前跟蹤目標(biāo)或檢測(cè)到新目標(biāo)進(jìn)入畫(huà)面。

5 實(shí)驗(yàn)結(jié)果與分析

本文在Intel core i7 6700 16G內(nèi)存的個(gè)人計(jì)算機(jī)上進(jìn)行實(shí)驗(yàn)。采用google提供的TensorFlow機(jī)器學(xué)習(xí)算法庫(kù),在windows平臺(tái),使用python語(yǔ)言進(jìn)行開(kāi)發(fā)設(shè)計(jì)。

將帶有手部的視頻圖像輸入程序中,程序能夠跟蹤手部連續(xù)100幀的運(yùn)動(dòng)軌跡,手部運(yùn)動(dòng)過(guò)程在沒(méi)有發(fā)生遮擋情況下的整個(gè)軌跡跟蹤過(guò)程如圖3所示。

圖3 單手部跟蹤Fig.3 One-hand tracking

圖3(a)為視頻中450幀時(shí)刻畫(huà)面,其中圖3(b)和(c)分別為第480幀和第500幀時(shí)刻的畫(huà)面,圖3(d)為第530幀時(shí)刻的畫(huà)面。從圖3中可以看出在復(fù)雜背景下即使手部發(fā)生較大形變也能夠保持手部的正確跟蹤。

兩個(gè)手部發(fā)生交叉遮擋的情況如圖4所示。

圖4 兩個(gè)手部發(fā)生交叉遮擋情況Fig.4 Cross-occlusion of two hands

圖4(a)為視頻中230幀時(shí)刻畫(huà)面,圖4(b)和(c)分別為第260幀和第290幀時(shí)刻的畫(huà)面,圖4(d)為第320幀時(shí)刻的畫(huà)面。從圖中可看出遮擋手的id都為101,在兩個(gè)手部發(fā)生交叉遮擋后再次出現(xiàn)時(shí)能夠繼續(xù)保持正確跟蹤。

測(cè)試視頻1共有4 140幀畫(huà)面,手部發(fā)生漏檢或誤檢的幀數(shù)為212幀,其誤檢查率為5.12%,基本在能夠接受的范圍。由于使用兩個(gè)追蹤方法共同處理,手部丟失后的下一幀還能繼續(xù)保持前面的跟蹤。在跟蹤處理過(guò)程中,實(shí)時(shí)處理平均幀數(shù)為21.212 f/s,最高幀數(shù)為24.327 f/s,最低幀數(shù)為18.964 f/s,基本能夠滿足手部跟蹤的實(shí)時(shí)性。

該系統(tǒng)在追蹤的實(shí)時(shí)性上得到了較好效果,與傳統(tǒng)的手部跟蹤方法對(duì)比有更好的魯棒性和穩(wěn)定性,并且對(duì)于目標(biāo)交叉、目標(biāo)遮擋帶來(lái)的目標(biāo)丟失的情況具有很好的處理效果。軌跡跟蹤方法的實(shí)現(xiàn),為后面研究運(yùn)動(dòng)手勢(shì)檢測(cè)提供了前提條件。

6 結(jié) 論

設(shè)計(jì)了一種基于神經(jīng)網(wǎng)絡(luò)與卡爾曼濾波的手部跟蹤系統(tǒng)。該系統(tǒng)通過(guò)神經(jīng)網(wǎng)絡(luò)進(jìn)行手部檢測(cè),卡爾曼濾波進(jìn)行目標(biāo)跟蹤,hand ReID進(jìn)行目標(biāo)的重跟蹤來(lái)對(duì)手部的非剛體運(yùn)動(dòng)進(jìn)行跟蹤,最后將手部運(yùn)動(dòng)的路徑顯示出來(lái)。實(shí)驗(yàn)分析證明,該方法手部的誤檢率為5.12%,并且在重新檢測(cè)到目標(biāo)后還能繼續(xù)保持跟蹤,每秒能夠處理20張畫(huà)面,基本滿足實(shí)時(shí)跟蹤手部的要求。

猜你喜歡
手部卡爾曼濾波時(shí)刻
手部皮膚軟組織缺損修復(fù)的皮瓣選擇
冬“傲”時(shí)刻
捕獵時(shí)刻
基于遞推更新卡爾曼濾波的磁偶極子目標(biāo)跟蹤
基于模糊卡爾曼濾波算法的動(dòng)力電池SOC估計(jì)
兩種皮瓣修復(fù)手部軟組織缺損的比較
基于擴(kuò)展卡爾曼濾波的PMSM無(wú)位置傳感器控制
街拍的歡樂(lè)時(shí)刻到來(lái)了
發(fā)生于手部的硬下疳一例
一天的時(shí)刻
黔南| 汾西县| 福州市| 奉节县| 普安县| 广饶县| 巴彦县| 华池县| 依安县| 天门市| 上思县| 芒康县| 灵石县| 石台县| 定南县| 双流县| 巍山| 阿克陶县| 许昌县| 凤山县| 保康县| 阳信县| 洛阳市| 永康市| 永城市| 海门市| 博湖县| 仙居县| 浪卡子县| 仁怀市| 新邵县| 青龙| 嘉禾县| 禄劝| 来安县| 宣威市| 张家口市| 玉林市| 荥阳市| 涟水县| 灌南县|