没有合适的资源?快使用搜索试试~ 我知道了~
⃝⃝可在www.sciencedirect.com上在线获取ScienceDirectSoftwareX 5(2016)101原始软件出版物光场成像工具包Jeffrey Bolan,Elise Hall,Chris Clifford,BrianThurow美国阿拉巴马州奥本大学高级流量诊断实验室接收日期:2015年8月6日;接收日期:2016年5月19日;接受日期:2016年5月25日www.elsevier.com/locate/softx摘要光场成像工具包(LFIT)是MATLAB函数的集合,旨在促进全光相机捕获的原始光场图像的快速处理。内置的图形用户界面简化了与全光图像相关的必要后处理步骤。支持以单个图像和动画格式生成透视转换视图和计算重聚焦图像。LFIT执行必要的校准、插值和结构化步骤,以支持该技术的未来应用c2016作者。由Elsevier B.V.发布。这是CC BY许可下的开放获取文章(http://creativecommons. org/licenses/by/4. 0/)。关键词:全光;光场; MATLAB代码元数据当前代码版本V2.31此代码版本使用的代码/存储库的永久链接https://github.com/ElsevierSoftwareX/SOFTX-D-15-00046法律代码许可证GNU通用公共许可证,第3版(GPL-3.0)使用git的代码版本控制系统使用MATLAB的软件代码语言、工具和服务编译要求、操作环境依赖性需要MATLAB 2009 a或更高版本(在Microsoft Windows或Linux上)(如果可用)开发人员文档/手册链接请参阅包含的文档PDF,网址为https://github.com/AFDL/LFIT支持电子邮件,以了解问题thurow@auburn.edu1. 动机和意义最近,已经出现了利用全光相机的光场成像技术[1-4 ],其能够在单个快照中捕获关于场景的该技术使用所谓的全光相机来捕获四维(4D)光场-与体积中的光线分布相关的空间和角度信息[5]。全光相机在大多数方面与传统相机相同;关键区别在于添加了微透镜阵列。这种平面微透镜阵列插入相机内部图像传感器前方的短距离处。穿过相机的主透镜的光线被聚焦到微透镜阵列上。取决于入射角*通讯作者。电子邮件地址:thurow@auburn.edu(B. Thurow)。在主透镜上的给定光线中,光线将被微透镜聚焦以这种方式,场景中的角度和空间信息都被采样。该组合的空间和角度数据可以被计算处理以从单个原始全光图像生成体积的新的、唯一的图像。这允许使用其他典型的相机来收集3D信息。这种工具的潜在应用是无数的,从显微镜[6]到3D粒子图像测速[7]再到测距[8,9]。虽然大多数后处理在常规相机中在很大程度上是可选的,但是原始全光图像需要显著的后处理才能有任何用途。全光相机使用标准2D图像传感器,但将上述空间和角度数据编码成由微透镜阵列形成的数千个微图像。给定的微图像对应于光场的单个空间样本,其中给定的微图像http://dx.doi.org/10.1016/j.softx.2016.05.0042352-7110/c2016作者。由Elsevier B.V.发布。这是CC BY许可下的开放获取文章(http://creativecommons. org/licenses/by/4. 0/)。102J. Bolan等人/ SoftwareX 5(2016)101显微图像对应于不同角度的样本。为了提取该信息,必须将空间和角度坐标与图像中的每个像素相关联。本质上,尽管全光相机可以与传统相机相同地使用,但是需要特殊软件来从2D相机传感器提取3D数据这种对专用软件的需求,在这项工作之前是不可公开获得的,对于希望在他们的工作中利用全光相机的研究人员来说是一个重大障碍光场成像工具包(LFIT)是为了简化和标准化原始全光图像的处理而编写的。最初,LFIT于2014年创建,用于奥本大学高级流量诊断实验室(AFDL),结合了实验室内部的几个独立开发的代码。从那时起,LFIT已经在许多版本中得到了增强和扩展。今天,LFIT由数十个函数和数千行代码组成,具有功能齐全的图形用户界面(GUI)。现在提供这套功能来帮助处理全光数据的其他组。本文提供了一个高层次的概述,LFIT及其功能。2. 软件描述LFIT是一套MATLAB函数,每个函数都有助于处理原始全光图像的某些方面。包中提供了一个主要的演示脚本,它调用图形用户界面(GUI),并适当地调用各种包含的函数。大多数用户将最舒适的GUI模式,虽然脚本批处理模式也包括自动处理。应该注意的是,各个函数可以独立于主演示脚本使用。也就是说,LFIT的所有功能都可以通过命令行或调用LFIT函数的用户编写的MATLAB脚本访问。对于特殊应用,这可能是首选的路线。一般来说,处理的总体任务 原始全光图像可以被分类为这些步骤:导入、微透镜校准、辐射阵列形成和计算成像。这些步骤将在下文中更详细地描述。LFIT随附的文档中提供了其他实用细节。对利用全光相机的光场成像背后的理论的详尽描述超出了本文的范围;对于从关于LFIT的实践角度对理论的扩展讨论,请参考[10]。还要注意,LFIT中使用的命名法主要采用Ng;参见[4,11]了解光场成像的完整描述。2.1. 进口LFIT首先要求在处理任何图像之前定义几个基本参数。这些参数在第一个GUI窗口中定义,如下图1所示。具体地,定义包含与要处理的原始全光图像相关联的校准图像的目录。还指定了原始全光图像目录和输出文件路径。输入标称焦平面处的放大率由用户连同主镜头的焦距一起。当指定实验中使用的全光相机时,自动加载诸如微透镜阵列的焦距的其他参数。或者,用户可以选择“其他相机”选项,并将被提示输入这些参数。2.2. 微透镜校准在以上参数定义之后,后处理全光图像的第一步骤是微透镜校准步骤。为了确定每个显微图像的中心,在实验过程中捕获了一系列校准图像,其中主透镜的孔径被缩小到很小的尺寸。LFIT首先对校准图像进行平均,以减少传感器噪声的影响。在平均之后,提示用户以指定图案识别三个这些点之间的空间关系用于启动透镜查找算法。该算法遍历场景中的每个微图像,识别每个点的质心。这些质心定义每个微透镜的中心。2.3. 辐射阵该步骤的目标是将来自原始全光图像的数据结构化为4D辐射率阵列,其索引为(i, j, k, l),其对应于(u,v, s, t)坐标。(u,v)坐标与角度数据相关联,并且(s, t)坐标与空间数据相关联。通过上述校准识别每个微图像的中心,然后将每个微图像后面的像素内插到均匀的(u,v)网格上,因为微透镜阵列没有与图像传感器完全对准。从算法的角度来看,使采样的(u,v)数据位于均匀网格上在计算上更有效;否则,稍后将需要执行分散的数据插值,这是一个相对较慢的(因子10)过程。插值中的已知坐标是从校准步骤中计算的微透镜中心导出在(u,v)坐标中,微透镜中心将位于(0, 0)。然而,计算出的微透镜的中心不太可能与图像坐标中的像素完全对准。因此,成像像素对应于略微偏移(u,v)坐标的采样。因此,已知偏移(u,v)值与微图像数据相关联。使用此,可以通过在均匀整数值(非偏移)网格上插值(u,v)的新值来创建新的微图像针对原始全光图像中的每一微图像重复此过程,因为每一微图像将相对于其相应微透镜的中心非均匀地偏移对于具有矩形阵列的相机,通过假设以中心微图像为中心的非旋转(s,t)网格来确定微图像的(s,t)坐标对于具有六边形阵列的相机,为了算法的目的,必须将散射的微图像(s, t)数据重新采样到直线网格上。对于两种类型的(u,v)插值,使用标准MATLAB函数interpn。对于要求(s, t)J. Bolan等人/ SoftwareX 5(2016)101103Fig. 1.预处理GUI窗口允许用户指定与哪个全光图像交互,以及加载或创建用于特定数据集的微透镜校准。因此,采用矢量化的六边形到矩形插值2.4. 计算成像利用计算的辐射率阵列,可以从处理的数据计算地形成新的图像。可以形成两种类型的图像:透视变换和重新聚焦的图像。2.4.1. 观点转变透视移位图像是从经处理的全光图像形成的算法上简单类型的图像回想一下,每个微图像由一系列角度样本组成,因为每个微透镜对主透镜的孔径因此,微图像中的不同像素将对应于进入相机的不同角度的光线集合要创建透视图,首先选择(u,v)值。然后,从图像中的每个微图像中读取对应于该(u,v)值的像素,并将其拼接在一起以形成输出图像。2.4.2. 重新聚焦虽然透视移位是由全光相机捕获的角度数据的自然应用,但是也许该信息的最引人注目的以在全光图像的初始捕获之后计算地重新聚焦全光图像。也就是说,单个原始全光图像可以经由后处理被重新聚焦到新的任意焦平面提供了两种不同的重聚焦算法第一个(在本文中被称为考虑原始全光图像。相机镜头(以及原始图像)物理上聚焦在场景中的某个标称焦平面上。有可能利用由全光相机记录的角度信息来定义新的角度信息。焦平面偏离标称焦平面一定距离。该概念的示意图在下面的图2中呈现。注意,A是主镜头的光圈,f是主镜头的焦距。考虑位于全光相机的标称焦平面处且在光轴上的点源。从这个点到主镜头的距离就是物距,由so给出。来自这样的光源的光线在上图中用红色实线表示。如图所示,来自点光源的这些光线将在点光源聚焦的s平面处会聚到微透镜阵列上。主透镜和会聚光线的位置之间的距离是像距si。现在假设点源位于光轴上但在超过全光相机的标称焦平面的某一深度处。从这个点光源发出的射线用上面的紫色虚线标记这些光线将会聚在全光相机内微透镜阵列前方的某一距离处。射线在它们撞击微透镜平面时已经发散,使得点源失焦(标称)。通过在虚线紫色光线会聚在si’处的相机内的位置处定义新的合成传感器平面s’,可以形成新的计算重聚焦图像。在s0′处的预聚焦离焦点源将不会在重聚焦图像中聚焦重聚焦平面相对于到标称焦平面的距离由深度参数α控制。此参数由用户设置,以生成聚焦在场景中不同深度的重聚焦图像。LFIT中还包括第二种重聚焦算法传统的重聚焦算法使用相似的三角形来确定合成图像传感器的尺寸。同心重聚焦只是对上述算法的修改,以在每个焦平面处保持恒定的放大率。换句话说,在深度方向上平移的对象104J. Bolan等人/ SoftwareX 5(2016)101图二、示意图描绘了计算重新聚焦的过程来自光场的角度信息可用于在合成传感器平面而非微透镜平面处重构图像当图像聚焦时,到它所在的飞机上。在实践中,由于实验数据中透镜像差的影响目前正在开发校准方法;但是,在此完成之前,不鼓励使用此算法进行定量测定。3. 说明性示例图3是使用GUI描绘具有 LFIT由数千个微图像组成的原始全光图像摄像机参数和处理选项在初始GUI中定义在选择这些设置之后,校准全光图像并且形成辐射率阵列然后出现第二个GUI,任意透视图的静止图像和用户控制深度的重聚焦图像都可以生成并保存为常见的图像文件格式。能力包括形成动画的透视图或计算重新聚焦以及。对于透视动画,场景的视图围绕相机的光圈移动,展示数据的三维性。重新聚焦动画相对于原始场景中的初始焦平面移动焦平面,根据场景显示进入和离开焦点的对象。动画可以保存在流行的GIF动画图像格式或常见的视频格式,如AVI或MP4。也可以生成一系列重新聚焦的图像,称为焦点堆栈,并保存到文件夹中。仅存在于GUI模式中的该第二GUI面板允许加载与以下相关联的新的全光图像:给定的校准数据。注意,当全光相机上的主透镜未经调整时,给定校准图像对于此后拍摄的任何数目的图像无论何时调整主透镜,都必须获取新的校准图像。虽然上面讨论的是用户友好的GUI模式,但是在演示脚本中也可以使用健壮的批处理模式。所包含的演示脚本具有用户可编辑的批处理模式部分,其中任意代码可以在文件夹中的所有原始全光图像的顺序循环中运行。初始校准后,LFIT自动加载并处理文件夹中的每个原始图像,执行用户定义的命令,例如调用透视或重新聚焦生成功能。该文档包含有关如何正确调用这些函数的大量注释。4. 影响全光相机越来越受欢迎,因为它们能够仅使用单个相机捕获真正的3D数据,这需要最少的光学访问和配置。LFIT允许任何用户快速轻松地从全光图像中提取有用的数据。再加上实验设置的简单性,这将使研究人员能够专注于实验结果和新的数据简化算法,而不是数据采集和处理步骤。此外,随着用户确定更准确和有效的方法或实现全新的功能,LFIT的开源性质将允许研究社区快速改进和采用。在我们的实验室中,LFIT已经能够使用全光相机开发3D反卷积[10,12,13]、测距[8,9]和面向背景的纹影[14]J. Bolan等人/ SoftwareX 5(2016)101105图三.描述典型LFIT使用的图形流程图。原始全光图像和校准图像用于形成辐射阵列,可以从辐射阵列重建指定平面或视角处的图像。许多使用LFIT的团体包括洛斯阿拉莫斯国家实验室[14],桑迪亚国家实验室[15]和佛罗里达州立大学[16]。其他尚未发表的工作正在阿诺德工程发展中心,上海交通大学,NASA兰利和其他机构进行作者5. 结论在LFIT开发之前,存在基本的重新聚焦和透视变换方程的一些有限的实现。不同的作者在开发算法时做出了不同的假设,使得计算图像之间的比较变得困难。LFIT的创建为我们的实验室和我们的合作者提供了一个统一的基础。LFIT的存在促进了三维LFIT旨在简化处理全光数据的工作流程,以便研究人员可以花时间开发新的应用程序并进行有意义的研究,而不是调试校准算法或用户界面。LFIT在过去已经与各种实验室共享,但现在已经达到足够的成熟度,希望其他人能够从我们的工作它在这里作为一个稳定的版本,虽然开发将继续,以增加新的功能,更好地服务于该软件的用户。引用[1] AdelsonE,Bergen J.全光功能和早期视觉的要素。计算机模型VisProc1991;3[2] AdelsonEH,a Wang JY. 单镜头立体与全光相机。 IEEETransPattern Anal Mach Intell1992;14(2):99-106.[3] Levoy M,Hanrahan P.光场渲染。In:Proc. 23rd Annu. Conf.Comput. Graph. 互动. Tech. - SIGGRAPHp. 31比42[4] [10]吴伟,李伟. 手持全光照相机的光场照片。在:斯坦福理工大学.众议员 CTSR 2005-02;2005年。[5] 莱沃湾 光场和计算成像。 计算机(长Beach,CA),第39卷,第46-55页[6] [10]杨S,杨S,科恩N,安达尔曼A,戴瑟罗斯K,列夫·罗伊M.波动光 学理 论与 光场 显微 镜的三 维解 卷积 。Opt Express2013;21(21):25418[7] Thurow BS,Fahringer T.容积式PIV技术的最新发展全光照相机在:10th Int.Symp. 部分图像速度。2013年。[8] 雷诺岭用全光照相机进行测距。空军技术研究所;2014年。[9] Roberts WA,Thurow BS. 基于相关性的深度估计全光照相机在:54th AIAA Aero. Sci.会议,编号2016-0136; 2016。[10] Bolan J. Enhancing image resolvability in obscured environmentsusing3D deconvolution and a plenoptic camera.奥本大学;2015.[11] 恩河数字光场摄影。斯坦福大学; 2006年。[12] Anglin P,Reeves SJ,Thurow BS.根据全光数据的高效体积估计。程序SPIE:对比图像XII2014;9020.106J. Bolan等人/ SoftwareX 5(2016)101[13] Anglin P,Reeves SJ,Thurow BS.全光成像系统的表征和来自全光数据的有效体积估计。IEEETrans Imag Proc2016.[14] 放大图片作者:J. 3D可视化使用全光相机和背景定向纹影成像的密度梯度,在:第54届AIAA航空航天科学会议,第2016-1047号; 2016年。[15] Munz ED,Guildenbecher DR,Farias PA,Thurow BS.利用全光成像和数字同轴全息术进行三维颗粒跟踪和测量的初步比较。In:54th AIAA Aerospace Sciences Meeting,no. 2016-1045; 2016.[16] 李晓斌,李晓斌,李晓斌.用全光粒子图像测速法测量激波-湍流边界层干扰的体积。第32届AIAA Aero。Meas.技术; 2016年。
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 高清艺术文字图标资源,PNG和ICO格式免费下载
- mui框架HTML5应用界面组件使用示例教程
- Vue.js开发利器:chrome-vue-devtools插件解析
- 掌握ElectronBrowserJS:打造跨平台电子应用
- 前端导师教程:构建与部署社交证明页面
- Java多线程与线程安全在断点续传中的实现
- 免Root一键卸载安卓预装应用教程
- 易语言实现高级表格滚动条完美控制技巧
- 超声波测距尺的源码实现
- 数据可视化与交互:构建易用的数据界面
- 实现Discourse外聘回复自动标记的简易插件
- 链表的头插法与尾插法实现及长度计算
- Playwright与Typescript及Mocha集成:自动化UI测试实践指南
- 128x128像素线性工具图标下载集合
- 易语言安装包程序增强版:智能导入与重复库过滤
- 利用AJAX与Spotify API在Google地图中探索世界音乐排行榜
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功