【腾讯程序猿泣血之作】告诉你如何用简单的技术让高大上的VR摄像机秒变白菜价
PC端首发在腾讯GAD游戏开发者平台;微信端首次发在个人微信公众号doctorimage上,链接:VR摄像机综述
前面文字多,后面图片多,更直观!!!!
目的: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°无死角的全景摄像机
这个和一、的区别就是,头顶没有摄像机拍摄,不过也有厂家加了个摄像机拍上下俯仰角。
4
这种畸变很大,需要进行畸变校正,校正后的 图像分辨率必然下降。
属于把一、二、三类摄像机模组当做一个摄像机,在此基础上叠加相同模组,仿照人眼双目立体方式,获得立体+360°全景摄像机。也就是,每个方向的摄像机都是两个。
五、其他VR摄像机
1)光场摄像机:用于VR的光场相机Light Field Camera
2)传统的双目立体摄像机,就是两个摄像头模拟人眼,需要做极线校正(stereo视觉基础知识)、颜色校正,甚至立体匹配(http://vision.middlebury.edu/stereo/)。
3)深度摄像机,如早期的以色列的3DV System(被微软收购,整合到Kinect一代)、Primesense(也是以色列的,已被Apple收购)。
为什么很多VR全景摄像机是和圆相关的呢?
不是因为全景,而是因为多摄像机拼接原理所决定的,摄像机之间需要满足:纯旋转。
以两个摄像机拼接为例,简介典型VR摄像机拼接为什么要求纯旋转?
最终目的就是要:多个摄像机位置关系,使得摄像机的光学中心都在一个点,进而绕此点纯旋转拍摄,最终拍摄的图像就可以各个深度层次的图像完全拼接对齐。
但,但,但,现有典型的VR摄像机无法做到所有摄像机光学中心都在一个点。
也就是,典型VR摄像机无法做到所有深度层次拼接对齐。
到底怎么拼接,并不是本文的事情哈,可自行google.bing.com。远离百毒。
最详细的公式推导,请参考
1)书:“Computer Vision: Algorithms and Applications ”,作者Richard Szeliski。
2)二维与三维点坐标转换,前期我写的文章,链接:详细推导CCD感光点在世界坐标系下的坐标
如果多摄像机间是随机摆放拼接图像会有什么问题呢?
只能某个深度层次能够拼接对齐,而不能所有深度层次同时拼接对齐;
问:什么是深度层次?
答:不同物体距离人眼或摄像机的距离是不同的,有的有0.5米,有的有1米,有的有2米,有的在很远很远,很远的距离远大于两眼之间的距离,我们就可以叫无穷远,无穷远的所有物体距离人眼的距离是相等的。
这些距离不同,就有了不同的深度层次。
是不是有摄像机能解决多深度层次同时拼接对齐呢?
有方案能做到,但目前只能做到圆柱360°全景立体,并且几乎不用拼接(结构件若是做得足够精密的话),对于上下俯仰角度,需要额外增加摄像头拍摄,这样就需要拼接了。