写点什么

Facebook 智能摄像头 Portal 研发背后的那些事

  • 2019-03-20
  • 本文字数:4372 字

    阅读完需:约 14 分钟

Facebook智能摄像头Portal研发背后的那些事

去年 11 月份 Facebook 推出了两款视频通话设备 Portal 和 Portal+,相比传统的视频通话相框,Portal 借助人工智能技术和更加灵活的摄像头,让用户不必呆坐在设备前,摄像头就会自由、智能地跟随用户的位置,并根据用户的距离调试摄像头进行变焦。好神奇的设备!这究竟是怎么实现的呢?这设备研发的背后又有什么样的故事呢?


Portal,是 Facebook 新出的视频通话设备,它的强大功能之一就是由人工智能驱动的智能摄像头。智能摄像头能够像经验丰富的人类操作员那样拍摄,这样使用 Portal 的人就会觉得他们仿佛就在身边。智能摄像头不依赖于通常用于高级机器学习任务的专用服务器,而是完全在设备上执行复杂的计算机视觉(Computer Vision,CV)建模,使用类似高端移动芯片组的处理能力。


在不到两年的时间里,从零开始为 Portal 硬件构建全新的智能摄像头系统,这对计算机视觉发起了巨大的挑战。例如,即使在一间拥挤的房间里,人们走动着,交流着,Portal 也必须决定何时缩放视频画面以容纳新的对象,以及何时跟随某人走出框架。这些决策是 Portal 基本用例的核心部分,而不仅仅是个外设功能。


为了让智能摄像头能够有效做到这一点,Portal AI 和 Mobile Vision 团队利用了 Facebook 在人工智能领域的长期投资。为了创建一个比现有系统效率高两个数量级的新 2D 姿势检测模型,我们在我们开创性的 Mask R-CNN 模型上进行了创新。使用 Mask R-CNN2Go,2D 人体姿势估计在 Portal 上以每秒 30 帧的速率实时运行。我们使用这个新模型来通知 Portal 有关何时进行数字平移和缩放的决策,然后将它与一个单独的系统进行配对,以确保摄像头的移动看上去很自然,让人有身临其境的感觉。


最终的效果是这样的,这种视频通话体验适用于所有的人:父母不用拿着手机追着他们的小孩,小孩也可以参与打电话而不必站着不动,人们可以轻松地相互视频。



"Portal 智能摄像头演示视频截图,视频地址:https://ai.facebook.com/1319742961447503/videos/382300642587504/?t=54


在这篇博文中,我们将重点介绍创建智能摄像头的工作原理,首先回答一个简单的问题:如果我们只需要一个小型的移动处理器,该如何构建一架能够在各种环境展示人们的摄像头呢?

机械式摄像头与智能摄像头

Portal 是一种应用了计算机视觉技术的产品,但智能摄像头始于硬件挑战。早期原型机是以物理方式进行旋转来面对不同对象,但电动摄像头的缺陷也很明显:可靠性降低了,以及无法看到并响应远离摄像头指向的地方所发生的事情。鉴于此,我们决定开发一种固定的广角摄像头,它的动作完全是数字化的,但这样的摄像头需要一个真正灵活、高效的人工智能控制系统,能够做出快速而复杂的计算机视觉决策。智能摄像头一直是我们产品的关键组成部分,在我们重塑视频通话体验的计划中,它变得越来越重要。



第一个 Portal 原型机是依靠电机以物理方式来移动摄像头。


眼下的定位和跟踪受试者的计算机视觉方法还不够,现有的软件工具和摄像头硬件都不能满足我们设定的产品需求。例如,标准计算机视觉系统设计为在几英尺内运行,而这远低于 Portal 要求的 10~20 英尺范围。尽管 Facebook Reality Labs(FRL)用来捕捉详细的 VR(Virtual Reality,虚拟现实)环境的深度摄像头可以解决类似的挑战(如考虑到日光的变化),但 FRL 的工作并不是为了实时操作而设计的。没有一种方法或平台能够满足 Portal 的所有需求。随着团队开发出了更先进的模型,他们整合了 Facebook 各团队的研究和代码,创建智能摄像头更多样化的迭代。


对复杂、健壮的计算机视觉的需求

视频通话是一项特别棘手的计算机视觉应用,没有反悔的机会。当智能手机全景照片出现失真时,我们可以很轻松地删除照片并再来一遍。但通话中的关键时刻可不能像这样 “再来一遍” 的。由于 Portal 会在视频通话过程中做出所有计算机视觉决策,因此它不能从头到尾查看整个视频来确定如何处理意外事件。如果系统可以窥探未来的话,那么它就可以预测某人何时出入房间,或者在有人开始兴奋地四处走动之前,就抢先重构场景。


现实世界的各种情况也构成了重大挑战。对计算机视觉系统来说,识别出祖母在光线充足的地方将孙女抱在膝上,这场景可能不是特别需要处理器进行处理。但如果这个蹒跚学步的孩子如果爬到房间的阴影角落,然后被妈妈抱起来并走出视线外时,会发生什么呢?智能摄像头必须动态响应多个变量,并确定何时进行缩放和平移,以及要忽略的内容。


由于视频通话过程中的中断错误和延迟是不可接受的,因此计算机视觉系统必须完全在设备上运行。在本地处理视频也提供了增强的隐私,因为姿势检测或其他人工智能建模都不会离开设备。此外,Facebook 不会访问到 Portal 视频通话中任何内容,也不会将其用于广告。

智能摄像头的核心:Mask R-CNN2Go

为了创造满足这些需求的视频通话体验,智能摄像头依靠 2D 姿势检测,并辅以额外的计算机视觉技术。智能摄像头通过不断搜索要包含的相关对象,主动为给定场景进行帧化。由于它分析视频中的每一帧,Portal 能够忽略长时间未移动的潜在对象,如挂在墙壁上的肖像。它还可以优先考虑其视野范围内的内容,如,选择一个与听众交谈的对象,而不是背景中经过的人。


一个简单的计算机视觉系统,比如只使用头部检测或者围绕人身周围的边界框,可能很容易实现。但智能摄像头需要足够的准确度来考虑不同的姿势,因为有非常不同的取景选择,例如,某人是躺着还是站立着,就有非常不同的框架选择。


当 Facebook AI Research (FAIR)小组于 2017 年发布 Mask R-CNN 模型时,这是业界在简化实例细分方面的一个突破,在国际计算机视觉大会(International Conference on Computer Vision)斩获最佳论文奖。但 Mask R-CNN 是基于 GPU 的方法,因此与 Portal 的移动芯片组不兼容。去年,Facebook 的团队合作创建了 Mask R-CNN2Go,这是一种全身姿势检测系统,只有几兆字节大小。这一来它可以做到足够小,从而能够在移动处理器上运行,非常适合在 Portal 中使用。



Mask R-CNN2Go 是一种高效轻量级框架。上图概述了模型的五个主要组成部分。


智能摄像头由 Mask R-CNN2Go 驱动,保持了 Mask R-CNN 的高姿势检测准确度。同时运行速度也比这个模型快 400 倍。将姿势检测模型进行压缩 —— 从运行在桌面 CPU 到移动芯片 —— 迫使我们在模型质量上进行权衡。低质量的关键点(在帧变化过程中可能会引入抖动或其他视觉错误)对于我们所针对的稳定、自然的视频通话体验来说是不可接受的。为了弥补这一不足,我们开发了几种策略,包括通过对训练数据集中的低光样本应用数据增强及平衡多种姿势检测方法(如检测对象的头部、躯干和整个身体)来改善低光拍照性能。我们使用额外的预处理来区分彼此相邻的多个人。


我们还用别的方式推进了 Portal 移动芯片组的极限,包括开发 Qualcomm 的 Snapdragon Neural Processing Engine(SNPE)的手动优化。这些增加了软件已经在加速的深度神经网络的执行,以应对操作条件和 Portal 的特定硬件。这个过程的最终结果是,在 FAIR 最初的 Mask R-CNN2Go 研究发表不到两年之后,在商店中就推出了新的消费产品。


除了利用我们在 Mask R-CNN 上的工作外,Portal 还利用了我们对 AR 上的长期投资。Facebook、Messenger 和 Instagram 上已经部署了交互式 AR,得益于我们的 Spark AR 平台以及我们多年来在身体跟踪和细分方面所做的工作,我们能够以最小权重提升来整合即开即用的 AR,尤其是新的故事时间模式。这种简化的 AR 集成是我们整体战略的一部分,它为所有 Facebook 产品提供了一个通用的 AR 平台,包括 Messenger、Instagram 和现在的 Portal,让创作者创作一次效果,然后广泛部署,无论是今天的屏幕,还是未来的头戴显示器。

利用人类专业知识增强人工智能能力

即使我们解决了所有与响应实时姿势检测的的摄像头运动相关的极限挑战,早期原型的结果仍然让人感觉僵硬、机械。智能摄像头可以精确地缩放、平移和跟踪相关对象,但它的实际动作并不像我们在电影和电视中习惯的那种由人类控制的相机那样顺滑、流畅、直观。我们要明白这点:数学家和科学家是可以改进计算机视觉模型的,但不一定了解人们在情感层面上如何与摄像头体验互动,尽管我们有创意。或者,更确切地说,我们得向创意专业人士寻求帮助。


我们合作的电影制作人分享了一系列见解,其中一些是成熟的技术:例如专家如何进行构图,以及这些决定如何影响观众的期望;而另一些则更倾向于本能,更难以用人工智能来复制。在一项实验中,我们要求一组专业摄像头操作员拍摄一系列难以从单一角度捕捉动作的场景。分析结果发现,虽然经验丰富的专业人士拍摄特定场景的方式并不一致(尽管拍摄角度和拍摄对象相同,但不同摄影师经常做出不同的决定),但电影制作人会本能地使用微妙的动作来产生更自然、更直观的拍摄体验。我们仔细分析了这些动作,并将它们提炼成软件模型,目的是让智能摄像头模拟这种体验。事实证明,这种做法比简单的数学策略指导的运动更为有效。


例如,摄像头操作员通常只在全景模式下进行拍摄,但我们要求专家在全景模式和肖像模式下拍摄每个样本场景。根据他们如何为这两种模式进行构图,我们很快就意识到,必须提供两种截然不同的体验。在肖像模式下,他们的构图和镜头移动优先考虑给定场景中的关键人物。为了创造出一个更亲密的体验,他们使用更紧密的框架来展示这个人和他的表情,而不是他所在的环境。在全景模式下,摄像头操作员可以更轻松地捕捉场景中的更多动作。他们倾向于使用更广泛的构图,尤其是中景和 “牛仔镜头”,即从大腿中部向上取景。(这镜头的名字来自经典的西部电影,因为它可以包括演员的脸和枪套。)


我们将这些选择整合到智能摄像头中,利用全景模式展示场景中更多的活动,然后当有人将 Portal+ 转为肖像模式时,我们会切换到更近的、更倾向于一对一的构图。

智能摄像头的下一步是什么

智能摄像头是我们广泛多样的计算机视觉专业知识的结晶,包括我们首创的姿势检测技术以及我们在 Portal 开发过程中学到的硬件实现。但这也是基于人工智能的系统的一个例子,它由一组人类技能提供信息,将电影和摄影的细微差别融入到一个特征中,否则可能会对 Portal 为之设计的自然、轻松的面对面交流造成震动和扰乱。它简化了计算机视觉的方法,降低了计算强度(使用 Mask R-CNN2Go),展示了我们在这一领域继续取得的进展。


由于摄像头控制与人们及其环境的背景理解紧密相关,我们将继续推进计算机视觉和其他人工智能技术,以帮助我们更好地了解设备周围的世界。例如,当一个人在厨房做饭时,与他在沙发上看电视时相比,我们可能想要以不同的镜头,使用不同类型的摄像头动作。最终,Portal 不仅仅是用于视频通话,而是和你关心的人共度美好时光。为了更好促进这一点,我们还在寻找新的方法来构建人们可以通过 Portal 享受的共享体验。


原文链接:


https://ai.facebook.com/blog/under-the-hood-portals-smart-camera



2019-03-20 08:003222
用户头像

发布了 375 篇内容, 共 190.9 次阅读, 收获喜欢 947 次。

关注

评论

发布
暂无评论
发现更多内容

Android开发谈,html5移动开发即学即用网盘

android 程序员 移动开发

架构实战-模块一

唐敏

架构实战营

没想到!我在简历上写了“精通MySQL”,阿里面试官跟我死磕后就给我发了高薪offer

收到请回复

程序员 编程语言 后端

Android插件化入门指南,程序员必看

android 程序员 移动开发

极客时间 - 架构实战营 - 模块一作业

秋夫人

架构实战营

android插件化和热修复区别,扔物线学堂

android 程序员 移动开发

Android攒了一个月的面试题及解答,Android程序员必会

android 程序员 移动开发

【推荐】如何将枯燥的大数据呈现为可视化的图和动画?

云智慧AIOps社区

大数据 开源 大前端 数据可视化 大屏可视化

Android开发面试题!动脑学院安卓教程vip2019

android 程序员 移动开发

android插件化开发指南,享学课堂课程怎么样

android 程序员 移动开发

Android插件化主流框架和实现原理,挑战大厂重燃激情

android 程序员 移动开发

Android快速转战Kotlin教程,安卓已死

android 程序员 移动开发

极光笔记丨百亿级数据的实时存取优化与实践

极光JIGUANG

高可用 软件架构 多级存储系统 高性能存储

Android开发进大厂面试必备技能,大厂面试必备技能

android 程序员 移动开发

Android开发面试题目,动脑学院vip

android 程序员 移动开发

Android推送技术解析,Android开发工程师面试题

android 程序员 移动开发

android插件化资源冲突,享学课堂vip二期

android 程序员 移动开发

Android教程,享学androidvip

android 程序员 移动开发

Android最新实习面试经验总结,我就不信你还听不明白了

android 程序员 移动开发

卷王如何刷力扣

bigsai

数据结构 算法 刷题

Android开发者面试如何系统复习,Android小技巧

android 程序员 移动开发

Android技术类校招面试题汇总:扔物线rxJava

android 程序员 移动开发

COSCon'21 参会指南 你想要的这里都有

开源社

开源社区 第六届中国开源年会 COSCon'21 开源社

Android性能优化面试题集锦,架构师必备

android 程序员 移动开发

Android开发面试技能介绍,动脑学院架构师vip视频

android 程序员 移动开发

Android性能优化推荐书,享学课堂课程怎么样

android 程序员 移动开发

Android技术类校招面试题汇总,享学课堂Android架构师课程

android 程序员 移动开发

Android技术类校招面试题汇总:android享学课堂vip课程下载

android 程序员 移动开发

android插件化原理,android开发视频百度网盘

android 程序员 移动开发

Android最牛教材!kotlin入门教程百度网盘

android 程序员 移动开发

从错误中学习

FunTester

学习 测试 bug 自学 FunTester

Facebook智能摄像头Portal研发背后的那些事_AI&大模型_Eric Hwang_InfoQ精选文章