上周六(2011.7.9)在微软的成都Office参加了MSDN论坛成都版聚活动,不仅学习了其他朋友分享的相关技术话题,也向大家分享了下Kinect SDK的简单介绍。
这次活动,大家参与的热情还是比较高,差不多有30个人参加。
本来我是很少去MSDN论坛灌水的,不过受紫柔之托,就和大家分享了下名为《NUI畅想与Kinect for Windows SDK》的演讲。
具体内容如下:
- NUI畅想
在这里给大家放映了两段视频,分别是少数派报告和微软未来远景视频,其中充分展示了NUI的应用。当然少数派报告中的操作,其实现在也基本做得到了。
- UI技术发展回顾
谈到了CLI(命令行界面)到GUI(图形用户界面)到NUI(自然用户界面)的发展趋势
- 微软的NUI技术及Kinect介绍
多点触摸(Multi-Touch)是NUI的一种早期用例,而微软的第一款NUI产品(Surface)是以多点触摸技术为主,辅以摄像头动作捕捉,设备感应,近距通信等技术为一体的技术,目前Surface已经发布了2.0,明天可能就会发布Surface 2.0的SDK。
而微软第一款真正意义上的面向消费者的NUI产品就是Kinect。主要实现语音识别,3D动作识别。包含如下基本装置:
–RGB摄像头——普通可拍摄稳定30帧640x480画面的摄像头
–3D纵深传感器——结合深度摄像机和传感器来计算距离(两个红外摄像头,类似人眼)
–倾斜马达——可以在上下27度角度对Kinect进行调整
–Multi-Array麦克风——四个麦克风组成
- Kinect for Windows SDK介绍
在微软发布Kinect后,就有Geek(Hacker)开发了针对PC的驱动,并创建了一套山寨SDK来开发Kinect for Windows的应用。或许微软就是打算试试大家的热情,所以在这个问题上保持了开明的态度,默许了大家的所谓破解活动,然后接着就宣布官方会发布Kinect for Windows SDK。微软通过这样的步骤,让大家尝试Kinect在除了游戏上的其他应用可能。当然Kinect目前限于硬件的规格,还无法做到尽善尽美,很多应用要达到很好的效果,需要在算法上下功夫。不过Kinect要让你发挥的不是代码能力,而是想象力。
Kinect for Windows SDK就是在Windows上的驱动和开发工具。
下载地址:http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/download.aspx
系统需求:
–Windows 7(32,64)
–Visual Studio 2010(至少Express)
Kinect SDK的视频开发教程:http://channel9.msdn.com/Series/KinectSDKQuickstarts?sort=recent#tab_sortBy_recent
Kinect SDK的开发指南:http://research.microsoft.com/en-us/um/redmond/projects/kinectsdk/guides.aspx
Kinect SDK的官方论坛:http://social.msdn.microsoft.com/Forums/en-US/kinectsdk/threads
在Coding4Fun上有很多值得参考的项目:http://channel9.msdn.com/coding4fun/kinect
- Kinect SDK自带Demo
在这里,我向大家展示了SDK中自带的两个示例”Sample Skeletal Viewer“和”Sample Shape Game“
- Kinect for Windows SDK入门
在此,我主要演示了操纵Camera和骨骼系统的编程方式,其中的代码具体参考了马宁的博文:
Kinect for Windows SDK开发初体验(二)操作Camera
Kinect for Windows SDK开发初体验(三)骨骼追踪
- Kinect for Windows示例演示
在这里,演示了一些其他人的有趣示例,原本想自己做一个示例的,可惜最近太忙,还没有完成。主要演示了:
Kinect Paint:http://channel9.msdn.com/coding4fun/kinect/Kinect-Paint
- Kinect应用讨论
和大家讨论了一下,Kinect应用的前景。有人也问到延迟和精度的问题。我的观点是,现在硬件虽然有一定的延迟问题,但是可以通过算法优化和特别处理来尽量降低影响;而精度的问题只能期待下一代Kinect的发布,但考虑到作为一个大众消费品,价格因素会影响推广,而推广会影响应用开发的热情,所以其中需要一种平衡。
最后,也给大家提供了两个Kinect相关理论的参考文章:
身份识别:http://kb.cnblogs.com/page/106379/
Kinect原理:http://kb.cnblogs.com/page/105605/