几年前,我在英国University of Surrey攻读人机交互领域博士学位的时候,不少朋友都建议我,试着玩玩当时最流行的体感交互游戏机,比如最早推出的任天堂的Wii主机,或者后来大红大紫的Xbox Kinect。于是我购买了这两部主机以及一些有针对性的体感游戏。开始体验这种全新的游戏操作方式时,我很快便意识到这种全新的人机交互方式所带来的用户体验的巨大提升,这种交互方式将很有可能改变世界,现在,继Xbox Kinect之后微软推出了Kinect 2.0,并与新一代的Xbox One主机捆绑销售;任天堂也推出了Wii U全新主机;SONY公司推出新主机PS4,这款主机支持全新的体感摄像头Play Station Camera。与此同时,快速发展的中国IT界也不甘落后,华硕公司推出了硬件架构与Kinect相同,开发却扎根于开源社区的体感摄像头Xtion,以此加入这一场激动人心的体感盛宴当中。
5年的留学生活为我带来了许多美好的回忆,也为我提供了相对自由的学习、研究自己感兴趣领域的空间和时间。毕业后,我进入南京理工大学工作,成为一名教师。工作中,我偶然看到了一篇对公共场所人流状态监控的需求文章,而当时传统的视频监控存在着诸多问题,于是我想到利用体感传感器。而后我选择了华硕的Xtion进行相关项目的开发,自然而然地接触到开源的OpenNI。随着开发的进行,以及对OpenNI的深入了解,我才明白,OpenNI是我见过的开发平台中十分特别的一款,配合Xtion传感器能创造出很多令人激动的应用。
体感程序的设计与开发体现了人与机器互动交流的最高目标:降低用户使用机器的学习成本,用最自然、最熟悉的方式操作机器,真正融入机器,轻松完成任务。在这个过程中,体感应用程序的开发者既是工程师也是用户,这也让他们能更多地参与到开源社区的建设中,在社区中反馈问题、发表经验,与其他用户交流,进而碰撞出创新的火花。这也是OpenNI如今能够发展得如此美妙的原因。
体感应用开发者时常将开源的OpenNI与微软的Kinect SDK进行比较,从个人的角度而言,我更加欣赏OpenNI的折中模式,它更开放、更包容,说通俗点儿,更“接地气”。如果无法负担高昂的培训费,甚至被一套Kinect SDK的价格吓到,抑或是在一个人的盲目学习中感到失落与无助,那么你可以试着看看开源社区OpenNI和中文体感开发论坛“体感中国”,感受一下积极向上的气氛。在这里,你能接收到最新的资讯、最酷的创意,以及最热心的帮助与指点。
作为OpenNI社区监制的第一本中文教程,社区网站openni.org和体感中国论坛cnkinect.com将为读者提供相应的体感程序开发知识,以及国内外最新的体感应用资讯。体感中国社区是非盈利性的民间组织,所有成员都是为了推动体感应用在国内的发展而自愿团结在一起的。体感中国为体感开发爱好者搭建一个开放交流的平台。在此感谢社区多年来对我的帮助,也对大家为开源事业做出贡献的精神表示由衷的感谢。
这里根据软件需求划分出使用OpenNI的用户团体。
·体感传感器用户
·体感程序开发者
·体感应用设计者
·OpenNI开源社区志愿者
·使用OpenNI平台进行项目开发的公司与集体
·开设相关课程的大专院校
本书内容分为五部分,包括基础篇、准备篇、进阶篇、实战篇、高级篇。
·基础篇(第1~3章)介绍了自然人机交互的一些概念和基本应用,同时结合体感传感器Xtion,介绍了体感传感器的工作原理。学习完本部分之后,读者可以理解基于体感的人机交互的内涵以及体感应用开发的硬件基础。
·准备篇(第4~6章)介绍了在进行体感应用开发之前,需要进行的软件开发平台搭建的步骤,以及OpenNI软件最基本的一些功能。学习完本部分之后,读者能开始使用OpenNI软件,使用它的一些基本功能。
·进阶篇(第7~13章)进一步讨论体感应用开发中的知识。包括基本的手势识别,色彩与声音的获取与录制等。学习完本部分之后,读者可以开始尝试组合不同的功能组件,开发更具规模、更加智能的体感应用。
·实战篇(第14~17章)介绍了一些有趣的且很具有代表性的体感应用开发实例。通过本部分,读者将学习到真实的体感开发的过程与实现方法,进一步提升自身的实际开发水平。
·高级篇(第18~19章)介绍了一些体感开发应用中可能使用到的高级功能,包括运动捕捉和OpenNI Unity工具包。通过学习这些内容,读者能够掌握更加复杂和高级的体感应用开发技能。
其中,从第四部分开始,通过接近实战的实例来讲解工程应用,相比前三部分更独立。如果你是一名经验丰富的资深用户,能够理解OpenNI的相关基础知识和使用技巧,那么可以直接阅读这部分内容。但是如果你是一名初学者,请从第1章开始学习。
由于作者的水平有限,加之编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。如果你有什么宝贵意见,也欢迎发送邮件至kanren2004@gmail.com,期待能够得到你们的真挚反馈。
欢迎大家多多参与OpenNI开源社区的建设。
首先要感谢PrimeSense公司,它为今天的体感应用发展打下了坚实的基础。
感谢南京理工大学电光学院的老师和同学们,是你们在工作中给予我指导与配合。
感谢苏州华硕科技有限公司的很多好朋友,感谢你们长期对社区的支持和贡献。感谢周小瑞的协调,在你的努力下才促成了这本书的合作与出版。
感谢机械工业出版社华章公司的编辑们,在这一年多的时间里始终支持我们的写作,是你们的鼓励和帮助引导我们顺利完成全部书稿。
最后感谢我的爸爸、妈妈、外婆,感谢你们将我培养成人,并时时刻刻为我灌输着信心和力量!
谨以此书献给我最亲爱的家人,以及众多热爱OpenNI的朋友们!
任侃