RealSense
3D实感技术是Intel研发的一项新的技术。这项技术利用摄像头,红外投影传感设备及红外捕捉设备获取外界的深度信息,彩色视频信息以及其它信息。并基于此完成获取深度图像,彩色图像,手势识别,面部识别,语音识别,三维重建等工作。
之前2年时间学习,毕业设计和工作接触了Kinect
1代和2代。2014年末参加Intel实感技术全球挑战赛,也接触过一段时间RealSense。相较于Kinect,RealSense与Kinect有许多相同点:捕捉外界深度信息,彩色信息并基于此完成许多不同的工作。然而RealSense(F200)与目前的Kinect相比,也有许多优劣势,先说说劣势吧,
1.RealSense官方说明提供的有效识别范围是0.2m-1.2m,实际使用时经过测试发现1m之内的效果比较好,超过1m效果不是很好。另外手势识别和脸部识别的距离更短,只有几十cm。而Kinect由于设计初衷就是为XBox设计的体感游戏外设,所以它的检测距离在40cm到3m之间,范围非常大。
2.由于捕捉的范围非常的大,Kinect可以捕捉人体20个关节节点(2代Kinect可以捕捉25个),所以Kinect可以识别各种人体动作,比如走路,挥手等。而RealSense则由于探测距离的原因无法识别人体全部骨骼,只能识别近距离的手部关节和面部关节。
再说下RealSense的优势吧,由于距离近,所以RealSense
SDK提供了对手部节点的识别以及手势识别,这点Kinect SDK并没有提供,此外RealSense也提供了面部特征识别。
另外,由于RealSense的芯片较小,所以已经被集成到了Laptop(笔记本)上面,这无疑大大增加了RealSense的可扩展性,不需要额外的空间也可以开发小范围的手势体感应用。
下面就来介绍下RealSense体感设备,先从RealSense设备本身开始:
如图所示为RealSense设备
在观察RealSense设备后可以发现在设备上有三个传感摄像头,其中位于中间的摄像头是RGB彩色摄像头;而位于左侧的是红外捕捉摄像头,位于右边的是红外投影仪,这两者结合可以获取外界的深度信息。
官方文档中提供的数据说明了彩色相机和深度相机的参数:
分辨率方面彩色相机可以达到1080P@30FPS,而深度数据可以达到640X480@60FPS(VGA),@120FPS(HVGA)。
彩色相机的宽高比(Aspect
Ratio)为16:9,深度相机的宽高比为4:3。
彩色相机的照射范围是77° x 43° x
70°(Diagonal X Vertical X Horizontal),深度相机的范围是90° x 59° x 73°(对角 X
垂直 X 水平)。
RealSense原始数据的捕捉范围是在0.2m -
1.2m之间。可以再室内或室外环境,取决于外部光照等条件。
RealSense提供的手势识别距离很近:HVGA模式范围是20-55cm,而VGA模式提供的范围是20-60cm。
RealSense提供的面部追踪有2中模式,分别是2D面部追踪和3D面部追踪,2D面部追踪的有效范围是35-120cm,3D面部追踪提供的有效范围是35-70cm。
RealSense官方介绍中也提示开发者及用户要在有效的视区中操作,识别,离开识别视野后就无法正常使用了。
以上大致介绍完RealSense的硬件及其范围,下面说下RealSense的SDK架构。这里需要用到一张官方文档中的结构图:
RealSense
SDK 结构图
SDK
core是模块的基础,它的一个工作就是管理IO模块和Capability(功能)模块。IO模块负责从设备获取数据,然后将数据传输至输出设备或Capability模块;Capability模块则包括了不同的模式检测和识别算法,比如面部追踪和识别,手部追踪,手势识别以及声音识别和集成。
SDK
core的另一个工作是组织执行管道(Execution
pipeline),或许在管道中同时会有很多模块,所以有必要有一个管理类。如果需要多台设备,则需要多管道。
底层模块被封装成了不同平台的接口,包括c#接口,Unity接口,Java接口,c++接口等,以方便不同的开发者使用。
SDK架构介绍完后,需要说明下RealSense所需要的软件平台和硬件平台:
处理器:至少需要Intel第四代Core处理器
OS : Microsoft Windows
8.1
支持语言:
C++,C#,Java,JavaScript
集成开发环境:Microsoft Visual Studio 2010 - 2013
支持开发工具:Microsoft .Net 4.0 Framework for c#
Unity* pro
4.1.0 or late
Processing
2.2.1 or late
Java JDK
1.7.0 or higher
以上介绍完了RealSense的基本情况,由于篇幅关系,有不完善的地方。总的来说RealSense是Intel的一次大胆尝试,现在的应用App较少,但前景乐观,不论从商业开发App还是学术领域研究识别算法,图像处理以及三维重建都有着较高的拓展性。在随后我将去了解及学习RealSense的开发环境部署以及深度,视频,手势及面部识别等功能的开发。