西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁業(yè)內(nèi)動態(tài) 業(yè)內(nèi)資訊 → “你就是控制器” 微軟揭秘Kinect工作原理

“你就是控制器” 微軟揭秘Kinect工作原理

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:本站整理時間:2011/1/8 8:45:48字體大。A-A+

作者:佚名點擊:48次評論:0次標簽: Kinect

  • 類型:編程輔助大。7.2M語言:英文 評分:5.3
  • 標簽:
立即下載

“你就是控制器。”(You are the controller.)如果你有在關(guān)注Kinect,相信已經(jīng)聽過這句給力的廣告詞了。從《Kinect Adventures!》中手腳并用堵漏水窟窿,到Zune播放界面中揮手換歌,Kinect開創(chuàng)了一種更加自然的娛樂交互方式。在這篇博客文章中,我將揭秘這款體感系統(tǒng)背后的秘密以及它如何讓開發(fā)者創(chuàng)造Kinect體驗。而Kinect團隊的項目經(jīng)理Arjun Dayal則將展示如何實現(xiàn)通過基于手勢的方式來控制Xbox Dashboard和Kinect Hub。首先,讓我們從指導Kinect研發(fā)的概念原理開始。

我們生活在一個模擬的世界

傳統(tǒng)編程基于一系列的規(guī)則:原因和結(jié)果,非黑即白,非真即假。在為輸入輸出數(shù)目有限的簡單系統(tǒng)建模時,這種方式工作得挺好。拿游戲《Halo》來說 吧:按A鍵是讓士官長跳,前撥左搖桿讓他向前走,前撥右搖桿讓他向上看。不是A,就是B?上У氖牵覀兩畹恼鎸嵤澜绮⒉皇侨绱藬(shù)字化,而是模擬的。

在模擬世界中,并不是只有簡單的“是”和“否”,還有“也許是/否”;不僅有“對”和“錯”,還有“對/錯的可能性”。讓我們想象一下?lián)]手這一簡單 動作的所有可能性:身體運動的幅度,環(huán)境差異,衣服質(zhì)地的不同,文化差異造成的動作差異等等。你可能需要研究10的23次方這么多的可能性,顯然用傳統(tǒng)編 程方式來解決這類問題是不現(xiàn)實的。

我們從一開始就知道必須采用一種全新的,接近于人腦工作的方式來解決這一問題。當你遇到一個人的時候,你的大腦立即將注意力集中在他身上,并根據(jù)經(jīng) 驗辨識出他的身份。這一過程并不是通過數(shù)百層的決策樹來實現(xiàn),人腦就是知道。嬰兒很難區(qū)分出兩個人的不同,但我們通過多年的學習和訓練可以在幾分之一秒內(nèi) 做到。事實上,你也許還能蠻準確地估摸出他們的年齡、性別、心情甚至個性。這也是讓我們成就為人類的原因之一。

Kinect以類似的方法被創(chuàng)造出來。它觀察身邊的世界,它注意觀察你的動作。即使Kinect從來沒見過你揮過手,也能很快地從它學習過的TB級數(shù)據(jù)中猜測出你所做動作的含義。

Kinect傳感器

Kinect骨架追蹤處理流程的核心是一個無論周圍環(huán)境的光照條件如何,都可以讓Kinect感知世界的CMOS紅外傳感器。該傳感器通過黑白光譜 的方式來感知環(huán)境:純黑代表無窮遠,純白代表無窮近。黑白間的灰色地帶對應(yīng)物體到傳感器的物理距離。它收集視野范圍內(nèi)的每一點,并形成一幅代表周圍環(huán)境的 景深圖像。傳感器以每秒30幀的速度生成景深圖像流,實時3D地再現(xiàn)周圍環(huán)境。如果你玩過pin point impression 3D針模玩具可能更容易理解這一技術(shù)——將你的手(或者臉,如果你愿意的話)按壓在這種玩具上,就可以產(chǎn)生你身體某一部位的簡單3D模型。

尋找移動部位

Kinect需要做的下一件事是尋找圖像中較可能是人體的移動物體,就像人眼下意識地聚焦在移動物體上那樣。接下來,Kinect會對景深圖像進行像素級評估,來辨別人體的不同部位。同時,這一過程必須以優(yōu)化的預處理來縮短響應(yīng)時間。

Kinect采用分割策略來將人體從背景環(huán)境中區(qū)分出來,即從噪音中提取出有用信號。 Kinect可以主動追蹤最多兩個玩家的全身骨架,或者被動追蹤最多四名玩家的形體和位置。在這一階段,我們?yōu)槊總被追蹤的玩家在景深圖像中創(chuàng)建了所謂的 分割遮罩,這是一種將背景物體(比如椅子和寵物等)剔除后的景深圖像。在后面的處理流程中僅僅傳送分割遮罩的部分,以減輕體感計算量。

Kinect的大腦

真正的魔術(shù)在這里發(fā)生。分割化玩家圖像的每一個像素都被傳送進一個辨別人體部位的機器學習系 統(tǒng)中。隨后該系統(tǒng)將給出了某個特定像素屬于哪個身體部位的可能性。比如,一個像素有80%的幾率屬于腳,60%的幾率屬于腿,40%的幾率屬于胸部?雌 來這時候我們就可以把幾率最大的可能性當作結(jié)果,但這么做未免太過武斷了。我們的做法是將所有的這些可能性輸入到接下來的處理流程中并且等到最后階段再做 判斷。

看了上面的介紹,你也許要問我們?nèi)绾谓虝﨣inect辨識人體部位。開發(fā)這一人工智能(被稱 為Exemplar(模型)系統(tǒng))可不是一件輕松的事情:數(shù)以TB計的數(shù)據(jù)被輸入到集群系統(tǒng)中來教會Kinect以像素級技術(shù)來辨認手、腳以及它看到的其 他身體部位。下圖就是我們用來訓練和測試Exemplar的數(shù)據(jù)之一。

模型匹配:生成骨架系統(tǒng)

處理流程的最后一步是使用之前階段輸出的結(jié)果,根據(jù)追蹤到的20個關(guān)節(jié)點來生成一幅骨架系 統(tǒng)。Kinect會評估Exemplar輸出的每一個可能的像素來確定關(guān)節(jié)點。通過這種方式Kinect能夠基于充分的信息最準確地評估人體實際所處位 置。另外我們在模型匹配階段還做了一些附加輸出濾鏡來平滑輸出以及處理閉塞關(guān)節(jié)等特殊事件。

骨架追蹤系統(tǒng)的目標之一是為處理流程的各種輸出提供一種菜單式的選擇界面。游戲開發(fā)者可以選擇任意的系統(tǒng)部件組合來開發(fā)各種游戲體驗。比如,你可以僅僅使用分隔映射來制造一些驚人的華麗效果(《Your Shape: Fitness Evolved》是一個好例子)。

講到這里,我們已經(jīng)描繪出一個可用于控制游戲或娛樂的完全實時的體感系統(tǒng)。接下 來,Arjun將介紹改進的Xbox Dashboard和Kinect Hub。他將向你展示這兩個用戶界面如何利用景深圖像流和20關(guān)節(jié)骨架系統(tǒng)來創(chuàng)造一種基于自然手勢的,訪問游戲、電影、音樂和其他娛樂活動的全新方式。

Kinect:技術(shù)如何最終理解你!

如今,技術(shù)在我們的日常生活中扮演著重要角色,但直到現(xiàn)在,技術(shù)產(chǎn)品在真正理解人類意圖以及 適應(yīng)個體風格差異方面做得仍然不好。Kinect的問世讓這一切有所改變。站在Kinect前,它就能知道你是誰。不僅如此,還能將你和你的愛人區(qū)別開 來。當你移動時,傳感器能在瞬間追蹤到你。想要互動?用聲音和肢體移動就可以播放電影、玩游戲、和朋友聊天等等。不需要學習任何新的控制方式,多么神奇!

前面Kinect團隊項目經(jīng)理Ron已經(jīng)描述了Kinect傳感器讓Xbox實時追蹤玩家動 作背后的高深技術(shù),但我們?nèi)绾巫罴训剡\用?我們的目標是讓玩家盡可能自如地控制Xbox,同時讓所有用戶可以容易地學習并理解各種控制手勢。接下來我們會 更加深入地揭秘這一體感技術(shù),并且談?wù)勗贙inect Hub和Dashboard中的Kinect體驗。

手勢:從何說起?

聽到我們要設(shè)計一種手勢來上下左右移動物體的時候,你也許會想:“沒難度啊,把你的手移到物體上,選中然后向你想要的方向移動,搞定!”

等下,別那么自信。問問你的朋友他們是怎么想的,你可能會驚訝地發(fā)現(xiàn)他們的回答和你是如此的 不同。是你的方式更好嗎?不一定,只是對你來說更有邏輯性。人類的獨特之處在于能通過多種方法來完成某一特定任務(wù)。讓我們拿駕駛來做例子。如果你讓100 個人來模仿如何開車,你可能會得到許多答案。有些人會將兩手分別握住面前的10點鐘和2點鐘位置,有些人可能會只用一手握住12點鐘位置,有些人可能會背 靠椅子坐著;同樣地,模仿腳踩油門、剎車和離合器的方式也會五花八門。所有這些方式都能讓我們駕駛,而技術(shù)的工作就是要能識別所有這些方式——讓技術(shù)理解 你!

那么,識別一個看似簡單動作有多復雜呢,拿伸手做例子。當你想伸手去拿什么東西的時候,你會 認為伸手的方向應(yīng)該完全垂直于身體平面。但實際上由于肩膀和手臂關(guān)節(jié)的結(jié)合方式,你不可能以直線方式伸手。因此,每個人都會以略為不同的方式做出一個伸手 動作,但每個人都覺得這是一個同樣的伸手動作。成功的手勢識別就是要理解人類動作的微妙之處,并且讓技術(shù)了解這些不同。

研發(fā)Kinect這款革命性產(chǎn)品的過程中,我們既要戰(zhàn)勝上述挑戰(zhàn)還要讓產(chǎn)品易于使用。我們所做的每個決定都是人機互動領(lǐng)域史無前例的,我們的工作有可能將重新定義互動娛樂技術(shù)的未來。

手勢原型: 去粕取精

我們在為屏幕導航創(chuàng)造控制手勢時,采用了很常見的方法:記錄下了所有能想到的天馬行空的點子,比如用腳來選擇菜單神馬的。當我們意識到這樣的點子實在太多了的時候,我們知道需要一種更靠譜的選擇方式。

我們收集并記錄下所有創(chuàng)意,并且一一制作出原型以檢驗?zāi)且环N更適合普通用戶。和普通用戶進行 原型測試非常重要,我們因此學到了許多關(guān)于人體運動的信息,并用于重新調(diào)整每次新測試。人機互動的現(xiàn)有規(guī)則并不總是適用于在客廳進行的10英寸距離上的體 感交互。通過測試我們更好地理解用戶行為,比如長時間做手勢時怎樣才舒服,以及我們創(chuàng)造的控制手勢集和人類自然手勢是否沖突。

在測試過程中,我們的理念是“不斷失敗,去粕取精”,我們不斷拋棄不合適的方案,保留有效方案。工程、用戶研究和設(shè)計團隊都充分參與到手勢集的原型制作過程中,并和普通用戶一起進行測試,根據(jù)所有獲取到的數(shù)據(jù)來決定最佳手勢。

在數(shù)月的測試、觀察和研究后,我們得到了一種簡單且容易理解的控制方式——懸停選擇和翻頁控制。懸停選擇是一種容易學習、高度可靠并且可預測的機制,而翻頁控制提供了一種更有觸感的方式來控制屏幕內(nèi)容。

讓我們通過Xbox Dashboard和Kinect Hub的實現(xiàn)方式來更加深入地談?wù)撨@種控制模型的細節(jié)。

Kinect Hub: Kinect體驗大本營!

Kinect Hub是Xbox Dashboard中的Kinect體驗中心,在這里你可以用手勢來訪問Kinect內(nèi)容。Hub的設(shè)計簡單且容易理解,你可以注意到我們采用了巨大的顏色分明的項目方塊,讓用戶輕松地找到并選擇他們所想做的事。

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字數(shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)