学界 | 全景照片不怕歪!Facebook 用神经网络矫正扭曲的地平线

AI科技评论按:最近微博上的全景照片很火呀,相比各位都已经在自己的iPhone或者iPad上品鉴了多家IT公司的办公室、游玩了多个旅游胜地、享受了被小猫小狗环绕的感觉了。太平洋那头的Facebook也没闲着,从去年上线类似的功能以后,全世界 Facebook 用户们已经上传了七千万张全景照片了。

Facebook 支持多种全景照片和全景视频的拍摄方式,可以让人们把自己的全方位感受分享给好朋友们。如果用户有一个专门的全景摄像机,比如理光Theta S或者Giroptic iO,还可以直接把相机里的照片发布到Facebook上去。如今,多数高端安卓和iOS智能手机的内置相机也都有了全景模式,可以用来拍全景照片。

Facebook 在过去的一年中开发并上线了多种技术给用户提供更好的全景照片创建和分享体验,包括全景拍照、全景视频防抖,以及重新设计如何存储高分辨率媒体。最近,Facebook 还用到了深度神经网络来自动矫正全景照片的方向,可以给手机拍摄的照片直接带来更真实的包围感。AI科技评论对这篇介绍文章做了编译如下。

创建高分辨率全景照片

最近 Facebook 刚刚在 Facebook app中上线了一个新功能,用户可以在一个新的、能够无限滑动的界面里拍摄完整的360度全景照片。

由于全景照片会比一般的照片大很多,Facebook 首先需要解决的难题就是保证信息流里出现了一张全景照片的时候也能让用户流畅地在界面中拖拉滑动;同时,当用户停止滑动,移动手机或者转动手机看这张全景照片的时候,也能立即把全分辨率的照片加载出来。在屏幕立即上呈现全分辨率的照片或占用很多内存,所以当用户继续滑动页面往下看的时候,又会给加载新的内容带来延迟。

面对着这些挑战,Facebook 的工程师们重新设计了 Facebook 的底层照片处理机制,便于存储信息流中“拼贴”的照片以及呈现照片内容。

每张全景照片都会被转换为一张立方映射图,Facebook 之前也有类似的方法用在全景视频中。然后这些立方映射图会以多种不同的分辨率存储下来,而且每一个分辨率的版本都会分割为许多张小的 512x512 分辨率的图像。

当用户在信息流里刷到一张全景照片的时候,程序就会计算当前窗口渲染时需要哪种分辨率、以及用哪些小图像来拼贴成大图。如果当前需要的分辨率不可用,程序就会暂时渲染一个低分辨率的样子,同时等待网络把高分辨率的内容传过来。当用户进入全景照片移动手机和在屏幕上缩放观看的时候,程序会不停地做这样的全套计算。这样,原来的用户体验上不会有什么可感知的变化,却实现了千万甚至上亿像素的高分辨率全景图像显示。

用于全景照片的深度神经网络

用户公开上传到 Facebook 的上千万张全景照片形成了一个强有力的新数据集,Facebook 的研发人员们也就可以利用这个数据集改善自家的产品。这些数据可以和机器学习的方法联合起来,给用户带来更好的使用体验。

让人觉得全景照片不够真实的最常见的原因之一就是拍照的时候相机没有端平,然后最终的照片中也没有修复过来这些倾斜。比如下面就是照片倾斜的例子,拍照的时候相机拿歪了。呈现在照片里的地平线是倾斜的,完全破坏了照片的真实感。

对于传统的照片,用照片编辑软件修正这种倾斜是一件简单直接的事情,但是能够用于全景照片的这类工具并不多,而且修正球面上的倾斜旋转相当不直观。在拍摄全景照片的过程中,相机的旋转可以用 x 轴旋转(tilt)和 z 轴旋转(roll)两个参数来描述,如下方示意图所示。第三个方向的旋转,y 轴旋转(yaw),影响的是全景照片的起始点,但是这个方向上的旋转是不会造成照片内容的倾斜的。Facebook 的研发人员们就想开发出一种能够自动修正这些相机的旋转带来的照片倾斜旋转问题的方法。

为了解决这个问题,Facebook 的研究人员们使用了著名的深度神经网络架构 AlexNet,并对它做了一些相应的修改。用于网络训练的数据就是像前文中那样的照片,它包含了360x180度的完整球面环境,然后用等距离长方圆柱(equirectangular)投影转换为了一张矩形的照片。Facebook 的研究人员们首先假设这个问题的几何本质不需要颜色信息的参与,这样训练数据就可以简化为256x128分辨率的黑白照片。AlexNet 本来的设计是为了解决超过1000个类别的图像分类问题的,所以它最终的全连接层就有4096个输入和1000个输出。在 Facebook 的这个问题中,他们要解决的是一个回归问题,所以他们修改后的网络中,全连接层变成了4096个输入和 x 轴旋转、z 轴旋转两个值的连续值输出。

Facebook 的研究人员们用带有 x 轴和 z 轴旋转标签的图像训练了这个网络模型。训练数据集中包含了五十万张投影转换过的矩形照片,这些照片是研究人员们挑出来,总体没有旋转、倾斜的;换句话说,这些照片的 x 轴和 z 轴旋转全部都是0。在训练过程中,研究人员们人工地用随机生成的 x 轴和 z 轴旋转值对训练样本做旋转。如下的这个损失函数就会测量出这些随机生成的标签和网络模型预测结果之间的差值,并把减小这个差值作为网络的训练目标。

为了测试训练效果,研究人员们用一组给定的 x 轴和 z 轴旋转值对测试集中的图像做合成旋转。然后他们用训练过的网络模型分析这些旋转过的图像并记录模型给出的结果。这些已知的旋转值和模型给出的结果之间的差别可以归结为两个原因,1,模型没能完全解决这个旋转问题;2,所用的数据集还有一些问题,影响了模型的表现。这第二个原因也是真实存在的,Facebook 的研究人员们假定了选用的数据集总体是平直的,但是单独看其中的某个样本都还是有一些固有的旋转的。

所以,研究人员们用 [-4,-2,0,2,4] 度几种 x 轴和 z 轴旋转值中的所有组合在每一张照片都做了一遍,这就是用模型对每一张照片都过25遍。对于每一次所用的 x 轴和 z 轴旋转值,他们都会计算对应的旋转量。表示这种旋转量的最好的方法就是用3D图像中的一个常用工具:四元数(quaternion)。然后,模型会根据图像计算出另一个四元数旋转量。如果模型和数据中都不存在刚才提到的两个问题,那么这两个四元数就应当是相等的。实际中其实并不相等,所以在每一次计算中,他们都会把两个四元数相除,计算两者间的差值。最后,用以下公式算出每张图像在所有组合的下的差值的平均值。

以上公式中的计算都使用了四元数,因为它们用于计算差值和3D旋转的均值时非常好用。但是,这样就需要给每张图片计算新的 x 轴和 z 轴旋转值,因为数据集中的图像一开始的时候并不是完全平直的。这种平均差值就是对每张训练图像的真实方向的很好的预测。那么,研究人员们接下来简单地把四元数格式的平均差值转换为 x、y、z 轴旋转就可以更新图像的标签了。

在图像标签更新以后,就可以对模型做新一轮训练。模型一共经历了四轮训练和微调。在微调过程的最后,模型对全景照片算出的旋转值误差达到了0.1度的水平。每个阶段的训练都是从一个未经初始化的模型开始的,可以从下图明显地看到每个阶段中模型都收敛到了更小的训练损失。在另一项对抗测试中,模型也表现出了类似的收敛和误差值水平。模型的收敛表现足以让研究人员们得出结论:这样的“训练 - 微调”循环确实让模型学到了理想的旋转方程。

如下是一些经过旋转的全景照片结果,而且都是训练集之外的照片。从几组图片中可以看到,模型对于不同的内容类别都有出色的表现,不论有建筑这样的人造景观还是完全的自然风光。

结论

Facebook 的照片、视频、直播产品中都已经可以使用全景媒体。在这个过程中,具有沉浸感的内容也会带来一些特有的问题。这篇文章仅仅介绍了 Facebook 的研究人员们解决的问题里的几个。随着用户往 Facebook 上传这样的具有沉浸感的内容的速度越来越快,Facebook 也对研究的前景充满期待,他们相信类似这样的技术可以让用户用新的方式感受不同的地点和事件。

via Facebook Blog,AI科技评论编译

地址:https://code.facebook.com/posts/129055711052260/optimizing-360-photos-at-scale/

原文发布于微信公众号 - AI科技评论(aitechtalk)

原文发表时间:2017-09-01

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏DT数据侠

海量游戏、影视究竟哪部才是你的菜?交给这个推荐系统帮你选

在我们生活的这个时代,每周都有大量的新游戏、电影和剧集问世,追剧、追游戏并不容易,往往需要花费好几个小时浏览各种博客、媒体上的评价才能决定一部作品是否是你的菜。...

770
来自专栏程序你好

2018年十大人工智能技术趋势,人工智能的进步对未来的巨大影响

873
来自专栏大数据文摘

你真的看懂数据新闻了吗?

1635
来自专栏AI派

近邻推荐之基于物品的协同过滤

在了解了基于用户的协同过滤之后,还有基于物品的的协同过滤。它们的原理非常类似。在电商平台中经常看到“看了又看”,“看过它的人还看”等等推荐,这些推荐背后对应的算...

3235
来自专栏AI科技评论

全文|旷视科技孙剑:如何在大公司和创业公司做好计算机视觉的研究?

孙剑,博士,旷视科技(Face++)首席科学家、研究负责人。2003年毕业于西安交通大学人工智能与机器人研究所,毕业后加入微软亚洲研究院(Microsoft R...

3878
来自专栏人工智能快报

Google正在研发新型人工智能算法

据英国《卫报》报道,美国Google公司的杰夫•辛顿教授宣称,谷歌正在开发一种新型人工智能算法,该算法具有逻辑、自然对话甚至调情的能力。 辛顿教授表示谷歌正在研...

3408
来自专栏数据科学与人工智能

【数据科学】大数据科学方法变革和哲学思考

随着信息技术和网络技术的快速发展,人类所存储的数据越来越多,数据已经从量变走向了质变,成为了“大数据”(Big Data)。大数据概念首见于1998年《科学》(...

2147
来自专栏AI科技大本营的专栏

重磅 | 小米首次公开发表论文:基于注意力机制的端对端语音识别(附论文翻译)

文/CSDN周翔 今年 3 月,雷军在两会的媒体沟通会上表示,“去年年初,小米设立了探索实验室,不久将有重磅级的人工智能产品发布。” 昨日(7 月 26 日)下...

3526
来自专栏AI科技评论

视频 | AI实时生成材质,效果直逼好莱坞大片

我们的卷积神经网络可以提供这些图像的实时预测结果,这些预测与真正的渲染图像难以分辨,并且实时生成。

923
来自专栏AI研习社

工程师在 AI 实践的路上,可能会踩到这些坑——前 Amazon 中国研发中心架构师蔡超演讲

蔡超,移动营销平台 Mobvista 汇量科技技术副总裁,前亚马逊中国研发中心架构师,拥有 15 年软件开发经验,其中 9 年任世界级 IT 公司软件架构师 /...

4098

扫描关注云+社区