该文档位于Surround360/Surround_render目录下

翻译正文如下:

#Surround360 校准

为了在VR中产生更准确和舒适的结果,Surround 360渲染软件使用多个校准配置文件来校正光学和机械问题。 本文档描述生成校准配置文件的过程。
警告:不要在阅读本文档前,尝试渲染使用Surround 360设备拍摄的视频。未经校准的结果可能会在VR中严重扭曲,从而破坏3D立体感。
有三种专门的校准过程:颜色校准,光学渐晕校准和几何校准。我们的软件在校准的每个部分都需要不同的数据和不同的步骤来处理。为获得最佳效果,请按照以下顺序执行每个校准过程。

##颜色矫正

将RAW图像转换为RGB时,我们在/ surround360_render / res / config / isp中使用文件cmosis_sunex.json和cmosis_fujinon.json。这些文件包含分别为每个侧面和顶部/底部相机配置软件ISP的字段。每个字段的详细说明可以在同一目录下的README.txt文件中找到。
即使来自相同摄像机型号的所有传感器都应该以相同的方式运行,实际上存在可能导致两个传感器的两个图像在同一光源(光源)下看起来不同的细微差别。
该校准过程允许我们为一组摄像机创建ISP配置json文件,然后可以通过在cam_to_isp_config.json中引用它们来使用。
要针对已知的光源进行校准,我们需要在现场知道其实数RGB值的场景。我们使用一个MacBeth ColorChecker,它包含24个方形的色块。我们还使用SpyderCUBE设备,它可以让我们找到黑色电平调整图像上的最暗点。
以下步骤描述了来自同一台设备的一组相机的颜色校准过程。

*在已知光源下,将MacBeth图表和SpyderCUBE放在相机的前面,并使用我们的相机控制软件拍照。 示例图像可以在/surround360_render/res/example_data/color_calibration_input.png中找到。 对每个相机重复上述步骤。
*将图像保存在名为“charts”的目录中。 对于这个例子,我们假设它们在〜/ Desktop / color_calibration / charts / <serial_number> .tiff之下。 转到/round360_render并运行以下命令:

<pre>
python scripts/color_calibrate_all.py \
--data_dir ~/Desktop/color_calibration \
--black_level_hole
</pre>

*这将生成一个名为“isp”的目录,其中包含所有ISP json配置文件。它还为所有摄像机生成debug(调试)过程的每个步骤的多个debug图像的输出目录。/surround360_render/res/example_data/color_calibration_output.png是上述输入图像上最后一步(伽马校正)的输出示例。
*查看文件脚本/ color_calibrate_all.py了解更多选项。 使用属性min_area_chart_perc和max_area_chart_perc为颜色图表的预期大小设置范围; 当在不同距离拍摄照片时,这是十分有效的。使用属性black_level_adjust将每个摄像机的黑色电平设置为所有摄像机的中位数; 当我们预期所有相机中的黑色电平都相同时,这是非常有效的(请注意,对于所有的传感器来说,这不是真的)。

要使用这些新的ISP配置文件运行pipeline(管道),我们只需要将生成的ISP配置文件复制到输出目录,例如 〜/ Desktop / render / config / isp / <serial_number> .json,然后照常运行run_all.py。 请注意,ISP配置文件以每个相应的摄像机序列号命名。

##光晕渐晕校准

所有镜头都产生一种称为光晕渐晕的渐晕,当我们离开图像中心并朝向边缘时,会导致亮度下降。由于我们预计重叠的区域具有相同的颜色和亮度,所以在重叠的相机场景中,这种效果是特别不希望的。
这个校准过程让我们建模渐晕剥离,并相应地更新相机ISP json配置文件。这可以通过在沿着出射光瞳旋转相机(或尽可能靠近)的同时拍摄灰色图表,以便我们在整个图像区域获取图表的样本。
以下步骤描述了一组相机的校准过程。

*在均匀和恒定的光源下,将灰阶图放在相机的前面,并使用我们的相机控制软件拍摄尽可能多的照片(推荐超过20张),以便覆盖整个图像区域,其中包含所有图表的样本位置。 示例图像可以在/surround360_render/res/example_data/vignetting_calibration_sample.tiff中找到。对每个相机重复。
*将名称为“charts”的目录中的每个摄像机的RAW图像集保存。 在这个例子中,我们为17台摄像机拍摄了100张相机,并将它们放在〜/ Desktop / vignetting_calibration / <serial_number> / charts / [000000-000099] .tiff之下。 注意文件结构,每个摄像机都有自己的目录。 我们还假设在这些相机上运行了颜色校准,我们已经在每个摄像机的ISP json配置文件中都有一个目录〜/ Desktop / vignetting_calibration / isp。转到/round360_render并运行以下命令:

<pre>
python scripts/vignetting_calibrate.py \
--data_dir ~/Desktop/vignetting_calibration \
--num_cams 17 \
--save_debug_images
</pre>

*这将生成一个名为isp_new的目录,其中包含所有更新的ISP配置文件。此外,每个摄像机目录都有两个新目录。 1)acquisition(采集):包含所有检测图表的掩码图像,data.json的数据文件,其中包含每个补丁的位置和颜色强度值以及其他调试数据。 2)calibration(校准):包含每个通道的渐晕模型图,更新的ISP json配置文件以及其他调试数据。 /surround360_render/res/example_data/vignetting_calibration_fit.png是对本示例中使用的相机的红色通道的渐晕进行建模的曲面拟合的示例。它显示图像的中心和最小晕影点,以及左上角的( Bezier control)贝塞尔控制点。
*查看文件脚本/ vignetting_calibrate.py了解更多选项。如果使用非默认图像大小,请使用属性image_width和image_height使用load_data属性加载位置和颜色强度数据,跳过采集步骤,直接进入校准步骤。
要使用这些新的ISP配置文件运行管道,只需将其替换为脚本创建的。

#几何校准

无论采集设备的结构如何,我们的软件需要知道摄像机的几何特性(内在和外在),以便准确地执行立体声重建。
以下步骤描述了摄像机的几何校准过程。
*在具有大量复杂构成的场景中使用Surround360捕获软件捕获单个框架(一种矫正图),即包含具有不同大小边缘和尖角的对象。 一个很好的例子是办公室的内部。
*打开框架并运行ISP步骤获取RGB图像。 将它们放在单独的目录中。对于这个例子,我们假设它们在〜/ Desktop / geometric_calibration / rgb / cam [0-16] /000000.png
*转到surround360_render并运行以下命令:

<pre>
python scripts/geometric_calibration.py \
--data_dir  ~/Desktop/geometric_calibration \
--rig_json $PWD/res/config/camera_rig.json \
--output_json ~/Desktop/geometric_calibration/camera_rig.json \
--save_debug_images
<pre>

*这将生成一个新的JSON文件camera_rig.json,通过将其复制到输出目录(例如,~/Desktop/render/config/camera_rig.json。 它还可以在〜/ Desktop / geometric_calibration下生成调试图像,显示校准过程的准确性。

Surround360 Render目录下CALIBRATION文档——中文翻译相关推荐

  1. 教你用java统计目录下所有文档的词频

    本文是统计目录下所有文档的词频top10,非单个文档,包含中文和英文. 直接上代码: 1 package com.huawei.wordcount; 2 3 import java.io.Buffer ...

  2. ReactiveX文档中文翻译

    ReactiveX/RxJava文档中文版 项目地址:https://github.com/mcxiaoke/RxDocs,欢迎Star和帮忙改进. 有任何意见或建议,到这里提出 Create New ...

  3. Pushy入门文档中文翻译

    本文为博主原创,允许转载,但请声明原文地址:http://www.coselding.cn/article/2016/12/01/Pushy入门文档中文翻译/ pushy 这是我自己的翻译版本,原文地 ...

  4. Surround360 Render目录下RENDER文档——中文翻译

    该文档位于Surround360/Surround_render目录下 翻译正文如下: #Surround360 Render 步骤 为了渲染捕获的素材,我们使用位于surround360_rende ...

  5. nginx服务器,访问目录下php文档会直接下载,而不是转到页面

    ubnuntu系统,nginx服务器,修改本地hosts文件定义自己的域名后,(在/etc/host文件中添加一行:    127.0.0.1    www.my-web-site.com),再访问网 ...

  6. Word文档中文翻译成英文的方法

    将Word文档在线翻译,有的时候我们在一些文档中放一些重要的内容,将这些内容放在文档中,然后通过在浏览器上进行搜索进入到在线翻译中,下面就让小编给大家简单介绍一下. 步骤一:首先我们需要在浏览器上进行 ...

  7. Surround360 README文档——中文翻译

    该文档位于Surround360项目根目录下 翻译正文: #Surround360 系统 Surround360是用于捕获和渲染3D(立体声)360视频和照片的硬件和软件系统,适合在VR中浏览.我们将 ...

  8. Next.js v4.1.4 文档中文翻译

    最近想稍稍看下 React的 SSR框架 Next.js,因为不想看二手资料, 所以自己跑到 Github上看,Next.js的文档是英文的,看倒是大概也能看得懂, 但有些地方不太确定,而且英文看着毕 ...

  9. axios 文档中文翻译

    axios中文文档(完全中文翻译) 由于使用网上一些翻译文档时发现,内容多被广告隔离成小块.用起来有点不方便同时夹杂部分英文.于是索性把 axios 自己翻译了一遍,贡献给大家便查. 原文档地址-- ...

最新文章

  1. android studio islibrary,通过AndroidStudio发布Android Library到Jcenter[超详细]
  2. 【Java面试题】48 GC是什么? 为什么要有GC?
  3. 《你必须知道的.NET》,蓄势待发;博客园开发者征途,又添新作
  4. 数学之美 系列九 -- 如何确定网页和查询的相关性
  5. Oracle的rownum原理和使用(整理几个达人的帖子)
  6. epoll监听文件_epoll使用详解
  7. CRM系统助家具企业华丽转身
  8. 基于SignalR的站点有连接数限制问题及解决方案
  9. “我在B站有套房”成真:云蹦迪、不停学还健身
  10. SpringBoot之AOP之基本使用
  11. 优麒麟 20.04 LTS 版本发布,UKUI3.0 灵动转身
  12. QLab Pro如何对工作区进行设置
  13. 训练网络时如何加入噪声_[模型量化] 如何训练一个“耐量化”的网络?
  14. Python编程:从入门到实践 11-3
  15. css模糊文字,CSS3模糊文字
  16. 有管网气体消防系统小知识来啦
  17. 【ftp上传文件失败】put: Access failed: 553 Could not create file. (passwd)(接详细配置1问题解决)
  18. Java面向对象游戏-黑熊怪变成武大郎吃唐僧 --如何方法继承 重写
  19. 网站建设的方案和流程介绍
  20. win10系统双屏如何设置不同的桌面

热门文章

  1. 生成图片滑动验证码图片
  2. qtablewidget 复选框选中_QTableWidget中checkBox如何判断复选框是否被选中
  3. 现货黄金短线技巧要点
  4. 内核源码中版本号详解(KERNEL_VERSION KERNEL_VERSION)
  5. matlab ar谱分析,AR模型功率谱估计的典型算法比较及MATLAB实现
  6. Dynamic OCT 和 Dynamic ODT 详细说明
  7. 十二、构建一个基本的组合导航系统
  8. Tushare介绍和入门级实践(1)——使用tushare接口获取沪深300成分股交易日涨跌数据
  9. cJson使用的简单例子
  10. 我的一周re学习总结