matlab控制realsense,RealSense开发学习--1.初识RealSense
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的开发环境部署以及深度,视频,手势及面部识别等功能的开发。
matlab控制realsense,RealSense开发学习--1.初识RealSense相关推荐
- 安卓开发学习之初识ndk开发
背景 今天没事干,就开始学习ndk开发,实现了一下Android和C的函数方法互调,记录一下步骤 步骤 1.通过Android Studio的SDK Manager安装CMake.LLDB和NDK 2 ...
- 开发学习笔记——初识P3D
P3D,Prepar3D 是一款由Lockheed Martin公司开发的军队训练仿真软件.私人飞行员,商业组织,学术学会以及军队都依赖于Prepar3D进行沉浸式学习.P3D是可视化的仿真平台,并允 ...
- Polyworks脚本开发学习笔记(六)-比较运算、数学运算、逻辑运算及流程控制
Polyworks脚本开发学习笔记(六)-比较运算.数学运算.逻辑运算及流程控制 前言 比较运算.逻辑运算及流程控制是编程的基本语法,Polyworks的语法规则与VB/C#/Python等并没有很大 ...
- Polyworks脚本开发学习笔记(十)-互动式开发及出错控制
Polyworks脚本开发学习笔记(十)-互动式开发及出错控制 第八章组合的各种命令,完成了一个对所选的测点名称进行命名的任务.但是,由于任务中没有交互环节,只能机械地将 曲面点 - 包边点改为Flu ...
- matlab软件中GUI界面开发学习——双色球选择小工具
matlab软件中GUI界面开发学习--双色球选择小工具 先上一张界面截图: 特别说明:只是最近对双色球比较感兴趣,所以找了一个实际的项目依据帮助我学习GUI工具,小工具的相关条件仅代表个人想法,选择 ...
- matlab length_《Matlab - Robotics System Toolbox》学习笔记(2)
写作说明: 1. 本文主要记录学习 Matlab - Robotics System Toolbox[1]的过程,就其中的一些重要知识点做相关记录.方便后期供自己与他人进行学习. 2. 由于 Matl ...
- MATLAB App Designer GUI开发从0到1(二)
文章目录 前言 一.开关以及旋钮 1. 左上角:旋钮 2.右上角:90度仪表 3.左下角:分档开关 4.右下角:开关 5.对旋钮微调 二.画图 1. 普通画图 2.添加小组件 三.回调函数 简单的回调 ...
- Nacos学习之初识Nacos
Nacos学习之初识Nacos 在分布式项目中既然存在Eureka这个注册中心,那么Nacos有充当什么角色?Nacos到底是个啥?他又是咋么下载安装的?本文我会将从什么是Nacos.Nacos与其他 ...
- PE病毒学习笔记——初识感染技术 (转自看雪学院)
[分享]PE病毒学习笔记--初识感染技术 <script type="text/javascript"></script> 标 题: [分享]PE病毒学 ...
最新文章
- 如何在 Python 中开始机器学习?(小白必看)
- RHEL 6.5 安装 was 8.5
- 成都理工大学乐千桤java考试_2009年度优秀教师、优秀教务工作者评选结果公示-成都理工大学工会...
- java selenium (十) 操作浏览器
- AndroidLinker与SO加壳技术之上篇
- 33万字!深度学习笔记在线版发布!
- php中生成标准uuid(guid)的方法
- 关于Bitmap中的inBitmap变量的学习与使用
- android onlescan 参数,Android BLE:从iOS外设广告时,在onLeScan()回调中检索服务UUID
- Java压缩技术(五) GZIP相关——浏览器解析
- linux系统中如何安装qwt,linux下Qt开发环境中qwt库的安装与使用
- scala 函数中嵌套函数_Scala函数–声明,定义,调用和嵌套函数
- 硬见小百科:机加工中获得工件尺寸精度的常用方法
- Android酷炫计时器
- elasticsearch对analyzed字段无法使用term方法的解决办法
- NLP在网络文学领域的应用
- Domain Adaptation
- Linux脚本定时开关机,2020-09-06shell脚本开机自动启动与定时任务
- Python中__main__.py文件的作用
- win10 ubuntu16.04 双系统 时间不一致问题解决办法
热门文章
- “哪里有人喜欢孤独,不过是害怕失望罢了”———村上春树《东尼泷谷》观后感...
- CodeForces - 1017D The Wu
- 在VMware中装Win server 2012配置Hyper-v
- Asp.net MVC在Razor中输出Html的两种方式
- anddroid悬浮窗的手机QQ后台清理不掉的秘密
- 2.1.1物理层基本概念
- torchvision包的主要构成
- volatile关键字解析
- 【剑指offer】面试题50:第一个只出现一次的字符(java)
- python函数递归法求一个数各位数之和_python – 设计一个使用digit_sum计算数字总和的递归函数...