您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 电子设计/PCB > Kinect2.0入门介绍
KinectforWindows2.0入门介绍2017-3-18提纲•Kinect体感传感器简介•Kinect硬件结构•Kinect基本接口与使用方法•Kinect高级功能•Kinect应用范围•Kinect初体验——基于Kinect的室内监控系统初识Kinect•2010年,Kinect是微软推出的最新的基于体感交互的人机交互设备。Kinect最初作为Xbox360游戏机的外接设备发布,利用即时动态追踪、影像识别、麦克风输入、语音识别等功能让玩家摆脱传统游戏手柄的束缚,通过自己的肢体动作来控制游戏。•2012年,微软并没有将这一先进的技术局限在游戏行业,而是紧接着将Kinect技术推广到Windows平台,开发了KinectforWindows,旨在鼓励众多开发者设计基于Kinect体感交互技术的应用,从而在各个行业领域里改变人们工作、生活和娱乐的方式。•2014年,微软发布第二代KinectforWindows,从硬件上对第一代做了很大改进。•与此同时,KinectforWindowsSDK也在不断升级中。第一代SDK1.8第二代SDK2.0PublicPreviewKinect的最大创新之处——对人机交互方式的变革传统的人机交互方式:图形用户界面(GUI)特点:GUI要求用户必须先学习软件开发者预先设置好的操作,在传统的显示设备上进行交互。Kinect的人机交互方式:自然用户界面(NUI)特点:NUI只需要用户以最自然的方式(如动作、手势、语音等)与机器互动。直观地说,就是使用NUI的计算机不需要键盘和鼠标。你就是控制器!(Youarethecontroller!)——Kinect宣言第二代Kinect系统架构KinectDriversKinectRuntime.NetAPI.NetAppsNativeAPINativeAppsWinRTAPIWindowsStoreAppsC#,VB,JS,C++/CXPhysicalKinectSensor硬件层驱动层接口层应用层提纲•Kinect体感传感器简介•Kinect硬件结构•Kinect基本接口与使用方法•Kinect高级功能•Kinect应用范围•Kinect初体验——基于Kinect的室内监控系统Kinectv2硬件结构PowerLightRGBCameraIREmittersIREmittersDepthSensorDepthSensorMicrophoneArrayKinectv2的“三只眼睛”和“四只耳朵”三只眼睛:彩色摄像头、深度(红外)摄像头、红外线投影机•彩色摄像头:用于拍摄视角范围内的彩色视频图像。•红外投影机:主动投射近红外光谱,照射到粗糙物体、或是穿透毛玻璃后,光谱发生扭曲,会形成随机的反射斑点(称为散斑),进而能被红外摄像头读取。•深度(红外)摄像头:分析红外光谱,创建可视范围内的人体、物体的深度图像。四只耳朵:四元线性麦克风阵列•声音从4个麦克风采集,内置数字信号处理器DSP等组件,同时过滤背景噪声,可定位声源方向。提纲•Kinect体感传感器简介•Kinect硬件结构•Kinect基本接口与使用方法•Kinect高级功能•Kinect应用范围•Kinect初体验——基于Kinect的室内监控系统KinectDataSources——6种数据源AudioColorInfraredDepthBodyIndexBody•分辨率:1920 x 1080 •30 or 15 fps(帧/秒)•彩色图像有多种格式可以选择, 如:Rgba,Yuv,Yuy2等ColorFrameSourceInfraredFrameSource•分辨率:512 x 424•30 fps(帧/秒)•每个像素16-bit •测量范围:0.5-4.5米•每一个像素为16-bit,该数据表示从深度(红外)摄像头到该物体的距离,单位毫米。DepthFrameSourceBodyIndexFrameSource•Kinect用一个字节表示当前深度坐标下该像素的人体编号。目前最大支持6人。•每像素数据值 •0 - 5:表示被跟踪的人体索引编号•-1(0xFF):未发现人体•测量范围: 0.5-4.5 米•帧数据是一个人体25个关节点的集合,每个帧都包含关节的3D位置和方向•最多支持6个人体•30 fps(帧/秒)•可以识别其中两个人体的手势•人体跟踪的三种状态:–Nottracked–Inferred–TrackedBodyFrameSourceFrameFrameRef获取并处理数据源的接口步骤:一种数据源(source)可以有多个阅读器(reader)•代表一个物理上的传感器硬件实体•一个应用程序可以调用多个传感器,默认为1个1.TheKinectSensorclassthis.sensor = KinectSensor.GetDefault();this.sensor.Open();// Make the world a better place with Kinectthis.sensor.Close();SensorSourceReaderFrameFrameRefC#•显示数据源的元数据并为阅读器(readers)提供获取途径•传感器每个数据类型提供一种数据源2.SourcesSensorSourceReaderFrameFrameRef•提供获取帧的途径–事件机制(触发模型)–轮询机制(“拉”模型)•同一个数据源可以创建多个阅读器(readers)•阅读器(readers)可以被暂停3.ReadersSensorSourceReaderFrameFrameRefC#InfraredFrameReader reader = sensor.InfraredFrameSource.OpenReader();reader.FrameArrived += InfraredReaderFrameArrived;......•发送帧事件参数•AcquireFrame()函数提供了获得实际帧的方法•RelativeTime属性提供了被引用帧的时间戳4.FramereferencesSensorSourceReaderFrameFrameRef•提供获取帧数据的途径–建立本地副本或直接访问底层缓冲区•包含了帧中的元数据–如:彩色帧:帧格式、宽度、高度等•更重要的是,它可以减少获取帧的时间–不会提供不需要处理的帧5.FramesSensorSourceReaderFrameFrameRef坐标系映射转换AIP名称应用的数据源维数单位范围原点ColorSpacePointColor2维像素1920x1080左上角DepthSpacePointDepth,Infrared,Bodyindex2维像素512x424左上角CameraSpacePointBody3维米–红外/深度摄像头Kinect中的三种坐标系:坐标映射API提供了三种坐标系的转换方法提纲•Kinect体感传感器简介•Kinect硬件结构•Kinect基本接口与使用方法•Kinect高级功能•Kinect应用范围•Kinect初体验——基于Kinect的室内监控系统Kinect高级功能•手势跟踪与识别•人脸识别•语音识别•3D建模:KinectFusion•第三方框架:Unity3D、MATLAB、OpenCV•附属开发工具手势跟踪与识别Body:Handstates手势跟踪与识别Body:Handstates•两种基本属性:HandLeftState,HandRightState–Unknown–Nottracked–Open–Closed–Lasso(半握拳)•两种置信度属性:HandLeftConfidence,HandRightConfidence–High、Low•手势跟踪与识别目前只支持两个人DEMO人脸识别探测校准定位表情•通过body帧检测人脸•输出面部外围边框•标定面部5个关键点•返回各关键点之间的位置关系•确定表情人脸识别Body:Activities,Appearance,Expressions•Activities面部活动–EyeLeftClosed–EyeRightClosed–MouthOpen–MouthMoved–LookingAway•Appearance外貌–WearingGlasses•Expressions表情–Happy–NeutralDEMO语音识别•基本功能:声源定位采用四元线性麦克风阵列,4个麦克风从4个角度采集声源,经过音频处理后可以判断出声源的来源方向和大小。硬件设备灵敏度高,可以过滤背景噪声,对人的声音较敏感。语音识别•基本功能:声源定位采用四元线性麦克风阵列,4个麦克风从4个角度采集声源,经过音频处理后可以判断出声源的来源方向和大小。硬件设备灵敏度高,可以过滤背景噪声,对人的声音较敏感。•扩展功能:语言识别安装相关插件和语言包:SpeechPlatformSDKv11、SpeechPlatformRuntimev11、K4WLanguageModels,可以根据已定义的语法识别出有限的词组或短语,然后根据语音指令控制应用程序。目前不支持汉语。3D建模-KinectFusion•Kinect传感器是一种RGB-D传感器,即可以同时获得环境颜色值(RGB)和深度值(depth)的传感器。•KinectFusion算法通过将Kinect采集到的深度数据进行匹配定位与融合来实现3D场景重构。•KinectFusionV1算法流程:–深度数据处理,是将传感器原始的深度数据转换成3D点云,得到点云中顶点的3维坐标和法向量;–相机跟踪,是将当前帧3D点云和由现有模型生成的预测的3D点云进行ICP(迭代最近点)匹配,计算得到当前帧相机的位姿;–点云融合,是根据所计算出的当前相机位姿,使用TSDF点云融合算法将当前帧的3D点云融合到现有模型中;–场景渲染,是使用光线跟踪的方法,根据现有模型和当前相机位姿预测出当前相机观察到的环境点云,一方面用于反馈给用户,另一方面提供给相机跟踪进行ICP匹配。第三方框架:Unity3D、MATLABandOpenCV•Unity3D是由UnityTechnologies开发的一个让玩家轻松创建诸如三维视频游戏、建筑可视化、实时三维动画等类型互动内容的多平台的综合型游戏开发工具,是一个全面整合的专业游戏引擎。•微软的Kinect提供对Unity3D的支持。已经提供第三方工具包:Kinect.unityPackage•微软的KinectCommonBridge项目团队致力于Kinect与第三方框架的结合。目前,KinectV2与MATLAB、OpenCV等框架的使用还在调试中待发布。附属开发工具KinectStudiov2.0、VisualGestureBuilderv2.0•KinectStudio可以像摄像机一样,记录原始的深度和彩色数据流,并在Kinect应用中重放。由此开发者可以使用预先记录的数据流,避免了每次都亲自站在Kinect前测试的麻烦。•具体功能:–从Kinectv2设备录制样本剪辑–回放录制的样本剪辑–直接从连接的KinectV2设备播放实时数据–从录制和播放的样本剪辑中查看二维、三维坐标和数据–……•新推出的VisualGestureBuilder是专门用于姿势(手势)开发的工具套件。KinectStudiov2.0提纲•Kinect体感传感器简介•Kinect硬件结构•Kinect基本接口与使用方法•Kinect高级功能•Kinect应用范围•Kinect初体验——基于Kinect的室内监控系统Kinect应用范围•计算机应用•机器人视觉与控制•3D建模•物联网智能化领域•医疗领域•教育领域•电子商务领域提纲•Kinect体感传感器简介•Kinect硬件结构•Kinect基本接口与使用方法•Kinect高级功能•Kinect应用范围•Kinect初体验——基于Kinect的室内监
本文标题:Kinect2.0入门介绍
链接地址:https://www.777doc.com/doc-7749496 .html