微软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 ...
随机推荐
- Linux(CENTOS7) Tomcat服务成功发布但局域网浏览器无法访问
问题 : 我在linux搭建了一个tomcat服务器,tomcat开启后,发现在局域网浏览器上无法访问该tomcat,浏览器报无法访问服务器错误,我查看了tomcat的日志,路径..../tomcat ...
- 5. react 基础 - 组件拆分 和 组件传值
1.将 todoList 进行拆分 创建 编写TodoList.js import React, {Component, Fragment} from 'react';import TodoItem ...
- 2. Rabbitmq php 安装 amqp 拓展
记录一下 使用 rabbitmq 安装 amqp 拓展 环境 ubuntu 安装目录在 /user/local 下进行 1. 安装 wget apt-get update apt-get inst ...
- Momentum
11.6 Momentum 在 Section 11.4 中,我们提到,目标函数有关自变量的梯度代表了目标函数在自变量当前位置下降最快的方向.因此,梯度下降也叫作最陡下降(steepest desce ...
- 绩效软件交流-ZQDJ
积分制(主管激励下属)短期任务积分 长期任务积分 制度积分 固定积分任务工作项 评估表 ,取中间值工时调整 工作表现 创新加分 难度加分 贡献加分 绩效分-积分(软件亮点) 分开做 没有管理员的中层 ...
- 201412-1 门禁系统 Java
类似于201312-1 出现次数最多的数,了解一下Map的containsKey方法和containsValue方法 **containsKey** boolean containsKey(Objec ...
- RepeatSubmitInterceptor extends HandlerInterceptorAdapter
package com.ruoyi.framework.interceptor; import java.lang.reflect.Method; import javax.servlet.http. ...
- vue实现简单的过滤器
html片段: <script src="https://unpkg.com/vue"></script> <div id="app&quo ...
- 吴裕雄--天生自然深度学习TensorBoard可视化:projector_data_prepare
import os import numpy as np import tensorflow as tf import matplotlib.pyplot as plt from tensorflow ...
- Python—快速排序算法
# _*_ coding=utf-8 _*_ """ 快速排序: 通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比 另外一部分的所有数据都要小,然后 ...