Facebook Surround360 学习笔记--(4)色彩/视差不一致问题
来源:互联网 发布:wpa2psk破解软件 编辑:程序博客网 时间:2024/06/04 04:01
surround360的开源资料地址:
https://github.com/facebook/Surround360
下载好代码和测试数据集,配置好环境,关于环境配置可以参考这篇博客,写的挺详细:
http://blog.csdn.net/sunyolanda_cs/article/details/52448399
运行代码的说明可以参考这篇博客:
http://blog.csdn.net/sunyolanda_cs/article/details/52448606
跑一下程序看看效果。代码跑一遍还是比较慢的,如果顺利的话,会生成如下两张左右眼视差图:
从结果来看,天空、地面和中间融合的很好,用VR眼镜看的话,视差没有什么错误,色彩也很一致,几乎看不到任何不适的地方。这一切需要 以下几个保障:
- surround360严苛的硬件保证极大减轻了算法的负担。硬件的要求见上一篇博客 《 Facebook Surround360 学习笔记–(3)硬件设计要点》。
- Surround360关闭了所有相机的自动颜色校正、自动曝光等功能。并且使用专用的颜色板在光照可控的环境下用所有相机进行拍摄并建立了颜色校正矩阵,从而保证拍摄的原始图片色彩一致性非常高。
- 如果两张待融合的图片色彩差别较大,拼接算法会选择它认为更接近场景的一种颜色,从而避免产生ghosting。
但是,如果自己设计硬件,采用不同的设计方案,可能因为一些原因比如:硬件制造精度达不到,相机数目不同,相机的品牌不同(毕竟不是谁都能随随便便买十几个Point Gray玩)等,很难得到和surround360一样高质量的结果。
如果使用自己的设备,产生色彩/视差不一致问题,如何改进呢?下面给出几种可能的解决方案。
1、配置选择
在跑Python 脚本 ‘run_all.py’ 之前, 需要做一些配置选择:
- 计算 rectify。用来做几何光束平叉,将侧面相机拍摄的所有图片校正到同一个水平线上。
- 勾选 “enable_render_coloradjust”。勾选后,需要跑两次代码,第一次跑完后会生成一个名字为 brightnessadjust.txt的文件,其中存储的是对每个相机做的一个色彩微调。第二次再跑代码的时候,就会把上次的微调结果加入到当前的图片中。
2、光流计算
在计算光流时,通常图像的分辨率越高,光流计算结果越准确。surround360 最大输出可以达到8k。
在6k分辨率下:
eqr_width=6300,eqr_height=3072。
在8k分辨率下:
eqr_width=8400,eqr_height=4096。光照强度对光流计算影响也非常大,如果拍摄的图片曝光过度或者曝光不足,或者图片中包含很多的噪声,光流计算可能会出现问题。
- 色彩不一致也会影响光流计算,所以需要使能 enable_render_coloradjust。
- Facebook Surround360 学习笔记--(4)色彩/视差不一致问题
- Facebook Surround360 学习笔记--(4)色彩/视差不一致问题
- Facebook Surround360 学习笔记--(1)系统简介
- Facebook Surround360 学习笔记--(2)算法原理
- Facebook Surround360 学习笔记--(3)硬件设计要点
- Facebook Surround360 学习笔记--(1)系统简介
- Facebook Surround360 学习笔记--(2)算法原理
- Facebook Surround360 学习笔记--(3)硬件设计要点
- facebook Surround360编译与环境配置
- Direct3D学习笔记:色彩
- 视差滚动学习笔记(1):整屏滚动
- OpenCV和Matplotlib色彩空间模式不一致的问题
- 视差贴图(parallax mapping)学习笔记
- facebook pop 学习笔记
- FACEBOOK SURROUND360 源码解析 第一篇 源码环境搭建
- FACEBOOK SURROUND360 源码解析 第二篇 源码编译
- OpenCV学习笔记(18)双目测距与三维重建的OpenCV实现问题集锦(三)立体匹配与视差计算
- OpenCV学习笔记(18)双目测距与三维重建的OpenCV实现问题集锦(三)立体匹配与视差计算
- 剑指offer——二叉搜索树的第k个结点(一般)
- 清除LINUX WDCP系统日志的正确方法
- I2C协议解析
- swift中十六进制字符串转颜色及颜色渐变
- 双线联动、经济分享!碧斯诺兰
- Facebook Surround360 学习笔记--(4)色彩/视差不一致问题
- JAVA中Long与Integer 比较的误区
- hibernate教程____hibernate持久化(基于实体类注解和hbm.xml映射文件区别)
- CMakeLists.txt笔记
- jquery中attr和prop的区别
- 七牛图片上传的使用心得[PHP篇]
- Android 6.0运行时权限处理与封装(一)
- C++ Primer 练习答案 1.2节练习
- bzoj2460 [ Beijing2011 ] -- 线性基+贪心