计算机视觉的未来:从嵌入到无处不在
本文探讨了计算机视觉与计算摄影的发展趋势,从嵌入式视觉到无处不在的应用。随着专用处理器如Myriad2的出现,低功耗、高性能的视觉处理成为可能,推动AR/VR、无人机、机器人等领域的革新。文章强调,未来视觉系统将向边缘计算转移,实现高效、实时和隐私安全的智能感知。
计算机视觉与计算摄影的未来:从嵌入式视觉到无处不在的眼睛
观点专栏
在过去的40年中,计算机科学家和工程师一直在构建技术,使得机器视觉能够应用于从工厂自动化到火星车等高价值应用领域。然而,直到现在,计算能力的可用性限制了这些技术的应用范围,仅局限于那些具有足够强需求的小众领域,需要克服成本和功耗障碍。随着计算手段的不断进步,现在已能够将计算机视觉应用于手机、平板电脑、可穿戴设备、无人机和机器人等大众市场应用中,从而在移动平台的成本、功耗和体积限制内实现全新的用户体验。
计算成像标志着从150年历史的范式——在卤化银感光材料上拍摄照片并通过化学方法显影和打印——向计算(生成)图像的历史性转变。根据海耶斯[1]的观点,数码相机是一种图像生成设备,而非简单的被动记录设备。在现有的数码静态相机中,重点是使数字图像与传统的化学成像结果保持一致。然而,一旦摄像头具备足够的图像处理算力,计算相机便能够超越传统数码相机所捕捉的现实。传感器中的阵列取代了胶片以往的角色,但它只是图像生成过程的开始,而非结束。
在他的书中描述了摄影先驱安塞尔·亚当斯在1920年代、1930年代及以后的工作,威廉·特纳奇[2]称,亚当斯每制作一张照片最多花费一天时间,实际上手动完成了如今被称为高动态范围(HDR)摄影的工作:“[亚当斯]一直表示底片相当于作曲家的乐谱,而照片则相当于指挥家的演奏。”同样,多孔径(阵列)和光场(全光)相机的概念自20世纪初就已存在,这种相机能够从图像中恢复深度信息,并通过计算手段实现各种景深及其他效果。自李普曼展示了其3 × 4阵列摄像头以来,这一概念几乎等待了100年,直到计算手段终于跟上了他的视觉愿景。
当前的计算摄影架构
当前的计算摄影架构非常专注于图像捕捉和后处理,尤其是在现有智能手机架构中的即拍即得摄像头模式。在此模型中,图像捕获通过应用程序编程接口(APIs)进行控制,例如 fCam、Android Camera 2.0 以及即将推出的 Android Camera 3.0 API(源自 fCam)。这些 API 旨在打开此前封闭的摄像头世界,并在一定程度上将相机图像信号处理(ISP)的内部机制开放给应用程序开发者(图1)。

这种对拍摄过程的精细控制,使得基于焦栈(以不同摄像头设置快速捕捉的图像连拍)的应用在智能手机中得以实现,例如高动态范围图像和视频捕捉、可调节景深以聚焦图像不同部分的合成孔径摄影、移除图像中不需要的人物或物体、最佳群体拍摄(每个人都微笑、面向摄像头且未眨眼等),以及复杂的ISP功能,例如多张原始图像对齐以实现超分辨率。
Android Camera 3.0 API 广泛使用连拍模式,在智能手机中以高帧率捕捉高分辨率图像序列以及相关的深度信息,利用现有的 GPU 核心和计算成像算法,通过 RenderScript 以平台无关的方式提供最佳图像。类似的标准化相机 API、传感器元数据的捕获与融合的努力,以及 Khronos 产业驱动标准组织,还有汽车行业中欧盟新车安全评鉴协会和美国 safercar 安全标准推动下的高级驾驶辅助系统更具体领域的倡议,都在持续推进计算机视觉的硬件加速。
[4]–[6]中提出的 APIs 和编程模型旨在通过分层软件来调度应用处理器(AP)中现有的异构计算资源,以执行这些处理器原本并未设计支持的新任务。通常,这些 APIs 底层的硬件架构以及当前用于实现高级相机功能的架构,均基于现有或衍生的应用处理器(AP)中已有的多核 CPU、数字信号处理器(DSP)和图形处理器(GPU),这些处理器广泛应用于智能手机和平板电脑中。其结果是一种折衷方案,限制了系统的计算能力,导致用户体验不佳以及电池续航时间极差。
超越拍照
计算机视觉的一个显著特征是,它将测量和推断世界并基于这些测量结果采取行动作为手段,而不仅仅是通过测量阵列中每个像素的入射光来捕捉场景。从最基本层面来说,自1999年微软推出首个摄像头鼠标以来,过去15年中我们许多人已不知不觉地使用大量摄像头来测量世界。这些光学鼠标结合了以掠射角安装的发光二极管和一个简单相机,用于提取鼠标移动时所经过表面的底层纹理,并通过后处理提取运动矢量,从而控制个人计算机电脑屏幕上的光标。
在过去的几年中,新型人机交互设备如微软 Kinect、Leap Motion 的基于摄像头的手势设备以及 Tobii 眼动仪,已经开始彻底改变我们在个人计算机和游戏主机上与数字内容交互的方式。
最近,诸如惠普 Sprout(图2)之类的设备使用了多种技术的组合:一块物理液晶触摸屏和一个向下投影的视频投影仪,结合支持计算机视觉的水平触摸表面(TouchMat),构建出超越传统设备边界的用户界面,使用户能够以新颖而令人兴奋的方式与现实世界互动,直观地捕捉和操作二维和三维数字内容。

这些功能也已经开始出现在移动设备中,例如亚马逊的 FirePhone [26],该设备在机身四角配备了四个专用的计算机视觉(全局快门)摄像头,并配有相应的红外发光二极管,此外还具备传统的前置和后置摄像头。这四个摄像头支持多种新颖的用户界面功能,例如可根据用户头部位置调整的视点相关三维渲染、高动态范围图像捕捉以及云端支持的图像搜索。
下一步当然是完全突破个人设备的局限,通过远程呈现、自主无人机和机器人,以及在更广泛的产品中嵌入视觉技术来实现。这些应用场景的关键推动技术是同步定位与地图构建(SLAM),该技术自1990年代初为火星车开发以来,已被广泛应用于在未知环境中运行的自主机器人[7],[8]。
在这类系统中,SLAM 软件将普通的 RGB 摄像头转变为六自由度(DoF)传感器,其所赋能的自主移动平台必须能够可靠地测量自我运动,否则将无法实现长期导航,而在缺乏 GPS 等已知参考的常规定位手段时尤为如此。
立体视觉里程计用于确定立体摄像头在六个自由度中的自我运动——在三维世界中可能发生的六个自由度(三个用于平移,三个用于旋转),并补偿可能导致里程计问题的轮子打滑。此外,传感器融合和跟踪也是许多自动驾驶车辆和机器人的重要组成部分。
直到最近,SLAM 算法仍主要停留在学术层面,且未针对嵌入式平台进行优化。一种利用 SIMD 协处理器、数字信号处理器和多核 CPU 在嵌入式平台上实现 SLAM 的方法已在[9]中提出,并通过谷歌的 Project Tango 项目(图3)[19]以及 SLAMbench [10]等计划,推动该技术在嵌入式领域的快速发展。

一款集成了 SLAM 技术的消费设备典型例子是戴森 360 Eye 扫地机器人(图4)[25],并且我们可以预期,在先进半导体的推动下,此类系统的价格将在未来几年迅速下降,同时性能将不断提升。

回到人类视觉,虚拟现实的概念已经存在很长时间了,但其体验始终未能兑现承诺,许多设备要么无法正常工作,要么会让不幸的佩戴者感到恶心。根据阿布拉什[11]的说法,关键问题在于延迟,换句话说,就是头部运动与相应的虚拟世界更新传递到眼睛之间的延迟。过高的延迟会导致图像绘制位置正确但时间错误,从而产生被放大的异常。
头部运动越快,异常就越明显,当头部改变方向时,这种异常会进一步加剧。除了 Oculus Rift 等传统 VR 设备之外,Magic Leap [24]等公司最近从谷歌和其他投资者那里筹集了超过5.42亿美元的资金,预示着一个引人入胜的无缝混合现实世界,通过先进显示器将渲染图形与现实相融合,并由计算机视觉技术实现(图5)。

在诸如汽车主动大灯等应用中,对延迟的要求更为严格;一个例子是卡内基梅隆大学由金出武雄教授领导的智能大灯项目[12],其中从雪花或雨滴反射开始,经过传感器、计算机视觉硬件,再到通过调制车头灯中的 LED 投影阵列闭环控制的总往返延迟约为1500毫秒。
计算机视觉的另一个重要应用是通过在无人机上安装摄像头并跟踪用户,从而提供一种身临其境的体验,例如用于拍摄运动和活动视频。这类设备刚刚开始进入市场,可以预见,随着价格下降和飞行时间增加,此类设备将在未来几年内大量涌现于消费电子领域。电池的重量,电子设备、机身和传感器阵列是关键关注点,其中电子设备往往是项目中的限制因素,例如 sFly [22] 实现了10分钟自主飞行时间,且需要约1瓦特的功率来支持100克的有效载荷。
军事、执法和应急服务部门正成为专用不计成本的设备的目标用户,例如 ProxDynamics Black Hornet PB100 无人机直升机(图6)[23],其重量仅为16克(相当于三张A4纸),并配备了三个摄像头以及可在超过1公里范围内工作的无线链路。

除了用户界面外,智能相机还可用于测量其他现象;例如,欧拉视频放大 [13] 可用于放大自然运动、亮度或颜色变化,并以类似延时摄影的方式使人类肉眼能够观察到植物生长或云朵在天空移动的过程。我们有望在不久的将来,在医疗设备和婴儿监视器中看到此类功能的应用。
欧拉放大技术还可用于重建声音[14],当输入适当的逆声学模型时,可检测密闭房间内因声音导致植物的叶子产生的微小运动;然而,该项技术的民用应用尚不明确。
计算机视觉和计算摄影无疑正处于快速增长阶段,基于视觉的应用不断涌现。一个典型的例子是 Placemeter,它利用安装在窗户上的旧的未使用智能手机提供的公共视频流以及计算机视觉算法,创建了首个关于地点、街道和社区的实时数据层。
Placemeter [21] 收集并提供实时信息,例如某个地点的拥挤程度、等待时间以及接下来一小时内该地点会变得更拥挤还是更空闲。其他例子还有很多,包括图像搜索、全景图、智能手机摄像头中的人脸检测、用于解锁设备的人脸识别生物识别技术、YouTube 中的视频稳定,以及 Facebook 用于照片标记的人脸识别技术。
计算机视觉与计算摄影的未来:从嵌入式视觉到无处不在的眼睛
无处不在的眼睛
很明显,计算机视觉正处于爆炸性增长阶段,正从工厂中的传统自动化向人们工作、生活和娱乐的世界过渡。尽管从理论角度来看,计算机视觉已是一个成熟的研究领域,但实用的普适视觉的发展尚未达到同等水平,因为相关系统受限于缺乏足够节能的硬件来运行移动应用,一直局限于实验室和工厂之中。其根本困难主要在于消费设备所面临的计算和成本要求。
人类视觉是即时的:我们睁开眼睛就能立即识别并分类物体以及场景结构。我们并未意识到的是,大脑在无意识中调用了巨大的计算资源才实现了这一切。当我们的双眼睁开时,视觉占据了大脑电活动的三分之二,而传感器——我们的眼睛——就与大脑位于同一个体内。令人惊叹的是,大脑仅消耗约20瓦的功率,依靠环保的可再生糖类供能,却能实现我们梦寐以求在机器上复制的所有功能。即便如此,如今我们对人类视觉的粗略模拟,已经开始在实际的功耗和成本范围内产生有用的结果。
随着云计算的出现,人们很容易认为仅靠云就能承担与视觉处理相关的计算负载。然而,处理巨大体积的视觉数据的获取仅少数大型公司能够实现,而网络带宽无法应对摄像头的大规模使用。能效是一个重大问题,通过无线方式传输数据进行远程计算,其每项操作消耗的能量可能比在设备中本地处理高出一百万倍。
在虚拟或增强现实、自动驾驶车辆和机器人等应用中,将处理甚至有限的决策推向网络边缘的另一个原因是,数据中心在延迟方面存在严重问题。最后,云隐私也是一个令人关注的问题,尤其是当我们考虑到我们监控的对象大多数情况下是人类时。我们自己的大脑与眼睛共处一处,能够在视觉数据产生的源头附近进行处理,而我们的反射则通过局部神经回路来应对刺激传送到大脑再返回肌肉所产生的延迟,从而节省时间,使我们能够远离“危险”。
将计算资源放置在信息物理系统中的光学及其他传感器附近,显然可以解决许多相同的问题。除此之外,对于许多应用而言,我们或许不仅需要“无处不在的智能”,还需要“无处不在的眼睛”。在科学与技术文献中,最接近这种“无处不在的眼睛”范式的系统被称为“嵌入式视觉”和“视觉传感器网络”。
一方面,嵌入式视觉指的是集成到更复杂设备(如汽车或医疗设备)中的视觉系统。这些系统是基于个人计算机和智能相机的固定式工业视觉系统的自然演进。尽管这类系统正被越来越多地使用,但其对功耗和尺寸的要求并不十分严格,且开发通常是特定应用导向的。
相反,视觉传感器网络的目标是更小、更高性能视觉传感器节点,能够作为独立节点运行;然而,标准的多样化以及互操作性的缺乏阻碍了其广泛采用和商业化,导致一些研究人员[15]观察发现:“鉴于已提出的大量设计方案,令人 somewhat 惊讶的是,基于开放架构的通用嵌入式智能摄像头很难找到,更难购买。”
当前的异构平台(如手机应用处理器)可用于原型算法的开发,但根据已发表的结果,它们似乎仅限于 VGA 30帧/秒分辨率和约5瓦功耗。Oculus首席技术官约翰·卡马克等技术人员表示,应用处理器的功耗限制使得虚拟现实体验的实际持续时间约为15分钟。即便如此,实现相对简单的功能在这些平台上,流水线涉及协调多个 ARM 处理器、NEON SIMD 扩展和图形处理器的高复杂性,它们都必须通过共享访问或复制数据的方式对内存中的数据结构进行共享访问。
当数据需要复制到 GPU 并从 GPU 复制回来时,这意味着必须达到一定粒度的 GPU 任务,才能使数据来回传输的努力物有所值。这种复杂性必须由程序员显式管理,结合用于 ARM 的 C/C++ 代码、用于 NEON 的 SIMD 汇编器、OpenGL ES 或 OpenCL 着色器,或通过供应商提供的库和 API 来实现。
其他选项,例如微型 IP 和智能相机,在尺寸、功耗、成本或处理能力方面均无法达到要求。另外,2014年,飞思卡尔发布了可穿戴参考平台(WaRP)[16]。该可穿戴参考平台(WaRP)是首次尝试提供一个参考平台以支持可穿戴设备的未来发展。尽管可穿戴参考平台(WaRP)具有开放性、体积小且可连接摄像头的特点,但它并未针对移动嵌入式视觉进行设计,而移动嵌入式视觉在所需处理能力和功耗方面是最具挑战性的能力。
在此背景下,创新的视觉应用通常基于(效果有限的)DIY 套件和智能手机,或由能够资助所需特定硬件和软件开发的大型企业提供支持。而研究机构和学术界似乎缺乏一个多功能平台,用于部署创新的视觉应用,并基于该领域的最新进展快速设计新产品。
崭新的可能性
在上述背景下,Movidius 公司致力于将人类视觉和场景理解带入移动设备,使移动设备具备低功耗、常开型视觉功能,并实现交互式服务、自动驾驶汽车和机器人所需的极低延迟。Movidius 公司正在使一系列全新的计算机视觉应用首次进入手机、平板电脑和摄像头等嵌入式设备的大众市场。
第一代 Movidius Myriad 视觉处理器(Myriad1 VPU)为谷歌的 Project Tango 项目中的计算机视觉子系统提供动力(见图3),它以比当前市场上任何其他解决方案低十倍的功耗,完成所有高性能 ISP、特征跟踪和跟踪任务[19]。2014年8月,Movidius 推出了第二代产品 Myriad2,其设计目标是实现比前一代 Myriad1 高20至30倍的每瓦性能。
Myriad2 是一款片上系统,集成了软件控制的多核处理器、多端口内存子系统以及可配置缓存,能够处理广泛的工作负载,为12个处理器、两个 RISC 处理器以及高性能视频硬件加速器滤波器提供极高的可持续片上数据与指令带宽。持续吞吐量达到600 mp/s 意味着 Myriad2 可以在低于20%的可用像素带宽下实现 1,080p120。
由于 Myriad2 具有高度节能的架构,使用12个 SHAVE 处理器和 Myriad2 中的一个硬件加速器计算的 OpenCV 兼容多尺度 Haar 级联(包含20级),能够在少于7毫秒内为每个 1,080-p 分辨率帧完成50,000个多尺度分类(这是沉浸式虚拟现实[11]的关键要求)。
由于其卓越的性能以及对嵌入式视觉系统的专注,Myriad2 最近被选用于支持“万物之眼”(EoT 平台)[18]——由欧盟“地平线2020”研究与创新框架计划资助的一项创新项目。该项目的目标是构建一种可嵌入的常开型计算机视觉系统,可用作任何需要移动/嵌入式视觉应用的通用平台。
EoT 平台开发的硬件和软件基础设施将向原始设备制造商和公众开放,EoT 节点的应用场景极为广泛,包括可穿戴设备、无人机、机器人和监控等。预计使用 EoT 平台可使基于视觉的先进应用上市时间缩短高达41%。
结论
很明显,广泛的计算摄影和计算机视觉技术能够极大地提升用户体验。尽管这些技术已被充分理解,但目前仍处于相当大的变动状态,因此无法采用固定功能硬件,因为这些应用中的许多甚至全部都不存在一种通用的设备或算法。在这种背景下,针对视觉工作负载进行优化的软件可编程设备显然能够提供功耗与性能的最佳平衡。
我们相信,VPUs 将成为使用开放 API(如 Khronos OpenVX[20])处理此类工作负载的行业标准方式,就像 GPUs 被用于处理计算机图形工作负载一样,而 Myriad 只是这一类设备的首个示例设备推向市场。
在我们看来,专为计算机视觉设计的具备能力、灵活性和高效能的同构处理器架构的出现,将使用户开始期待“生活在未来”,即始终在线的计算机视觉应用可在高清分辨率下运行,功耗仅数百毫瓦。这些平台将被应用于多种场景,包括独立式增强现实显示器、可穿戴设备、无人机、移动机器人、监控摄像头以及平板电脑和手机,在这些设备中,计算机视觉处理器将繁重的任务从应用处理器卸载。
这是设备设计者首次能够以极低的功耗要求,在创纪录的时间尺度内专注于设计具备革命性计算机视觉功能的世界领先产品。
更多推荐
所有评论(0)