GMTC2018 《AR在直播系统中的应用》 李超

2020-02-27 283浏览

  • 1.AR在直播中的应用 李超 沪江音视频架构师
  • 2.
  • 3.
  • 4.01 VR/AR/MR 介绍 02 AR技术与现状 03 ARKit运行机制 04 AR核心概念 05 ARKit Demo 任意门 06 ARCore 运行机制 07 ARCore 与 ARKit 区别 08 AR在直播系统中的应用
  • 5.PART 01 01 VR/AR/MR 介绍
  • 6.VR (Virtual Reality) VR 虚拟现实,是一种可以创建和体验的计算机仿真系统。用户可以完全沉浸到该环境中并在该环境中 进行各种交互。
  • 7.
  • 8.AR (Augmented Reality) 增强现实,就是将虚拟世界与现实世界结合到一起,并能进行互动。 AR 增强现实技术,是一种实时地计算视频图像的姿态(位置和角度)并在视频里加上相应图像、视频、3D模型的技术。
  • 9.
  • 10.MR MR (Mixed Reality) 混合现实技术,是虚拟现实技术的进一步发展,该技术通过在虚拟环境中引入真实场景。也就是说, MR是合并现实和虚拟世界而产生的新的可视化环境。
  • 11.PART 02 02 AR技术与应用现状
  • 12.2017ARKit发布 2017年6月5日,WWDC上苹果的发布 ARKit。世界为之震惊,AR从之前的象牙塔走入了“寻常百姓家”。 ARkit的推出,加速了AR行业的发展。
  • 13.Tango 在 ARKit之前,Google的 Tango项目特别吸引 人们的眼球,但它需要专门的硬件。 ARKit推出后,只需要一台手机就可做到了。 TANGO
  • 14.AR应用场景 从目前的情况看,AR技术很可能在以下几个行业里 最先被应用推广。 游戏 电商 教育 直播 AR
  • 15.PART 03 03 AR核心概念
  • 16.特征点 特征点是计算机视觉中的一种关键技术。通常用在人脸 AR识别中。 特征点是指图像灰度值发生剧烈变化的点或者在图像边 缘上曲率较大的点。像边缘特征点,角点等都是常见的 特征点。
  • 17.运动跟踪 ARKit 使用视觉惯性测距技术获取手机的姿态 AR(位置与方向)。 其原理是,对摄像头采集到的图像序列进行计算 机视觉分析,找出其 特征点 在连续的图像帧之 间的位置变化,再通过设备的运动传感器,最终 得到设备的位置和方向。 AR
  • 18.场景理解 AR场景理解中最重要的就是平面检测 。 也就是识别出地面、桌子等平面。 识别的方法,是在 3D 空间中,Y值为0的一个区域。
  • 19.光线评估 AR通过手机估算出当前环境的光线强度, 这样可以让虚拟物体显示在真实环境中更加逼真。
  • 20.PART 04 04 ARKit运行机制
  • 21.ARKit的核心类 ARCamera ARSession ARSCNView
  • 22.ARKit虚拟物品 SCNScene SCNNode SCNMaterial
  • 23.ARKit运行机制 • ARConfiguration • ARFrame • ARAnchor
  • 24.PART 05 05 ARKit Demo 任意门
  • 25.
  • 26.PART 06 06 ARCore 运行机制
  • 27.ARCore核心Session类 Google的 ARCore 只实现在AR的核心算法 运动跟踪、场景理解、光照评估 ARCore 的核心是Session类,它实现在 了上面的三大技术。
  • 28.ARCore运行机制 Session OpenGL ES ARCORE GLSurfaceView
  • 29.View组件 要了解 Surface、SurfaceTexture、SurfaceView、 GLSurfaceView、TextureView 等组件的相关知识。
  • 30.OpenGL ES • 矩阵变换 AR•什么是EGL • OpenGL ES API
  • 31.PART 07 07 ARCore与ARKit的迥异
  • 32.ARKit与ARCore AR它们使用相同的核心算法。 • ARKit 类和API相对更完整。ARCore只关注核心算法。 • ARKit可以商用,ARCore只能在有限的机型上测试,未 来的路还很长。
  • 33.PART 08 08 AR在直播系统中的应用
  • 34.AR 视频通话与AR 音视频通话的基本原理:采集,编码,传输,解码,渲染。 AR在视频通话中的实现与本地的AR应用有着本质的区别。
  • 35.
  • 36.视频通话与AR要解决的难点 远端视频如何在虚拟屏幕上渲染? AR与非AR客户端, 甚至 ARKit 与 ARCore 如何互通? AR端无法直接从 ARCamera 获取视频 帧率过高导致传输码流过大
  • 37.设置参数及启动Session configuration.planeDetection= .horizontal sceneView.debugOptions= [ARSCNDebugOptions.showFeaturePoints] sceneView.automaticallyUpdatesLighting=true sceneView.session.run(configuration)
  • 38.获得锚点及设置虚拟物品 ExtensionARViewController:ARSCNViewDelegate{ funcrenderer(_renderer:SCNSceneRenderer,didAddnode:SCNNode,foranchor:ARAnchor){ …… } } Guard let portalScene =SCNScene(named:"Model.scnassets/tjgc.scn") else { return } Let portalNode = portalScene.rootNode.childNode(withName:"tjgc",recursively:false)!
  • 39.展望 裸3D离我们还很遥远,但通过手机我们可以实 现部分黑科技,可以将 AR 认为是一个瓶子, 这个瓶子可以装天下 目前AR才刚刚起步我们可以畅想,但还需要生态, AR之路并非坦途 AR
  • 40.
  • 41.
  • 42.
  • 43.