【腾讯程序猿泣血之作】告诉你如何用简单的技术让高大上的VR摄像机秒变白菜价

发表于2016-06-27
评论3 7.3k浏览

PC端首发在腾讯GAD游戏开发者平台;微信端首次发在个人微信公众号doctorimage上,链接:VR摄像机综述


作者介绍:数学专业出身,曾在华为工作,现在腾讯,专业:从事计算机视觉图像处理10多年。作者微信公众号:doctorimage,期待与大家切搓交流,共同学习。     

前面文字多,后面图片多,更直观!!!!

目的:1)弄清VR摄像机现有问题;2)VR摄像机分类;3)为何典型VR摄像机是这样的圆形摆放;

产品的,看VR摄像机问题,结合自己应用来选择或者山寨VR摄像机;

技术的,根据分类来选择什么样的技术实现,为什么得这么实现,不讨论同步问题,不讨论摄像机编解码以及存储问题哈;

前期写了个VR摄像机(链接:VR 摄像机(VR采集设备)),但比较粗糙,今细化下。


序言

VR看起来很火,可我总不信它能火,瞎火,泡沫迟早要被灭了。各种VR头戴式设备,突突突冒出,本着国外一开源国内就自主的念头,果不其然,某宝12元人民币包邮的VR眼镜,在国内外封装下,价格塑料壳、铁壳、或者重点的盒子,卖个价钱,骗骗风投,不亦乐乎哈。

嗯,VR头戴式设备,风投以后别投了,确实,您也别想着这个时间点去找风投做VR头戴式设备,没人投你了,VR头戴式设备风,已经吹、吹过了、吹过头了。不过,华强北山寨老板还是很厉害的,不得不佩服转移战场的迅速。

下一次,风吹向何处?内容制作?软件平台?分发渠道?服务?我不知道。

我的理解是:【行业应用+VR】还比较看好,而【VR+行业应用】不看好。

我猜想,这1~2年,风投的钱将会投向VR摄像机,VR摄像机,不能说第三遍了哈!

我们就来聊聊 VR 摄像机


目前的VR摄像机问题

  • 如何解决多深度层次(远景、近景)拼接对齐问题?普通的常用的摄像机拼接,都是针对某个深度层次或者远景拼接,所以没有多深度层次拼接对不齐的问题;

    (对于远景近景不同深度层次的问题,大家可以自己拿手机拍照测试,建议在办公室,从这一头拍到另一头的有纵深的、在0.5米到3米,甚至更远都能拍摄到的场景测试)

  • 大视野(FOV大于人眼视角的120度)拼接畸变或者单目摄像机鱼眼畸变问题;

  • 立体摄像,需要左右图,模拟人眼视差或者立体图像,也就是需要两组摄像模组(光场相机,2D RGB摄像机+Depth摄像机除外);

  • 从什么角度来拍摄和看:柱状(环绕型360°)、球状(360°x360°)

    引入一个为什么?->为什么业界的VR摄像机外观都是圆形、圆柱形、球形等和圆相关呢?

  • 老外的VR摄像机死贵死贵的,动不动10万~150万人民币,天哪,不过以华强北山寨的能力,必然能促进全球VR事业的发展。


典型VR摄像机长啥样?


一、球状360°x360°无死角的全景摄像机



二、柱状环绕式360°全景摄像机

这个和一、的区别就是,头顶没有摄像机拍摄,不过也有厂家加了个摄像机拍上下俯仰角。

4



三、鱼眼+镜面反射式360°全景摄像机

这种畸变很大,需要进行畸变校正,校正后的 图像分辨率必然下降。



四、双目立体+360°全景摄像机

属于把一、二、三类摄像机模组当做一个摄像机,在此基础上叠加相同模组,仿照人眼双目立体方式,获得立体+360°全景摄像机。也就是,每个方向的摄像机都是两个。


下面是非常专业级的、昂贵的全景立体摄像机,仅仅看看哈:



五、其他VR摄像机

1)光场摄像机:用于VR的光场相机Light Field Camera

2)传统的双目立体摄像机,就是两个摄像头模拟人眼,需要做极线校正(stereo视觉基础知识)、颜色校正,甚至立体匹配(http://vision.middlebury.edu/stereo/)。

3)深度摄像机,如早期的以色列的3DV System(被微软收购,整合到Kinect一代)、Primesense(也是以色列的,已被Apple收购)。


为什么很多VR全景摄像机是和相关的呢?


不是因为全景,而是因为多摄像机拼接原理所决定的,摄像机之间需要满足:纯旋转

以两个摄像机拼接为例,简介典型VR摄像机拼接为什么要求纯旋转

最终目的就是要:多个摄像机位置关系,使得摄像机的光学中心都在一个点,进而绕此点纯旋转拍摄,最终拍摄的图像就可以各个深度层次的图像完全拼接对齐。

但,但,但,现有典型的VR摄像机无法做到所有摄像机光学中心都在一个点。

也就是,典型VR摄像机无法做到所有深度层次拼接对齐。


图来自于“Computer Vision: Algorithms and Applications ”,作者Richard Szeliski,微软。



接上一段,现有典型VR摄像机做不到各自光心在一个点,也就是t0不可能等于t1,两两摄像机之间存在位置平移。

到底怎么拼接,并不是本文的事情哈,可自行google.bing.com。远离百毒。

最详细的公式推导,请参考

1)书:Computer Vision: Algorithms and Applications ”,作者Richard Szeliski。

2)二维与三维点坐标转换,前期我写的文章,链接:详细推导CCD感光点在世界坐标系下的坐标


如果多摄像机间是随机摆放拼接图像会有什么问题呢?


只能某个深度层次能够拼接对齐,而不能所有深度层次同时拼接对齐;

问:什么是深度层次?

:不同物体距离人眼或摄像机的距离是不同的,有的有0.5米,有的有1米,有的有2米,有的在很远很远,很远的距离远大于两眼之间的距离,我们就可以叫无穷远,无穷远的所有物体距离人眼的距离是相等的。

这些距离不同,就有了不同的深度层次。


是不是有摄像机能解决多深度层次同时拼接对齐呢?


有方案能做到,但目前只能做到圆柱360°全景立体,并且几乎不用拼接(结构件若是做得足够精密的话),对于上下俯仰角度,需要额外增加摄像头拍摄,这样就需要拼接了。

如社区发表内容存在侵权行为,您可以点击这里查看侵权投诉指引