azure学生包_使用Azure Kinect开发人员工具包

azure学生包

微软于2019年初宣布将其Azure Kinect相机模块与HoloLens 2一同发布。两款设备都使用相同的混合现实相机模块,并使用飞行时间深度传感器在相机周围绘制物体。 但是,在HoloLens是可穿戴的混合现实设备的情况下,Azure Kinect模块旨在为Azure托管的机器学习应用程序提供连接的传感器,这些传感器可以安装在工作区中的任何位置。

Azure Kinect是Xbox One附带的第二代Kinect模块的直接后代,但它不提供游戏的真实输入,而是针对企业用户和应用程序。 为了与Azure的认知服务合作,首款Azure Kinect开发人员工具包于2019年底开始在美国发货,并在2020年初添加了其他几个国家。

[ 同样在InfoWorld上:什么是CUDA? GPU的并行编程 ]

打开盒子

售价399美元的Azure Kinect开发人员套件是一个白色小单元,带有两个摄像头镜头,一个用于广角RGB相机,一个用于Kinect深度传感器,以及一个麦克风阵列。 它具有方向传感器,可让您使用相机构建环境的复杂3D图像,准备在混合现实中使用。 您可以使用方向传感器帮助了解设备的位置,将多个设备链接在一起以进行快速3D扫描或覆盖整个房间。

除摄像头单元外,还提供电源,用于卸下链接端口盖的内六角扳手以及用于连接到开发PC的USB电缆。 我建议使用台式三脚架或其他类型的支架,因为捆绑的塑料支架非常小,不适用于大多数桌子或显示器。 包装盒中没有软件,只有在线文档的链接,您可以在其中下载设备SDK 。

在开始之前,您应该更新设备固件。 该工具包随SDK一起提供,并包含一个命令行安装工具。 运行更新程序时,它会先检查当前固件状态,然后再安装相机和设备固件,然后重新启动。 摄像机重新启动后,请使用同一工具检查更新是否已成功安装。 如果安装存在问题,则可以使用相机的硬件重置(隐藏在三脚架底座下)恢复原始出厂图像。

感知世界

安装SDK后,您可以从代码访问设备传感器。 共有三个SDK:一个用于底层访问所有摄像头传感器的SDK,另一个用于使用熟悉的Kinect人体跟踪功能的SDK,另一个用于将摄像头的麦克风阵列链接到Azure的语音服务的SDK。 预先构建的Kinect Viewer应用程序显示可用的摄像机视图,并从设备的传感器流式传输数据。 您可以访问广角RGB相机,深度相机视图以及深度传感器的红外相机中的图像。 SDK适用于Windows和Linux,特别是Canonical的Ubuntu 18.04 LTS版本,可以直接从Microsoft或GitHub下载。

花一些时间与Kinect Viewer玩是个好主意。 它可以让您查看不同深度相机模式的操作方式,从而帮助您选择窄或宽视场。 您可以从位置传感器(加速度计和陀螺仪)以及麦克风阵列看到数据。 将Azure Kinect开发人员工具包连接到开发PC并正常工作后,您可以开始为其编写代码。 命令行记录器应用程序可用于捕获数据以在查看器中播放 ,并将深度信息存储在MKV(Matroska Video)格式文件中。

构建您的第一个深度感应应用程序

Microsoft提供了用于构建简单的C应用程序以与Azure Kinect开发工具一起使用的示例代码 。 只需要一个库,它提供了使用相机所需的对象和方法。 在配置设备数据流之前, 任何应用程序都首先需要检查连接到主机PC的摄像机数量。 设备由序列号标识,因此在将多个摄像机连接到同一台PC或链接在一起时,可以使用它来寻址特定的摄像机。

Azure Kinect开发人员工具包仅提供流数据,因此应用程序需要以每秒帧为单位配置数据速率,以及图像颜色格式和分辨率。 创建配置对象后,您可以使用配置对象打开连接,准备流式传输数据。 读取完数据流后,停止并关闭设备。

图像被捕获到捕获对象中 ,其中每个深度图像,IR图像和彩色图像用于从设备流中获取的每个单独图像。 捕获后,可以提取准备在应用程序中使用的单个图像。 可以将图像对象传递到Azure机器视觉API,以准备进行对象识别或异常检测。 微软在演示中使用的一个示例是一个应用程序,该应用程序使用捕获的视频来检测工厂车间的工人何时离操作机太近。 另一个检测到有人在加油站附近吸烟。

azure学生包_使用Azure Kinect开发人员工具包_第1张图片 IDG

以相关方式从设备捕获图像。 每个捕获的图像都具有深度图像,IR图像,彩色图像或图像组合。

一个类似的过程为您提供来自位置和运动传感器的数据 。 由于以比图像数据更高的速率捕获运动数据,因此您必须在代码中实现某种形式的同步以避免丢失任何数据。 音频数据是使用标准Windows API捕获的 ,包括Azure语音服务所使用的API 。

尽管Azure Kinect硬件捕获了大量数据,但SDK函数可帮助将其转换为可用形式。 例如,将深度数据添加到RGB图像以生成RGB-D图像,然后将其转换为RGB相机的视点(反之亦然)。 由于两个传感器是偏移的,因此需要使用PC的GPU扭曲图像网格以合并两个相机的视点。 另一个变换生成点云,使您可以获取捕获中每个像素的深度数据。 SDK中的一个有用选项是能够以Matroska格式的文件捕获视频和数据流 。 此方法允许带宽受限的设备批处理数据,并将其传递到具有Cognitive Services容器的Azure Stack Edge设备进行批处理。

身体追踪数字骨骼

最初的Kinect硬件引入了人体跟踪功能,并具有可用于快速评估姿势和手势的骨骼模型。 Azure Kinect人体跟踪SDK继续使用相同的方法,该SDK使用Nvidia的CUDA GPU并行处理技术来处理来自设备深度传感器的3D图像数据。 捆绑的示例应用程序显示了SDK的某些功能,包括一次跟踪多个人的功能。

azure学生包_使用Azure Kinect开发人员工具包_第2张图片 IDG

Azure Kinect身体跟踪查看器显示3-D点云和被跟踪的身体。

Body Tracking SDK建立在Azure Kinect SDK之上,使用它来配置和连接到设备。 跟踪器处理捕获的图像数据, 将数据存储在主体框架数据结构中 。 其中包含用于识别的身体的骨骼结构,用于帮助可视化数据的2-D索引图以及用于构造跟踪数据的基础2-D和3-D图像的集合。 每个帧都可以用于构造动画或向机器学习工具提供信息,这些信息可以帮助处理与房间地图或理想位置有关的跟踪位置。

Azure的认知服务是用于处理数据的强大工具,而Azure Kinect的添加使其可以在各种工业和企业方案中使用它们。 以工作场所的3D图像识别为重点,Microsoft试图展示如何使用图像识别来降低风险和提高安全性。 甚至还可以选择将一系列设备用作快速的体积捕获系统 ,这可以帮助构建混合现实环境,并提供CAD和其他设计工具的源数据。 结果是一个灵活的设备,只需很少的代码,就可以成为功能非常强大的传感设备。

翻译自: https://www.infoworld.com/article/3562738/working-with-the-azure-kinect-developer-kit.html

azure学生包

你可能感兴趣的:(python,深度学习,人工智能,java,linux)