最近也接触了解了VR技术快一个月了,作为一只瞬时记忆>>长时记忆的程序猿,还是照惯例把一些收获和心得写下来趁着它们还在我的缓存里。

这次blog就采取自问自答的形式吧,交代一下VR的几个key points,这里的VR主要指通过设备拍摄,后期合成制作的VR。

  • What is VR

wikipedia是这样定义VR的

Virtual reality (VR) is an interactive computer-generated experience taking place within a simulated environment, that incorporates mainly auditory and visual, but also other types of sensory feedback like haptic.

首先,VR需要是可以与人交互的,我们转动头,会看到不同的景象,说明VR了解到了我们姿态的改变,并且产生了相应的反应;其次,VR是仿真的环境,而非我们现实中当时所处周边的环境。

  • VR的总体实现流程 

这部分盗一张图吧,爽歪歪

  • VR投影的几种形式

正确地展开全物理视域的真实场景到一张2D图片上,并且能够还原到VR眼镜中实现沉浸式观看的数学过程,就叫做投影

根据拍摄设备的相机选择的不同,拍出的素材的图像形式不同,需要选择相对应的投影方式

例如insta 360 one全景相机,由前后2个鱼眼镜头组成,素材如下图,这种投影方式称为fisheye projection,通过它的两个鱼眼摄像头输出的画面,各自涵盖了180度的水平和垂直视场角,然后将两个输出结果“扣”在一起就是全视域的沉浸式包围体

~~~~~~~insta 360 pro全景相机,由球面横向的6个镜头组成,将6个镜头的输出融合在一起,输出全景视频,这种投影方式称为equirectangular projection

可以明显看出不同投影方式的区别吧,假如把两个鱼眼镜头的图像按照equirectangular的方式投影,那得到的图像就是

不知道是什么东西。。

除了这两种投影方式,还有几种常用的例如平面投影,墨卡托投影等等,在这就不一一赘述。

  • 全景图是怎么拼成的

Step1. 定义映射模型

和前文说的投影方式类似,表示想要把素材图片粘贴到怎样的立体图形上,常用的包括:球面、柱面、平面,其中球面映射应用最为广泛,选择不同的映射模型会对全景图的拼接效果造成影响

Step2. 根据输入图像,提取特征点,对特征进行匹配,得到输入图像之间的映射关系H

自动拼图离不开特征匹配,特征匹配离不开surf,sift和ORB,和视觉slam里面用到的拼点云是极其类似的,匹配到了之后再RANSAC找到最优的映射关系H

Step3. 根据映射关系T进行图像的Warp变换,对齐图像;

映射关系H其实就是个投射矩阵,把参考图像上某点转成齐次坐标,左乘投射矩阵,就得到了目标图像,转成单应矩阵就如右图所示,看懂看不懂就随缘吧。

Step4. 包括利用颜色调整来消除图像间的色差,和采用图像融合来消除拼缝。

由于拍摄角度和拍摄光线,输入图像之间可能存在色差,~~~~所以需要tune adjustment或者tune alignment我翻译的,或者color matching有道翻译的。那目前比较常用的就是Reinhard法,利用lαβ颜色空间中各通道互相不关联的特点,提出了一组适用于各颜色分量的色彩迁移公式,较好的实现了彩色图像之间的色彩迁移。基本思想就是根据着色图像的统计分析确定一个线性变换,使得目标图像和源图像在lαβ空间中具有同样的均值和方差。

最后一步,拼接融合,融合目的在于拼缝消除,常用的方法为Laplacian pyramid。可以理解为通过对相邻两层的高斯金字塔进行差分,将原图分解(Reduce)成不同尺度(频率)的子图,对每一个之图(对应不同频带)进行加权平均,得到每一层的融合结果,最后进行金字塔的反向重建(Expand),得到最终融合效果。再说具体一点我也说不清楚,留个图在下面看各人领悟吧。

  

  • 2D和3D VR的区别

就像2D电影和3D电影的区别一样,VR全景图也分为2D和3D,当观看2D VR时,左右两只眼睛看到的景象是一样的,而3D VR左右两只眼睛看到的图像是不一样的,两个图像的物体会有位置上的偏差,叫做视差,大脑会下意识的根据视差计算物体离身体的距离,于是产生了景深感。如下图,物体P在两只眼睛的成像平面XL和XR上有视差,大脑就是根据这个计算物体P的距离的。

obviously 物体距离越近,视差越大,距离越远,视差越小。当场景里的物体有了景深感,我们就会感觉空间是立体的。

  • 3D VR是怎么制作生成的

拍摄的时候使用双目相机固然是效果最好的方法,不过工作量不止翻倍。目前电影业制作3D电影都采取拍摄2D电影通过技术加工生成3D电影这种方式来压缩成本,为什么我们VR不呢? 先来一张2D和3D全景照片的对比

仔细看可以发现下面的3D全景,左右两个分屏是有细微差别的,也就是场景物体的视差。目前2D转3D的大概流程我再贴个图

主要的技术步骤就是图像分割和深度推测,图像分割可以用传统的图像处理方法,例如阈值分割,边缘分割,区域增长等等,深度推测目前对于单帧图片没有太靠谱的办法,一般是用连续帧的运动信息结合单帧图像的pictorial cues来进行推测。精度如果要达到像素级需要占用很大的计算资源,目前来说远达不到实时的要求,所以退而求其次,以块Block或者物体object为单位进行推测。当我们得到了场景内物体的深度信息后,根据原有的2D全景凭空捏造出带有视差的3D全景就迎刃而解了。

嗯,具体我就不解释了,1+1=2需要解释吗

  • 为什么体验VR会有头晕

头晕的原因有很多,低血糖就会头晕啊,那体验VR时头晕最主要的原因源于延迟,VR的“延迟”(delay)是指从人的头部移动开始一直到头显设备(HMD)的光学信号映射到人眼上面全部的等待时间(~~~latency time)。延迟较大的时候就可能会引起头晕,其原理是视觉接受的自身的身体状态,与负责感知身体状态的中耳前庭器官不一致,中枢神经对这一状态的反馈就是恶心,来提醒身体状态的异常。简单来说,戴上VR头显移动头部的时候,由于延迟,视觉观察到的变化比身体感觉到的慢慢,产生冲突继而造成晕眩。研究表明,当延迟被控制在20ms以下时,人体才不会有排斥反应,所以,如何把延迟控制在20ms之内是一个VR厂商需要解决的基本问题。

  • VR眼镜的透镜和屏幕

人能看清的最低距离是25cm,也就是说假如没有透镜,你的VR眼镜的屏幕需要距离你25cm,这是不现实的。目前的VR眼镜都需要通过结构的设计确保佩带者的左右眼都只能看到实际屏幕的一半,也就是分别看到分隔后的左右眼画面内容,从而模拟了人眼的真实运作机制。

一般是先选好屏幕的尺寸大小,然后设计透镜(特别是设计其参数FOV,焦距等),使其既能让视距大于25cm,又能让屏幕的边界刚好进入视场。

一般来将,5.0-5.7寸手机可选择90°视场角的VR设备;5.0寸以下手机选择80°左右视场角的设备;5.7英寸以上,手机分辨率为2K的可以选择视场角90°以上的设备。

VR 技术菜鸟入门级综述相关推荐

  1. 机器阅读理解(MRC)零基础入门级综述(一)

    目录 机器阅读理解(MRC)零基础入门级综述(一) 一.机器阅读理解(MRC)是什么? 1. 含义 2. 分类 3. 机器阅读理解(Reading Comprehension) vs. 问答(Ques ...

  2. 展望10年内VR技术的盈利模式的发展历程

    2016年被誉为中国VR元年,VR也成为了就像2012年的团购.2013年的P2P.2014年的O2O.2015年的大数据一样成为了创客们在咖啡厅里向投资人侃侃而谈的网络流行语.情(gen)怀(fen ...

  3. VR技术在数据中心3D机房中的应用(上)

    VR技术在数据中心3D机房中的应用(上)   前两天跟朋友A吃饭,吃着吃着就说到了VR.近几年来,VR技术越来越火,感觉能跟VR沾点边的都特别高大上,朋友A也是,一提到VR,就怎么都掩盖不住他发自肺腑 ...

  4. VR技术在数据中心3D机房中的应用(上) 1

    VR技术在数据中心3D机房中的应用(上) 前两天跟朋友A吃饭,吃着吃着就说到了VR.近几年来,VR技术越来越火,感觉能跟VR沾点边的都特别高大上,朋友A也是,一提到VR,就怎么都掩盖不住他发自肺腑的敬 ...

  5. VR技术怎么落地,行业应用怎么挖掘,来江苏虚拟现实发展大会侃侃

    由江苏省工程师学会主办,镁客网承办的首届江苏虚拟现实发展大会等你来躁! 在去完CJ后,某一天,镁客君被一位行业人士采访了:谈谈对某个技术在VR娱乐内容上的应用变化. 聊了一段后,发现这家技术公司在一年 ...

  6. 关于VR技术和未来发展---转

    原文地址:http://mp.weixin.qq.com/s?__biz=MzA4MTIwNTczMQ==&mid=2651345594&idx=3&sn=2741ab7321 ...

  7. VR 技术加上 8K 画质! 2016 年里约奥运会亮点十足

    据报道,2016 年里约奥运会将运用到 VR 技术. 最近,奥林匹克广播服务公司(OBS)表示出对虚拟现实技术的兴趣,其实用虚拟现实技术报道赛事已经不是什么新鲜的事了,之前 NBA 就这样做过,但是将 ...

  8. VR技术给我们的生活带来哪些影响

    相信现在很多人都知道VR(虚拟现实)了吧,现在的VR已经逐渐的进入到了汽车.房地产.医院等行业,VR毫无疑问现在正处于一个爆发期,科技给大众带来的新鲜感总是可以掀起时代的潮流. 目前VR技术已经逐渐的 ...

  9. vr技术好不好?vr技术的应用场景有哪些?华锐互动

    vr也叫做虚拟现实技术,通过科技手段模拟一个虚拟场景,高度还原真实世界.vr技术是目前较为盛行的新型技术,在许多行业领域中都可以看到它的影子,比如虚拟游戏,虚拟图书馆,汽车展览等等. 1.地产行业 通 ...

最新文章

  1. 《阿里巴巴编码规范(JAVA)》学习认证考后感
  2. CNN网络结构的发展:从LeNet到EfficientNet
  3. linux php源码包 安装openssl 和curl 扩展
  4. 再也不学AJAX了!(二)使用AJAX
  5. mysql练习_创建库与列表、增加列表信息、列表查询(包含多列表查询)_月隐学python第23课
  6. P1255 数楼梯 方法二(python3实现)
  7. linux系统下如何创建二级域名和删除这个目录文件
  8. 发送随机验证码到james邮箱出现请求超时的异常
  9. python画动态图-利用Python如何制作好玩的GIF动图详解
  10. pkm与png的相互转化
  11. 砍价小程序怎么变成二维码(小程序码)
  12. python音频频谱分析软件_SpectrumView(音频频谱分析软件)
  13. Python程序设计(第三版)约翰·策勒 编程练习课后答案(第二章)
  14. 信息系统项目管理师-业务流程管理知识点
  15. 辞旧迎新,继往开来:2021→2022
  16. 2019全国大学生电子设计大赛(回忆录)
  17. HAL ADC连续转换模式 Continuous Conversion Mode
  18. 青岛新媒体运营教程:利用诱饵获取群流量
  19. html5 比例尺,24厘米和4毫米的比例尺
  20. 一个屌丝程序员的青春(一三七)

热门文章

  1. OpenCV之图像分割(五) 证件照背景替换
  2. macOS 12 Monterey 无管理员用户解决办法
  3. 公告:csdn学院《小白快速入门系列》线上课程,全部一折,最高6元!
  4. c语言5基础教程,[简001]《极简C语言入门教程》共5章
  5. 我的世界中国版怎么加java_我的世界中国版PCJava版不删档测试问题指引
  6. 彩铃业务技术实现概略(转)
  7. 厉害了,不能错过,大神关于TCP/IP 协议的理解分享(网络协议篇一)
  8. freeswitch 录音录像
  9. IT30: IT男之家训(关于孩子)
  10. 光大证券毁在一个笨蛋程序员手里