出版時(shí)間:2012-11-20 出版社:機(jī)械工業(yè)出版社華章公司 作者:余濤 頁數(shù):337
Tag標(biāo)簽:無
前言
推薦序一人機(jī)交互的發(fā)展過程就是從人適應(yīng)計(jì)算機(jī)到計(jì)算機(jī)不斷地適應(yīng)人的發(fā)展過程。人機(jī)交互的發(fā)展經(jīng)歷了早期的手工作業(yè)階段、作業(yè)控制語言及交互命令語言階段、圖形用戶界面(GUI)階段、網(wǎng)絡(luò)用戶界面階段、多通道與多媒體的智能人機(jī)交互階段。伴隨人機(jī)交互的發(fā)展,人機(jī)交互的輸入與輸出設(shè)備也在不斷地發(fā)展,從鼠標(biāo)、鍵盤、手柄到觸摸屏,再到現(xiàn)在的體感傳感器。而體感交互技術(shù)又是目前人機(jī)交互技術(shù)中最為前沿和熱門的領(lǐng)域之一,這其中基于微軟Kinect的應(yīng)用開發(fā)卻又最為廣泛。對于國內(nèi)眾多的體感開發(fā)初學(xué)者和體感愛好者而言,本書是一本非常優(yōu)秀的入門讀物。本書內(nèi)容涵蓋對自然人機(jī)交互技術(shù)應(yīng)用的介紹,Kinect硬件設(shè)備構(gòu)造與原理的分析,Kinect SDK for Windows開發(fā)環(huán)境的搭建, Kinect SDK for Windows的詳細(xì)講解,Kinect交互設(shè)計(jì)的一些理念,以及Kinect在視覺、聲音、3D等多方面的案例開發(fā)。其中涉及Kinect多點(diǎn)觸摸、虛擬現(xiàn)實(shí)、增強(qiáng)現(xiàn)實(shí)、動(dòng)作捕捉、3D重建、機(jī)器人控制等多種應(yīng)用場景。本書的編寫以國內(nèi)廣大體感開發(fā)者的需求為依據(jù),從而使讀者能夠更深入地理解體感技術(shù)的應(yīng)用場景。本書具有以下特點(diǎn):由淺入深地引導(dǎo)開發(fā)者;實(shí)操性很強(qiáng);創(chuàng)新與實(shí)戰(zhàn)相結(jié)合;圖文并茂;有很多珍貴的參考數(shù)據(jù)。因此本書不失為一本很好的Kinect體感開發(fā)工具書。祝廣大讀者通過對本書的學(xué)習(xí)能早日步入體感行列,開發(fā)出自己的體感應(yīng)用!王峰Cnkinect.com創(chuàng)始人,體感工場(北京)科技有限公司CEO和創(chuàng)始人。推薦序二我知道余濤,是因?yàn)橐黄饏⒓恿宋④汬R組織的員工活動(dòng)。我受邀分享南極經(jīng)歷,他分享21天從成都武侯祠騎行至拉薩的經(jīng)歷。當(dāng)時(shí)我就在想,這個(gè)人不簡單,是個(gè)有夢想、能堅(jiān)持的奇人。這次余濤寄來書稿,更加證實(shí)了我的判斷:有夢想能堅(jiān)持,居然寫了本這么厚的編程指導(dǎo)書。他說,“Kinect喚回我Coding的激情”。是的。Kinect喚回了很多人的激情。與其說這是一本編程指導(dǎo)書,不如說是一本用作者的創(chuàng)造力喚醒大家想象力的夢想指南書。作者向大家展示了Kinect帶給大家的無限可能?,F(xiàn)在不少的編程人員,可能都是從基于Windows的Visual系列開始學(xué)起的,已經(jīng)把圖形界面和鼠標(biāo)操作當(dāng)成理所當(dāng)然的。作為1985年被鄧小平爺爺“學(xué)電腦要從娃娃抓起”一聲號(hào)召之下就開始學(xué)電腦的我來說,深知“史前”編程和用戶交互的不易。在很早的時(shí)候,我們只能用“機(jī)器語言”和電腦交互。那個(gè)時(shí)代,是人去理解電腦,并用0和1的指令告知電腦人們希望它去完成的事情。后來雖然有所發(fā)展,有了匯編語言、C語言等,但是和電腦談話,還只是專業(yè)人士的工作。所以你可能還記得,要穿白大褂、換鞋進(jìn)入電腦機(jī)房的時(shí)代。后來,施樂悄悄地發(fā)明了圖形操作界面和鼠標(biāo)。施樂并不明白這個(gè)發(fā)明有多偉大,比爾蓋茨和史蒂夫喬布斯看到了,開發(fā)出了著名的Windows和Macintosh操作系統(tǒng)。自此以后,普通的人都可以用更加平等的方式和電腦交流了,而電腦也一下子平易近人起來。比爾“每個(gè)人的桌面上都有一臺(tái)電腦”的夢想,最終得以實(shí)現(xiàn)。但是,這還不夠。今天,幾乎和鼠標(biāo)一樣偉大的人機(jī)交互方式—“Kinect體感”被發(fā)明了!這非常令人激動(dòng),因?yàn)殡娔X從此以后就可以通過觀察人的動(dòng)作、聆聽人的聲音,來理解人的指令,更加自然地和人交流了。我們把這種操作界面稱為自然用戶界面(NUI)。若干年后,我想大家會(huì)理解,Kinect會(huì)是多么偉大的一項(xiàng)嘗試。而作者也同樣嘗試著在這個(gè)重要的時(shí)間點(diǎn)上,用自己的書點(diǎn)亮大家對未來的想象,幫助大家成為未來NUI的領(lǐng)導(dǎo)者。這本書里提到的例子都非常有趣。人類對更加智慧的人機(jī)交互方式的探索永遠(yuǎn)不會(huì)停止,你同樣會(huì)看到用聲音、用自然語言、用眼球交互的各種嘗試。但是,所有這些基礎(chǔ)的技術(shù)創(chuàng)新,都需要像你們這樣的夢想家,只有你們在各個(gè)領(lǐng)域發(fā)揮最令人驚嘆的想象力,才能開發(fā)出獨(dú)特的應(yīng)用,改良生產(chǎn),改善生活。預(yù)祝每一個(gè)認(rèn)真閱讀本書的人都是未來的學(xué)者、未來的成功者!劉潤微軟戰(zhàn)略合作總監(jiān),捐獻(xiàn)時(shí)間公益組織創(chuàng)始人,香港百仁基金特邀會(huì)員,福布斯中文網(wǎng)專欄作家,愈奇投資合伙人,《2012,買張船票去南極》的作者。前言為什么要寫這本書Kinect以Natal為開發(fā)代號(hào)在CES2010一亮相就光芒四射。發(fā)布會(huì)上那段視頻令我印象深刻:你可以用身體自如地進(jìn)行游戲,而且無需任何控制器。也許就在那一刻,全世界的很多技術(shù)愛好者都在想:“我們還可以用Kinect干點(diǎn)什么呢?”我將這段視頻轉(zhuǎn)發(fā)給復(fù)旦大學(xué)附屬中山醫(yī)院的陰憶青博士。他看完后敏銳地問道:“是否可以基于Kinect開發(fā)手術(shù)室的應(yīng)用?”那時(shí)Kinect還未正式發(fā)布,但這個(gè)念頭著實(shí)讓我興奮不已。我們似乎已經(jīng)進(jìn)入了這樣一個(gè)時(shí)代:計(jì)算機(jī)已逐漸擁有與人類媲美的感知能力—它們能看到、觸摸到、感覺到我們所處的地點(diǎn)和運(yùn)動(dòng)狀態(tài)??苹秒娪般y幕中的場景,正逐步出現(xiàn)在我們的身邊,并成為生活中的一部分。Kinect正是在這樣的背景中誕生的,人機(jī)交互從二維世界擴(kuò)展到三維空間,而且是非接觸的交互體驗(yàn)(Touch-Free)。Kinect也許會(huì)成為第三次人機(jī)交互革命的原點(diǎn)。2011年春天,我從美國買了一臺(tái)Xbox 360 Kinect套裝。“你的身體就是控制器”,Kinect for Xbox的廣告詞如雷貫耳。為了滿足好奇心,我開始搜集Kinect技術(shù)及其原理的相關(guān)信息,網(wǎng)絡(luò)上的討論也逐漸升溫。我閱讀了New Scientist網(wǎng)站上的一篇博文《Inside the race to hack the Kinect 》,其中講述了破解Kinect的全過程。這是一次有懸賞的技術(shù)競賽,黑客們通過USB記錄儀截獲了Kinect與主機(jī)之間通信的所有數(shù)據(jù),整個(gè)破解過程就是一個(gè)逆向工程。微軟似乎默許了這樣的黑客行為。與此同時(shí),關(guān)于Kinect的各類創(chuàng)意在網(wǎng)絡(luò)上如同雨后春筍一般涌現(xiàn)出來,比如用Kinect給四旋翼飛行航模配上“導(dǎo)航雷達(dá)”、制作寵物狗看護(hù)機(jī)器人、在空氣中彈吉他、利用Kinect制作倒車?yán)走_(dá)系統(tǒng),或是用來玩經(jīng)典游戲《超級(jí)馬里奧兄弟》。“向Xbox 360中增加Kinect,就像是給一艘潛水艇配備了聲納設(shè)備一樣”,這是我特別喜歡的一句評(píng)論。Kinect還引發(fā)了無盡的想象和創(chuàng)意,讓人躍躍欲試。2011年初夏,微軟順?biāo)浦郯l(fā)布了Kinect for Windows SDK beta1版本,相比開源社區(qū)的工作的確有些姍姍來遲。這期間,我試著寫了幾個(gè)簡單的應(yīng)用,除了SDK幫助文檔外,開發(fā)資料乏善可陳,相關(guān)英文書籍也未出版。那個(gè)夏天,我騎車遠(yuǎn)行了一次,從成都到拉薩。路上我萌發(fā)了一個(gè)念頭—寫一本原創(chuàng)書。當(dāng)年秋天,我在杭州參加QCon2011大會(huì),席間我與好友(淘寶架構(gòu)師鐵輪)對寫書的想法進(jìn)行了深入討論。會(huì)后我正式明確了寫作方向,那時(shí)Kinect for Windows SDK beta2版本已經(jīng)發(fā)布了。我閱讀了Jamie Shotton和Alex Kimpman等人聯(lián)合寫的那篇重要論文《Real-Time Human Pose Recognition in Parts from Single Depth Images》,之后關(guān)于Kinect的實(shí)現(xiàn)機(jī)制豁然開朗。之后的業(yè)余時(shí)間,我都會(huì)跟蹤Kinect技術(shù)的一些動(dòng)態(tài)發(fā)展,并搜集整理資料。與此同時(shí),Kinect自然人機(jī)交互技術(shù)也逐步成為我和企業(yè)用戶溝通的一個(gè)有趣話題。我發(fā)現(xiàn),除了醫(yī)療領(lǐng)域外,教育、銀行、航空、廣告等領(lǐng)域也都對這項(xiàng)技術(shù)表現(xiàn)出濃厚的興趣。基于此,我對整個(gè)書稿原目錄的構(gòu)思做了調(diào)整,除了原理、SDK開發(fā)基礎(chǔ)和實(shí)例外,將整理更多關(guān)于Kinect在企業(yè)級(jí)應(yīng)用的創(chuàng)意,并且從人機(jī)交互技術(shù)的角度思考它的商業(yè)價(jià)值。2012年春節(jié)前,我有幸認(rèn)識(shí)了機(jī)械工業(yè)出版社華章公司的楊福川先生,期間郵件往來,討論了本書的定位及大綱。春節(jié)過后,微軟很快正式發(fā)布了Kinect SDK v1.0版本。當(dāng)時(shí)我正在美國出差,順路在Belleville的Microsoft Store里買了Kinect for Windows傳感器。同時(shí),我也正式開始了本書的編寫。本書從構(gòu)思到成稿,差不多跨越了Kinect for Windows SDK beta1、beta2、v1.0到v1.5四個(gè)版本。寫作主要集中在beta2到v1.5發(fā)布前的一段時(shí)間。Kinect技術(shù)還在不斷發(fā)展,本書作為一本開發(fā)入門書籍,希望能給國內(nèi)Kinect技術(shù)愛好者們一些啟發(fā)。如能激發(fā)出一些新的創(chuàng)意,那將是件極有意義的事情。希望閱讀本書能讓你感到愉快并有所啟發(fā)。
內(nèi)容概要
本書由微軟資深企業(yè)架構(gòu)師兼Kinect應(yīng)用開發(fā)專家親自執(zhí)筆,既系統(tǒng)全面地講解了Kinect技術(shù)的工作原理,又細(xì)致深入地講解了Kinect交互設(shè)計(jì)、程序開發(fā)和企業(yè)應(yīng)用展望。全書不僅包含大量實(shí)踐指導(dǎo)意義極強(qiáng)的實(shí)戰(zhàn)案例,還包含大量建議和最佳實(shí)踐,是學(xué)習(xí)Kinect
for Windows應(yīng)用開發(fā)不可多得的參考書。
本書分為八大部分:準(zhǔn)備篇(引言和第1章),從科幻電影的自然人機(jī)交互技術(shù)談起,同時(shí)針對虛擬現(xiàn)實(shí)、增強(qiáng)現(xiàn)實(shí)、多點(diǎn)觸摸、語音識(shí)別、眼球跟蹤、人臉識(shí)別、體感操作、腦機(jī)界面等人機(jī)交互技術(shù)的最新發(fā)展動(dòng)態(tài),結(jié)合一些生動(dòng)例子進(jìn)行了說明;原理篇(第2~3章),深入剖析了Kinect的硬件組成,從原理上分析了Kinect的工作機(jī)制,并從計(jì)算機(jī)視覺技術(shù)角度重點(diǎn)分析了“體感操作”背后發(fā)生的一切;基礎(chǔ)篇(第4~5章),對Kinect
for Windows
SDK進(jìn)行了框架性的導(dǎo)讀,并對Kinect自然人機(jī)交互的設(shè)計(jì)提出了有益的歸納和建議;開發(fā)篇(第6~9章),本篇從Kinect的開發(fā)環(huán)境準(zhǔn)備談起,內(nèi)容包括了視頻數(shù)據(jù)、深度數(shù)據(jù)、骨骼跟蹤等開發(fā)示例,其中還包含一個(gè)用Kinect測量身高的有趣示例;實(shí)例篇(第10~16章),通過介紹一些生動(dòng)有趣的應(yīng)用示例(《超級(jí)馬里奧兄弟》、《水果忍者》等)的開發(fā),幫助讀者快速開發(fā)入門;進(jìn)階篇(第17~19章),包括姿態(tài)識(shí)別和手勢識(shí)別的算法實(shí)現(xiàn),Kinect技術(shù)結(jié)合3D技術(shù)的應(yīng)用,同時(shí)結(jié)合Kinect在手術(shù)室的原型應(yīng)用這一綜合示例,將交互設(shè)計(jì)、骨骼跟蹤、手勢識(shí)別、語音識(shí)別等關(guān)鍵點(diǎn)“串燒”起來;展望篇(第20~22章),匯集Kinect應(yīng)用的相關(guān)創(chuàng)意和奇思妙想,以及Kinect在醫(yī)療、教育、動(dòng)作捕捉、虛擬現(xiàn)實(shí)、增強(qiáng)現(xiàn)實(shí)、動(dòng)漫設(shè)計(jì)乃至冰川研究等諸多領(lǐng)域的發(fā)展前景;附錄A是關(guān)于Kinect
SDK命名空間Microsoft
Kinect的詳細(xì)介紹;附錄B是關(guān)于自然人機(jī)交互技術(shù)、計(jì)算機(jī)視覺技術(shù)的相關(guān)開源社區(qū)動(dòng)態(tài)的介紹。
作者簡介
余濤 (網(wǎng)名fishking1979)企業(yè)應(yīng)用架構(gòu)師(Enterprise
Architect)、PMI認(rèn)證項(xiàng)目管理師(PMP),目前就職于微軟中國。熱衷于Kinect技術(shù),致力于推廣Kinect體感技術(shù)在企業(yè)領(lǐng)域的應(yīng)用。擁有12年以上的軟件行業(yè)經(jīng)驗(yàn),有豐富的大型軟件項(xiàng)目設(shè)計(jì)、開發(fā)、管理經(jīng)驗(yàn),為醫(yī)療、智能交通、能源、汽車等企業(yè)級(jí)客戶提供架構(gòu)及咨詢服務(wù)。業(yè)余愛好旅行、山地車運(yùn)動(dòng)和電影。
書籍目錄
推薦序一
推薦序二
前 言
第一部分 準(zhǔn)備篇
引 言 從科幻電影談起
第1章 自然人機(jī)交互技術(shù)漫談
1.1 自然人機(jī)交互技術(shù)的發(fā)展
1.1.1 第六感設(shè)備:技術(shù)的組合創(chuàng)新
1.1.2 追影技術(shù):攝像頭也瘋狂
1.1.3 虛擬現(xiàn)實(shí):真實(shí)的體驗(yàn)場景
1.1.4 增強(qiáng)現(xiàn)實(shí):真實(shí)與虛擬的疊加
1.1.5 多點(diǎn)觸摸:信息就在指尖
1.1.6 語音識(shí)別:從ViaVoice到Siri
1.1.7 眼球跟蹤:從霍金的座椅談起
1.1.8 人臉識(shí)別:Photo DNA
1.1.9 體感操作:達(dá)芬奇手術(shù)機(jī)器人
1.1.10 腦機(jī)界面:霍金座椅的升級(jí)版
1.2 “你就是控制器”—Kinect宣言
1.2.1 Kinect銷售記錄及命名來歷
1.2.2 未來照進(jìn)現(xiàn)實(shí)
第二部分 原理篇
第2章 揭開Kinect的神秘面紗—硬件設(shè)備解剖
2.1 兩款Kinect傳感器對比
2.2 Kinect傳感器的硬件組成
2.2.1 Kinect的“心臟”—PS1080 SoC
2.2.2 Kinect的“三只眼”—投影機(jī)和兩個(gè)攝像頭
2.2.3 Kinect的“四只耳朵”—麥克風(fēng)陣列
2.2.4 會(huì)搖擺的“相控雷達(dá)”—傳動(dòng)馬達(dá)
2.2.5 姿態(tài)控制—三軸加速度計(jì)
2.2.6 USB接口及電源
2.2.7 Kinect風(fēng)扇控制
2.3 Kinect相關(guān)技術(shù)規(guī)格
2.3.1 Kinect近景模式
2.3.2 Kinect放大鏡
2.4 本章小結(jié)
第3章 Kinect工作原理大揭秘
3.1 Kinect for Xbox 360的產(chǎn)品設(shè)計(jì)
3.2 基于“管道”的系統(tǒng)架構(gòu)
3.2.1 骨骼跟蹤
3.2.2 動(dòng)作識(shí)別
3.2.3 人臉識(shí)別
3.2.4 語音識(shí)別
3.3 Kinect眼里的三維世界
3.3.1 深度數(shù)據(jù)是Kinect的精髓
3.3.2 2D視覺與3D視覺
3.4 深度圖像成像原理
3.4.1 ToF光學(xué)測距與結(jié)構(gòu)光測量
3.4.2 Light Coding技術(shù)
3.4.3 激光散斑原理
3.4.4 光源標(biāo)定
3.5 從深度圖像到骨骼圖
3.5.1 動(dòng)靜分離,識(shí)別人體
3.5.2 人體部位分類
3.5.3 從人體部位識(shí)別關(guān)節(jié)
3.5.4 會(huì)“機(jī)器學(xué)習(xí)”的“Kinect大腦”
3.5.5 骨骼跟蹤的精度和效率
3.6 創(chuàng)建你的Avatar
3.6.1 “有骨有肉”
3.6.2 泊松方程噪聲濾除
3.6.3 粗糙變平滑、缺陷自動(dòng)補(bǔ)齊
3.7 本章小結(jié)
第三部分 基礎(chǔ)篇
第4章 Kinect for Windows SDK導(dǎo)讀
4.1 什么是Kinect SDK
4.1.1 Kinect SDK的發(fā)展歷程
4.1.2 SDK v1.5的新特性
4.1.3 SDK v1.5尚未提供的API
4.1.4 從底層進(jìn)行封裝
4.2 Kinect for Windows體系架構(gòu)
4.3 應(yīng)用層API詳解
4.3.1 Kinect的核心NUI API
4.3.2 Kinect Audio DMO
4.3.3 Windows Speech SDK
4.4 數(shù)據(jù)流概述
4.4.1 彩色圖像數(shù)據(jù)
4.4.2 用戶分割數(shù)據(jù)
4.4.3 深度圖像數(shù)據(jù)
4.4.4 如何獲取數(shù)據(jù)流
4.5 骨骼跟蹤
4.5.1 骨骼信息檢索
4.5.2 主動(dòng)跟蹤和被動(dòng)跟蹤
4.5.3 骨骼跟蹤對象選擇
4.6 NUI坐標(biāo)轉(zhuǎn)換
4.6.1 深度圖像空間坐標(biāo)
4.6.2 骨骼空間坐標(biāo)
4.6.3 坐標(biāo)變換
4.6.4 傳感器陣列和傾斜補(bǔ)償
4.6.5 地面測量
4.6.6 骨骼鏡像
4.7 本章小結(jié)
第5章 Kinect用戶交互設(shè)計(jì)的若干思考
5.1 Xbox 360 Kinect Hub界面和Metro風(fēng)格
5.1.1 什么是Metro風(fēng)格
5.1.2 Kinect Hub手勢原型設(shè)計(jì)
5.1.3 “懸停選擇”和“翻頁控制”
5.2 體感游戲的優(yōu)勢及局限性
5.2.1 更多的自由度
5.2.2 關(guān)節(jié)點(diǎn)重疊的處理辦法
5.2.3 情感因素和心理暗示
5.2.4 Kinect體感操作的局限性及對策
5.3 用戶交互的趨勢和新特性
5.3.1 Kinect使交互“柔軟化”
5.3.2 用戶交互設(shè)計(jì)也可能是一項(xiàng)專利
5.4 Kinect“體感操作”交互設(shè)計(jì)的七條軍規(guī)
5.4.1 控制手勢集符合人類自然手勢
5.4.2 讓用戶的肢體移動(dòng)幅度盡可能小
5.4.3 操作界面的對象采用Metro風(fēng)格
5.4.4 “確認(rèn)操作”保持簡單、一致
5.4.5 手勢操作盡可能在同一個(gè)平面內(nèi)
5.4.6 從三維的視角去看交互設(shè)計(jì)
5.4.7 配有簡單明了的手勢說明
5.5 本章小結(jié)
第四部分 開發(fā)篇
第6章 開發(fā)前的準(zhǔn)備工作
6.1 開發(fā)Kinect應(yīng)用所需的技能
6.2 系統(tǒng)要求
6.3 下載和安裝Kinect SDK
6.3.1 Kinect for Windows SDK v1.5
6.3.2 Developer Toolkit
6.3.3 Kinect快速開發(fā)工具箱
6.3.4 XNA開發(fā)環(huán)境
6.4 加載驅(qū)動(dòng)、檢驗(yàn)及測試
6.5 配置開發(fā)環(huán)境
6.6 要點(diǎn)和故障排除
6.7 本章小結(jié)
第7章 Hello,Kinect!
7.1 一行代碼的“Hello, Kinect!”
7.1.1 創(chuàng)建WPF工程
7.1.2 添加KinectDiagnosticViewer控件
7.1.3 編寫一行代碼
7.1.4 編譯運(yùn)行
7.2 控制臺(tái)界面HelloKinectMatrix
7.2.1 創(chuàng)建Console工程
7.2.2 編寫代碼
7.2.3 運(yùn)行效果
7.3 KinectContrib快速工程模板
7.4 KinectWpfViewers工具控件
7.5 本章小結(jié)
第8章 Kinect開發(fā)循序漸進(jìn)
8.1 一個(gè)簡單的編程模型
8.1.1 初始化、啟用Kinect設(shè)備
8.1.2 彩色圖像流事件處理
8.1.3 深度數(shù)據(jù)捕獲
8.1.4 骨骼跟蹤
8.1.5 關(guān)閉Kinect設(shè)備
8.1.6 Kinect設(shè)備狀態(tài)管理及異常處理
8.2 更專業(yè)的深度圖
8.2.1 改進(jìn)轉(zhuǎn)換方法
8.2.2 事件處理
8.3 控制Kinect仰角
8.3.1 “你的塑身”游戲
8.3.2 垂直調(diào)整Kinect仰角
8.4 本章小結(jié)
第9章 Kinect深度數(shù)據(jù)測量技術(shù)及應(yīng)用
9.1 什么是Kinect視角場
9.2 深度值與實(shí)際距離的對比
9.3 深度圖像的直方圖
9.3.1 直方圖統(tǒng)計(jì)信息的價(jià)值
9.3.2 深度圖像直方圖的意義
9.4 Kinect深度數(shù)據(jù)測量的應(yīng)用
9.4.1 近景模式:自動(dòng)鎖屏工具
9.4.2 Kinect視角場幾何推導(dǎo):測量人體身高
9.4.3 近距離探測:制作地形電子沙盤
9.5 本章小結(jié)
第五部分 實(shí)例篇
第10章 用Kinect表演“變臉”
10.1 在人的面部變換臉譜
10.2 代碼實(shí)現(xiàn)
10.2.1 WPF工程、控件及初始化
10.2.2 骨骼跟蹤
10.2.3 變臉及坐標(biāo)變換
10.3 合理暫停骨骼跟蹤
10.4 道具平滑跟隨
10.5 調(diào)整幕布大小
10.6 練習(xí)作業(yè)
第11章 用Kinect喚起“紅白機(jī)”的回憶
11.1 用身體控制馬里奧
11.2 代碼實(shí)現(xiàn)
11.2.1 WPF工程、控件及初始化
11.2.2 模擬鍵盤輸入工具類
11.2.3 肢體語言映射到鍵盤事件
11.3 副產(chǎn)品:PPT演示“空手道”
11.4 練習(xí)作業(yè)
第12章 用Kinect玩PC版的《水果忍者》
12.1 空氣鼠標(biāo)設(shè)計(jì)思路
12.1.1 找到離Kinect最近的那個(gè)人
12.1.2 兼容左手習(xí)慣和右手習(xí)慣
12.1.3 從骨骼坐標(biāo)系到鼠標(biāo)坐標(biāo)系
12.1.4 模擬鼠標(biāo)工具類
12.1.5 讓“空氣鼠標(biāo)”移動(dòng)自如
12.1.6 模擬鼠標(biāo)左鍵事件
12.2 在PC中用Kinect玩《水果忍者》
12.2.1 核心代碼示例
12.2.2 如何雙手揮刀
12.3 更多游戲:《割繩子》
12.4 練習(xí)作業(yè)
第13章 創(chuàng)建你的Kinect Hub Demo界面
13.1 Metro風(fēng)格界面設(shè)計(jì)
13.2 使用Kinect骨骼跟蹤
13.3 使用Coding4Fun Kinect Toolkit開發(fā)加速器
13.4 懸停選擇
13.5 本章小結(jié)
第14章 用Kinect導(dǎo)播天氣預(yù)報(bào)
14.1 天氣預(yù)報(bào)是這樣煉成的
14.1.1 繪制幕布,定義前景圖片
14.1.2 對象定義及初始化
14.1.3 實(shí)現(xiàn)“畫中畫”效果
14.2 一些優(yōu)化的話題
14.2.1 使用Using及時(shí)回收資源
14.2.2 使用WriteableBitmap優(yōu)化圖片顯示性能
14.2.3 多線程和“輪詢模型”
14.2.4 使用中值濾波邊緣去噪
14.3 Kinect語音導(dǎo)播切換
14.3.1 引用Microsoft.Speech命名空間
14.3.2 音頻數(shù)據(jù)流和語音識(shí)別引擎
14.3.3 語音識(shí)別事件
14.4 本章小結(jié)
第15章 基于Kinect的家庭監(jiān)控系統(tǒng)
15.1 通過Kinect進(jìn)行目標(biāo)探測
15.2 使用計(jì)算機(jī)視覺庫
15.2.1 Open CV程序庫
15.2.2 Emgu CV引用
15.2.3 保存快照
15.2.4 錄制視頻
15.3 目標(biāo)人體探測和影像錄制
15.4 擴(kuò)展功能和更多應(yīng)用場景
15.5 本章小結(jié)
第16章 “Kinect牌”夢境錄音筆
16.1 Kinect音頻采集
16.1.1 使用音頻數(shù)據(jù)流
16.1.2 “波束跟蹤”信心值的另類用法
16.2 音頻錄制
16.2.1 WAV文件
16.2.2 WAVEFORMATEX結(jié)構(gòu)體
16.2.3 夢境錄音筆的實(shí)現(xiàn)
16.3 練習(xí)作業(yè)
第六部分 進(jìn)階篇
第17章 再談姿態(tài)識(shí)別和手勢識(shí)別
17.1 姿態(tài)和手勢
17.2 動(dòng)作與算法
17.2.1 如何設(shè)定動(dòng)作集合
17.2.2 借鑒正則表達(dá)式和狀態(tài)機(jī)
17.2.3 轉(zhuǎn)換為幾何三角問題
17.3 常見手勢識(shí)別
17.3.1 揮手激活
17.3.2 懸停按鈕
17.3.3 磁石懸停
17.3.4 劃動(dòng)手勢
17.3.5 滑動(dòng)解鎖
17.3.6 推按鈕
17.3.7 通用暫停
17.4 工具介紹
17.4.1 動(dòng)作錄制和識(shí)別GesturePak
17.4.2 手和手指的“空氣多點(diǎn)觸摸”
17.5 本章小結(jié)
第18章 Kinect在手術(shù)室的應(yīng)用原型
18.1 原型設(shè)計(jì)
18.2 交互設(shè)計(jì)
18.2.1 “懸停選擇”進(jìn)行功能導(dǎo)航
18.2.2 “空氣鼠標(biāo)”的激活和隱藏
18.2.3 通過“劃動(dòng)”手勢翻閱醫(yī)學(xué)影像
18.2.4 放大、縮小醫(yī)學(xué)影像病灶部位
18.2.5 “垂直擺動(dòng)”翻閱病歷
18.2.6 體感操作結(jié)合語音控制
18.3 體感操作的實(shí)現(xiàn)
18.3.1 基于SwipeGestureRecognizer
18.3.2 基于單個(gè)部位運(yùn)動(dòng)序列的軌跡分析匹配
18.3.3 基于多個(gè)部位姿態(tài)快照的狀態(tài)機(jī)匹配
18.4 利用SDK v1.5的新特性
18.4.1 近景模式下的上半身骨骼跟蹤
18.4.2 利用關(guān)節(jié)點(diǎn)朝向信息進(jìn)行手勢識(shí)別和三維操作
18.4.3 人臉識(shí)別用于手術(shù)登錄驗(yàn)證
18.4.4 調(diào)試工具Kinect Studio
18.5 本章小結(jié)
第19章 Hello,Kinect 3D World!
19.1 點(diǎn)、面、云
19.1.1 像素和彩色圖像幀
19.1.2 深度圖像幀和點(diǎn)云
19.1.3 多Kinect設(shè)備的接入
19.2 Kinect體感應(yīng)用開發(fā)工具簡介
19.2.1 軟件開發(fā)平臺(tái)XNA
19.2.2 游戲引擎Unity 3D
19.2.3 3D場景重建工具ReconstructMe
19.3 本章小結(jié)
第七部分 展望篇
第20章 奇思妙想—Kinect效應(yīng)
20.1 四旋翼飛行器的“導(dǎo)航雷達(dá)”
20.2 寵物看護(hù)機(jī)器人
20.3 空氣吉他
20.4 倒車?yán)走_(dá)系統(tǒng)
20.5 Kinect購物車
20.6 魔術(shù)道具
20.7 本章小結(jié)
第21章 Kinect企業(yè)級(jí)應(yīng)用
21.1 思維導(dǎo)圖
21.2 體感操作應(yīng)用
21.2.1 手術(shù)室
21.2.2 體育運(yùn)動(dòng)競技研究
21.2.3 動(dòng)作捕捉、CG動(dòng)畫制作
21.2.4 虛擬試衣鏡
21.2.5 課堂
21.2.6 虛擬汽車展廳
21.2.7 管理你的銀行賬戶
21.2.8 聾啞人的同聲翻譯
21.3 深度數(shù)據(jù)應(yīng)用
21.3.1 老年人監(jiān)護(hù)
21.3.2 康復(fù)訓(xùn)練
21.3.3 家庭監(jiān)控系統(tǒng)
21.3.4 道路交通稽查
21.3.5 冰川消融研究
21.3.6 給宇航員稱體重
21.4 實(shí)物3D建模應(yīng)用
21.4.1 實(shí)物3D數(shù)字化
21.4.2 文物3D模型“數(shù)字敦煌”計(jì)劃
21.4.3 3D掃描和打印
21.5 機(jī)器人視覺與控制
21.5.1 地震搜救機(jī)器人
21.5.2 深海探測機(jī)器人
21.5.3 工程機(jī)械臂控制
21.6 本章小結(jié)
第22章 下一代人機(jī)交互技術(shù)
22.1 下一代Kinect技術(shù)若干猜想
22.2 未來驚鴻一瞥
第八部分 附錄
附錄A Kinect SDK命名空間速查手冊
附錄B 推薦閱讀及網(wǎng)絡(luò)資源
后記
參考資料
章節(jié)摘錄
版權(quán)頁: 插圖: 3.2.3人臉識(shí)別 人臉識(shí)別是整個(gè)身份識(shí)別中最重要的一個(gè)組成部分,你的身份證、駕照或是畢業(yè)證上無一不記錄了你的臉部照片。作為傳奇人物,拿破侖在指揮作戰(zhàn)中,不僅能準(zhǔn)確地記住他的各個(gè)部隊(duì)的具體戰(zhàn)斗位置,而且能記住許多士兵的姓名和面容。 Kinect也將擁有如此博聞強(qiáng)識(shí)的本領(lǐng),它能區(qū)分不同玩家、快速識(shí)別玩家的身份,從而提供更為個(gè)性化的體驗(yàn),比如記住你上次聽過的歌曲,或者最近玩過的游戲。通過人臉識(shí)別實(shí)現(xiàn)的個(gè)性化體驗(yàn)已經(jīng)成為游戲體驗(yàn)的一部分,神奇之處恰恰在于你并沒有做任何事情,你只是站在那里,Kinect通過人臉識(shí)別就知道你是誰,如圖3—11所示。 “人臉識(shí)別”與“骨骼跟蹤”類似,第一步首先定位人臉的存在,其次基于人的臉部特征,對輸入的人臉圖像或者視頻流進(jìn)行進(jìn)一步的分析,包括臉的位置、大小和各個(gè)主要面部器官的位置信息,并依據(jù)這些信息,進(jìn)一步提取每個(gè)人臉中所蘊(yùn)涵的身份特征,并將其與已知的人臉進(jìn)行對比,從而識(shí)別每個(gè)人的身份。 由于Kinect攝像頭分辨率僅為640×480,在1.8m及以上距離的情況下,攝像頭所能提供的面部的像素?cái)?shù)據(jù)十分有限,并不適用于進(jìn)行高維計(jì)算。另外,房間內(nèi)光線會(huì)變,玩家時(shí)而接近時(shí)而遠(yuǎn)離Kinect,而且當(dāng)玩家投入游戲時(shí)他們的面部表情也會(huì)改變,這些都會(huì)給人臉識(shí)別帶來影響。還有,由于環(huán)境光照、色溫和人表情的這種差異,會(huì)給人臉識(shí)別帶來噪聲。 目前,Kinect for Xbox的人臉識(shí)別采用了抽取人臉中層結(jié)構(gòu)特征的折中方式,但這種方法無法提供100%的準(zhǔn)確識(shí)別率(大約為85%)。前面我們提到過,這種純二維的圖片識(shí)別算法也被應(yīng)用在Windows Live Photo Gallery中。同時(shí),人臉識(shí)別還綜合了著裝的色彩以及玩家身高的分析,以幫助提高識(shí)別準(zhǔn)確率。 抽象臉部特征作為Kinect的人臉識(shí)別的關(guān)鍵步驟。如果說Kinect骨骼跟蹤是給每個(gè)玩家穿上動(dòng)作捕捉“Marker”點(diǎn),那么人臉識(shí)別中的臉部特征分解這一環(huán)節(jié),恰恰就類似好萊塢電影面部捕捉的做法,如圖3—12所示。 人臉識(shí)別另外一個(gè)需要攻克的難點(diǎn)在于同一個(gè)人的變化。人的面部在不同照明、表情或姿勢等因素的影響下產(chǎn)生的差異有時(shí)讓對同一個(gè)人的識(shí)別產(chǎn)生不同的結(jié)果。 為了識(shí)別不同表情、不同光照條件下的人臉,聯(lián)想推測模型的第一步是構(gòu)建一個(gè)“通用”的人臉數(shù)據(jù)庫。
媒體關(guān)注與評(píng)論
期待不同領(lǐng)域的讀者會(huì)從本書中收獲不同的內(nèi)容:可以是對Kinect的深入了解,可以是很具體的開發(fā)方法,也可以是很前瞻的應(yīng)用模式。期待Kinect技術(shù)早日走向?qū)嵱茫?mdash;— 陰憶青 醫(yī)學(xué)博士/復(fù)旦大學(xué)附屬中山醫(yī)院計(jì)算機(jī)網(wǎng)絡(luò)中心主任兼普通外科主治醫(yī)師/上海市醫(yī)院協(xié)會(huì)信息管理專業(yè)委員會(huì)副主任委員Kinect讓人機(jī)互動(dòng)變得簡單易行,從而打開了一扇互動(dòng)之門?;叵攵嗄昵暗膭?dòng)漫《超時(shí)空要塞》中試衣的一個(gè)鏡頭:只要站到指定的位置,就能看到穿上這件衣服的效果。現(xiàn)在這一幕正逐漸走進(jìn)現(xiàn)實(shí)中:足不出戶,就能“試穿”全世界的品牌時(shí)裝,甚至訂制尺寸,真正做到“我看見,我穿上”的效果。Kinect技術(shù)也許可以激發(fā)出電子商務(wù)和在線廣告應(yīng)用的新模式,讀完本書你可能會(huì)有新的思考。—— 鐵 輪(姚云蛟)淘寶網(wǎng)廣告技術(shù)資深架構(gòu)師
編輯推薦
《Kinect應(yīng)用開發(fā)實(shí)戰(zhàn):用最自然的方式與機(jī)器對話》由微軟資深企業(yè)架構(gòu)師兼Kinect應(yīng)用開發(fā)專家親自執(zhí)筆,專業(yè)社區(qū)及企業(yè)客戶聯(lián)袂推薦!系統(tǒng)講解Kinect工作原理、Kinect for Windows應(yīng)用開發(fā)、人機(jī)交互設(shè)計(jì),以及商業(yè)價(jià)值展望,包含大量案例、技巧和最佳實(shí)踐。系統(tǒng)講解Kinect工作原理、Kinect 應(yīng)用開發(fā)、人機(jī)交互設(shè)計(jì),包含大量案例、技巧和最佳實(shí)踐,版權(quán)輸出到臺(tái)灣。
圖書封面
圖書標(biāo)簽Tags
無
評(píng)論、評(píng)分、閱讀與下載
Kinect應(yīng)用開發(fā)實(shí)戰(zhàn) PDF格式下載