盧亞軍,李天松,黃艷虎
(桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林 541004)
基于Kinect的車載手勢(shì)識(shí)別輔助系統(tǒng)設(shè)計(jì)
盧亞軍,李天松,黃艷虎
(桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林 541004)
車聯(lián)網(wǎng)作為戰(zhàn)略性新興產(chǎn)業(yè)中智能化汽車和物聯(lián)網(wǎng)兩大領(lǐng)域的重要交集,受到廣泛關(guān)注。通過(guò)車聯(lián)網(wǎng)、地理位置服務(wù)(Location Based Service)、手勢(shì)感應(yīng)三種技術(shù)的分析,將其整合成綜合系統(tǒng),實(shí)現(xiàn)手勢(shì)操作在車載系統(tǒng)中的多媒體功能和地理位置服務(wù)。采用Kinect作為手勢(shì)感應(yīng)設(shè)備,建立WPF工程,設(shè)計(jì)界面并進(jìn)行具體功能編程。通過(guò)百度LBS開發(fā)者平臺(tái)提供的相關(guān)API進(jìn)行數(shù)據(jù)調(diào)用,實(shí)現(xiàn)LBS服務(wù)。測(cè)試結(jié)果表明,系統(tǒng)具有功能多樣、靈活方便的特點(diǎn),具有良好的應(yīng)用前景。
Kinect;車聯(lián)網(wǎng);手勢(shì)識(shí)別;地理位置服務(wù)
信息領(lǐng)域正經(jīng)歷著由互聯(lián)網(wǎng)到物聯(lián)網(wǎng)的新一輪技術(shù)革命。車聯(lián)網(wǎng)作為戰(zhàn)略性新興產(chǎn)業(yè)中物聯(lián)網(wǎng)和智能化汽車兩大領(lǐng)域的重要交集,受到國(guó)內(nèi)外相關(guān)研究機(jī)構(gòu)的高度重視[1]。車聯(lián)網(wǎng)是裝載在車輛上的電子標(biāo)簽通過(guò)無(wú)線識(shí)別等技術(shù)構(gòu)建的一種特殊移動(dòng)自組織網(wǎng)絡(luò)。車聯(lián)網(wǎng)通過(guò)車輛和道路之間進(jìn)行有效的信息交互, 實(shí)現(xiàn)智能交通的管理和信息服務(wù)[2]。
隨著汽車和公路的日益智能化,越來(lái)越多的汽車和路邊基礎(chǔ)設(shè)施裝備了通信設(shè)備,整個(gè)車聯(lián)網(wǎng)以及針對(duì)車聯(lián)網(wǎng)的相關(guān)應(yīng)用發(fā)展已經(jīng)成為必然的趨勢(shì)[3]。車聯(lián)網(wǎng)可應(yīng)用在緊急信息通告、避免交通事故發(fā)生、實(shí)時(shí)交通路況監(jiān)測(cè)等多種方面。車聯(lián)網(wǎng)不僅可以保證輔助駕駛[4],還可以為車主提供豐富的娛樂服務(wù),如何實(shí)現(xiàn)車內(nèi)設(shè)備的多功能化也是近來(lái)的研究熱點(diǎn)。
同時(shí),處理信息的方式也正在發(fā)生不斷改變。虛擬現(xiàn)實(shí)技術(shù)成為人類處理信息的重要產(chǎn)物,并且?guī)?dòng)著信息時(shí)代新的發(fā)展。手勢(shì)識(shí)別作為一種重要的人機(jī)交互方式,受到了廣泛關(guān)注。近年來(lái),基于Kinect的開發(fā)應(yīng)用成為人機(jī)交互領(lǐng)域的研究熱點(diǎn)之一。 手勢(shì)識(shí)別可以促進(jìn)體感游戲、機(jī)器人控制、手語(yǔ)識(shí)別等諸多方面的應(yīng)用發(fā)展[5]。
通過(guò)對(duì)車聯(lián)網(wǎng)、LBS服務(wù)、手勢(shì)感應(yīng)三種技術(shù)的特點(diǎn)分析整合,各取其優(yōu),整合成綜合系統(tǒng),能夠使用手勢(shì)操作在車載系統(tǒng)進(jìn)行操作,如音視頻播放等,對(duì)于車外聯(lián)網(wǎng)系統(tǒng)進(jìn)一步完成信息交互、交通導(dǎo)航、衛(wèi)星定位等服務(wù)功能。
車聯(lián)網(wǎng)系統(tǒng)根據(jù)服務(wù)功能的不同大致可分為車內(nèi)系統(tǒng)和車外系統(tǒng)。車內(nèi)系統(tǒng)主要實(shí)現(xiàn)車內(nèi)設(shè)備的操作,車外系統(tǒng)要聯(lián)系到車外設(shè)備和空間,包括互聯(lián)網(wǎng)的通信等。車內(nèi)系統(tǒng)的功能包括音頻播放、視頻播放、照片查看、攝像功能,車外系統(tǒng)的功能包括導(dǎo)航定位、周邊信息檢索、地圖查看、三維圖顯示、衛(wèi)星圖查看等。
Kinect硬件作為傳感器采集信號(hào),開發(fā)語(yǔ)言選用C#編程語(yǔ)言建立WPF工程,由XAML文件進(jìn)行界面設(shè)計(jì),CS文件進(jìn)行算法設(shè)計(jì)和具體功能編程,這一切在PC端使用Windows7系統(tǒng)開發(fā)。聯(lián)網(wǎng)部分交互端利用百度車聯(lián)網(wǎng)API進(jìn)行指定功能的調(diào)用,編寫相關(guān)代碼即可。
搭建好系統(tǒng)環(huán)境后,將所有功能操作集成到一個(gè)應(yīng)用軟件中,系統(tǒng)結(jié)構(gòu)總圖如圖1所示。
圖1 系統(tǒng)結(jié)構(gòu)總圖
本系統(tǒng)用到的硬件主要是Kinect,它是一種能獲取實(shí)時(shí)景深數(shù)據(jù)的3D體感攝影機(jī)。隨著現(xiàn)代生活中的攝像頭、重力傳感器、指紋識(shí)別等各類傳感器的廣泛應(yīng)用,虛擬現(xiàn)實(shí)技術(shù)有很大的發(fā)展空間。Kinect將這些技術(shù)加以融合,對(duì)于人機(jī)交互領(lǐng)域具有新的啟示意義。
Kinect傳感器設(shè)備可以搜集傳輸以下3種原始的數(shù)據(jù)信息(或稱為數(shù)據(jù)流),分別為深度流、圖像流、原始音頻流,這3種方式收集的數(shù)據(jù)流信息又分別對(duì)應(yīng)3種信息處理方式,即骨骼追蹤、語(yǔ)音識(shí)別、身份識(shí)別。動(dòng)作識(shí)別的基礎(chǔ)是骨骼追蹤,動(dòng)作可以抽象理解為骨骼關(guān)節(jié)點(diǎn)的狀態(tài)或運(yùn)動(dòng)序列。Kinect通過(guò)基于“像素級(jí)”的分析識(shí)別出人體部位,然后計(jì)算得到人體骨骼點(diǎn),采集所有的骨骼點(diǎn)繪制“火柴人”。Kinect骨骼點(diǎn)分布圖[5-6]如圖2所示。
圖2 Kinect骨骼點(diǎn)分布圖
實(shí)現(xiàn)用手勢(shì)感應(yīng)操作系統(tǒng),要對(duì)某個(gè)動(dòng)作進(jìn)行定義,然后觸發(fā)相關(guān)的程序?qū)崿F(xiàn)相應(yīng)的功能。同時(shí),骨骼數(shù)據(jù)流本身具有一定程度上的抖動(dòng),引起信號(hào)的噪聲,所以要進(jìn)行優(yōu)化處理。一般從兩個(gè)角度考慮:1)設(shè)計(jì)大的噪聲閾值,使操作動(dòng)作能夠嚴(yán)格地區(qū)分識(shí)別出來(lái);2)設(shè)計(jì)平滑降噪算法,對(duì)噪聲壓縮處理,使識(shí)別范圍精確[7]。
例如,系統(tǒng)中將“左手與頭部呈45度角”這個(gè)動(dòng)作定義為退出動(dòng)作,實(shí)現(xiàn)的步驟如下。
1)定義骨骼點(diǎn)
Skeleton[] allSkeleton = new Skeleton[6];//定義骨骼數(shù)據(jù)數(shù)組
SkeletonPointhandRight=s.Joints[JointType.HandRight].Position; //定義右手節(jié)點(diǎn)
SkeletonPointhandLeft=s.Joints[JointType.HandLeft].Position;
//定義左手節(jié)點(diǎn)
SkeletonPoint head=s.Joints[JointType.Head].Position;
//定義頭部節(jié)點(diǎn)
SkeletonPointshouldCenter=s.Joints[JointType.ShoulderCenter].Position; //定義肩部節(jié)點(diǎn)
2)骨骼消抖
Smoothing = 0.5f; //平滑差值運(yùn)算
Correction = 0.5f; //改正 糾正
Prediction = 0.5f; //改正修正值
JitterRadius = 0.05f; //極點(diǎn)半徑
MaxDeviationRadius = 0.04f; //偏差半徑
3)骨骼閾值
double escapeThreshhold = 0.5d; //偏差閾值為0.5 m
4)錄像數(shù)據(jù),分辨率640×480幀數(shù)30
This.sensor.ColorStream.Enable(ColorImageFormat.RgbResolution640×480Fps30);
5)動(dòng)作觸發(fā)
bool IsEscape = head.Y-handLeft.Y>escapeThreshhold && ((handLeft.X-ead.X)*(handLeft.X-head.X)>(escapeThreshhold *escapeThreshhold)); //選擇該觸發(fā)動(dòng)作為作為退出動(dòng)作
Kinect的開發(fā)是通過(guò)Developer Toolkit Browser v1.8.0 (Kinect for Windows)軟件進(jìn)行的。Kinect for windows SDK提供了非常龐大具體的軟件庫(kù)和工具。Kinect傳感器通過(guò)該軟件庫(kù)與應(yīng)用層程序API進(jìn)行交互,交互過(guò)程如圖3所示。
圖3 Kinect軟件庫(kù)與API交互過(guò)程
車聯(lián)網(wǎng)用戶可以通過(guò)移動(dòng)網(wǎng)絡(luò)訪問(wèn)電子地圖,同時(shí)對(duì)地圖中添加數(shù)據(jù)層和興趣點(diǎn),也豐富了服務(wù)內(nèi)容,用戶可以方便地查詢周邊信息(餐飲、住宿、導(dǎo)航、路徑等)來(lái)幫助自己做出更加合理可行的決策,這就是地理位置服務(wù)(Location Based Service)。通過(guò)調(diào)用HTTP API實(shí)現(xiàn)LBS應(yīng)用服務(wù)器的功能。
LBS模塊主要實(shí)現(xiàn)車外系統(tǒng)與互聯(lián)網(wǎng)的交互,包括如下功能:地圖查看(移動(dòng)、放大、縮小),導(dǎo)航定位,3D全景圖切換,關(guān)鍵字檢索,熱力圖查看,衛(wèi)星圖切換。該功能主要通過(guò)html語(yǔ)言編寫,通過(guò)調(diào)用百度LBS開發(fā)者平臺(tái)提供的相關(guān)API實(shí)現(xiàn)數(shù)據(jù)的調(diào)用。
其中,關(guān)鍵字檢索功能需要進(jìn)行文本輸入,但是對(duì)于手勢(shì)感應(yīng)來(lái)說(shuō)較為困難。Kinect本身具有傳聲器陣列,使用語(yǔ)音輸入再配以現(xiàn)成的語(yǔ)音識(shí)別軟件可以較為輕易地實(shí)現(xiàn),達(dá)到良好的演示效果。同時(shí)語(yǔ)音輸入門檻低、執(zhí)行效率高,對(duì)于不同文化的人都較為適用,大大降低了打字輸入的工作量。
系統(tǒng)主界面模塊主要完成系統(tǒng)的初始化功能,即啟動(dòng)傳感器使其能夠正常檢測(cè)手勢(shì)信號(hào),同時(shí)設(shè)定良好的用戶界面,將其余各模塊的功能顯示在主頁(yè)面上供用戶選擇,并且實(shí)現(xiàn)相應(yīng)的觸發(fā)事件。系統(tǒng)初始化實(shí)現(xiàn)以下過(guò)程,首先判斷是否連接,進(jìn)而接收用戶的深度流數(shù)據(jù)和骨骼流數(shù)據(jù),同時(shí)外加Kinect控件追蹤手勢(shì)信息,流程圖如圖4所示。
圖4 系統(tǒng)初始化流程圖
系統(tǒng)主界面的界面設(shè)計(jì),考慮到手勢(shì)感應(yīng)操作范圍較大,所以采用WIN8的metro風(fēng)格,界面區(qū)分度大,易于辨認(rèn)和操作,設(shè)定中同時(shí)考慮應(yīng)用的可擴(kuò)展性,特意預(yù)留相應(yīng)的板塊接口,所以引入了翻頁(yè)滾動(dòng)操作。
音樂播放模塊實(shí)現(xiàn)音頻文件的播放操作,具備基本的播放器功能。音樂播放模塊功能示意圖如圖5所示。音樂播放模塊用到的主要布局控件有以下幾個(gè):1)KinectScrollViewer為滾動(dòng)顯示控件,通過(guò)握拳操作可以實(shí)現(xiàn)磁性連接,滑行滾動(dòng)運(yùn)行,從而很容易地觀察歌曲曲目,選擇時(shí)進(jìn)行停留選擇按鍵即可。2)Wrappanel為滑動(dòng)軌道布局接口,將所需條目按一定順序擺放在該布局下即可。3)ProgressBar為進(jìn)度條顯示控件,該控件可以用于顯示當(dāng)前進(jìn)度,它會(huì)自動(dòng)讀取歌曲時(shí)長(zhǎng)。
圖5 音樂播放模塊功能示意圖
視頻播放模塊總的功能中基本與音頻播放模塊類似,代碼實(shí)現(xiàn)主要將文件操作中的音頻文件改成視頻文件。利用控件Media Element可以實(shí)現(xiàn)基本的音頻視頻播放功能,可以注冊(cè)相關(guān)的事件處理方法進(jìn)行相應(yīng)操作。在手勢(shì)識(shí)別實(shí)現(xiàn)方面,調(diào)用工具箱中的控件如KinectRegion和KinectTitleButton等組件進(jìn)行相關(guān)的替代操作,實(shí)現(xiàn)點(diǎn)擊觸發(fā)功能。
車載監(jiān)視模塊主要依托彩色攝像頭的數(shù)據(jù),實(shí)現(xiàn)車載情況的監(jiān)視,并且定時(shí)間隔7 s抓拍圖像,也可以實(shí)現(xiàn)自拍、幫拍等功能。該模塊用到了對(duì)時(shí)間的操作,分別是讀取用戶時(shí)間和設(shè)定定時(shí)器實(shí)現(xiàn)相關(guān)動(dòng)作。
圖片查看模塊中,對(duì)于手勢(shì)感應(yīng)的圖片查看來(lái)說(shuō)仍然以簡(jiǎn)便設(shè)計(jì)為主,盡可能地保留必要的功能。在此僅保留翻頁(yè)操作即上一頁(yè)、下一頁(yè)、返回退出,分別用揮動(dòng)左手、揮動(dòng)右手、雙手過(guò)頂實(shí)現(xiàn)。使用骨骼數(shù)據(jù)點(diǎn)定義觸發(fā)動(dòng)作實(shí)現(xiàn),骨骼數(shù)據(jù)可以通過(guò)Image控件顯示,從而節(jié)約了空間資源。
連接好Kinect,搭建環(huán)境、加載完成后,運(yùn)行Developer Toolkit Browser v1.8.0 (Kinect for Windows)軟件,骨骼顯示調(diào)試界面如圖6所示。
圖6 骨骼顯示調(diào)試界面圖(截圖)
為測(cè)試Kinect手勢(shì)識(shí)別功能,進(jìn)行了大量的實(shí)驗(yàn)和調(diào)整。對(duì)影響手勢(shì)識(shí)別精度的光照因素進(jìn)行了分析和實(shí)驗(yàn)對(duì)比,旨在驗(yàn)證本系統(tǒng)手勢(shì)識(shí)別效果。實(shí)驗(yàn)中對(duì)環(huán)境光照條件進(jìn)行改變,粗略地模擬實(shí)際應(yīng)用中,白天晴天車內(nèi)、白天陰雨天車內(nèi)、夜晚車內(nèi)燈開啟、黑夜車內(nèi)燈關(guān)閉(路上有路燈)4種應(yīng)用環(huán)境,利用照度測(cè)量?jī)x測(cè)量照度,其他條件保持理想不變,測(cè)試手勢(shì)識(shí)別成功率。從表1(不同光照條件下手勢(shì)識(shí)別成功率對(duì)比)中可以看出,前3種應(yīng)用環(huán)境手勢(shì)識(shí)別成功率基本達(dá)到使用要求。
表1 不同光照條件下手勢(shì)識(shí)別成功率對(duì)比
照度范圍/lx模擬應(yīng)用環(huán)境實(shí)驗(yàn)次數(shù)識(shí)別成功次數(shù)成功率/%700~800晝-晴天車內(nèi)504794100~200晝-陰天車內(nèi)50448840~60夜-車內(nèi)燈開5039785~15夜-車內(nèi)燈關(guān)5000
另外,系統(tǒng)界面和多媒體功能方面,打開應(yīng)用軟件主界面,可以通過(guò)手勢(shì)感應(yīng)進(jìn)行功能選擇。經(jīng)測(cè)試,能夠?qū)崿F(xiàn)預(yù)期的音頻播放、視頻播放、照片查看、攝像拍照、LBS服務(wù)等功能。圖7為應(yīng)用軟件主界面測(cè)試效果圖,圖8為L(zhǎng)BS功能界面測(cè)試效果圖。系統(tǒng)能夠通過(guò)麥克風(fēng)語(yǔ)音輸入的方式,獲得要搜索的地點(diǎn)信息,然后通過(guò)手勢(shì),實(shí)現(xiàn)進(jìn)一步的擴(kuò)大、縮小功能。系統(tǒng)基本能夠?qū)崿F(xiàn)預(yù)期的功能,達(dá)到良好的試驗(yàn)效果。
圖7 應(yīng)用軟件主界面測(cè)試效果圖(截圖)
圖8 LBS功能界面測(cè)試效果圖(截圖)
經(jīng)過(guò)整合調(diào)試,可以達(dá)到目標(biāo)效果,通過(guò)手勢(shì)感應(yīng)實(shí)現(xiàn)相應(yīng)功能??梢悦撾x一定的設(shè)備,比如鼠標(biāo)、數(shù)據(jù)手套、鍵盤等,讓人體完全發(fā)揮其輸入功能,人機(jī)交互更加方便快捷。界面顯示部分采用Metro風(fēng)格,既方便手勢(shì)傳感操作,又可以明顯顯示,而且這種顯示可以方便地應(yīng)用到各種顯示設(shè)備上。相對(duì)于其他利用鍵盤等輸入方式的車載電子設(shè)備,本設(shè)計(jì)利用手勢(shì)識(shí)別輸入能夠?yàn)橛脩魩?lái)更方便的體驗(yàn)。同時(shí),為Kinect在車聯(lián)網(wǎng)等多領(lǐng)域的實(shí)際應(yīng)用打下基礎(chǔ)。
在有些方面還有待完善,手勢(shì)感應(yīng)實(shí)時(shí)操作仍存在一定的誤差和延時(shí)。另外,由于LBS對(duì)個(gè)人權(quán)限的部分限制,目前實(shí)現(xiàn)的LBS服務(wù)功能還不是非常豐富。
[1] 劉小洋,伍民友. 車聯(lián)網(wǎng):物聯(lián)網(wǎng)在城市交通網(wǎng)絡(luò)中的應(yīng)用[J]. 計(jì)算機(jī)應(yīng)用,2012(4):900-904.
[2] GERLA M, LEE E K, PAU G, et al. Internet of vehicles: from intelligent grid to autonomous cars and vehicular clouds[C]//Proc.2014 IEEE World Forum on Internet of Things (WF-IoT). [S.l.]:IEEE, 2014: 241-246.
[3] 程剛,郭達(dá). 車聯(lián)網(wǎng)現(xiàn)狀與發(fā)展研究[J]. 移動(dòng)通信,2011(17): 23-26.
[4] 何蔚.面向物理網(wǎng)時(shí)代的車聯(lián)網(wǎng)研究與實(shí)踐[M].北京:科學(xué)出版社,2013.
[5] 余濤.Kinect應(yīng)用開發(fā)實(shí)戰(zhàn):用最自然的方式與機(jī)器對(duì)話[M].北京:機(jī)械工業(yè)出版社,2013.
[6] 陳翰雄,黃雅云,劉宇,等. 基于Kinect的空中手勢(shì)跟蹤識(shí)別的研究與實(shí)現(xiàn)[J]. 電視技術(shù),2015, 39(21): 91-94.
[7] 吳國(guó)斌,李斌,閻驥洲. Kinect人機(jī)交互開發(fā)實(shí)戰(zhàn)[M].北京:人民郵電出版社,2013
盧亞軍(1991— ),女,碩士生,主研計(jì)算機(jī)控制與應(yīng)用、無(wú)線定位技術(shù);
李天松(1975— ),碩士生導(dǎo)師,主研無(wú)線定位、通信和導(dǎo)航等方面;
黃艷虎(1991— ),碩士生,主研通信網(wǎng)絡(luò)、室內(nèi)可見光定位技術(shù)。
責(zé)任編輯:薛 京
Design of gesture recognition aided system in vehicle network
LU Yajun , LI Tiansong , HUANG Yanhu
(SchoolofInformationandCommunication,GuilinUniversityofElectronicandTechnology,GuangxiGuilin541004,China)
The Internet of vehicles, as an important intersection of the Internet of things and intelligent vehicles, attracts lots of attention. By analyzing and integrating three kinds of technologies, the based service location service, gesture sensing technology and the Internet of vehicles, the integrated system can be used to realize the multimedia function and the location service in the vehicle system. Using Kinect as a gesture sensing equipment, after the establishment of WPF engineering, the design of interface and specific functional programming, the design is achieved. To achieve LBS services, the relevant API provided the LBS developer platform is used to call the data. Test results show that the system is functional, flexible and practical with a good application prospect.
Kinect; Internet of vehicle; gesture sense; LBS
盧亞軍,李天松,黃艷虎.基于Kinect的車載手勢(shì)識(shí)別輔助系統(tǒng)設(shè)計(jì)[J]. 電視技術(shù),2017,41(2):50-53. LU Y J , LI T S , HUANG Y H. Design of gesture recognition aided system in vehicle network [J]. Video engineering,2017,41(2):50-53.
TN368.2
B
10.16280/j.videoe.2017.02.011
廣西高??茖W(xué)技術(shù)研究項(xiàng)目(KY2015ZD042);桂林電子科技大學(xué)研究生教育創(chuàng)新計(jì)劃資助項(xiàng)目(YJCXS201520);桂林電子科技大學(xué)創(chuàng)新訓(xùn)練計(jì)劃資助項(xiàng)目(20151059512)
2016-03-13