TOP
0
0
即日起~6/30,暑期閱讀書展,好書7折起
Kinect人機交互開發實踐(簡體書)
滿額折

Kinect人機交互開發實踐(簡體書)

商品資訊

人民幣定價:39 元
定價
:NT$ 234 元
優惠價
87204
絕版無法訂購
相關商品
商品簡介
作者簡介
名人/編輯推薦
目次
書摘/試閱

商品簡介

Kinect 是微軟公司推出的最新的基於體感交互的人機交互設備。本書分為3 個部分,首先介紹了Kinect 的結構和功能以及如何配置相關的開發環境,接著結合實例介紹如何使用Kinect for Windows SDK 提供的API,最後通過4 個實例詳細講述了使用Kinect for Windows SDK 開發專案的實現過程。
本書旨在為Kinect for Windows 開發人員提供快速入門的知識,但是要求讀者有一定的編程基礎。由於本書的實例代碼全部由C# 編寫,讀者最好對C# 有一定的瞭解。
本書的部分源代碼可以通過圖靈社區本書主頁,免費註冊下載。

作者簡介

吳國斌
博士,PMP,微軟亞洲研究院學術合作經理,負責中國高校及科研機構Kinect for Windows學術合作計畫及微軟精英大挑戰Kinect主題專案,曾擔任微軟TechEd 2011 Kinect論壇講師、微軟亞洲教育高峰會Kinect分論壇主席、中國電腦學會學科前沿講習班Kinect主題學術主任

李斌
來自西安電子科技大學,國內首批Kinect開發者,策劃執行微軟Kinect for Windows Pioneer計畫,開發Kinect風箏項目,曾擔任微軟TechEd 2011 Kinect論壇講師、人大附中Kinect選修課講師。

閻驥洲
來自北京航空航太大學,國內首批Kinect開發者,曾在微軟Kinect for Windows Pioneer計畫中憑藉“虛擬演示系統”獲得第一名的成績,之後參與並指導了多個Kinect應用開發項目,有著豐富的Kinect使用及開發經驗。

名人/編輯推薦

除了為讀者介紹Kinect開發的相關知識外,書中通過大量篇幅分析了一些精挑細選的實際專案,這些專案給開發者提供了很好的開發方向和設計思路。從應用的整體設計思路到具體的演算法實現,每個專案都給出了實際開發中需要注意的地方,這值得開發者花精力去瞭解。
——鄒欣,微軟首席研發經理,《編程之美》作者

可以說,Kinect的誕生預示著一個全新的電腦應用領域的開拓。本書將讀者群定位在具有極大創造力和實現能力的個人和企業開發者身上,詳細介紹了Kinect for Windows開發的方方面面,是有志投身該領域的開發者不可錯失的一本書。
——馬寧,MVP,OpenXLive CTO

前些日子剛剛看到國內能夠買到Kinect for Windows,感覺通過Kinect來控制電腦的革命性人機對話模式離我們的實際生活更近了。遍尋各大網上書店,沒有相關的中文開發資料,深感遺憾。本書的推出填補了國內Kinect for Windows開發領域的空白。幸運的是,我成為了本書的第一批讀者,原以為它可能就是官方SDK文檔的梳理,但隨著閱讀的深入,本書帶給了我極大的驚喜。它不僅僅停留在概念的闡述、基本功能的實現,更有吸引力的是它講述了從構思、設計到實現一個Kinect交互應用的完整過程,同時又對Kinect應用的用戶友好性提出了真知灼見,極具參考價值。
——薑泳濤,MVP,TechEd講師

這是一本很適合體感開發初學者閱讀的書。從Kinect for Windows開發環境的搭建,再到Kinect彩色圖像資料、深度圖像資料、骨骼追蹤資料、音頻資料的獲取與使用,以及人臉識別等,講解非常細緻,知識體系非常完整。這本書是作者大量實踐經驗的結晶,相信對Kinect for Windows體感開發者會有很大的幫助,強烈推薦!
——王峰,cnKinect.com創始人

目次

第一部分 Kinect基礎篇
第1章 Kinect簡介
1.1 什麼是Kinect
1.2 Kinect的前世今生
1.3 Kinect體感交互技術原理
1.3.1 Kinect的結構組成
1.3.2 Kinect for Windows SDK 簡介及功能介紹
1.4 Kinect for Windows應用領域
1.5 小結
第2章 Kinect for Windows開發環境配置
2.1 開發環境需求
2.2 配置開發環境
2.3 Kinect for Windows SDK技術架構
2.4 小結
第二部分 Kinect開發篇
第3章 Kinect彩色和紅外圖像資料的處理
3.1 彩色圖像的格式
3.2 紅外資料流程
3.3 實例1——調用API獲取彩色圖像資料和紅外圖像,並實現靜態圖像的抓取
3.4 小結
第4章 Kinect深度資料的處理
4.1 深度資料的結構
4.2 實例2——調用API獲取深度資料,並對不同深度值著以不同顏色
4.3 小結
第5章 Kinect骨骼追蹤資料的處理方法
5.1 骨骼追蹤資料的結構
5.2 半身模式
5.3 骨骼追蹤資料的獲取方式
5.4 實例3——調用API獲取骨骼資料並即時繪製
5.5 骨骼點旋轉信息
5.5.1 骨骼點旋轉資訊存儲方式
5.5.2 在骨骼資料回調函數中獲取骨骼點旋轉資訊
5.5.3 綜述
5.6 實例4——使用Kinect控制PPT播放
5.7 小結
第6章 音頻API的使用
6.1 關於Kinect麥克風陣列
6.2 實例5——記錄一段音頻流,並監視音頻源方向
6.3 實例6——調用語音API,實現語音識別小程式
6.4 小結
第7章 Kinect for Windows Developer Toolkit介紹
7.1 安裝Kinect for Windows Developer Toolkit
7.2 Kinect Studio簡介
7.2.1 打開Kinect Studio並鏈結應用
7.2.2 記錄並重播Kinect資料流程
7.2.3 保存和載入Kinect資料流程
7.3 Face Tracking SDK簡介
7.3.1 Face Tracking SDK主要功能
7.3.2 Face Tracking SDK使用方法
7.4 實例7——使用Face Tracking SDK識別人臉
7.4.1 新建專案並添加引用
7.4.2 初始化Kinect資料流程
7.4.3 獲取資料並傳入Face Tracking
7.5 小結
第8章 Kinect常用類庫介紹
8.1 Coding4Fun Kinect Toolkit介紹
8.1.1 基於圖像資料的擴展方法
8.1.2 基於骨骼資料的擴展方法
8.2 Kinect Toolbox類庫
8.2.1 Kinect Toolbox簡介
8.2.2 人體姿態識別
8.2.3 手勢識別
8.2.4 範本識別
8.2.5 語音識別
8.2.6 添加自定義姿態
8.3 小結
第三部分 Kinect實戰篇
第9章 Kinect虛擬演示系統的實現
9.1 虛擬演示系統簡介
9.2 技術實現概述
9.3 利用深度資料標籤獲取人物彩色圖像
9.3.1 創建人物摳圖類
9.3.2 利用深度資料獲取人物彩色圖像
9.3.3 修補、優化並完善摳圖類
9.3.4 利用Kinect SDK摳圖的優、缺點
9.4 利用骨骼資料識別人體姿態
9.4.1 利用Toolbox實現主體識別功能
9.4.2 自然對話模式設計
9.4.3 Kinect自然交互小結
9.5 演示系統簡介
9.5.1 預備知識
9.5.2 Kinect狀態類
9.5.3 Kinect輪詢類
9.5.4 演示框架小結
9.6 小結
第10章 Kinect虛擬放風箏項目的實現
10.1 Kinect虛擬放風箏項目簡介
10.2 技術實現概述
10.3 玩家姿勢的設計和識別
10.3.1 玩家姿勢的設計
10.3.2 玩家姿勢識別的實現
10.4 自然交互按鈕和游標的實現
10.4.1 自定義游標
10.4.2 自定義按鈕
10.5 風箏動畫的實現
10.6 專案操作流程
10.7 小結
第11章 Kinect全息顯示
11.1 Kinect全息顯示簡介
11.2 技術實現概述
11.3 Kinect捕捉頭部座標
11.3.1 創建用於捕捉頭部位置的Kinect組件類
11.3.2 Kinect初始化以及頭部位置獲取
11.3.3 根據Kinect和螢幕的位置關係轉換座標
11.4 三維圖形引擎
11.4.1 創建可見模型繪製類
11.4.2 構建模型世界矩陣
11.4.3 繪製模型
11.5 根據頭部位置更新繪製圖像
11.5.1 修改視圖矩陣
11.5.2 修改投影矩陣
11.6 小結
第12章 基於Kinect的自主移動機器人的設計與實現
12.1 KRobot項目簡介
12.2 技術實現概述
12.3 利用深度資料進行攝像機標定
12.4 利用深度資料實現障礙規避
12.4.1 獲取彩色圖和深度圖資料
12.4.2 處理深度圖和深度資料
12.4.3 制定障礙物判定規則
12.4.4 制定機器人避障規則
12.5 利用骨架資料實現人體跟蹤
12.6 利用麥克風進行聲音定位
12.7 完善人機交互演示系統
12.8 小結
附錄A Kinect for Windows SDK類、結構類型和枚舉類型

書摘/試閱

Kinect被譽為第三代人機交互的劃時代之作。本章將介紹Kinect的基本概念及其發展歷程,並簡要剖析其結構功能以及體感交互技術的原理。另外,本章最後還會對Kinect for Windows的應用領域進行概覽和展望。
1.1 什麼是Kinect
Kinect是Xbox 360外接的3D體感攝影機,如圖1-1所示。它利用即時動態捕捉、影像識別、麥克風輸入、語音識別等功能,使玩家擺脫了傳統遊戲手柄的束縛,使用自己的肢體來控制遊戲。而任天堂Wii、索尼Play Station Move等同類產品,則需要玩家借助一個或者多個設備才能完成體感互動。
圖1-1 Kinect for Xbox 360
作為Xbox 360的外設,Kinect不需要使用任何道具即可完成整個動作的識別和捕捉,它使用了由微軟劍橋研究院研發的基於深度圖像的人體骨骼追蹤演算法,而深度圖像則是由PrimeSense公司提供的Range Camera技術產生的。此外,Kinect使用一個4-麥克陣列,可以識別3D立體語音。
Kinect的主要識別演算法和軟體部分都是由微軟旗下的遊戲工作室提供的。國內外一些所謂的可見光或者紅外識別公司,大多是從該工作室獲取一些專利權,其產品跟微軟的Kinect相比在精度上還有一定的差距。
1.2 Kinect的前世今生
2009年6月1日,Kinect在E3遊戲展上首次亮相,它當時的代號是Project Natal。這遵循了微軟以城市名作為開發代號的傳統,Project Natal是由來自巴西的微軟董事Alex Kipman以巴西城市Natal命名的。Natal是拉丁語,英語中有“初生”之意,由此可見,微軟公司期望Kinect能夠給Xbox 360帶來新生。在E3 2009遊戲展上,Kinect的骨骼捕捉技術已經可以在30Hz的條件下同時捕捉4個人的48個骨骼動作。
2010年3月25日,微軟宣佈將在E3 2010期間召開的“初生計畫全球首秀”發佈會上公佈Kincet的發售日期。2010年6月13日晚,這個發佈會在格蘭中心體育館舉行,會上微軟宣佈將Project Natal正式命名為Kinect,這融合了kinetic(運動)和connect(溝通)之意。同時微軟還宣佈,Kinect將於2010年11月4日在北美正式發售。
Kinect在發佈僅僅兩個月後,就售出了800多萬台,吉尼斯世界記錄稱其為有史以來銷售最快的電子消費產品。但是,Kinect並未就此止步。2011年6月,Kinect for Windows SDK beta版發佈,這標誌著Kinect開始向PC應用領域進軍。2011年11月4日,Kinect發佈一周年的日子,世界各地的研究人員已經將Kinect應用到了醫療健康、教育、日常生活等各個領域,以探索Kinect技術的無限可能,這就是所謂的“Kinect效應”。此外,Kinect動作捕捉的機器學習技術還榮獲了2011年MacRobert Award工程創新大獎。
微軟在Kinect for Xbox 360設備的基礎上優化了硬體元件,並於2012年2月發佈了Kinect for Windows硬體,其固件更適合PC使用。新的Kinect硬體縮短了USB連接線的長度,並支援“近距模式”(Near Mode)。與此同時,微軟還發佈了商業授權版的Kinect for Windows SDK 1.0,這意味著開發者可以使用Kinect for Windows硬體,在Windows平臺上開發支援手勢和語音識別的應用程式,並向實際用戶銷售這些程式。
對於商業版的Kinect for Windows,微軟採用了純硬體的商業模式,向開發人員和軟體商免費提供SDK開發包。這樣,所有的使用者都可以將精力投入到研發上,而不必擔心支付任何軟體的授權費用。
2012年5月,微軟發佈了Kinect for Windows SDK 1.5版本,該版本支持人臉以及坐姿半身模式的骨骼追蹤。借助這些新功能和特性,Kinect應用程式的開發工作變得更加容易和靈活。2012年10月,微軟又發佈了Kinect for Windows SDK 1.6版本,主要拓展了Kinect for Windows的開發平臺,支援在虛擬機、Windows 8系統上進行開發,支援使用最新的Visual Studio 2012開發工具。此外,Kinect for Windows SDK 1.6版本還增加了獲取紅外圖像等功能,並在性能上做了很大提升。Kinect for Windows SDK可能會保持每年一到兩次的更新,在功能和性能上也會越來越強大。
1.3 Kinect體感交互技術原理
初看Kinect,你或許只看到了3個小攝像頭,那麼Kinect究竟是怎樣實現體感交互的呢?Kinect for Windows SDK又有哪些基本功能呢?本節將揭開Kinect在硬體、軟體方面的神秘面紗。
1.3.1 Kinect的結構組成
圖1-2給出了Kinect的整體結構。Kinect一共有3個攝像頭,中間一個是RGB攝像頭,用來獲取640×480的彩色圖像,每秒鐘最多獲取30幀圖像;兩邊的是兩個深度感測器,左側的是紅外線發射器,右側的是紅外線接收器,用來檢測玩家的相對位置。Kinect的兩側是一組四元麥克風陣列,用於聲源定位和語音識別;下方還有一個帶內置馬達的底座,可以調整俯仰角。
圖1-2 Kinect硬體結構
1.3.2 Kinect for Windows SDK 簡介及功能介紹
2011年6月17日,微軟研究院發佈的非商業授權版的Kinect for Windows SDK Beta吸引了眾多開發者的目光,不過該版本只允許用於研究、測試和實驗,不可以發佈商業應用。2012年,微軟分別在2月、5月和10月接連發佈了商業授權版的Kinect for Windows SDK 1.0版本、1.5版本和1.6版本,此舉在明確了微軟盈利模式的同時,使得開發者可以進行軟體發展,並銷售開發的應用程式。
Kinect for Windows SDK目前支援Windows 7作業系統和Windows 8作業系統,開發環境使用Visual Studio 2010 Express及以上版本,支援的開發語言包括C++、C#和VB.NET。
Kinect for Windows SDK主要包括以下幾個功能。
骨骼追蹤:對在Kinect視野範圍內移動的一個或兩個人進行骨骼追蹤,可以追蹤到人體上的20個節點。此外,Kinect還支援更精確的人臉識別。
深度攝像頭:利用“光編碼”技術,通過深度感測器獲取到視野內的環境三維位置資訊。這種深度資料可以簡單地理解為一張利用特殊攝像頭獲取到的圖像,但是其每一個圖元的資料不是普通彩色圖片的圖元值,而是這個圖元的位置距離Kinect感測器的距離。由於這種技術是利用Kinect紅外發射器發出的紅外線對空間進行編碼的,因此無論環境光線如何,測量結果都不會受到干擾。
音頻處理:與Microsoft Speech的語音識別API集成,使用一組具有消除雜訊和回波的四元麥克風陣列,能夠捕捉到聲源附近有效範圍之內的各種資訊。
1.4 Kinect for Windows應用領域
目前,國外已經出現了很多使用Kinect開發的精彩應用,比如Kinect試衣鏡、Air Presenter演講軟體、Kinect光劍、Kinect街頭霸王等。很多創意都可以在MSDN Channel 9的Coding4fun欄目裏看到。
在國內,Kinect for Windows SDK Beta發佈伊始,微軟亞洲研究院便啟動了“微軟校園菁英計畫”之Kinect Pioneer專案,在全國範圍內動員微軟學生技術俱樂部的同學們集思廣益,提交他們基於Kinect的新創意,並向優秀的創意團隊提供Kinect設備和技術支援。僅一個多月的開發時間,多個優秀創意團隊便成功提交了Kinect創意項目原型,其中包括使用手勢進行變臉的3D臉譜虛擬平臺、Kinect教學助手、基於Kinect的網上試衣間等。在隨後的2012微軟精英大挑戰Kinect主題上,來自全國30所高校的100余支隊伍也積極參與到Kinect for Windows的開發當中,這使得Kinect在中國大學生中得到了全面的推廣。
下面簡單介紹一下來自西安電子科技大學團隊的3D臉譜虛擬平臺。此創意將京劇這門傳統藝術和新穎的Kinect技術結合到了一起,通過Kinect搭建了一個可以讓京劇迷享受虛擬演唱體驗的平臺:一個提供臉譜、服裝和場景的華麗舞臺。憑藉著Kinect的人體識別和傳感技術,用戶可以直接跳過繁複的化妝過程,用手勢來選擇自己喜愛的角色臉譜,生、旦、淨、末、醜,一應俱全,選擇完畢後,就可以對著螢幕表演喜愛的曲目並錄影了,如圖1-3所示。當與其他戲迷朋友分享視頻時,他們可以欣賞到惟妙惟肖的場景和表演。這樣的方式不僅能使老京劇迷們的交流更加便捷,還能讓年輕人通過更炫的途徑去瞭解這門生動的國粹。
圖1-3 3D臉譜虛擬平臺
2011年12月2日,由微軟亞洲研究院舉辦的Kinect for Windows研討會在北京召開,吸引了來自眾多行業和研究領域的專家學者以及全國各地的大學老師和學生。研討會就Kinect的體感交互技術及其應用領域進行了交流和討論,並且展示了國內基於Kinect for Windows SDK在各個應用領域的研發成果。下面選擇一些有代表性的項目進行簡要介紹。
基於Kinect的手語翻譯系統。手語翻譯系統旨在解決聾啞人與正常人的溝通問題,利用Kinect對肢體動作的即時捕捉,對特定的手語動作進行識別,最終翻譯成文字,這樣不懂手語的人也可以跟聾啞人正常交流了。目前,該專案的研究已經取得了重大的進展,我們相信結合Kinect強大的體感交互技術,在不遠的將來就會看到Kinect手語翻譯系統成為聾啞人的得力助手。
空中手寫。空中手寫軟體巧妙地利用了Kinect對手部節點的即時追蹤,用戶只需對著Kinect在空氣中比劃,便能寫出相應的漢字,並輸入到電腦中。該項目為未來的手寫輸入提供了新的思路。
虛擬試衣系統。虛擬試衣系統實現了不需用戶真正穿上衣服便可看到衣服上身效果的虛擬試衣體驗。用戶只需站在螢幕前,選擇虛擬試衣系統中存儲的品牌衣服圖片,系統會根據Kinect獲取到的骨架資料自適應地穿在用戶在螢幕中的影像上,達到輕輕鬆松試衣的效果。這樣不僅使得試衣變得更加便捷、有趣,還能有效減少試衣成本。
Kinect版水果忍者。Kinect版水果忍者也是利用了Kinect的骨骼追蹤技術,將觸屏版的水果忍者遊戲移植到Kinect的體感控制上。Kinect追蹤玩家雙手的移動軌跡,玩家只需對著螢幕劃動雙手便可切下水果,儼然真實版忍者,在娛樂的同時還能鍛煉身體。
1.5 小結
Kinect是一種廉價的動作捕捉設備,適用於對動作捕捉精度要求非常嚴格的領域,這也是其未來發展的方向。另外,現在智慧手機和平板電腦的發展非常迅猛,雖然現在看它們和PC會怎樣發展,還沒有定論,但是受此趨勢影響,Kinect以後絕對會趨於小型化,可以斷定這是其發展的必經之路。大家都知道,專業領域的產品用量通常不會很大,但是這個領域的技術更新相對較快,隨著技術的完善,最終專業領域的技術一定會逐漸應用到消費者領域。互聯網的發展歷史就是很好的明證,其他許多成功普及的技術也都遵循著這樣的發展軌跡。

您曾經瀏覽過的商品

購物須知

大陸出版品因裝訂品質及貨運條件與台灣出版品落差甚大,除封面破損、內頁脫落等較嚴重的狀態,其餘商品將正常出貨。

特別提醒:部分書籍附贈之內容(如音頻mp3或影片dvd等)已無實體光碟提供,需以QR CODE 連結至當地網站註冊“並通過驗證程序”,方可下載使用。

無現貨庫存之簡體書,將向海外調貨:
海外有庫存之書籍,等候約45個工作天;
海外無庫存之書籍,平均作業時間約60個工作天,然不保證確定可調到貨,尚請見諒。

為了保護您的權益,「三民網路書店」提供會員七日商品鑑賞期(收到商品為起始日)。

若要辦理退貨,請在商品鑑賞期內寄回,且商品必須是全新狀態與完整包裝(商品、附件、發票、隨貨贈品等)否則恕不接受退貨。

優惠價:87 204
絕版無法訂購

暢銷榜

客服中心

收藏

會員專區