基于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直播解决方案 - 技术实现篇

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

VEX —— Quaternion|Euler Angle

目录 一,四元数相关概念 四元数 欧拉角 常用四元数相关函数 相互转换 二,案例 案例:沿面中心翻转 案例:路径导弹 案例:RBD刚体还原过渡 一,四元数相关概念 四元数 在vex内四元数为(&am…

BigDecimal 类型的累加操作

BigDecimal 累加操作 .add操作

C语言:深入浅出qsort方法,编写自己的qsort完成冒泡排序

目录 什么是qsort? 函数原型 比较函数 compar 排序整型数组 排序结构体数组 根据成员字符排序 strcmp函数 根据成员整型排序 自定义qsort实现冒泡排序 qsort的实现原理 具体步骤 快速排序示例代码: 什么是qsort? qsort是 C …

geoserver发布同一字段的多值渲染

Geoserver之同一字段的多值渲染 有时候我们需要对一个shp的某一字段值中的不同值进行区分展示,但是一般的渲染都是按照统一图层展示的,因此为了更好的效果,我们选择使用uDig等工具处理。 文章目录 Geoserver之同一字段的多值渲染前言一共是分…

休眠和睡眠有哪些区别?如何让电脑一键休眠?

电脑中有休眠和睡眠,那么它们有什么区别呢?下面我们就通过本文来了解一下。 休眠和睡眠的区别 电脑在睡眠状态时,会切断内存之外的设备电源,电脑会进入睡眠状态,当再次唤醒电脑后,不会影响睡眠前保存好的工…

机器学习练习1

线性回归 数据集模型,第一列代表人口,第二列代表利润 此处的线性回归 与 常规的 y wx b 不同的是 将b换成了w的一部分 故需要在数据集x前面加个1, 求出b . 可以简化计算,只需要一个乘法就可以

网络安全入门必学内容

网络安全入门 必/学/内/容/ 随着时代的发展,经济、社会、生产、生活越来越依赖网络。而随着万物互联的物联网技术的兴起,线上线下已经打通,虚拟世界和现实世界的边界正变得模糊。这使得来自网络空间的攻击能够穿透虚拟世界的边界&#xff0…

vscode中 vue3+ts 项目的提示失效,volar插件失效问题解决方案

文章目录 前情提要bug回顾解决方案最后 前情提要 说起来很耻辱,从mac环境换到window环境,vscode的配置都是云端更新过来的,应该是一切正常才对,奇怪的是我的项目环境出现问题了,关于组件的ts和追踪都没有效果&#xff…

vscode设置pycharm中的项目路径和debug方法

真大佬在这 真大佬在这 必须给大佬star 命令行运行: export PYTHONPATH:pwd:/home/bennie/bennie/bennie_project/AI_Lab python main.py 当关闭此命令行时,临时路径会清除,可以将上述export的整条语句,加入~/.bashrc中 该命令中…

重磅发布 OpenAI 推出用户自定义版 ChatGPT

文章目录 重磅发布 OpenAI 推出用户自定义版 ChatGPT个人简介 重磅发布 OpenAI 推出用户自定义版 ChatGPT OpenAI 首届开发者大会 (OpenAI DevDay) 于北京时间 11 月 7 日凌晨 02:00 开始,大会上宣布了一系列平台更新。其中一个重要更新是用户可以创建他们自己的自定…

从零开始的C++(十四)

继承: 作用:减少重复代码,简化程序。 用法: class b:public a {//...b中成员 } 在如上代码中,b类以public的方式继承了a类。规定a类是父类、基类,b类是子类、派生类。 关于继承方式&#xf…

Qt::WindowFlags

Qt::WindowFlags 文章目录 Qt::WindowFlags摘要窗口&部件Qt::WindowFlags&WindowType窗口类型窗口提示 关键字: Qt、 Qt::WindowFlags、 Qt::WindowType、 关键字4、 关键字5 摘要 今天在公司解决自己的Bugs的时候,发现一个以前可以用的功…

在Kotlin中设置User-Agent以模拟搜索引擎爬虫

前言 随着双十一电商活动的临近,电商平台成为了狂欢的中心。对于商家和消费者来说,了解市场趋势和竞争对手的信息至关重要。在这个数字时代,爬虫技术成为了获取电商数据的有力工具之一。本文将以亚马逊为例,介绍如何使用Kotlin编…

软件测试面试题【2023最新合集】

收集了各大公司的面试经验,现整理出来,希望能给正在找工作的志同道合的小伙伴一些指引,本文会持续更新的哦。 1、 CPU 和 GPU的区别 一个是通用计算,一个是专用计算。 CPU主要负责操作系统和应用程序,GPU主要负责跟…

【BUG解决】服务器没报警但是应用接口崩了....

最近遇到一个突发问题:服务器没报警但是应用接口崩了… 为其他业务系统提供一个接口,平时好好的,突然就嚷嚷反馈说访问不了了,吓得我赶紧跳起来! 正常情况下在系统崩溃前,我会收到很多系统报警&#xff0…

【AI编程】ai编程插件汇总iFlyCode、codegeex

1、iFlyCode 开发公司:讯飞 支持IDE: VS Code、IntelliJ IDEA、CLion、PyCharm、WebStorm 支持语言: Python、JavaScript、C、Java 下载地址:https://iflycode.xfyun.cn/ iFlyCode 快捷键列表:  Tab 采纳建议  Esc 拒绝建议  Alt\ 主动…

CSDN每日一题学习训练——Java版(对给定的两个日期之间的日期进行遍历、子集 II、填充每个节点的下一个右侧节点指针)

版本说明 当前版本号[20231107]。 版本修改说明20231107初版 目录 文章目录 版本说明目录对给定的两个日期之间的日期进行遍历题目解题思路代码思路参考代码 子集 II题目解题思路代码思路参考代码 填充每个节点的下一个右侧节点指针题目解题思路代码思路参考代码 对给定的两…

Flink架构

1、Apache Flink集群的核心架构: 1、client(作业客户端):提交任务的地方叫做客户端 2、JobManager(作业管理器):作用是用于管理集群中任务 3、TaskManager(任务管理器)&a…

WPF布局与控件分类

Refer:WPF从假入门到真的入门 - 知乎 (zhihu.com) Refer:WPF从假入门到真的入门 - 知乎 (zhihu.com) https://www.zhihu.com/column/c_1397867519101755392 https://blog.csdn.net/qq_44034384/article/details/106154954 https://www.cnblogs.com/mq0…

unittest 统计测试执行case总数,成功数量,失败数量,输出至文件,生成一个简易的html报告带饼图

这是一个Python的单元测试框架的示例代码,主要用于执行测试用例并生成测试报告。其中,通过unittest模块创建主测试类MainTestCase,并加载其他文件中的测试用例,统计用例的执行结果并将结果写入文件,最后生成一个简单的…