廖翔宇 甘宇健 喻光繼
摘要:本文分析了動作識別的研究現(xiàn)狀和技術(shù)原理,并通過光學(xué)體感設(shè)備所獲取的深度數(shù)據(jù)信息轉(zhuǎn)換出的骨骼數(shù)據(jù),對動作進(jìn)行識別,并運(yùn)用在導(dǎo)購系統(tǒng)中,實現(xiàn)手勢動作隔空操控系統(tǒng)。該導(dǎo)購系統(tǒng)在識別用戶動作方面具有較高的精確性和穩(wěn)定性,其采用光學(xué)式的捕捉方式使得在實際應(yīng)用中更具有實用價值。
關(guān)鍵詞:深度數(shù)據(jù);動作識別;手勢識別;導(dǎo)購系統(tǒng)
中圖分類號:TP393? ? ? ? 文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2019)27-0187-03
Abstract:In this paper, the research status and technical principle of action recognition are analyzed, and the bone data converted from the depth data information obtained by optical somatosensory equipment are used to recognize the action and apply it to the guidance and purchase system. The gesture action spacer control system is realized.The purchase guidance system has high accuracy and stability in identifying user movements, and its optical capture method makes it more valuable in practical application.
Key words:DepthData; Action Recognition;GestureRecognition; Guidance And Purchase System
在人工智能高速發(fā)展的趨勢下,動作識別技術(shù)在各個領(lǐng)域的應(yīng)用價值已初見端倪,給人們帶來了革命性的體驗。雖然現(xiàn)在動作識別技術(shù)的發(fā)展重點(diǎn)在游戲領(lǐng)域,但是從長遠(yuǎn)發(fā)展來看,動作識別技術(shù)的應(yīng)用必將呈多樣發(fā)展趨勢。如今的無人經(jīng)濟(jì)市場,從無人機(jī)送貨、無人汽車到最貼近廣大消費(fèi)者生活的無人商店,都顛覆了傳統(tǒng)的經(jīng)營模式,更受到商業(yè)市場的重視和歡迎。面對未來的無人經(jīng)濟(jì)市場,如何抓住機(jī)遇,將動作識別技術(shù)在無人商店中進(jìn)行應(yīng)用,將是我們需要去探討研究的問題。
1 動作識別技術(shù)的研究現(xiàn)狀
人機(jī)交互技術(shù)出現(xiàn)至今, 已應(yīng)用到了生活中的方方面面并展現(xiàn)出良好的應(yīng)用前景。在2013年,微軟推出的新一代體感設(shè)備kinect2.0,可以實時準(zhǔn)確地捕捉人體動作、面部及語音特征[1]。這些特性很好地彌補(bǔ)了人機(jī)交互技術(shù)現(xiàn)有的缺陷,使動作識別成為人機(jī)交互領(lǐng)域中的一個研究熱點(diǎn)。它的出現(xiàn), 給眾多科技愛好者和熱衷人工智能的IT從業(yè)者帶來無窮的想象,使醫(yī)學(xué)、商業(yè)及機(jī)器人等多個領(lǐng)域迎來新一輪變革,如ARDoor公司基于Kinect設(shè)備開發(fā)的“試衣魔鏡”給顧客帶來了無須脫衣也能換裝的體驗[2];廣州大學(xué)實驗中心通過體感虛擬裝配系統(tǒng)[3],降低了對傳統(tǒng)鼠標(biāo)鍵盤的依賴;由羅元等人[4]為實現(xiàn)控制輪椅運(yùn)動,基于Kinect傳感器設(shè)計的智能輪椅系統(tǒng)??梢灶A(yù)測, 隨著未來智能化生活的到來和體感設(shè)備功能的完善, 基于動作識別的人機(jī)交互應(yīng)用將越來越值得期待。
2 基于Kinect的動作識別方法
目前對動作進(jìn)行捕捉識別的常用方法從原理上可分為電磁式、機(jī)械式、聲學(xué)式和光學(xué)式,其中光學(xué)式的捕捉方法對環(huán)境要求和識別者較為友好。本文主要通過光學(xué)式的體感設(shè)備Kinect2.0來對外界進(jìn)行即時動態(tài)捕捉,并借助微軟所提供的Kinect2.0 SDK將捕捉到的深度數(shù)據(jù)分離出骨骼數(shù)據(jù)來進(jìn)行動作識別的研究設(shè)計。
2.1 Kinect2.0獲取深度數(shù)據(jù)
Kinect2.0的視錐是由X、Y、Z坐標(biāo)軸表示的三維立體空間。Kinect2.0通過紅外投影儀持續(xù)主動的投射出紅外光譜,光譜照射到三維空間內(nèi)粗糙物體或是穿透毛玻璃后光譜會發(fā)生扭曲,形成隨機(jī)反射斑點(diǎn)。深度攝像頭通過分析捕獲到的隨機(jī)反射斑點(diǎn)生成具有三維坐標(biāo)數(shù)據(jù)的深度數(shù)據(jù),通過深度數(shù)據(jù)可以有效地描述三維空間內(nèi)的物體。
2.2 基于深度數(shù)據(jù)的骨骼追蹤技術(shù)
骨骼追蹤技術(shù)的原理是通過對Kinect2.0捕獲到的深度圖像數(shù)據(jù)進(jìn)行邊緣檢測,將人體從整個深度圖像中提取出來,再使用隨機(jī)森林模型對人體部位進(jìn)行識別,最后結(jié)合基于高斯核函數(shù)的局部模型識別方法來對關(guān)節(jié)位置進(jìn)行追蹤[5]。深度圖像數(shù)據(jù)最多可以轉(zhuǎn)換出25個可視化的人骨骼體關(guān)節(jié)點(diǎn)(如圖1)。本文將在骨骼關(guān)節(jié)點(diǎn)運(yùn)動軌跡特征的基礎(chǔ)上對動作識別技術(shù)進(jìn)行系統(tǒng)應(yīng)用。
3 系統(tǒng)交互動作的設(shè)計
微軟所提供的Kinect2.0 SDK中的動作識別引擎并不多,在新的動作識別引擎沒有提供之前,需要自行編寫算法來識別系統(tǒng)所要識別的動作。但在系統(tǒng)捕捉動作過程中,因為被識別者常常會有其他無意識的動作,所以在所設(shè)計的交互動作中應(yīng)避免設(shè)計的動作與人體所做的無意識動作相似。
3.1所能識別的動作范圍
雖然導(dǎo)購系統(tǒng)可以基于25個可視化骨骼關(guān)節(jié)數(shù)據(jù)識別出人體多數(shù)動作,但并非所有動作都適用于實際應(yīng)用。在日常生活中,手是控制外部設(shè)備最常用的部位,所以根據(jù)手部肢體位置的變化即以手勢作為導(dǎo)購系統(tǒng)與外界交互的方式較于用其他部位的動作顯得更自然、簡潔和豐富。為使得手勢交互更具人性化和高容錯率,交互手勢應(yīng)遵循以下原則:
1)交互手勢的移動范圍應(yīng)盡可能小
根據(jù)人機(jī)工程學(xué)的設(shè)計思想,用戶與機(jī)器交互所使用的手勢運(yùn)動范圍應(yīng)盡可能地小,這樣不僅緩解了使用者短時間內(nèi)因交互引起的疲勞,也避免了大范圍動作給人帶來的尷尬心理[6]。
2)交互手勢應(yīng)符合人類自然常用手勢
所設(shè)計的手勢應(yīng)使用戶能自然地與機(jī)器交互,而無須專門學(xué)習(xí),以減少用戶做出手勢的難度。因而,所設(shè)計使用的手勢應(yīng)契合使用者的自然習(xí)慣。
3)所選手勢應(yīng)具有特殊軌跡
許多動作的運(yùn)動軌跡是相識的,雖然通過動作的重復(fù)能提高識別率,但會造成識別時間上的延長,所以應(yīng)找到具有特殊軌跡的手勢,以盡量減少識別時動作的重復(fù),提高識別速度。
3.2整體算法設(shè)計
人類對于人體動作的判斷是基于視覺的,當(dāng)眼睛看到人體后,通過大腦中對于動作的描述,判斷所做的動作。同樣的,在計算機(jī)的動作識別過程中,也要首先獲取“視覺信息”,即深度數(shù)據(jù),作為判斷動作狀態(tài)的基礎(chǔ)。本文根據(jù)捕獲的深度數(shù)據(jù)所得出的25個骨骼關(guān)節(jié)點(diǎn)數(shù)據(jù),設(shè)計出判定方法,判斷所做的動作,基本思路如下:
當(dāng)設(shè)備捕獲到深度圖像數(shù)據(jù)時,檢測深度圖像數(shù)據(jù)中是否包含有人體骨骼特征數(shù)據(jù),即25個骨骼關(guān)節(jié)點(diǎn);將其中具有骨骼關(guān)節(jié)點(diǎn)的數(shù)據(jù)一幀一幀地進(jìn)行判斷。根據(jù)所要識別的動作,設(shè)定其運(yùn)動的關(guān)鍵軌跡,再選取動作軌跡中主要關(guān)鍵點(diǎn),將這些點(diǎn)作為判斷動作是否符合的條件,并收集判定結(jié)果,需要注意的是收集條件判斷的結(jié)果的先后順序要和動作運(yùn)動時所經(jīng)過的軌跡點(diǎn)順序一致。當(dāng)動作進(jìn)行過程滿足所有條件,即動作與設(shè)定軌跡點(diǎn)一一相符,則輸出該動作名稱。
在整個識別動作過程中需要注意的是,動作是一個動態(tài)的過程,它是以一定的速率進(jìn)行運(yùn)動的,若識別時間過長,則會被認(rèn)為是相互獨(dú)立的動作而非連續(xù)動作。本文在判斷條件內(nèi)加入時間屬性,在即將更新狀態(tài)之前,檢查動作開始和結(jié)束的時間,若時間差大于事先設(shè)定的時間值,則移除之前的動作起始點(diǎn),以現(xiàn)在的位置點(diǎn)作為新的動作起始點(diǎn)。
4 導(dǎo)購系統(tǒng)的實現(xiàn)
本文通過設(shè)計導(dǎo)購系統(tǒng)所采用的交互動作和識別動作的算法,將動作識別技術(shù)應(yīng)用到導(dǎo)購系統(tǒng)中,實現(xiàn)基于動作識別的智能無人導(dǎo)購系統(tǒng)。系統(tǒng)使用者可以通過系統(tǒng)所能識別的交互動作與系統(tǒng)進(jìn)行精確、快速的交互,使人與系統(tǒng)本身自然地融合在一起,為人們帶來智能化的購物體驗和享受。
4.1系統(tǒng)實現(xiàn)方式
導(dǎo)購系統(tǒng)采用C#語言進(jìn)行開發(fā),通過Kinect2.0設(shè)備獲取實時深度數(shù)據(jù)。系統(tǒng)使用Kinect2.0 SDK提供的骨骼追蹤的基本庫,直接調(diào)用其內(nèi)置庫中的深度圖像數(shù)據(jù)流獲取數(shù)據(jù),通過本文所設(shè)計的算法得出人體當(dāng)前所進(jìn)行的動作,根據(jù)得到的動作變化最終實現(xiàn)根據(jù)人體的不同動作來控制系統(tǒng)進(jìn)行非接觸式的智能化導(dǎo)購。
4.2? 識別用戶獲取物品功能的實現(xiàn)
導(dǎo)購系統(tǒng)識別用戶是否獲取物品的方法是通過體感器獲取顧客手部關(guān)鍵骨骼關(guān)節(jié)點(diǎn)的變化情況從而控制系統(tǒng)做出對應(yīng)的反饋。以右手拿取物品過程為例,當(dāng)體感設(shè)備識別范圍內(nèi)出現(xiàn)可識別人體,且右手腕關(guān)節(jié)點(diǎn)向商品位置移動并靠近物品時,體感設(shè)備開始檢測手勢變化情況。如果25個骨骼關(guān)節(jié)點(diǎn)中的右手關(guān)節(jié)(第11個點(diǎn))、右中指關(guān)節(jié)(第24個點(diǎn))和右手拇指關(guān)節(jié)(第23個點(diǎn))這三個關(guān)節(jié)點(diǎn)之間的空間距離在所設(shè)定時間內(nèi)縮短至設(shè)定距離范圍,則導(dǎo)購系統(tǒng)判定該顧客拿取該商品,并將商品信息以視頻文字等形式呈現(xiàn)給用戶。如果顧客拿取商品后在極短時間里三點(diǎn)之間的空間距離變大,則導(dǎo)購系統(tǒng)將判定該顧客放棄該商品的選購。
4.3 手勢控制視頻切換瀏覽功能的實現(xiàn)
視頻切換所用的實現(xiàn)方法為檢測用戶是否在進(jìn)行揮手的動作,根據(jù)揮手的不同方向?qū)ξ锲沸畔⒔榻B進(jìn)行上下切換。以右手向左揮動的動作為例,當(dāng)體感設(shè)備識別范圍內(nèi)出現(xiàn)可識別人體,體感設(shè)備判斷用戶的右手在進(jìn)行從右向左揮動的動作后,系統(tǒng)將判斷用戶想要切換視頻。那么,系統(tǒng)將為顧客切換到上一個商品視頻信息。揮動的過程所對應(yīng)關(guān)節(jié)的位置條件設(shè)置為:當(dāng)25個骨骼關(guān)節(jié)點(diǎn)中的右手關(guān)節(jié)(第11個點(diǎn))出現(xiàn)在右胳膊肘(第9個點(diǎn))前端,且處于右肩關(guān)節(jié)(第8個點(diǎn))下方時,在一段極短時間內(nèi),右手關(guān)節(jié)點(diǎn)(第11個點(diǎn))由右肩關(guān)節(jié)點(diǎn)(第8個點(diǎn))外側(cè)即身體的外側(cè)到與右肩關(guān)節(jié)點(diǎn)(第8個點(diǎn))重合處,最后處于左右兩肩之間。
5 結(jié)論與展望
本文通過Kinect2.0獲取的深度數(shù)據(jù)所分離出的骨骼關(guān)節(jié)數(shù)據(jù)對動作識別技術(shù)進(jìn)行分析和研究,針對店鋪商品導(dǎo)購的實際環(huán)境,提出識別手勢的方法,并應(yīng)用到導(dǎo)購系統(tǒng)中。該基于動作識別的導(dǎo)購系統(tǒng)不僅提高了與顧客的互動性,而且減少了商鋪雇傭?qū)з弳T的資金投入和降低顧客與傳統(tǒng)導(dǎo)購員間的尷尬感。同時系統(tǒng)仍然存在一些不足,后續(xù)將對以下幾個方面進(jìn)行進(jìn)一步研究:將研究識別更多的動作進(jìn)行應(yīng)用實踐,以實現(xiàn)更多的交互方式;加入同時對多人手勢做出反應(yīng)的功能;進(jìn)一步提高手勢識別精度。
參考文獻(xiàn):
[1] Kinectfor windows微軟中國體感官方網(wǎng)站http://www.k4w.cn/news/1.html
[2]百度百科. 試衣魔鏡https://baike.baidu.com/item/試衣魔鏡
[3]廖宏建,曲哲.基于Kinect體感交互技術(shù)的虛擬裝配實驗系統(tǒng)開發(fā)[J].實驗技術(shù)與管理,2013,30(7):98-102.
[4]羅元,謝彧,張毅.基于Kinect傳感器的智能輪椅手勢控制系統(tǒng)的設(shè)計與實現(xiàn)[J].機(jī)器人,2012,34(1):110-113+119.
[5]Jamie Shotton,Andrew Fitzgibbon,MatCook,et al.Realtime human pose recognition in parts from single depth images[C]//Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition,2011:129-134.
[6] 秦悅.產(chǎn)品人性化設(shè)計中的人機(jī)工程學(xué)[J].現(xiàn)代營銷(學(xué)苑版),2011(5):168-169.
【通聯(lián)編輯:唐一東】