最近,韩国MBC电视台制作的一档名为《遇见你》(너를 만났다)的记录片让无数网友潸然落泪。纪录片讲述了一位母亲在VR技术的帮助下,与因绝症去世的年幼女儿娜妍重逢的故事。真挚的思念之情以及VR技术的利用一时间成为网络上热门的话题。

而今天我想跟大家分享的,是 “与娜妍重逢”背后的技术。在这部纪录片的展示中,包含照相建模技术,动作捕捉,自然交互、虚拟现实以及人工智能语音合成。那么下面就让我们一一道来。

一、 照片建模技术

传统的建模技术大多靠人工进行修改,费时费力,并且模型精度对建模师的技术水平要求较高。然而随着VR/AR技术的发展和3D影像需求的增多,传统的3D建模方式越来越难以满足大规模的应用需求。越来越多的全新建模技术都在投入使用和尝试,照相建模就是一种相对成熟且建模质量较高的技术。

照片建模的原理是建立一个相机矩阵,将建模物体放置在正中进行照片采集,再通过AI算法将拍到的多张各角度的照片进行图像处理,最后生成3D模型的方式。目前相关技术已经十分成熟,其拍摄速度可以缩短到1/200s甚至更低,数秒内就能完成模型的初步创建。通过高质量相机的拍摄,模型的精度也能够达到经验丰富的建模师甚至数周才能完成的的工作水平。

制作方利用照相建模技术重建娜妍的模型

诺亦腾 在“数剧京韵”项目中采用照相建模技术制作京剧演员的高精度数字模型

二、 动作捕捉技术

动作捕捉技术与照片建模技术相辅相成,可以说两者将动画制作的流程提高了至少五到十倍。照片建模技术优化了动画师模型建模的过程,而动作捕捉技术则提高了动画制作的效率。传统的动画制作是通过手动修关键帧,然后软件自动对关键帧之间做平滑处理从而形成动画,这样的话,关键帧的数量就会极大影响动画制作的质量。而动作捕捉设备,可以把虚拟的模型与真人直接链接在一起,动捕演员做什么样的动作,模型就会跟着做什么样的动作。

利用惯性动作捕捉系统完成虚拟角色

除此之外,人的运动是一个十分复杂的过程,涉及到全身各部分肌肉的协调。要制作出优质的动画内容,需要经验和时间的沉淀,网上有不少调侃动画师门槛的短片,其实向我们描述了一个合格的动画师的养成到底有多大的难度。但是通过动捕,即便是一个建模新手,也可以快速让建好的3D模型动起来,并且和真实的人体运动一模一样,全身的每一处微小动作,都和人运动的过程一致,这就是动作捕捉的魅力。

虚拟数字人娜妍,就是MBC请一位小女孩,穿好动捕服之后,根据导演写好的剧本,做出各种鼓掌、挥手、奔跑等动作,然后记录下来,传输到模型中去的。也正是因为使用了动作捕捉+照片建模,MBC才能在短短八个月内完成真人模拟这种庞大的工作量。

三、自然交互

虚拟现实面世以来,新的交互形态一直是大家所讨论的核心话题之一,因为当我们的信息媒介从一个小小的显示器变成了一个360度无死角的大场景后,现有的鼠标、手柄、键盘等工具就再也不是最适合我们的交互手段了。人们肯定希望能更流畅精准地进行自然交互,就像钢铁侠那样。

在电影《钢铁侠》中所展示的手部自然交互

MBC选用的交互方式,是诺亦腾的动作捕捉手套Hi5。在视频中可以看到,妈妈在戴上手套之后,抚摸了虚拟娜妍的脸颊,拉起她的小手,并且给娜妍的生日蛋糕插上了蜡烛。这也是整个视频中,让人泪目的瞬间之一。

四、MR拍摄技术

视频中我们可以看到,妈妈站在一个全都是绿色幕布的地方,旁边的摄影师拿着相机进行拍摄,但是拍摄出来的画面却是娜妍最喜欢的公园。

这个技术在影视拍摄中经常使用,实际上这是两段视频流的叠加,虚拟的娜妍和虚拟的公园是一段视频流,而妈妈作为真人,去除绿幕背景后,是作为另一段视频流叠加到虚拟场景中的。绿幕使用的荧光绿色在电脑系统中更容易与前景分离,同时这种颜色较为明亮,不易产生黑边,这是选择这种颜色作为背景色的原因。

将妈妈在绿幕的视频拍摄下来之后,传到电脑中,再通过实时抠像去除绿幕背景,最后将 “抠”下来的视频放到另一个背景中去,就形成了我们看到的画面。例如下图是,左边显示器里头是拍摄效果,右边是拍摄场地。

五、虚拟现实

关于虚拟现实的科普想必大家这些年也听的不少了,但是其实虚拟现实的基础原理是我们高中物理所了解到的:双眼视差。

简单来说,人眼对3D感的识别来源于两路不同的视觉信号,这两路信号记录了不同角度物体的反光、阴影、背景等信息。当两路信号到达大脑之后,大脑就会对这些信息进行处理,从而产生所谓的立体感,而虚拟现实的两路信号,就是通过虚拟现实头盔里面双眼对应的显示器显示出来的。那么为什么单眼也能有强烈的3D感呢?那是因为大脑会对光影关系、透视关系、空间遮挡等进行识别。例如带上头盔靠近物体的时候,这个物体会变大,远离它则会变小,这种情况下,我们的大脑也会默认这是个立体的物体。例如下面这张图,大家都会认为这是个立方体,但是实际上,我们也可以说它们是2D的三个平行四边形

六、人工智能语音合成技术

为了从多方面还原娜妍的虚拟形象,VIV Studio(MBC找的技术团队) 还引入了 AI 语音合成技术,让这个虚拟人物能够发出和娜妍一样的声音,让妈妈可以和娜妍展开简单的对话。这项技术需要足够数量的样本,好在由于对女儿的思念,张妈妈保留了非常多女儿的视频记录。技术人员从娜妍的声音样本中提取了她声音的核心,并且另外请到了五位小朋友进行录音,作为娜妍声音样本库的补充。最终,技术人员成功还原出了相似度极高的娜妍声音,并且将其应用在娜妍的虚拟形象上。

技术团队正在录制语音,以合成人工语音

无独有偶,今年的一月份,国内一位失去15岁女儿的妈妈就找到阿里人工智能实验室,希望制作一个女儿的AI程序和自己进行对话。但是最终因为伦理问题,阿里仅仅为其还原了女儿的声音,但并未制作人工智能产品。

随着科技的进步与发展,虚拟现实和真实世界的边界正在逐渐缩小,也许未来的某一天,我们真的可以像《头号玩家》一样去畅游在虚拟世界里面,我们也可以同这位妈妈一样,去完成人生的遗憾,再看一眼那些自己思念的人。但是不论如何都要记住,技术永远是为了让真实的世界更加美好而存在的。

动态捕捉(一)VR纪录片例子相关推荐

  1. 主打VR纪录片!BBC团队推出VR内容移动平台

    只要在智能手机上下载<BBC Taster VR>,再配合VR头显即可观看VR纪录片. 作为世界知名的新闻广播机构,BBC不仅为大家提供传统纪录片,现在还开始尝试VR纪录片.最近,BBC ...

  2. 长沙云图VR丨VR纪录片《我生命中的60秒》入围威尼斯国际电影节

    意大利当地时间7月31日,第77届威尼斯国际电影节公布"VR竞赛单元"入围名单,来自中国的VR纪录片<我生命中的60秒>成功入围,成为全球首部入围国际A类电影节的疫情题 ...

  3. CAD制图该怎样设置动态捕捉?

    在CAD制图设计工作中,我们常常需要做很多不同的CAD制图设置,以便于提 高制图效率.小编今天就和大家简单的分享一下,CAD制图该怎样设置动态捕捉?具体演示操作如下: 我们可以选择在CAD编辑器专 业 ...

  4. unity表情动画与动态捕捉表情

    人物表情可以使游戏场景中的人物更加逼真,有趣,而人物表情在3A大作中非常常见,自己独立游戏中正好要使用这个功能,所以探讨下这个问题. 常用的表情动画使用以下这么几种 1骨骼动画,2顶点动画,3uv动画 ...

  5. UE5全身动作捕捉和VR技术即将上架

    哈喽,大家好,我叫人宅,很高兴和大家一起分享一下我们即将上架的课程: 全身动作捕捉 + VR技术 课程具体有哪些内容呢? 1.全身动作捕捉研发 全身动作捕捉数字人技术 这快我们将会采用自研的方式来. ...

  6. 三维看房动态虚拟,VR房地产场景展示

    VR房地产展示VR全景看房3D场景可视化制作是运用三维虚拟现实技术,创建一个VR全景看房虚拟世界的3D场景可视化,让房地产融入于3D场景和VR全景展示中.商迪3D运用VR全景.3D场景和3d可视化技术 ...

  7. 摄像头动态捕捉小程序

    Opencv摄像头实时捕捉小程序 驱动摄像头 加入Canny边缘检测 加入Sobel边缘检测 先上一个好玩的动图看看结果: 驱动摄像头 首先先驱动摄像头 实现的代码如下: #include <o ...

  8. c++ 类文件的动态库生成及调用例子

    https://blog.csdn.net/josiechen/article/details/70174445 首先,创建一个简单的类,类头文件的名称与项目工程的名称应该一致, 控制台项目工程名:t ...

  9. java实现Excel动态列导出的简单例子

    可以通过该对象的set方法设置各个参数,headKey保存结果集中,数据对应的key值,ArrayList最佳,保证了导出列的顺序,同时限制了每个sheet页保存的最大数据行数为5W条,这些参数也可以 ...

  10. 利用Flash获取摄像头视频进行动态捕捉

    一.引言 摄像头游戏是随着摄像头的普及和图形图像技术的不断发展而出现的.它摆脱了鼠标键盘的限制,给游戏者带来全新的游戏体验,能够实现许多传统游戏无法实现的游戏效果.它通过摄像头将玩家投影到游戏中,由玩 ...

最新文章

  1. 云服务器dns配置文件,linux服务器dns配置文件
  2. cv2.VideoCapture().set(propId, value)设置摄像头图片大小的用法
  3. 佐治亚理工学院硕士建议:2022年你应该掌握这些机器学习算法
  4. 浅谈 underscore 内部方法 group 的设计原理
  5. U盘从4G变为了75M 恢复U盘容量的方法
  6. PHP如何用mvc,在PHP中使用MVC模式进行开发
  7. Golang基本数据类型的相互转换
  8. /etc/profile与/etc/bashrc、交互式与非交互式、login与non-login shell的差别
  9. java分层窗格_java 简洁的分层实现
  10. 人工智能技术的三大学派_什么是人工智能?它离我们有多远
  11. 首份《敏捷回顾年度报告》发布
  12. c语言单片机当型编程,手把手教你学单片机的C语言程序设计(十四).pdf
  13. 计算机-计算机发展史
  14. ArcGIS 基础6-ArcCatalog数据库管理
  15. 西安理工大学计算机科学与技术分数线,2017西安理工大学各专业录取分数线
  16. Linux下 eclipse下载
  17. OpenStack之Live-migration
  18. 枚举,联合,宏定义,结构体
  19. 小小的Toast蕴含大道理(解决关闭通知时原生Toast不显示问题)
  20. 粤嵌6818开发板项目

热门文章

  1. ET代理_切换ip软件网络功能。
  2. matlab模糊闭包,基于matlab的模糊聚类分析
  3. 计算机几何 - 如何判断一个多边形是凸多边形还是凹多边形
  4. 使用ASP.NET快速开发平台,获得表单源码,用珍藏资料换来的代码生成器!
  5. 一种简单的不净观(女人)方法,帮助看破色欲
  6. STEAM 自动安装时提示C++ 安装不了等问题
  7. 静默安装weblogic
  8. 数据库关闭的四种方式
  9. 微信公众号支付接口php代码,关于微信支付PHP SDK之微信公众号支付实现代码
  10. oracle临时表空间占用率过高,ORACLE 临时表空间使用率过高的原因及解决方案