一、AR 的概念与历史
1. AR 的概念
了解什么是 AR(增强现实),不妨先来看一段视频。
这段视频来自电影《蜘蛛侠:英雄远征》。蜘蛛侠戴上了钢铁侠给他的眼镜,上面装载了一套叫做 EDITH 的系统。该系统可以调用全球属于该集团的军事力量进行攻击。
虽然是科幻片,但这一幕场景很正确地讲清楚了 AR 的概念。蜘蛛侠带上眼镜后,可以透过眼镜看到人的身份,可以看到人们在通讯网络里面的交流。甚至在后面的场景,可以调用无人机去作战。看起来很科幻,但已经切中了 AR 的一些本质。
AR 的本质原理和 VR 不一样。VR 是完全制造一个沉浸式的虚拟世界,AR 是在真实世界里叠加虚拟的数字化内容。
在 AR 的生成过程中,首先要有一个摄像机获取真实世界的视频画面,通过计算机的识别运算,再做一些叠加的操作,最后通过渲染引擎重新呈现出来。这个过程几乎是实时的。
整个流程里有输入、输出、计算三个环节,有很多可用的设备。
在输入的部分,可以用手机摄像头、AR 眼镜摄像头、其他 PC 摄像头等,以及非视觉的采集工具,如红外摄像头、深度摄像头、超声波摄像头…
所有这些视频或者非视频的视觉画面,获取后首先要通过一些计算。
第一部分:识别
识别人脸、识别手势、识别人的动作,识别一个人从 A 点到 B 点中间的轨迹,或者识别整个空间是怎样构成的。经过运算之后,从某种意义上已经初步理解了要计算的对象,它的形象、动作、意图等。
第二部分:叠加数字信息
计算在识别对象的画面上叠加什么样的数字信息,也包括了渲染的环节在内。
第三部分:输出
渲染完成后是输出,在手机屏幕、眼镜屏幕、其他屏幕上看到识别、叠加、渲染的效果。
在上文的视频片段里,我们可以看到,蜘蛛侠在眼镜中看见了输出的画面。但在别的场景里,可以用其他的设备,比如手机就有计算能力,也能输出。除了 AR app 外,微信现在也支持 AR。
对于眼镜这样的输出形态,可能不见得每一个朋友都亲自体验过。来看看一台分体式 AR 眼镜的构成:
该眼镜用了安卓 7.0 系统。综合其 CPU、系统以及其他参数,可以这样理解:AR 眼镜几乎就是一台安卓手机。只不过它对输入输出部分,做了一些分解。还有一个重要的点是,眼镜是横屏显示,而且具备 3D 显示的能力。
图片展示的这副眼镜,属于分体式的眼镜。
AR 眼镜有两个形态,一种是一体式的眼镜,把 CPU、内存、电池等等所有的运算单元和操作单元都集成在眼镜端。它的特点是比较酷,但是会比较重。
另一种是分体式眼镜,把电池、cpu、内存、硬盘等单元放到手持端,再通过一条线,和眼镜端连接。
常常有一些合作伙伴问我们:想要在眼镜上做开发要具备什么样的能力,需要哪些 SDK 或开发文档?其实在没有调用我们特有接口的情况下,如果想在 AR 眼镜上做开发,很多时候只需要具备安卓手机开发的能力就可以了。
增强现实技术是由计算机视觉和人机交互两个部分组成的。
我们在谈论增强现实的时候,往往会过多强调计算机视觉,而忽略了人机交互。如果没有人机交互,其实增强现实是不成立的。
为什么呢?因为我们对现实的增强最后是要给人类来使用的。它是为了提供给人看见更多东西、做更多操作的能力而存在的。
所以判断一个增强现实产品到底好不好,除了强大的识别算法以外,还要看它和人之间的交互达到什么样的标准。
2. AR 的历史
回顾增强现实的历史,先来看看硬件方面。
其实早在 1960 年左右,这个世界就已经出现了第一台增强现实的设备:sensorama。
它是一个实验室的设备,可以让使用者透过屏幕看到立体几何的图形。
在之后的几十年里一直有不同的设备出现,也有很多人在不同领域做尝试。
但直到 1992 年才有人真正把增强现实这个词带到世界上来,这就是波音公司的工程师 Thomas Caudell。他和他的同事在 IEEE 发表了一篇论文,讨论增强现实技术是如何应用在飞机装配的过程。
波音飞机或者其他飞行器的装备是非常复杂的,有成千上万条线束要对接,对错一个飞机都是要出问题的。不管是用纸质或者电子的说明书,进行装配操作的指引,常常会发生错误操作的情况。
Thomas Caudell 就设想:如果让工程师佩戴一副只能眼镜,透过眼镜去查看要装备的对象,跟着眼镜屏幕上头出现的指引,让工程师可以正确的装配飞机的线束,从而变得非常高效和准确。
他把这样一种技术叫做 Augmented Reality,也就是增强现实。
2014 年谷歌推出一款智能眼镜,或者说是智能眼镜的早期形态。它是单目的,也就是单个镜片,还有一个摄像头,构成了整个机体的主要部分。当然里头还有运算单元、电池等。
这样一个产品,在 2015 年就被谷歌放弃了。当然它涉及到的很多技术用在了谷歌其他的一些产品上,到现在也有类似这种形态的产品,但主要不是面向消费者的,而是面向工业市场的。
当时,Google Glasses 出来之后在业界引起了一阵热潮,其实中国在 AR 眼镜上没有落后世界多大的距离,包括亮风台在内的一系列国产厂商从 2015 年到现在,都有推出不同的头戴式 AR 设备,和国外的友商大概是在一个水平线上,这一点是足够我们 AR 从业者自豪的。
2016 年,Microsoft Hololens 产品横空出世,在我看来 Hololens 直到现在,仍然是业界的标杆产品。不管是显示效果,还是提供的软件能力,都堪称标杆,是我们学习的对象。
但 Hololens 的坏处是,它是一体式设备,佩戴起来会有一些不便,第二个是在中国用的时候会受到一些限制,这个话题就不展开讲了。
AR 在软件方面的发展情况,主要分成两部分,一个是应用,一个是 SDK。
应用部分不用多说,市面上有很多,大家可能最有印象的是一款叫 Pokemon Go 精灵宝可梦的游戏。
接下来讲 SDK 方面,也就是我们开发者能够拿来做自己应用的框架和开发包。
最早的 AR SDK 是 1999 年一个日本人和他同事一起推出的 ARToolKit。这一套套件目前仍然被很多人使用,它是开放源代码的。
这是一个划时代的产品,因为开发者不用从头去做一切事情,可以用一个套件集成到自己的应用就可以让你的应用具备识别二维图像,并在上面叠加数字内容等能力。
1999 年,Intel 带头做了一个套件叫 OpenCV。CV 指的是 computer vision(计算机视觉),OpenCV 顾名思义,它是一个开放的套件库。
迄今为止,它某种意义上已经成为业界的一个小的标准。很多开发者也在用它做自己的应用,包括很多研究者也在用它做一些科研方面工作。
对业界具有标志性意义的是:2017 年苹果发布 Apple ARKit,和 18 年谷歌发布 ARCore,这两个 AR SDK 的发布为什么有重大的意义呢?
因为这两个套件的发布意味着巨头进入到这个市场。也就是说,这个市场开始从最早期的探索阶段,进入到规模市场化的阶段,因此我认为这件事具有标志性的意义。
事实也正是如此,18 年之后,Facebook 包括国内的很多平台厂商也进入到 AR 市场,整个市场的规模在不断扩大。
但从整个市场的发展趋势来说,目前 AR 市场还是处于一个非常早期的阶段。
二、AR 的核心价值
AR 到底给我们带来什么,是单纯好玩儿还是真的有些价值呢?
我认为 AR 的核心的价值是:赋能于人。
像前文讲到的,AR 是关注人机交互的,而我认为人和机器在未来世界里一定是共同进化。而不是说无人的一些先进设备、机器人能完全替代人,人的创造性和计算机的智能性结合起来,能够获得更大的一些能力。
具体来说就是让人能够看见原本看不见的,看懂原来看不懂的,做原来做不到的事情。
三、AR 在工业、营销等领域的应用
1. AR 在工业领域的典型应用
工业的概念很大,不妨先聚焦在制造业,那么 AR 在制造业主要用在哪几个场景呢?
(1)操作指导
就像前面提到的波音公司使用 AR 眼镜帮助工程师做线束对接或装配的工作,基于识别技术,让工人能够按图索骥,做好维修和装配的操作。
(2)远程协作
通过 AR 眼镜,一线的工程师和远端专家可以实时的沟通,获得一些指引。
(3)设备巡检
当你在巡检某些设备或者产生的过程中,通过物联网的传感器或者计算机视觉的检测结果,在 AR 眼镜上直接可以看到某个机器哪些地方出了问题。
我们之前做过一个跟物联网结合的应用,城市的管理人员戴上眼镜在路上巡查的时候,能够看到地面下管道的运行状况,比如供水、供电的状况等,那么他是如何看到的呢?
是因为我们从物联网的传感器获得了很多的信息,在 AR 眼镜上呈现出来,就像给地面照 X 光一样。
2. AR 在营销领域中的应用
(1)包装识别
如果各位平常留意的话,就会发现有时候用手机扫描商品包装,界面上会浮现叠加的一些视频动画,然后用户可以领券,或者跳接到网店地址等,完成营销的闭环,这是目前大家可能最常见的应用。
(2)使用说明书
比如现在有一些手机应用,通过它们可以观察到汽车的中控仪表盘等使用说明。
(3)物联网体验
比如,我们之前做过一个手机应用,可以看到空调的风是怎样流动。同时通过在空调上面装上摄像头和一些芯片模组,可以实现风吹向/避开人体的功能。
四、AR 在公共安全领域的应用
公共安全是一个大的话题,不光指公安局也包括其他跟安全有关的行业。
1. 公共安全领域常见的几种应用
(1)人车识别
对人脸和车牌的识别,进行身份核查,基于对人脸的检测识别、图像处理、文字识别等技术。
采集到信息后,跟信息库中预置的数据来做比对分析,最终反馈结果。
(2)指挥调度
方便指挥中心和前线人员可以实现一个基于数字地图和实景相结合的双向沟通,掌握现场的情况来部署作战方针。
(3)跟无人机结合的应用
把无人机和 AR 做结合,将无人机录制回来的画面做一些计算机视觉方面的处理,再用在指挥调度等方面。
2. 应用的案例
(1)昆明机场应用
如果大家去昆明长水机场就可以留意到,有些巡逻的民警佩戴了很酷的眼镜,就是 AR 眼镜在安全领域内的应用。
这套系统在公安那边叫云眼智识,它用来干什么的呢?
第一,前线的警员佩戴 AR 眼镜获取现场人员和车牌的信息,同时调用云南数千万人的脸库防控信息来指导公安现场做一些措施。
第二,实时画面可以回传到指挥中心,指挥中心可以就一些突发事件做实时指挥,而不再需要对讲机。
这个系统上线后,在去年的四月份到七月份三个月的时间里,通过 AR 系统帮助公安人员抓到冒用伪造证件 200 多人。其中有一些是在逃的通缉人员,包括涉毒 26 个人、黑恶势力 7 人。
在交通枢纽我们也常常看到一些卖假货或者拉客的人,这些人的信息其实都在一个重点处置库里。但并不是每一位民警都认识这些人,那么就可以用 AR 眼镜去帮助民警,处置这些卖假货、拉客、扰乱秩序的人。
(2)广州天河公安无人机指挥调度系统
当无人机飞在空中的时候,它的摄像头画面实时去做识别和处理,叠加了一些重要信息。帮助后端的指挥人员立刻知道无人机的位置、朝向以及下面的一些需要重点关注的目标物、目标建筑。
下图展示的是无人机的应用场景,大家可以看到在画面上有一些拱形的红褐色的标志。这是指挥中心在无人机常规的画面上绘制路线,指挥现场警员按这条路线去巡逻或者更快接近目标,现场的警员佩戴 AR 眼镜也可以看到无人机的画面以及画面上的相应指引。
大家在图中能够看到一些带箭头的红色圆圈,其实就是警员所在的位置。这样无人机在天上往下看的时候,指挥中心的领导就可以如何部署警力了。
以往的情况是:领导不在现场,他是很难知道每个人的位置,即使通过对讲机告诉沟通,还得去跟地图做一一对应。
但是有了无人机上这样的自动识别技术以后,随身佩戴 VR 眼镜或者其他的设备的警员,它们的位置信息,可以和无人机的捕获画面很好的结合在一起,这样指挥中心就能立刻知道哪里有多少警员,实现更高效的调用警力处置突发事件。
这套系统目前在其他的一些地方也有应用,比如消防领域。比如以往扑灭森林山火,即使领导在现场也很难知道哪一个小队的人在哪一个位置,而且也不容易实时的了解到整个山火的范围是怎样的。
通常会派直升机或者无人机将画面传过来,大家再去做辨别。而上了这一套无人机的系统之后,因为每一个扑救人的位置,都是确定而且看得见的,可以帮助指挥员做更好的调度,同样也能够帮助现场人员避开危险。
(3)贵阳机场“透明装卸监管系统”
大家坐飞机的时候,可能不太留意,我们的行李是怎样装上去和卸下来的呢?我相信大家一定遇到过行旅箱被野蛮装卸摔坏了的情况。还会发生旅客的行李被偷窃的情况,并不是整个行李被拎走,而只是从包里偷走了部分物品,这个投诉率特别高。
为此,贵阳机场安装了透明装卸监管系统,用来避免这些问题。
机场搬运工在工作的时候,会用到一个头戴式的摄像头,它会把搬运工的操作全程以第一人称的视角记录下来,实时的回传到后端指挥中心。当每个人的操作都被记录下来的时候,自然就没有人敢乱来了。
就是这样很简单的一个小应用,却给当地的机场带了很大的帮助。除了佩戴摄像头的搬运工,在现场负责监控装卸的人员也可以佩戴 AR 眼镜,实时接收后台的指引,减少的暴力作业、行李丢失的情况。
五、应急管理中的 AR 应用
应急管理大家平时可能接触不多,但实际上它是保障社会安全的一个很重要的部门体系。
应急管理一般分作两个场景,一个是平时,另一个就是战时。当然这里的战时不代表真正的战争时期,而指的是:很多突发事件的处置对应急管理方来说就是一场战斗。
1. 平时防区的巡查、安全监管、安全培训
比如说消防,我们在公司都有消防设备,隔一段时间就会有消防系统或者应急系统的人来做检查。
这个过程当中,如果使用 AR 眼镜或者头戴式的一些设备,再加上随身的手机。就可以帮助巡查人员自动的识别检查、监管的场景。在做安全培训的时候也可以通过刚才提到的远程协作系统,帮助受训人员去理解操作步骤等。
2. 应对突发事件
在战时,也可以把上文提到的指挥调度系统用在应急管理的场景里面去,像消防就是应急管理得到一种。
再比如现在的肺炎疫情,这也是应急管理里很重要的场景。当发生突发的重大公共安全卫生事件的时候,社区、卫生系统、公安系统的人全都到各个地方去,如何知道每一个终端的工作状况呢?
我们在一些新闻事件中可以看到,因为工作人员或管理人员的处置不力,导致了很多悲剧。
如果把指挥调度这样的 AR 应用给他们装备上后,整个过程就能够得到取证,在后端的指挥人也能看到每一个末端发生的事情来辅助他们进行决策。
应急管理,尤其是在疫情发生的情况下,还有一个特别 AR 的应用,就是 AR 眼镜测温。测温这件事我相信现在每个人都很熟悉了,每到一个出入口就会有人拿测温枪对你的头部进行测温。
但是用测温枪是有风险的,因为检测人员和受测人员离得太近了,本身有被感染的风险。
如果佩戴装有红外模块的 AR 眼镜,离受测人员三米开外一眼就能看出来谁的额头温度是不是超出允许的范围。
在相对固定环境下,经过调教之后能够达到±0.3 度的范畴。相对于近距离测温的风险来说,误差度是可以接受的,起码可以帮助检测人员做一个初步的筛查。
六、AR 研发人员能力模型
如果你想成为一名 AR 行业的软件技术人员,你需要具备哪些能力呢?
首先要了解 AR 这个技术。它是由哪些部分构成的,有哪些层面?最下面的 IaaS 的平台,大多数 AR 的从业人员不会太接触到,基本上我们也是用运营商或平台厂商的一些基础设施。
往上面看是通讯数据包括引擎和应用,也就是从 DaaS 到 PaaS 的层面都是需要各个方面的软件技术人员来参与的。
1. 算法
在 AR 里用到的算法,常见的像人脸识别、肢体的识别、运动跟踪、目标的检测、语义识别、交互理解、图形渲染、空间标志等,都是跟算法有关的。
2. 移动端开发
如果想做 AR 的移动端开发,懂安卓和 iOS 的开发基本上就够了。在这基础上,因为 AR 是在真实世界的场景上叠加虚拟内容的一项技术,而这个虚拟内容实现了虚实结合的人机体验。
这样就会用到 3D 模型,业界最广泛使用的 3D 套件是 Unity,各个厂商都有服务 Unity 的 SDK, SDK 整合 Unity 就可以方便地进行 3D 应用的 API 开发。
再深入一点,还需要对这个开发工具进行改进。比如,我们用 Unreal、GamePlay 或者用其他的有源代码工具的时候,需要改进它的一些渲染能力,或者让它的渲染引擎变得更加小。
一个套件的 3D 渲染部分原来有几十兆,如果你有对源代码进行改造的话,有可能把它缩成几兆大。对于移动应用将会产生巨大的差距。
3. Web AR
Web AR,就是基于网页的 AR,微信新的版本里也开始支持了。当然,微信没有提供关于识别和渲染这方面的完整 SDK,还是需要调用第三方的 AR 能力。
具体来说就是 AR 的云能力,通过微信小程序里获取到摄像机的画面,再上传到云端,从云端得到识别的结果再叠加相应的效果。
如果要从事 Web AR,脚本语言肯定是需要掌握的,还有关于通信、网页渲染的一些知识也是需要的。
总的来说,在应用端做 AR 开发不是一件特别高精尖的技术。但里头有很多小的坑,只有在长期开发的过程中才可以发现。
4. 云平台与网络通讯
因为现在 AR 的识别能力,有的在客户端做,有的是在云端做,就会出现云端应用开发能力的问题。
如果要想从事这方面的工作,首先要做一些具备企业级云端应用开发能力的准备工作。所谓企业级指的不是 QQ 这样的面向数亿人在线使用的量级,而是指面向企业应用的企业级。
同时有数万的访问就已经够用了,其次是企业级通讯软件的开发能力,这个要求会比较高,因为它涉及到一些基础的通讯的技术,这里就不展开讲了。
作者介绍:
韩磊,腾讯云最具价值专家(TVP),广州亮风台信息科技有限公司总经理 。新媒体和社区运营专家,技术图书作、译者。 2001 年创办 CoDelphi.com 网站。 2003 年加入 CSDN,历任网络总监、副总经理、总编辑等职。 2010 年加入广东 21 世纪传媒集团,历任信息中心 CTO、新媒体事业部总经理、新媒体中心 CTO 等职。 2017 年起担任亮风台广州公司总经理。 拥有美国 Borland 公司“Delphi 产品专家”称号。和刘韧合著有《网络媒体教程》,与戴飞合译有《Beginning C# Objects:对象到代码》,译有《梦断代码》、《C#编程风格》、《代码整洁之道》等。
本文转载自公众号云加社区(ID:QcloudCommunity)。
原文链接:
https://mp.weixin.qq.com/s/aUbvt_kd0-tDGPlqtHv_aQ
评论