• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Azure Kinect虛擬裝配系統(tǒng)的研究與開發(fā)

      2022-10-13 08:42:10張?zhí)煅?/span>范勁松
      機床與液壓 2022年18期
      關(guān)鍵詞:手勢樣本模型

      張?zhí)煅螅秳潘?/p>

      (1.佛山科學(xué)技術(shù)學(xué)院機電工程與自動化學(xué)院,廣東佛山 528000;2.佛山科學(xué)技術(shù)學(xué)院工業(yè)設(shè)計與陶瓷藝術(shù)學(xué)院,廣東佛山 528000)

      0 前言

      虛擬裝配技術(shù)是解決產(chǎn)品設(shè)計、裝配及培訓(xùn)等問題的一種高效、低成本的手段。隨著計算機技術(shù)、人機交互技術(shù)等的發(fā)展,虛擬裝配技術(shù)也取得了長足發(fā)展。在人機交互方面,目前主要可分為兩大類:一類是通過可穿戴式設(shè)備進行交互,例如數(shù)據(jù)手套、頭戴顯示設(shè)備等。這類設(shè)備價格昂貴,且大多是特定用途定制,穿戴設(shè)備會給用戶造成額外的身體負擔(dān),交互時間不宜太久。何良莉等利用手握式設(shè)備Neowand和三維位置跟蹤器FOB,實現(xiàn)了對虛擬場景中物體的交互控制,可完成基本的裝配工作。另外一類則是通過計算機視覺對人體姿態(tài)進行識別的非接觸交互形式,例如LeapMotion、Kinect等。王文鋒、楊韜提出了一種汽車虛擬拆裝系統(tǒng),通過Leap Motion實現(xiàn)人機交互,該系統(tǒng)添加了評分機制,能夠在對車輛拆裝的同時進行評分,便于開展拆裝虛擬實驗教學(xué);不足之處在于Leap Motion的使用范圍非常有限,而且該系統(tǒng)手勢識別準確率不高,仍有錯誤識別現(xiàn)象產(chǎn)生。PLOUFFE、CRETU介紹了一個通過使用Kinect傳感器采集深度圖實現(xiàn)手勢識別的新系統(tǒng)。該系統(tǒng)可以根據(jù)手勢位置,采用DTW算法對手勢進行處理分析,并將其與預(yù)先錄制的參考手勢模板進行對比識別,對單手或多手靜態(tài)和動態(tài)手勢的平均識別率達到92.4%。廖宏建、曲哲通過Kinect獲取人體信息,結(jié)合Unity 3D構(gòu)建了低成本的虛擬裝配系統(tǒng);該系統(tǒng)提高了與三維對象的交互效率,增強了學(xué)習(xí)沉浸感。

      2019年微軟發(fā)布了新一代Kinect——Azure Kinect。該設(shè)備一經(jīng)發(fā)布就吸引了大量學(xué)者和業(yè)界的關(guān)注。與前兩代Kinect相比,Azure Kinect在運動傳感器以及深度相機像素等各方面有了較大提升,讓Azure Kinect在跟蹤精度和穩(wěn)定性方面得到了改善,同時利用Microsoft Azure AI的人工智能技術(shù),對動作的準確識別有更大提升。目前Azure Kinect應(yīng)用在虛擬裝配領(lǐng)域的研究較少,這方面的研究文獻和研究成果也非常缺乏。

      本文作者在深入了解Azure Kinect技術(shù)特點的基礎(chǔ)上,將之作為人機交互設(shè)備對虛擬裝配相關(guān)技術(shù)進行研究,主要研究虛擬裝配的手勢識別算法、虛擬裝配功能的設(shè)計與實現(xiàn)。

      1 Azure Kinect的新特性

      Azure Kinect新增的1MP深度傳感器擁有寬視野和窄視野兩種工作模式,支持開發(fā)人員針對自己的應(yīng)用程序進行優(yōu)化。同時12MP RGB視頻攝像機提供一個額外的彩色流信息,并且針對深度流進行了優(yōu)化調(diào)整。附帶的七麥克風(fēng)陣列實現(xiàn)了遠距離語音控制和聲音捕獲,使用加速計和陀螺儀 (IMU) 實現(xiàn)傳感器方向和空間跟蹤。另外新一代的Kinect還能通過Azure AI的認知服務(wù)增強系統(tǒng)工具來開發(fā)語言和視覺功能。表1為Azure Kinect在視覺方面的新特性參數(shù)。

      表1 Azure Kinect相機參數(shù)

      ANTICO等對Azure Kinect動作捕捉能力進行了研究,并將Azure Kinect的準確性與Vicon 3D系統(tǒng)比較,結(jié)果表明:該設(shè)備對大部分動作識別都有較高的準確率,意味著低成本、體積小、質(zhì)量輕、易安裝,且不需要額外佩戴設(shè)備的Azure Kinect在監(jiān)控、識別人體姿態(tài)方面有獨特的優(yōu)勢。LEE等使用Azure Kinect開發(fā)了可在桌面全息顯示交互的實時手勢識別,用戶可以在不使用其他穿戴設(shè)備的情況下控制桌面全息顯示器的全息圖。

      在制造與物流業(yè)領(lǐng)域,Azure Kinect能通過深度攝像頭和高清攝像頭對物體形狀、顏色及尺寸進行鑒別,同時具備人體追蹤功能,能夠根據(jù)員工的動作來判斷員工的操作狀態(tài),來檢查相應(yīng)的物體是否擺放得當,從而進行監(jiān)控和培訓(xùn)。此外,Azure Kinect在醫(yī)療康復(fù)領(lǐng)域也有著較好的應(yīng)用前景,它可以通過人體追蹤和Azure的圖像識別等功能,預(yù)防人的跌倒、幫助病患進行實時康復(fù)訓(xùn)練等。

      2 基于Azure Kinect的交互功能研究

      2.1 語音交互功能

      Azure Kinect中內(nèi)嵌了七麥克風(fēng)環(huán)形陣列,可以即時接收外部的聲音。同時可以利用微軟官方所提供的語音SDK訪問麥克風(fēng)的輸入數(shù)據(jù),這些數(shù)據(jù)可以通過Microsoft Azure所提供的語音識別功能,將音頻即時轉(zhuǎn)化為文字。Microsoft部署于云中的語言模型,能夠完成對基礎(chǔ)語言的識別任務(wù)。此系統(tǒng)將利用語言識別功能來實現(xiàn)部分的裝配任務(wù),以實現(xiàn)輔助裝配的目的。

      2.2 手勢交互功能及不足

      在虛擬開發(fā)引擎Unity3D官方資源商店中的Azure Kinect Examples for Unity能夠較好地實現(xiàn)Azure Kinect與Unity3D之間的數(shù)據(jù)傳輸。作者利用上述資源來采集中指(HANDTIP_RIGHT)、拇指(THUMB_RIGHT)、手腕(WRIST_RIGHT)等的數(shù)據(jù)。所有關(guān)節(jié)的數(shù)據(jù)都包含位置和方向,其中每個關(guān)節(jié)坐標系的方向由四元數(shù)表示,所有關(guān)節(jié)坐標系都是深度攝像機的三維坐標系中的絕對坐標系,圖1為坐標系的方向,所有坐標系都為右手坐標系。

      圖1 深度相機坐標系和手部關(guān)節(jié)坐標系

      該資源中包含了一些實例,其中有抓取、釋放的手勢識別,但是這兩種手勢的識別還存在不足的地方,比如識別抓取、釋放的方法是判斷中指角度(HANDTIP_RIGHT與WRIST_RIGHT方向的夾角)是否大于50°,大于50°為抓取,小于50°則為釋放。但在作者研究發(fā)現(xiàn)其識別準確率不夠高,而且不穩(wěn)定。主要原因是該方法采用的單一分割閾值,無法分割一直處于運動狀態(tài)下中指角度的變化,導(dǎo)致識別率偶爾高于90%,而有時達不到75%。作者利用Azure Kinect分別采集了兩組數(shù)據(jù),在MATLAB中顯示結(jié)果(圖2)。如果想要獲得較高的識別準確率,第一組數(shù)據(jù)(圖2(a))的角度分割閾值應(yīng)在50°左右,而第二組(圖2(b))則在70°左右。這會導(dǎo)致單一的分割閾值無法滿足穩(wěn)定且準確的識別效果。為了提高這兩種基本手勢的識別率,作者基于SVM算法對兩種手勢進行分類識別。

      圖2 中指彎曲角度與分割閾值

      3 手勢識別算法的優(yōu)化

      3.1 SVM算法

      支持向量機(SVM)是一種在監(jiān)督學(xué)習(xí)模式下的線性分類器,1995年由CORTES和VAPNIK提出。支持向量機的提出基于統(tǒng)計學(xué)習(xí)理論和結(jié)構(gòu)風(fēng)險最小化準則,在解決小樣本、非線性和高維模式識別問題中表現(xiàn)出許多特有的優(yōu)勢。臺灣大學(xué)林智仁等開發(fā)設(shè)計的LIBSVM軟件包包含了線性、多項式、RBF和S形函數(shù)4種常用的核函數(shù)供選擇,能夠很高效地處理多類型問題、交叉驗證的參數(shù)選取、對不均勻樣本加權(quán)平均等。上述4個核函數(shù)中,使用得最為普遍的是RBF核函數(shù)[公式(1)],它具有較寬的收斂域,可以適用于任意分布的樣本,是較為理想的分類依據(jù)函數(shù)。以下實驗過程將選取RBF函數(shù)為核函數(shù)。

      (1)

      引入核函數(shù)方法后,在兩種類型線性不可分時,需要解決以下優(yōu)化問題:

      最小化:

      (2)

      限制條件:

      公式(4)中()與核函數(shù)的關(guān)系為:(,)=()()

      其中公式(2)中參數(shù)可以人為設(shè)定,其取值會直接影響模型的性能。越高,分類越嚴格,對誤差容忍度越低,容易過擬合;越小,就意味著有更大的錯誤容忍度,越容易欠擬合。無論過大還是過小,泛化能力都會變差。選擇RBF函數(shù)作為核函數(shù)后,該函數(shù)自帶一個參數(shù),即公式(1)中的。該參數(shù)隱含地決定了數(shù)據(jù)映射到新的特征空間后的分布,其大小也會直接影響到模型的性能。合適的、參數(shù)組合能提升模型的準確率和魯棒性。

      LIBSVM的分類任務(wù)通常將數(shù)據(jù)分成訓(xùn)練樣本和測試樣本。訓(xùn)練樣本和測試樣本中每個數(shù)據(jù)都有自身的“類型”和附帶的幾種“屬性”(即特征或觀察到的變量)。LIBSVM的目標是基于訓(xùn)練樣本生成一個模型,然后根據(jù)該模型預(yù)測測試樣本的類型。

      3.2 手勢基本特征的選取

      虛擬裝配中常用的手勢主要有旋轉(zhuǎn)、抓取、釋放、點擊。其中抓取與釋放作為主要手勢,使用頻率遠遠高于其他手勢。下面將重點分析這兩種手勢的識別問題。

      把釋放和抓取狀態(tài)定義為兩種類型,釋放狀態(tài)為類型Ⅰ,抓取狀態(tài)為類型Ⅱ;它們都有3種屬性:中指角度為屬性1、拇指角度(THUMB_RIGHT與WRIST_RIGHT方向的夾角)為屬性2以及拇指與中指的夾角(HANDTIP_RIGHT與THUMB_RIGHT方向的夾角)為屬性3。在手掌處于釋放狀態(tài)和抓取狀態(tài)下,分別采集這3種屬性的數(shù)據(jù)。利用這些數(shù)據(jù)在MATLAB下用LIBSVM訓(xùn)練出最優(yōu)的參數(shù)模型并進行預(yù)測實驗。

      3.3 數(shù)據(jù)的選取與采集

      文獻[13]研究中發(fā)現(xiàn)Azure Kinect在預(yù)熱50~60 min后,會獲得一個更穩(wěn)定的輸出。文中有關(guān)Azure Kinect的數(shù)據(jù)均在預(yù)熱以后采集的。文獻[14-15]的研究都表明在距離1~2 m以內(nèi)時,Azure Kinect對身體大部分關(guān)節(jié)的跟蹤誤差在很低的水平,在該范圍內(nèi)隨著距離的增加,跟蹤誤差會略微增大。

      作者選擇在1、1.5、2 m三個位置采集數(shù)據(jù),經(jīng)過不同距離的對比,找出較為合適的識別距離。實驗采集了屬性1的數(shù)據(jù)并通過MATLAB顯示處理,圖3為3組不同距離下采集的數(shù)據(jù):在距離1、2 m時,手勢分割效果不佳;距離1.5 m時,分割效果優(yōu)于其他兩組。因此,以下的實驗將在距離1.5 m處進行。

      圖3 不同距離下中指彎曲角度

      在實驗過程中作者發(fā)現(xiàn)中指角度對這兩種手勢類型分類的影響很大,因此將3種屬性分為3組(屬性1、2;屬性1、3;屬性1、2、3)來分別訓(xùn)練出3種模型,然后比較3種模型對兩種對應(yīng)手勢狀態(tài)的分類效果,最后選出分類效果最好的預(yù)測模型。

      3.4 實驗對比

      將對上述3種屬性組合下采集的數(shù)據(jù)通過LIBSVM在MATLAB下進行可視化分析。采集數(shù)據(jù)分為訓(xùn)練樣本和測試樣本,通過LIBSVM將訓(xùn)練樣本訓(xùn)練成參數(shù)模型,再通過該參數(shù)模型對測試樣本進行預(yù)測分類,最后把預(yù)測結(jié)果通過MATLAB顯示出來(此階段中所用的參數(shù)組合為=1,=1)。

      結(jié)果顯示:在手移動的情形時,屬性1、3下訓(xùn)練的模型在預(yù)測時準確度只有87%左右(圖4(a));屬性1、2下的準確度能達到97%(圖4(b));屬性1、2、3的情況下識別準確度在91%左右(圖4(c))。顯然,在手不斷移動的過程中,屬性1、2所訓(xùn)練的模型,預(yù)測樣本的準確率最高。此外,在手靜止時,3組數(shù)據(jù)(圖5)都表現(xiàn)出很高的識別準確率(與圖4順序相同)。

      圖4 手移動時模型預(yù)測效果

      圖5 手靜止時模型預(yù)測效果

      3.5 手勢識別算法的優(yōu)化

      對于LIBSVM算法,公式(2)中的參數(shù)和公式(1)中的參數(shù)()是可以人為設(shè)定的參數(shù),它們對模型的預(yù)測效果有直接的影響。

      利用網(wǎng)格搜索和交叉驗證,尋找更合適的、參數(shù)組合,提高該模型分類的準確性及魯棒性。交叉驗證是將給定樣本數(shù)據(jù)等分為組,選出其中-1組作為訓(xùn)練樣本用于訓(xùn)練模型,剩余1組為測試樣本,用于驗證上述模型性能,然后重復(fù)這個過程次,直到每組樣本都被用做一次測試樣本。作者將樣本分為10組進行交叉驗證。網(wǎng)格搜索是將所有給定的、參數(shù)組合窮舉遍歷,從所有的組合中選取最優(yōu)組合(交叉驗證率最高的組合)。作者先用粗網(wǎng)格確定比較合適的參數(shù)組合區(qū)域,然后用更精細的網(wǎng)格在此區(qū)域搜索找到更優(yōu)的、參數(shù)組合,粗網(wǎng)格所用、組合范圍為(、=2,2,…,2,2)。經(jīng)過粗網(wǎng)格的篩選后將范圍定在=1~4,=64~256;再通過幾次更加精細的篩選后,最終獲得以下的、參數(shù)等高線(圖6)。最終確定的參數(shù)組合為=1.515 7、=119.428 2,交叉驗證率97.878 8%。再用該參數(shù)訓(xùn)練的模型預(yù)測此前的測試樣本(屬性1、2),準確率為97.435 9%(此前預(yù)測率為97.179 5%)(圖7)。該模型有較好的魯棒性,在預(yù)測不同的樣本數(shù)據(jù)時,準確率也基本高于參數(shù)尋優(yōu)之前的模型。因此,最終將該模型用作兩種手勢的分類模型(屬性1、2)。

      圖6 參數(shù)c、g等高線

      圖7 參數(shù)尋優(yōu)后的預(yù)測結(jié)果

      4 虛擬裝配系統(tǒng)設(shè)計

      Unity3D是一款強大的虛擬現(xiàn)實開發(fā)引擎,其三維圖形渲染能力強、動畫系統(tǒng)豐富,開發(fā)者可以便捷、快速、高效地開發(fā)三維和二維應(yīng)用。

      作者將Azure Kinect作為人機交互設(shè)備,利用Unity3D作為開發(fā)平臺,并且引入了前面研究的手勢識別優(yōu)化算法,實現(xiàn)了一個初步的產(chǎn)品虛擬裝配交互系統(tǒng)。

      4.1 基本框架及流程

      開發(fā)的虛擬裝配系統(tǒng)包括虛擬環(huán)境、交互操作、模型管理等,系統(tǒng)框架及流程如圖8所示。進入系統(tǒng)首先會判斷是處于哪種模式,如果是移動裝配模式,用戶可以調(diào)取相應(yīng)的零件,開始進行裝配,直到最后所有零件成功裝配,裝配任務(wù)結(jié)束;如果處于變換視角模式,則可以調(diào)整到合適的裝配視角后,繼續(xù)完成裝配流程。

      圖8 系統(tǒng)框架及流程

      系統(tǒng)中零件的裝配是靠手勢交互完成,切換模式由語音交互控制,手勢交互和語音交互都可以完成零件的調(diào)入功能。

      4.2 系統(tǒng)主要功能的設(shè)計與實現(xiàn)

      (1)零件的調(diào)入

      作者在虛擬裝配系統(tǒng)的界面上設(shè)置一塊面板(圖9左邊)用于從零件庫中調(diào)入零件。面板上面放置了所有零件對應(yīng)的按鈕,點擊相應(yīng)按鈕,系統(tǒng)就調(diào)入相應(yīng)的零件。此外,還可以通過語音來獲取零件,只需要說出零件名稱,系統(tǒng)就會調(diào)入相應(yīng)的零件。

      圖9 虛擬裝配系統(tǒng)界面

      (2)零件的抓取與幾何約束

      將上述經(jīng)過SVM算法優(yōu)化后的手勢識別模塊加入裝配系統(tǒng)中,用作識別抓取、釋放零件手勢。通過實際操作發(fā)現(xiàn)該方法能夠較好地完成對零件的抓取、釋放操作,并且零件會隨著手掌較為準確地移動到相應(yīng)裝配點處。

      為了進一步簡化操作提升裝配效率,每個零件約束在設(shè)定的區(qū)域,使零件不會過多地偏離正確路徑。此外,在可裝配點附近設(shè)置提示點,當用戶將零件往錯誤的裝配點進行裝配時,系統(tǒng)會給予限制并提示裝配警告。

      (3)裝配視角與裝配模式設(shè)計

      文中所用的方法是基于手勢的識別控制,如右手向左邊揮動,則視角會向左旋轉(zhuǎn)一定角度。此系統(tǒng)具有兩種模式;模式1為移動裝配模式,手勢交互可以調(diào)入零件以及抓取零件進行裝配;模式2為變換視角模式,主要用來調(diào)整合適的視角。兩種模式的切換可以通過語音來控制,用戶只需說出“切換模式”,兩種模式就會發(fā)生切換,當前模式顯示在界面的右下角。

      (4)裝配動畫

      由于Azure Kinect的本質(zhì)是基于計算機視覺的識別,在操作上無法像鼠標那樣精準。為了不影響裝配的體驗感以及效率,在零件裝配的最后一步制作了動畫。當零件移動到準確的裝配點就會觸發(fā)對應(yīng)的動畫,引導(dǎo)完成該零件的裝配。

      (5)零件的裝配

      將手掌移動到相應(yīng)零件的位置,對零件做出抓取手勢后,零件高亮代表被選中,零件會隨著手掌的移動而移動。圖10左為凸輪軸被手勢抓取后的狀態(tài),零件被移動到相應(yīng)位置后完成該零件的裝配。然后進行下一個零件的裝配,通過語音或手勢點擊按鈕來調(diào)入相應(yīng)零件,再抓取裝配該零件。圖11為曲軸的裝配過程。重復(fù)上述步驟,直到所有零件裝配完成。圖12為某發(fā)動機零部件裝配完成圖。

      圖10 凸輪軸裝配完成

      圖11 曲軸裝配完成

      圖12 裝配完成

      5 結(jié)論

      對Azure Kinect應(yīng)用開發(fā)時手勢識別不穩(wěn)定的問題,提出了基于優(yōu)化SVM算法的手勢分類識別方法,提高了兩種高頻手勢識別的準確性及魯棒性。同時將其應(yīng)用在虛擬裝配系統(tǒng)的開發(fā)中,驗證了該方法的應(yīng)用效果和在系統(tǒng)中完成基本裝配任務(wù)的實用性。同時加入語音輔助裝配,增強了用戶的沉浸體驗感。作者在研究中也發(fā)現(xiàn)對于復(fù)雜度很高的裝配任務(wù)實現(xiàn)效果不夠理想,主要是因為手勢交互無法完成對某些特殊裝配角度的精準把控。在后續(xù)的研究中,將嘗試通過微軟云服務(wù)中的Azure AI的認知服務(wù),進一步加深系統(tǒng)對人的行為的理解能力和準確性,如理解人說話的語義、理解圖像中的特定信息等,從而幫助用戶完成一些僅依靠手勢操作難以完成的任務(wù)。

      猜你喜歡
      手勢樣本模型
      一半模型
      用樣本估計總體復(fù)習(xí)點撥
      重要模型『一線三等角』
      重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
      挑戰(zhàn)!神秘手勢
      V字手勢的由來
      推動醫(yī)改的“直銷樣本”
      勝利的手勢
      隨機微分方程的樣本Lyapunov二次型估計
      3D打印中的模型分割與打包
      肥东县| 南皮县| 祥云县| 抚松县| 枞阳县| 深水埗区| 曲阜市| 南澳县| 广河县| 嘉义县| 金沙县| 田东县| 从江县| 土默特左旗| 全州县| 水城县| 黄冈市| 邛崃市| 高雄县| 贡觉县| 拜城县| 洛扎县| 满城县| 钟祥市| 垫江县| 巴塘县| 永善县| 若尔盖县| 秀山| 桐梓县| 井研县| 云浮市| 沂南县| 大关县| 泰兴市| 抚松县| 镇康县| 泽库县| 尚志市| 临武县| 全南县|