最新发布《数智时代的AI人才粮仓模型解读白皮书(2024版)》,立即领取! 了解详情
写点什么

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



公众号推荐:

跳进 AI 的奇妙世界,一起探索未来工作的新风貌!想要深入了解 AI 如何成为产业创新的新引擎?好奇哪些城市正成为 AI 人才的新磁场?《中国生成式 AI 开发者洞察 2024》由 InfoQ 研究中心精心打造,为你深度解锁生成式 AI 领域的最新开发者动态。无论你是资深研发者,还是对生成式 AI 充满好奇的新手,这份报告都是你不可错过的知识宝典。欢迎大家扫码关注「AI前线」公众号,回复「开发者洞察」领取。

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

发布了 368 篇内容, 共 170.4 次阅读, 收获喜欢 939 次。

关注

评论

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

SQL SERVER的统计信息

lixiaofeng

SQL优化 签约计划第二季

学习 27 门编程语言的长处,提升你的 Python 代码水平

Python猫

Python

读《思辨与立场》-01定义

wood

28天写作 批判性思维 思辨与立场

端口是什么东西?为什么老是被黑客利用

喀拉峻

黑客 网络安全 安全

从WAVE SUMMIT+2021,寻找新一代AI人不可或缺的“凝视”

脑极体

LeetCode刷题开源手册

入门小站

Leet Code

Spring AOP(三) Advisor类架构

程序员历小冰

28天写作 spring aop 12月日更

前端架构师破局技能,Node.js 落地 WebSocket 实践

杨成功

架构 前端 架构师 nodejs websocket 签约计划第二季

关于分布式事务的思考

yuexin_tech

聚集索引数据写入

lixiaofeng

索引优化 签约计划第二季

漏洞学习篇:CVE漏洞复现

网络安全学海

黑客 网络安全 信息安全 渗透测试 漏洞修复

MySQL MGR + 自研脚本实现高可用

lixiaofeng

MySQL 高可用 签约计划第二季

MySQL Xenon源码阅读-01

lixiaofeng

MySQL MySQL 高可用 签约计划第二季

MSSQL索引优化原理

lixiaofeng

SQL优化 签约计划第二季

“元宇宙”,让人在数据空间“复活”

xcbeyond

28天写作 云宇宙 12月日更

Go+ 上下文处理教程(5.3)

liuzhen007

28天写作 12月日更

MSSQL 执行计划

lixiaofeng

SQL优化 签约计划第二季

谈跨域资源共享之CORS

devpoint

jsonp CORS 12月日更

趣谈 iOS Universal Link

37手游iOS技术运营团队

ios universal link

每个前端都值得拥有自己的组件库,就像每个冬天都拥有春秋裤⛄️

速冻鱼

前端 组件库 签约计划第二季 12月日更

Spring Native 0.11发布,带来新的AOT引擎和性能优化

Robert Lu

Java GraalVM

数据大体系(四)——标签

圣迪

大数据 标签 标签体系 数据体系

Feign入门篇

李子捌

微服务 28天写作 12月日更

MongoDB自动化运维

lixiaofeng

mongodb 签约计划第二季

Python Qt GUI设计:QMdiArea和QMdiSubWindow类实现多文档界面(拓展篇—3)

不脱发的程序猿

Python qt GUI设计 Qt Company 多文档界面

你真的了解inner join吗

lixiaofeng

签约计划第二季

MySQL MGR + 只读节点高可用

lixiaofeng

MySQL 高可用 签约计划第二季

golang 脚本实时监控错误日志

lixiaofeng

mongodb MySQL 运维 签约计划第二季

C#中的结构与类

喵叔

28天写作 12月日更

NCF框架如何实现WebApi(四)

MartyZane

实战 签约计划第二季 NCF DDD框架 WebApi

用 Go + Redis 实现分布式锁

万俊峰Kevin

微服务 高并发 分布式锁 go-zero Go 语言

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