微軟官方揭秘體感游戲機(jī)Kinect工作原理.
來源: 瀏覽數(shù):
責(zé)任編輯:Asen 時(shí)間:2011-08-11 08:29
責(zé)任編輯:Asen 時(shí)間:2011-08-11 08:29
[導(dǎo)讀]
你就是控制器(You are the controller)-如果你有在關(guān)注Kinect,相信已經(jīng)聽過這句給力的廣告詞了.從《Kinect Adventures!》中手腳并用堵漏水窟窿,到Zune播放界面中揮手換歌,Kinect開創(chuàng)了一種更加自然的娛樂交互方式.在這篇博客文章中,我將揭秘這款體感系統(tǒng)背后的秘密以及它如何讓開發(fā)者創(chuàng)造Kinect體驗(yàn).而Kinect團(tuán)隊(duì)的項(xiàng)目經(jīng)理Arjun Dayal則將展示如何實(shí)現(xiàn)通過基于手勢的方式來控制Xbox Dashboard和Kinect Hub.首先,讓我們從指導(dǎo)Kinect研發(fā)的概念原理開始.
我們生活在一個(gè)模擬的世界
傳統(tǒng)編程基于一系列的規(guī)則:原因和結(jié)果,非黑即白,非真即假.在為輸入輸出數(shù)目有限的簡單系統(tǒng)建模時(shí),這種方式工作得挺好.拿游戲《Halo》來說吧:按A鍵是讓士官長跳,前撥左搖桿讓他向前走,前撥右搖桿讓他向上看.不是A,就是B.可惜的是,我們生活的真實(shí)世界并不是如此數(shù)字化,而是模擬的.
在模擬世界中,并不是只有簡單的"是"和"否",還有"也許是/否";不僅有"對(duì)"和"錯(cuò)",還有"對(duì)/錯(cuò)的可能性".讓我們想象一下?lián)]手這一簡單動(dòng)作的所有可能性:身體運(yùn)動(dòng)的幅度,環(huán)境差異,衣服質(zhì)地的不同,文化差異造成的動(dòng)作差異等等.你可能需要研究10的23次方這么多的可能性,顯然用傳統(tǒng)編程方式來解決這類問題是不現(xiàn)實(shí)的.
我們從一開始就知道必須采用一種全新的,接近于人腦工作的方式來解決這一問題.當(dāng)你遇到一個(gè)人的時(shí)候,你的大腦立即將注意力集中在他身上,并根據(jù)經(jīng)驗(yàn)辨識(shí)出他的身份.這一過程并不是通過數(shù)百層的決策樹來實(shí)現(xiàn),人腦就是知道.嬰兒很難區(qū)分出兩個(gè)人的不同,但我們通過多年的學(xué)習(xí)和訓(xùn)練可以在幾分之一秒內(nèi)做到.事實(shí)上,你也許還能蠻準(zhǔn)確地估摸出他們的年齡、性別、心情甚至個(gè)性.這也是讓我們成就為人類的原因之一.
Kinect以類似的方法被創(chuàng)造出來.它觀察身邊的世界,它注意觀察你的動(dòng)作.即使Kinect從來沒見過你揮過手,也能很快地從它學(xué)習(xí)過的TB級(jí)數(shù)據(jù)中猜測出你所做動(dòng)作的含義.
Kinect傳感器
Kinect骨架追蹤處理流程的核心是一個(gè)無論周圍環(huán)境的光照條件如何,都可以讓Kinect感知世界的CMOS紅外傳感器.該傳感器通過黑白光譜的方式來感知環(huán)境:純黑代表無窮遠(yuǎn),純白代表無窮近.黑白間的灰色地帶對(duì)應(yīng)物體到傳感器的物理距離.它收集視野范圍內(nèi)的每一點(diǎn),并形成一幅代表周圍環(huán)境的景深圖像.傳感器以每秒30幀的速度生成景深圖像流,實(shí)時(shí)3D地再現(xiàn)周圍環(huán)境.如果你玩過pin point impression 3D針模玩具可能更容易理解這一技術(shù)——將你的手(或者臉,如果你愿意的話)按壓在這種玩具上,就可以產(chǎn)生你身體某一部位的簡單3D模型.
尋找移動(dòng)部件
Kinect需要做的下一件事是尋找圖像中較可能是人體的移動(dòng)物體,就像人眼下意識(shí)地聚焦在移動(dòng)物體上那樣.接下來,Kinect會(huì)對(duì)景深圖像進(jìn)行像素級(jí)評(píng)估,來辨別人體的不同部位.同時(shí),這一過程必須以優(yōu)化的預(yù)處理來縮短響應(yīng)時(shí)間.
Kinect采用分割策略來將人體從背景環(huán)境中區(qū)分出來,即從噪音中提取出有用信號(hào).Kinect可以主動(dòng)追蹤最多兩個(gè)玩家的全身骨架,或者被動(dòng)追蹤最多四名玩家的形體和位置.在這一階段,我們?yōu)槊總€(gè)被追蹤的玩家在景深圖像中創(chuàng)建了所謂的分割遮罩,這是一種將背景物體(比如椅子和寵物等)剔除后的景深圖像.在后面的處理流程中僅僅傳送分割遮罩的部分,以減輕體感計(jì)算量.
Kinect的大腦
真正的魔術(shù)在這里發(fā)生.分割化玩家圖像的每一個(gè)像素都被傳送進(jìn)一個(gè)辨別人體部位的機(jī)器學(xué)習(xí)系統(tǒng)中.隨后該系統(tǒng)將給出了某個(gè)特定像素屬于哪個(gè)身體部位的可能性.比如,一個(gè)像素有80%的幾率屬于腳,60%的幾率屬于腿,40%的幾率屬于胸部.看起來這時(shí)候我們就可以把幾率最大的可能性當(dāng)作結(jié)果,但這么做未免太過武斷了.我們的做法是將所有的這些可能性輸入到接下來的處理流程中并且等到最后階段再做判斷.
看了上面的介紹,你也許要問我們?nèi)绾谓虝?huì)Kinect辨識(shí)人體部位.開發(fā)這一人工智能(被稱為Exemplar(模型)系統(tǒng))可不是一件輕松的事情:數(shù)以TB計(jì)的數(shù)據(jù)被輸入到集群系統(tǒng)中來教會(huì)Kinect以像素級(jí)技術(shù)來辨認(rèn)手、腳以及它看到的其他身體部位.下圖就是我們用來訓(xùn)練和測試Exemplar的數(shù)據(jù)之一.
模型匹配:生成骨架系統(tǒng)
處理流程的最后一步是使用之前階段輸出的結(jié)果,根據(jù)追蹤到的20個(gè)關(guān)節(jié)點(diǎn)來生成一幅骨架系統(tǒng).Kinect會(huì)評(píng)估Exemplar輸出的每一個(gè)可能的像素來確定關(guān)節(jié)點(diǎn).通過這種方式Kinect能夠基于充分的信息最準(zhǔn)確地評(píng)估人體實(shí)際所處位置.另外我們?cè)谀P推ヅ潆A段還做了一些附加輸出濾鏡來平滑輸出以及處理閉塞關(guān)節(jié)等特殊事件.
骨架追蹤系統(tǒng)的目標(biāo)之一是為處理流程的各種輸出提供一種菜單式的選擇界面.游戲開發(fā)者可以選擇任意的系統(tǒng)部件組合來開發(fā)各種游戲體驗(yàn).比如,你可以僅僅使用分隔映射來制造一些驚人的華麗效果(《Your Shape: Fitness Evolved》是一個(gè)好例子).
講到這里,我們已經(jīng)描繪出一個(gè)可用于控制游戲或娛樂的完全實(shí)時(shí)的體感系統(tǒng).接下來,Arjun將介紹改進(jìn)的Xbox Dashboard和Kinect Hub.他將向你展示這兩個(gè)用戶界面如何利用景深圖像流和20關(guān)節(jié)骨架系統(tǒng)來創(chuàng)造一種基于自然手勢的,訪問游戲、電影、音樂和其他娛樂活動(dòng)的全新方式.
Kinect:技術(shù)如何最終理解你!
如今,技術(shù)在我們的日常生活中扮演著重要角色,但直到現(xiàn)在,技術(shù)產(chǎn)品在真正理解人類意圖以及適應(yīng)個(gè)體風(fēng)格差異方面做得仍然不好.Kinect的問世讓這一切有所改變.站在Kinect前,它就能知道你是誰.不僅如此,還能將你和你的愛人區(qū)別開來.當(dāng)你移動(dòng)時(shí),傳感器能在瞬間追蹤到你.想要互動(dòng)?用聲音和肢體移動(dòng)就可以播放電影、玩游戲、和朋友聊天等等.不需要學(xué)習(xí)任何新的控制方式,多么神奇!
前面Kinect團(tuán)隊(duì)項(xiàng)目經(jīng)理Ron已經(jīng)描述了Kinect傳感器讓Xbox實(shí)時(shí)追蹤玩家動(dòng)作背后的高深技術(shù),但我們?nèi)绾巫罴训剡\(yùn)用?我們的目標(biāo)是讓玩家盡可能自如地控制Xbox,同時(shí)讓所有用戶可以容易地學(xué)習(xí)并理解各種控制手勢.接下來我們會(huì)更加深入地揭秘這一體感技術(shù),并且談?wù)勗贙inect Hub和Dashboard中的Kinect體驗(yàn).
手勢:從何說起?
聽到我們要設(shè)計(jì)一種手勢來上下左右移動(dòng)物體的時(shí)候,你也許會(huì)想:"沒難度啊,把你的手移到物體上,選中然后向你想要的方向移動(dòng),搞定!"
等下,別那么自信.問問你的朋友他們是怎么想的,你可能會(huì)驚訝地發(fā)現(xiàn)他們的回答和你是如此的不同.是你的方式更好嗎?不一定,只是對(duì)你來說更有邏輯性.人類的獨(dú)特之處在于能通過多種方法來完成某一特定任務(wù).讓我們拿駕駛來做例子.如果你讓100個(gè)人來模仿如何開車,你可能會(huì)得到許多答案.有些人會(huì)將兩手分別握住面前的10點(diǎn)鐘和2點(diǎn)鐘位置,有些人可能會(huì)只用一手握住12點(diǎn)鐘位置,有些人可能會(huì)背靠椅子坐著;同樣地,模仿腳踩油門、剎車和離合器的方式也會(huì)五花八門.所有這些方式都能讓我們駕駛,而技術(shù)的工作就是要能識(shí)別所有這些方式——讓技術(shù)理解你!
那么,識(shí)別一個(gè)看似簡單動(dòng)作有多復(fù)雜呢,拿伸手做例子.當(dāng)你想伸手去拿什么東西的時(shí)候,你會(huì)認(rèn)為伸手的方向應(yīng)該完全垂直于身體平面.但實(shí)際上由于肩膀和手臂關(guān)節(jié)的結(jié)合方式,你不可能以直線方式伸手.因此,每個(gè)人都會(huì)以略為不同的方式做出一個(gè)伸手動(dòng)作,但每個(gè)人都覺得這是一個(gè)同樣的伸手動(dòng)作.成功的手勢識(shí)別就是要理解人類動(dòng)作的微妙之處,并且讓技術(shù)了解這些不同.
研發(fā)Kinect這款革命性產(chǎn)品的過程中,我們既要戰(zhàn)勝上述挑戰(zhàn)還要讓產(chǎn)品易于使用.我們所做的每個(gè)決定都是人機(jī)互動(dòng)領(lǐng)域史無前例的,我們的工作有可能將重新定義互動(dòng)娛樂技術(shù)的未來.
手勢原型: 去粕取精
我們?cè)跒槠聊粚?dǎo)航創(chuàng)造控制手勢時(shí),采用了很常見的方法:記錄下了所有能想到的天馬行空的點(diǎn)子,比如用腳來選擇菜單神馬的.當(dāng)我們意識(shí)到這樣的點(diǎn)子實(shí)在太多了的時(shí)候,我們知道需要一種更靠譜的選擇方式.
我們收集并記錄下所有創(chuàng)意,并且一一制作出原型以檢驗(yàn)?zāi)且环N更適合普通用戶.和普通用戶進(jìn)行原型測試非常重要,我們因此學(xué)到了許多關(guān)于人體運(yùn)動(dòng)的信息,并用于重新調(diào)整每次新測試.人機(jī)互動(dòng)的現(xiàn)有規(guī)則并不總是適用于在客廳進(jìn)行的10英寸距離上的體感交互.通過測試我們更好地理解用戶行為,比如長時(shí)間做手勢時(shí)怎樣才舒服,以及我們創(chuàng)造的控制手勢集和人類自然手勢是否沖突.
在測試過程中,我們的理念是"不斷失敗,去粕取精",我們不斷拋棄不合適的方案,保留有效方案.工程、用戶研究和設(shè)計(jì)團(tuán)隊(duì)都充分參與到手勢集的原型制作過程中,并和普通用戶一起進(jìn)行測試,根據(jù)所有獲取到的數(shù)據(jù)來決定最佳手勢.
在數(shù)月的測試、觀察和研究后,我們得到了一種簡單且容易理解的控制方式——懸停選擇和翻頁控制.懸停選擇是一種容易學(xué)習(xí)、高度可靠并且可預(yù)測的機(jī)制,而翻頁控制提供了一種更有觸感的方式來控制屏幕內(nèi)容.
讓我們通過Xbox Dashboard和Kinect Hub的實(shí)現(xiàn)方式來更加深入地談?wù)撨@種控制模型的細(xì)節(jié).
Kinect Hub: Kinect體驗(yàn)大本營!
Kinect Hub是Xbox Dashboard中的Kinect體驗(yàn)中心,在這里你可以用手勢來訪問Kinect內(nèi)容.Hub的設(shè)計(jì)簡單且容易理解,你可以注意到我們采用了巨大的顏色分明的項(xiàng)目方塊,讓用戶輕松地找到并選擇他們所想做的事.
Kinect Hub: 如何使用?
可以通過懸停選擇來輕易選中Kinect Hub中的任何項(xiàng)目.你所要做的就是將手停在想要選擇的項(xiàng)目方塊上并等待進(jìn)度圓圈計(jì)時(shí)器填滿.左右手都行!
我們?yōu)槠聊簧系捻?xiàng)目方塊加入了一些有趣的立體效果,當(dāng)你將手在項(xiàng)目方塊間移動(dòng)時(shí)可以注意到.(注意上圖手掌光標(biāo)所處的項(xiàng)目方塊有略微向內(nèi)翻開的效果)
如果你想看Hub中的其他東西,在屏幕左右兩側(cè)找到翻頁圖標(biāo).
控制方法是將手移向翻頁圖標(biāo)上,你會(huì)發(fā)現(xiàn)屏幕上的手掌光標(biāo)被吸附過去,接下來你只需要按屏幕顯示的方向拉動(dòng)即可實(shí)現(xiàn)翻頁.
Kinect Hub光標(biāo):如何知道誰在控制以及傳感器看到了什么?
盡管同時(shí)只能有一個(gè)人控制Kinect Hub的手掌光標(biāo),但在我們收到的Beta測試反饋中有一個(gè)大問題是用戶不知道誰在控制,也不知道Kinect是否能夠真正看到他們正在做的動(dòng)作.有些時(shí)候用戶在Kinect前做動(dòng)作,但卻無法用手掌光標(biāo)選中屏幕上的項(xiàng)目.還有一些時(shí)候,玩家不知道客廳的家具擋住了Kinect的視線,玩家必須對(duì)房間重新布局以改善效果.這些情況都將給用戶帶來極大的挫敗感,因此我們決定給予用戶更多的信息來解決這些問題.
我們的團(tuán)隊(duì)采用一種有趣的方式來解決這些問題,也就是Dashboard和Kinect Hub右下角的傳感器視圖功能.這一視圖讓用戶看到實(shí)時(shí)景深視頻,清楚地勾勒出玩家和房間內(nèi)物體的輪廓.
當(dāng)玩家揮手來控制屏幕光標(biāo)的時(shí)候,你會(huì)注意到在景深視頻窗口中該玩家的手會(huì)發(fā)亮,這一效果讓玩家知道目前誰在控制Xbox.如果你想讓旁邊的人接管控制,可以讓他前后揮手直至切換控制成功.
希望大家喜歡這篇揭示Kinect Hub以及體感工作原理的文章.開發(fā)這一全新的用戶體驗(yàn)是一次奇妙之旅,看到用戶開始使用這一未來的娛樂互動(dòng)方式讓我們激動(dòng)萬分.
原文:
轉(zhuǎn)自:
免責(zé)聲明:本文僅代表作者個(gè)人觀點(diǎn),與納金網(wǎng)無關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容。
- 分享到:
相關(guān)閱讀
- 有巨蟹座男朋友的女2017年06月21日
- 高校人才引進(jìn)看重“2016年08月23日
- 視覺設(shè)計(jì)該如何賦予2016年08月23日
- 如何創(chuàng)造設(shè)計(jì)經(jīng)典2016年08月23日
- MLikeasong答互聯(lián)網(wǎng)軟件2016年08月19日
- 工業(yè)設(shè)計(jì)創(chuàng)業(yè)的誤區(qū)2016年08月18日
- 2016年北京理工大學(xué)工2015年08月10日
- 中國一線城市近8成白2015年08月04日
- 2010宅男腐女們的杯洗2015年08月04日
- 深圳長途搬家公司包2013年03月22日
網(wǎng)友評(píng)論
您需要登錄后才可以發(fā)帖 登錄 | 立即注冊(cè)
關(guān)閉
- 用戶名:
- 密 碼:
- 驗(yàn)證碼:
看不清? 點(diǎn)擊更換
- 忘記密碼?
全部評(píng)論:0條
精采專題
熱門文章
最新文章