微软Hyperlapse技术:让第一人称摄像稳定而流畅
编者按:GoPro等第一人称摄像设备已经几乎成为了极限运动者的标配,但拍摄过程中的抖动常会让画面非常糟糕。微软Hyperlapse技术实现了将第一人称录像转化成稳定而流畅的视频。该成果的论文已发表在SIGGRAPH
2014大会。

Kopf头戴GoPro在攀登舒克桑山(Mount
Shuksan)
可以头戴的GoPro、iON这些第一人称摄像设备如今几乎成为了极限运动者的标配,无论是远足、登山还是漂流,一段从第一人称视角出发记录下主人公全程见闻的录像都会是日后弥足珍贵的回忆。但是,由于行进过程无可避免中的跑动和攀爬,有时剧烈抖动的画面就会令观看者顿时兴致全无。更糟糕的是当你想把全过程的视频快进,以免视频太过冗长让人失去兴趣时,抖动却会被进一步放大。
有类似苦恼的,还有微软研究院研究员Johannes
Kopf。Johannes是一名登山爱好者,一直想和朋友们分享自己从大本营出发到登顶的全过程。但当他试图将用GoPro拍摄下的录像快进浓缩成较短的视频时,他意识到自己想要和朋友们分享的愿望要落空了,因为市面上没有一种修复抖动的软件能让抖动的画面稳定下来。传统的抖动修复技术是将画面边缘的像素删除,来使得前后画面连贯起来。但面对第一人称的头戴式录像,晃动使得画面发生跳跃,要得到可以观看的视频就需要全新的解决思路。
于是Johannes与微软交互视觉媒体组(Interactive
Visual Media
Group)合作,开始了名为“Hyperlapse”的全新技术的研发,它能将抖动的第一人称录像转化成具有延时摄影效果、且稳定而流畅的视频。效果请见演示视频:
Johannes和同事们采取的方法是,首先根据原始视频,通过算法还原相机在拍摄过程中的运动轨迹,以及相机相对于每一帧画面中物体的距离和角度。接着,优化并模拟出一条相比原来更顺滑的相机运动轨迹,并从原始视频中抓取、拼接像素来重建在这条新轨迹下的场景,从而输出一段延时摄影效果的稳定、流畅的视频。
相机运动路径的还原与重构
日前,该项成果的论文已经被在温哥华召开的SIGGRAPH
2014接受。SIGGRAPH是由ACM
SIGGRAPH(美国计算机协会计算机图形专业组)主办的计算机图形与交互技术年度顶级会议。下面的视频更详细地介绍了背后的技术原理:
Johannes表示这绝不是这项技术的终点。他和同事们已经设计了一系列新算法来让加快渲染新视频的过程和减轻对计算机运算能力的负荷,最终他们计划将这项技术产品化,将其以Windows
应用的形式呈现给普通用户。
——————————————————————————————————————————————
相关阅读:
Hyperlapse: Technology that
can dramatically smooth motion in first-person
videos
欢迎关注:
微软亚洲研究院官方网站:http://www.msra.cn/zh-cn/default.aspx
微软亚洲研究院人人网主页:http://page.renren.com/600674137
微软亚洲研究院微博:http://t.sina.com.cn/msra
微软Hyperlapse技术:让第一人称摄像稳定而流畅的更多相关文章
- Microsoft Hyperlapse——让第一人称视频更快更流畅
Hyperlapse--让第一人称视频更快更流畅" title="Microsoft Hyperlapse--让第一人称视频更快更流畅"> 职业摄影师Nick Di ...
- 微软HoloLens技术解谜
HoloLens 是什么? HoloLens 是微软发布的可穿戴式增强现实计算设备,它拥有这么几个关键要素: 它是增强现实产品,即 Augmented Reality(AR),AR 技术将计算机生成的 ...
- 微软开放技术(中国)携 CKAN 和 OData 技术引入基于 Azure 的开放数据平台
今天,微软开放技术(中国)通过微软公有云Azure引入一个全新的开放数据平台,该平台基于开源数据门户解决方案 CKAN,以及由微软开放技术(中国)特别针对中国市场优化的ODATA插件来增强其国际化和本 ...
- 微软的技术态度 -- 从其对于CRT的设计考虑说起
很多人从C语言学习过来的人都知道,在编写程序时用到的像printf这样的函数,是作为该语言标准库函数提供的,这也是C语言标准中规定的内容.因此,操作系统必须对其保持一定程度上的透明,也就是说,作为一个 ...
- 微软开放技术发布开源 Jenkins 插件以将 Windows Azure Blob 服务用的开作存储库
发布于 2014-02-10 作者 陈 忠岳 持续集成 (CI) 的历史源远流长, 其宗旨在于软件团队在敏捷环境中不断将他们的工作整合为持续构建.管理 CI 进程的工具已存在一段时间.过去几年中 ...
- 【转】265行JavaScript代码的第一人称3D H5游戏Demo
译文:http://blog.jobbole.com/70956/ 原文:http://www.playfuljs.com/a-first-person-engine-in-265-lines/ 这是 ...
- 微软RPC技术学习小结
RPC,即Remote Procedure Call,远程过程调用,是进程间通信(IPC, Inter Process Communication)技术的一种.由于这项技术在自己所在项目(Window ...
- 微软的技术态度 -- 从其对于CRT的设计考虑说起(Thought on the CRT - What Microsoft Prefers)
很多人从C语言学习过来的人都知道,在编写程序时用到的像printf这样的函数,是作为该语言标准库函数提供的,这也是C语言标准中规定的内容.因此,操作系统必须对其保持一定程度上的透明,也就是说,作为一个 ...
- Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十五章:第一人称摄像机和动态索引
原文:Introduction to 3D Game Programming with DirectX 12 学习笔记之 --- 第十五章:第一人称摄像机和动态索引 代码工程地址: https://g ...
随机推荐
- [NSConcreteValue doubleValue]: unrecognized selector sent to instance
今天需求说要给在进入某个页面给某个按钮加上放大效果,心想这还不简单,于是三下五除二的把动画加上提交测试了. 下面是动画的代码 NSTimeInterval time = CACurrentMediaT ...
- 第22章 Makefile基础
一.自动处理头文件的依赖关系 在Makefile中插入如下代码: include $(sources:.c=.d) %.d: %.c set -e; rm -f $@; \ $(CC) -MM $(C ...
- Druid数据库连接池获取连接阻塞(转载)
一. 背景 17年公司有个项目组在南京做项目的时候,开发框架用的是spring boot ,数据库连接池用的是druid,但老是遇到socket read timeout的错误,不得已放 ...
- 从西班牙、英国出租车与Uber之争,看共享打车未来发展趋势
一种新事物.新服务的崛起,必然会损害传统事物和服务的既得利益.比如在电灯泡发明之初,煤油灯企业就将电灯泡专利收购并"雪藏"以维护自己的利益.而电商的崛起,也让传统的线下实体店受到严 ...
- 线性齐次递推式快速求第n项 学习笔记
定义 若数列 \(\{a_i\}\) 满足 \(a_n=\sum_{i=1}^kf_i \times a_{n-i}\) ,则该数列为 k 阶齐次线性递推数列 可以利用多项式的知识做到 \(O(k\l ...
- Pytorch基础——使用 RNN 生成简单序列
一.介绍 内容 使用 RNN 进行序列预测 今天我们就从一个基本的使用 RNN 生成简单序列的例子中,来窥探神经网络生成符号序列的秘密. 我们首先让神经网络模型学习形如 0^n 1^n 形式的上下文无 ...
- JAVA8 函数式接口
一.什么是函数式接口 1.只包含一个抽象方法的接口,称为函数式接口. 2.你可以通过Lambda表达式来创建该接口的对象.(若Lambda表达式抛出一个受检异常,那么该异常需要在目标接口的抽象方法上进 ...
- linux(centos 7)安装及使用yum
yum介绍: Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于RPM包管理,能够从指定的 ...
- 吴裕雄--天生自然TensorFlow高层封装:Keras-多输入输出
# 1. 数据预处理. import keras from keras.models import Model from keras.datasets import mnist from keras. ...
- 892A. Greed#贪婪(优先队列priority_queue)
题目出处:http://codeforces.com/problemset/problem/892/A 题目大意:有一些可乐(不一定装满),问能不能把所有可乐装进两个可乐瓶中 #include< ...