小伙伴们小时候有幻想过拥有隐身的能力吗?
或者拥有哈利波特电影中的“隐身斗篷”让自己实现隐身。
在现实生活中,就有人通过技术力实现了隐身的能力,而且他分享的办法还不止一种!
有这样的:
这样的:
以及这样的:
还有他自己琢磨出来的最终方案,隐身背板:
分享隐身技术的是来自 Youtube 上的技术大神 JLaservideo。事情的起因是 JLaservideo 在他视频的评论区中看到粉丝留言希望他分享能够实现隐身的技巧,作为宠粉狂魔,JLaservideo 马上就琢磨起了隐身的技术,并分享了出来。
三大流行隐身技术揭秘
1、视频剪辑法
起初,JLaservideo 想到了哈利波特中的隐身斗篷。
作为一名出色的视频剪辑师,他马上想到了,通过电脑特效可以实现类似于哈利波特的隐身效果。
这个办法,原理很简单,成本也是最低,小伙伴们可以在网上 9 块 9 包邮买一块绿幕,然后使用剪辑软件进行制作。这也是科幻电影制作特效的常用办法。
首先,我们要先用相机拍摄一张没有人物的静态背景图。
接着,人物身上披上方便剪辑软件抠图的绿色幕布。
最后,使用者只需要在剪辑软件上,将绿色幕布抠出来替换为先前拍摄的背景照片即可。这样,我们文章开头的这种效果就实现了。
当然,这个方法局限性较大。首先他只能以视频的形式实现。其次,如果摄像头的位置发生改变了,视频剪辑出来的效果会直接露馅,就像下面这样。
因为不符合在现实生活中实现实时隐身的效果,JLaservideo 放弃了这种方法,转向使用其他技术来实现隐身。
2、凸透镜隐身法
鉴于第一个方法无法实装到生活中。JLaservideo 开始从原理上研究如何实现隐身。
首先是,为什么我们会看到物体?从初中物理可以知道,看到物体实际上是看到了被物体反射的光线。感谢国家的九年义务教育,让我看懂了这段话
那么,我们在光线传播的过程中,通过某种方法改变特定区域内光线传播的路径,使之不进入我们的眼球,不就可以实现光学隐身了?
在我们日常生活中,接触到最多的能改变光线传播路径的当属透镜。小到放大镜,大到天文望远镜,都在使用透镜。
利用凸透镜聚焦光线的特性,当物体出现在焦点垂直面以及聚焦路径之外的位置时(如下图红色区域),物体反射的光线不会被凸透镜所展示,借此可以实现“光学隐身”。
要制作这样一组透镜光学设备也不难,总共需要满足 4 点要求:
两组不同焦距的透镜。两个焦距为 f1,两个焦距为 f2。
第一、二个透镜间距 t1 为两个不同透镜的焦距之和:t1=f1+f2,第三、四个透镜的间距同理。
第二、三个透镜间距 t2=2*f2*(f1+f2)/(f1-f2)。
按照计算的公式,将透镜进行摆放。大概花上 30 块钱的成本价,你也可以拥有在限定范围内的隐形手段了。
制作完以后,你就可以获得下面这样的装置了,当然,透镜越大,你的隐身区域就越大!
【 图片来源:哔哩哔哩 所有者:科学脑洞反应堆 】
相对的,如果透镜过小,可隐身的范围就会变得过于狭小。同时,透镜只能实现固定视角方向的隐身,实现移动到侧面时就会露馅。
鉴于可隐身空间太小以及装置的局限性过大,小哥开始研究起时下最热门的隐身装置 —— 隐身盾牌。
3、隐身盾牌
隐身盾牌可以说是隐身界大热门的产品。使用简单且效果出众,没有任何的学习成本,拿到就可以上手。
这个隐身盾牌仍然是利用了改变光线传输的办法实现隐身。
实现隐身的秘密就在于盾牌正面的这些柱状凸透镜。
在使用盾牌时,靠近盾牌后方一侧的物体所发出的光线会被盾牌的透镜折射扩散掉,使得能够进入人眼的光线变得极少,不足以成像,最终达到隐身的目的。
不理解的小伙伴可以借助下面这张灵魂图画进行理解,紫色的球发出来的光线直接被折射成了多份,已经不足以成像。
同理,如果从正面使用一根激光笔对着盾牌照射,本来聚成一束的光线直接就被折射成了条形的“散装”光线。
这样一块盾牌,仍然存在着问题,那便是柱状透镜的纹理方向是固定的。一旦盾牌从原来的竖放变成横放,光线的折射率下降,我们还是可以观察到盾牌后面的物体。
发现这块隐身盾牌的弊端之后,JLaservideo 拿着这块盾牌在外面随意的摆弄着,效果始终不满意。
直到灵机一动,拿起了之前拍的照片,把照片和背景重叠之后,他开始了有了新的想法。
以照片跟背景完美重叠为灵感,JLaservideo 决定使用相机和显示屏打造属于自己的隐身设备。
用代码作粘合剂,组合相机和显示屏实现隐身
这一次的思路非常很简单:用相机录制身体前方的照片,然后实时投影到背上的显示屏,这样背上显示屏,大家看到的就是我身前的场景,不就实现隐身了?(这题我会,我上我也行)
编辑我是行动派,直接上手操作一波!
emmmmm,好像某个环节出了问题。
我需要的是显示屏上所显示的画面完美与视野范围内空缺的那一块重叠,这样隐身才不会露馅!可这手机上显示的画面调来调去都不对呀,出丑了!
去看看作者怎么处理这个问题的,大伙一起学习一下。
好家伙,经过作者的一番小课堂,小编开悟了。原来,我们要做到屏幕展示的画面与人眼观察到的画面进行衔接,还需要处理一个叫做“视差效应”的东西。
处理视差效应需要设备对画面进行裁剪,或者摄像机能够跟人眼焦段实时匹配。很明显,对画面进行裁剪要方便一些,毕竟没有一颗摄像头可以实时切换焦段来匹配会出现在任意位置的眼睛。
JLaservideo 这次决定先不那么莽,他先是在手机上试验解决视差效应的前置步骤:让设备知道人眼所在位置,这样方便程序正确裁剪画面你的大小。
通过程序,作者实现了前置摄像头能够准确捕捉人眼位置,实现视频能够呈现追随人眼转动并伴有 3d 效果。
接着 JLaservideo 开始将摄像机和程序转移到笔记本电脑上,在电脑上边测试边做调整。
程序导入电脑后,人脸追踪功能测试正常,实机测试下效果看看。
这,直接是用电脑施展了魔术界著名的“人体分离术”。由于使用的摄像机为广角摄像机,屏幕展示的画面跟实际的画面仍然存在割裂感,需要重新优化。
面对这个情况,JLaservideo 表示自己在程序方面并不精通。于是他咨询了油管上一位视觉算法领域的专家博主 Augmented Startups。
在专家的指导下,隐身显示屏的画面开始能够人眼视角相匹配,隐身显示屏设备初步构建完成。
为什么说是初步完成呢?因为 JLaservideo 认为,显示屏现在显示的画面是 2D 的,太假了,大家一眼就能看出问题。
他开始思考怎么让画面更逼真起来,在显示屏背面增加多个摄像机,利用多机位拍摄照片合成 3D 图可以让画面看起来逼真,但成本太高,功耗剧增,明显不符合设计初衷。
于是他开始转而寻求能够在 2D 平面上实现 3D 效果的方法。在经过了大量的搜索工作之后,短视频上流行的 2D 转 3D 特效进入了小哥的眼球。
该方法是由来自弗吉尼亚理工大学以及国立清华大学的团队提供。能够提供一种将单个 RGB-D 输入图像转换为 3D 照片的方法,通过前中后景的分层还能够让制作成的 3D 特效比普通 3D 特效更加逼真。
好神奇,再看亿眼~
应用了 2D 转 3D 的方法到“隐身显示屏”上之后,小哥的隐形设备可以说基本上已经制作完毕。肉眼观察几乎跟真实情景没有区别。
这面隐身显示屏会跟随处于前方人视野的变化,将屏幕后的画面投映到显示屏上,实现背着显示屏背后的人进行隐身!
到这里,小哥打算开始打磨设备的细节。比如说,先把碍眼的大黑框去掉。
经过一阵丁零当啷的操作,小哥成功的卸下了显示屏的边框,也成功的把显示屏搞坏了......
搞坏了怎么办?再买一个呀,这次买一个 OLED 显示屏的,更高级,而且 OLED 电视的屏幕还可以卷起来呢,效果肯定更棒!
结果..... 小哥钱包成功减少 500 美刀,收获一具 OLED 电视尸体,这只能怪他太喜欢把屏幕拿起来卷了~
两台电视,让 JLaservideo 的支出超过了 1000 美刀,这一下,钱包有点瘪了。他打算保守一点,不再拆电视了。
但是不拆电视,又要把边框隐藏掉,有什么办法吗?他突然想到被他放弃的隐身盾。他可以用隐身盾把电视包裹起来,这样既可以让边框消失还可以消除屏幕的反光!
接着,小哥就把隐身显示屏用隐形盾包起来了。
怎么说呢,外表是寒颤了点,但好歹确实把显示屏的边框“隐形”掉了,钱少也就只能这么将就了。
接下来就是带着这个隐身显示屏,到处晃悠,体验一下隐身的快乐了~
隐身显示屏的效果还是不错的。但这个包裹着显示屏的隐身盾真的太掉档次了,连带着让画面看起来还有色差。
但小伙伴们别着急,这是因为小哥缺钱,没办法。在韩国,有一栋不差钱的大楼“无尽大楼”,无尽大楼也喜欢隐身。它采用的方案一样,不过耗费的钱更多。
整栋大楼都是显示屏,然后在不论哪个视角,这栋大楼都会把背对着人们的那一面投映到正面的显示屏上,整栋大楼看起来就跟隐身了一样!不过这大楼太烧钱了,到目前还是在建当中。到时候建完一定要去看看!
最后,视频原链接送上,感兴趣的小伙伴也可以看看原视频~
视频链接:https://www.youtube.com/ watch?v=K2XMuj3LimI
2D 转 3D 代码链接:https://shihmengli.github.io/ 3D-Photo-Inpainting/