基于Kinect 动捕XR直播解决方案 - 硬件篇

Kinect-V2 硬件设备

一、Kinect介绍

1、Kinect for Windows 的开发配置
  • Kinect V2
  • 操作系统:Windows 10+(必须) Windows Surface Windows Surface 2
  • 开发环境:Visual Studio 2017 .NET Framework 4.5 (.NET Framework 4.5)
  • 硬件要求:

Dual-core, 2.66-GHz or faster processor

USB 3.0 bus dedicated to the Kinect(usb 3.0 是必须的)

2 GB of RAM

Graphics card that supports DirectX 11(必须的)

A Microsoft Windows Xbox One Kinect Sensor

2、配置建议
  • kinect for xbox + 适配器
  • Kinect for window 2.0(套装)

3、安装Kinect for Windows SDK v2.0

SDK安装

4、什么是Kinect?

kinect 是输入。类似鼠标 即时动态捕捉、影像辨识、麦克风输入、语音辨识

二、Kinect开发介绍

1、Kinect传感器介绍

Kinect 是一组传感器的组合,包含一个彩色摄像头,一对深度摄像头(一个用以发射红

外,一个用以接收) ,一组麦克风阵列和底座马达。

彩色摄像头想必大家都已经很熟悉了。深度摄像头是由红外线提供的,返回画面上每个

点的深度值(离 Kinect 的距离,单位是 mm,标称精度约 5mm) 。麦克风阵列其实是数个水平放置的麦克风,因为彼此间有距离,所以可以识别说话人的方向,借此粗略估计是哪个玩家在说话,便于想象的话可以理解为类似声纳图(声音我们不涉及)。

2、Kinect使用过程

1.代码程序首先要发现连接的Kinect

2.被发现连接的Kinect设备要初始化完成

3.程序必须设置需要使用的数据流,并将其状态设为可用。也就是想要获得哪些数据(数据包括彩色流,深度数据流,骨骼数据流,红外数据流)

4.根据上一步的设置,获取相对于的数据流

5.停止Kinect,释放Pc资源

3、彩色数据流

读取彩色数据流,可以获得一张1080p的图片(1920*1080);

犹如拍照应用

看SDK自带示例

Color Depth D2D 彩色数据流

4、深度数据流

和许多输入设备不一样,Kinect 能够产生三维数据,它有红外发射器和摄像头。 Kinect SDK 从红外摄像头获取的红外数据后,对其进行计算处理,然后产生景深影像数据。

深度帧数据中,每个像素占 16 位,即每一个像素占 2 个字节。每一个像素的深度值只占用了 16 个位中的 13 个位。

获取每一个像素的距离很容易,但是要直接使用还需要做一些位操作。如上图所示,深度值存储在第 3 至 15 位中,要获取能够直接使用的深度数据需要向右移位,将游戏者索引(Player Index)位移除

看SDK自带示例

Depth Basics-D2D 深度数据流

5、骨骼数据流

0.5-4.5米

25个关节点 每个关节点的 3D空间坐标和转向

看SDK自带示例

Body Basics D2D 骨骼数据流

示例:

Color Depth D2D 彩色数据流

Depth Basics-D2D 深度数据流

Coordinate Mapping Basics 扣出人物,置换背景

Body Basics D2D 骨骼数据流

总汇:
Kinect v2 是微软公司开发的一款体感设备,用于捕捉用户的身体动作和语音指令。以下是 Kinect v2 的一些硬件参数:
  1. 传感器:Kinect v2 配备了深度传感器、RGB 摄像头、红外摄像头、麦克风和扬声器。
  2. 深度传感器:Kinect v2 的深度传感器可以实现高精度的三维扫描,最大深度范围为 2.2 米。它可以通过红外光束来测量物体与设备之间的距离,从而创建一个三维空间地图。
  3. RGB 摄像头:Kinect v2 的 RGB 摄像头分辨率为 1920x1080,可以捕捉到丰富的色彩信息,实现高质量的二维图像捕捉。
  4. 红外摄像头:Kinect v2 的红外摄像头可以捕捉到红外光束反射回来的信号,从而检测到物体的运动。这使得设备可以在低光环境中正常工作。
  5. 麦克风:Kinect v2 配备了四个麦克风,可以捕捉到来自不同方向的声音,实现 360 度的语音识别。
  6. 扬声器:Kinect v2 内置了一个扬声器,可以播放声音,实现语音反馈等功能。
  7. 处理器:Kinect v2 内置了一颗专用的处理芯片,可以实时处理传感器捕捉到的数据,并将其传输到主机。
  8. 接口:Kinect v2 采用了 USB 3.0 接口,与主机连接时可以实现高速数据传输。
  9. 电源:Kinect v2 采用了内置可充电电池,可以通过 USB 接口进行充电。在正常使用情况下,电池续航时间可达 2 个月。
  10. 尺寸:Kinect v2 的尺寸为 9.2 厘米 x 27.2 厘米 x 27.2 厘米(长 x 宽 x 高),重量约为 1.3 千克。

Kinect v2 配备了三个摄像头:
  1. 深度摄像头:用于捕捉场景中的深度信息,从而识别和追踪物体的三维位置。
  2. RGB 摄像头:捕捉可见光波段的图像,提供丰富的颜色信息。
  3. 红外摄像头:在低光环境中,通过检测物体的热辐射来捕捉图像。

这三个摄像头协同工作,使得 Kinect v2 能够在不同光线条件下对物体进行识别和追踪。

深度传感器:

深度传感器是一种能够测量物体距离的传感器。在计算机视觉和机器人领域,深度传感器主要用于获取场景中物体的三维坐标信息,从而帮助计算机系统识别和理解物体的位置、形状和大小。

深度传感器的工作原理通常基于以下几种技术:

  1. 立体视觉:通过拍摄同一场景的两个或多个视角的图像,然后利用图像中的对应点之间的视差(即两个视角之间的距离差)来计算物体的深度。
  2. 结构光:通过向场景中投射特殊图案的光线,然后检测图案在物体表面上的反射,从而计算物体的深度。
  3. 飞行时间(ToF):通过发送红外光束并测量光束从传感器发射到接收所需的时间来计算物体的深度。这种技术也被称为间接飞行时间(iToF)或直接飞行时间(dToF)。
  4. 激光雷达:通过发送激光光束并测量返回光束的时间、强度和相位等信息来计算物体的深度。激光雷达通常具有较高的精度和范围,但成本较高。

在现实生活中,深度传感器被广泛应用于各种场景,如自动驾驶汽车、无人机、机器人、增强现实(AR)和虚拟现实(VR)等。不同类型的深度传感器具有不同的性能特点,因此在选择合适的深度传感器时,需要根据具体应用需求来权衡。

红外摄像头:

红外摄像头是一种能够捕捉红外波段光线的摄像头,它可以检测到环境中物体的热辐射,因此即使在低光或无光环境中,也能对物体进行识别和追踪。

红外摄像头的主要组成部分包括:

  1. 红外探测器:这是红外摄像头的核心部件,它可以将接收到的红外辐射转换为电信号。
  2. 镜头:镜头负责聚焦光线,使得红外探测器能够接收到清晰的图像。
  3. 滤光片:滤光片可以阻挡掉大部分可见光,只让红外光通过,提高红外摄像头的灵敏度。
  4. 电子元件:包括信号放大器、信号处理器等,用于处理从红外探测器接收到的信号,将其转换为可供计算机处理的数字信号。

红外摄像头广泛应用于夜视监控、红外热像仪、无人驾驶汽车、无人机、机器人、安防监控等领域。例如,在安防监控中,红外摄像头可以在夜间或光线不足的环境中,有效地捕捉到移动物体的图像,提供有效的安全保障。

RGB摄像头:

RGB 摄像头是一种能够捕捉可见光波段(通常为红、绿、蓝三种颜色)的摄像头。与红外摄像头和深度摄像头相比,RGB 摄像头可以捕捉到更丰富的颜色信息,使得它在很多应用中具有优势。

RGB 摄像头的主要组成部分包括:

  1. 传感器:传感器负责捕捉光线,并将其转换为电信号。RGB 摄像头通常使用 CMOS 或 CCD 传感器来捕捉图像。
  2. 镜头:镜头负责聚焦光线,使得传感器能够接收到清晰的图像。
  3. 光圈和快门:光圈控制光线进入摄像头的量,而快门则决定图像的曝光时间。
  4. 滤光片:滤光片可以阻挡掉大部分非可见光,只让可见光通过,提高 RGB 摄像头的色彩准确性。

RGB 摄像头广泛应用于各种领域,如计算机视觉、机器视觉、无人驾驶汽车、无人机、机器人、安防监控、视频会议等。例如,在计算机视觉中,RGB 摄像头可以捕捉到丰富的颜色信息,帮助计算机更好地识别和理解场景中的物体。

三, Kinect v2 , Kinect Azure 与 Intel RealSense 三个设备的硬件参数

Kinect v2、Kinect Azure 和 Intel RealSense 都是用于捕捉身体动作和语音指令的设备,但它们在硬件参数上有一些不同。以下是这三款设备的硬件参数对比:

1. Microsoft Kinect v2:
  • 传感器:深度传感器、RGB 摄像头、红外摄像头、麦克风和扬声器
  • 深度传感器:最大深度范围为 2.2 米
  • RGB 摄像头:分辨率为 1920x1080
  • 红外摄像头:检测物体运动
  • 麦克风:4 个,实现 360 度语音识别
  • 扬声器:内置,用于语音反馈
  • 处理器:内置专用处理芯片
  • 接口:USB 3.0
  • 电源:内置可充电电池,续航时间可达 2 个月
  • 尺寸:约 9.2 厘米 x 27.2 厘米 x 27.2 厘米(长 x 宽 x 高)

2. Microsoft Kinect Azure:
  • 传感器:深度传感器、RGB 摄像头、红外摄像头、麦克风和扬声器
  • 深度传感器:最大深度范围为 5 米
  • RGB 摄像头:分辨率为 1920x1080
  • 红外摄像头:使用深度摄像头和红外光束实现更高精度的运动捕捉
  • 麦克风:4 个,实现 360 度语音识别
  • 扬声器:内置,用于语音反馈
  • 处理器:内置专用处理芯片
  • 接口:USB 3.0
  • 电源:内置可充电电池,续航时间可达 2 个月
  • 尺寸:约 9.2 厘米 x 27.2 厘米 x 27.2 厘米(长 x 宽 x 高)

3. Intel RealSense:
  • 传感器:深度传感器、RGB 摄像头、红外摄像头、麦克风和扬声器(具体型号和配置取决于设备)
  • 深度传感器:最大深度范围为 3-10 米(取决于型号)
  • RGB 摄像头:分辨率为 1920x1080(取决于型号)
  • 红外摄像头:用于手势识别和物体追踪
  • 麦克风:2-4 个,实现 360 度语音识别
  • 扬声器:内置,用于语音反馈
  • 处理器:Intel 处理器(具体型号取决于设备)
  • 接口:USB 3.0 或 3.1(取决于型号)
  • 电源:内置可充电电池,续航时间取决于设备型号和配置
  • 尺寸:取决于设备型号和配置

下一篇: 基于Kinect 动捕XR直播解决方案 - 技术实现篇

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/125004.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

vue实现商品列表,组件抽离

1.需求说明 my-tag 标签组件封装 ​ (1) 双击显示输入框,输入框获取焦点 ​ (2) 失去焦点,隐藏输入框 ​ (3) 回显标签信息 ​ (4) 内容修改,回车 → 修改标签信息 my-table 表格组件封装 ​ (1) 动态传递表格数据渲染 ​ (2) 表头支…

竞赛 深度学习疲劳检测 驾驶行为检测 - python opencv cnn

文章目录 0 前言1 课题背景2 相关技术2.1 Dlib人脸识别库2.2 疲劳检测算法2.3 YOLOV5算法 3 效果展示3.1 眨眼3.2 打哈欠3.3 使用手机检测3.4 抽烟检测3.5 喝水检测 4 最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 **基于深度学习加…

使用EvoMap/Three.js模拟无人机灯光秀

一、创建地图对象 首先我们需要创建一个EM.Map对象,该对象代表了一个地图实例,并设置id为"map"的文档元素作为地图的容器。 let map new EM.Map("map",{zoom:22.14,center:[8.02528, -29.27638, 0],pitch:71.507,roll:2.01,maxPit…

JavaScript中的宏任务和微任务

面试中经常会被问到什么宏任务和微任务?工作中也会出一个奇怪的问题,两行代码,一会A结果现出来,一会B结果先出来,搞得一头雾水。有些人为了懒省事,全都是用async await,亦或者写个setTimeout&am…

kubernetes集群编排——k8s认证授权

pod绑定sa [rootk8s2 ~]# kubectl create sa admin [rootk8s2 secret]# vim pod5.yaml apiVersion: v1 kind: Pod metadata:name: mypod spec:serviceAccountName: admincontainers:- name: nginximage: nginxkubectl apply -f pod5.yamlkubectl get pod -o yaml 认证 [rootk8s…

mysql之高阶语句

1、使用select语句,用order by对表进行排序【尽量用数字列进行排序】 select id,name,score from info order by score desc; ASC升序排列(默认) DESC降序排列(需要添加) (1)order by结合whe…

(待完善)python学习参考手册

这里写目录标题 观前浅谈:学习路线 :学习心得笔记:Step1:简单但一问不知怎么的组织语言去回答的小问题:什么是提示符?python解释器是什么?请正在阅读本文的朋友,安装一下PyCharm以及如何进行科学的省钱:Python中的命令行模式和交互模式的区别是什么?请正在阅读本文的朋友安装…

【深度学习】Python爬取豆瓣实现影评分析

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、任务描述二、使用步骤1.数据爬取1.2.对爬取的页面数据进行解析,并保存为JSON文件2、数据分析2.1数据分析之评论时间分布图2.2角色评分 前言 爬…

简洁的 Markdown 文本编辑器 Typora

文章目录 简介块元素段落和换行符标题引用文字列表任务列表(栅栏式)代码块数学块表格脚注水平线YAML Front Matter目录 (TOC)图表 (Sequence, Flowchart and Mermaid) Span 元素链接内部链接参考链接 URL网址图片强调(斜体)粗体代…

JavaFX入门和网格布局面板的使用,Dao层交互,舞台与场景切换以及其他控件的使用

网格布局 将整个面板划分为若干个格子 , 每个格子的大小是一样的 , 每个格子中可以放置一个控件(布局) , 类似于表格的方式。在网格布局 中放入控件的时候 , 还需要指定位置。 GridPane gridPane new GridPane(); 我们将要排出这个布局 , 也就是登陆页…

【k8s】数据存储

一、数据存储的概念 pod的生命周期可能很短,会被频繁地创建和销毁。那么容器在销毁时,保存在容器中的数据也会被清除。这种结果对用户来说,在某些情况下是不乐意看到的。为了持久化保存容器的数据,kubernetes引入了Volume的概念。…

考研408-计算机网络 第二章-物理层学习笔记及习题

第二章 物理层 一 通信基础 1.1 物理层基本概念 1.1.1 认识物理层 物理层目的:解决如何在连接各种计算机的传输媒体上传输数据比特流,而不是具体的传输媒体。 物理层主要任务:确认与传输媒体接口有关的一些特性,需要进行定义标…

几种解决mfc140.dll文件缺失的方法,电脑提示mfc140.dll怎么办

电脑提示mfc140.dll缺失,如果你不去处理的话,那么你的程序游戏什么都是启动不了的,如果你想知道有什么方法可以解决那么可以参考这篇文章进行解决,今天给大家几种解决mfc140.dll文件缺失的方法。电脑提示mfc140.dll也不用担心解决…

每日一题 --- 力扣2003—每棵子树内缺失的最小基因值

图片借用B站灵茶山文艾府 打卡代码&#xff08;记得看&#xff0c;有注释&#xff09;&#xff1a; class Solution { public:vector<int> smallestMissingValueSubtree(vector<int> &parents, vector<int> &nums) {int n parents.size();vector&l…

pytorch与cudatoolkit,cudnn对应关系及安装相应的版本

文章目录 一.cuda安装二、nvidia 驱动和cuda runtime 版本对应关系三、安装cudatoolkit,cudnn对应版本四、cuda11.2版本的对应安装的pytorch版本及安装五、相关参考 一.cuda安装 1.确定当前平台cuda可以安装的版本 安装好显卡驱动后&#xff0c;使用nvidia-smi命令可以查看这个…

为什么很多人从FPGA转IC前端岗?哪个前景好?

很多入行不久的朋友潜意识里会认为FPGA是很高深的东西&#xff0c;能掌握FPGA的一定都是极其厉害的人。 其实&#xff0c;这是一个误解。 我们所讨论的FPGA只是基于已有的FPGA芯片去做后端排列组合的工作内容&#xff0c;而不是设计制造新的FPGA芯片&#xff0c;世界上能做这…

Blocking waiting for file lock on the registry index 问题解决

问题表现&#xff1a; cargo build时一直卡在Blocking waiting for file lock on the registry index。 解决方法&#xff1a; 1、之前在linux下出现过一次&#xff0c;采用这种方法解决了&#xff1a;rust - Cargo build hangs with " Blocking waiting for file lock…

图扑智慧农业:农林牧数据可视化监控平台

数字农业是一种现代农业方式&#xff0c;它将信息作为农业生产的重要元素&#xff0c;并利用现代信息技术进行农业生产过程的实时可视化、数字化设计和信息化管理。能将信息技术与农业生产的各个环节有机融合&#xff0c;对于改造传统农业和改变农业生产方式具有重要意义。 图…

[Linux/UOS]同一解决方案下的控制台程序依赖SO库的方法

该方法是基于VS2019的远程调试Linux的方案&#xff0c;使用的是UOS系统&#xff0c;本文不会去详述如何远程调试Linux和如何新建解决方案中的.so项目和.out项目 只关注于如何令.out项目依赖.so&#xff0c;并成功调用运行 以一个如上图结构的解决方案为例子&#xff0c;SysInfo…

Unity 如何查看编译的耗时?

Unity 如何查看编译的耗时&#xff1f; 关键词: 编译、脚本、编辑器、静态类、程序集、函数、命名空间、构造函数、回调方法、注册时间、注册方法 文字记录: hello&#xff0c;大家好&#xff0c;今天和大家分享一下Unity项目如何查看编译的时间&#xff0c;或者说是编译的耗…