以前我理解的3D电影是用两台摄像机同时拍摄,摄像机间隔的距离和人的双眼距离一样,这样分别拍到左右眼不同的影像,放映时通过技术处理让左右眼看到对应的不同影像,就可以产生立体效果了。
看到报道说泰坦尼克3D版是从2D电影直接转过来的,我不禁哑然了:2D电影如果不重新拍摄增加新的信息,再怎么转换两眼看到的影像是一样的,怎么能产生3D效果?
查了一下文献,立体电影不光可由两台摄像机同时拍摄得来,还可以通过深度摄影机来拍摄。拍摄时传统摄影机拍摄传统的2D影像,深度摄影机发射红外线,根据红外线反射回来所需时间来计算所拍摄的东西的远近。这样可以为传统摄像机拍摄的每个像素增加一个深度值,形成深度图。由深度图就可以计算出每个画面中两个眼睛分别应该看到什么样的图像。
这倒是让人耳目一新,只是还是解释不了泰坦尼克3D版,因为当初拍摄泰坦尼克时没有考虑过3D,不会用深度摄像机同步拍摄。
那么深度信息从何而来?
答案简单得很:由制作人员手工设定画面中各个物体的远近。虽然其工作量很大,成本高,但成本还是比直接拍3D低。虽然它很难达到用两台摄像机同时拍的3D效果,但只要功夫深,铁杵磨成针。达到什么样的效果更主要看所下的功夫。《泰坦尼克号》花了一年多筹备,450名技术人员耗时一年时间用掉1800万美元才完成这个转制。
网上看到一些2D转3D的软件,比YouTube 3D可以将用户上传的2D视频转换成3D,桌面软件ArcSoft MediaConverter 7等可以将2D视频或图片转换为3D。QQ影音也可以进行转换。它们根据普通的视频直接就可以生成伪3D视频的两眼不同画面了,这些软件如何知道视频中各个物体的深度信息的呢?
原来人眼不光可以根据两眼的视差判断深度,还可以通过各种线索来判断。比如移动视差:比如两驾飞机同向飞,飞得快的通常离我们近;大气透视:两幢房子,一幢很清晰,一幢有点灰蒙蒙的,前者离我们近;线性透视:火车铁轨相交或消失于远方,消失点最远,然后距离线性缩短;相对高度:两个人,一个筷子那么高,一个桌子那么高,显然后者离我们近;纹理梯度:一张桌子,越往远处纹理越密集;重叠:甲挡住的乙了,甲肯定里我们近。
根据这些线索,人可以由常识手工或在软件辅助下增加深度信息。自动化软件简单点的只根据图片中的颜色进行转换,复杂的则要考虑物体的立体结构,考虑不同视角要能看到新的信息。比如根据视频前帧图像和后帧图像的冗余数据来补充当前帧中被遮挡掉的信息;抽取特征点,对特征点在视频中的运动进行跟踪,计算出三维信息。
自动化软件的效果毕竟有限。在泰坦尼克的3D转换中,一支300人的团队对每帧绘制各个物体的轮廓线,建立各个物体的三维网格模型,对转换后的每一帧进行检查,确保过渡平滑,符合生活中的3D体验,保证深度线索不发生矛盾。
一个不错的演示见数字图像处理博士的回答 http://www.guokr.com/question/114887/
一段视频见: http://v.youku.com/v_show/id_XMzc4OTQzNTAw.html
我2010.2.5所写的第一篇3D博文:
http://bbs.sciencenet.cn/home.php?mod=space&uid=504160&do=blog&id=384633
进一步阅读:
泰坦尼克号是怎么从2D转成3D的?
http://www.guokr.com/article/145897/
深度阅读:
賴文能、陳韋志:淺談 2D 至 3D 視訊轉換技術。影像與識別 2010, Vol.16 No.2
http://bit.kuas.edu.tw/~cvgip10/IPPR20/15.pdf
https://blog.sciencenet.cn/blog-504160-561105.html
上一篇:
参加博客大赛的好处和坏处下一篇:
看蚕宝宝进食,叹春蚕到死仍不悟