APP下载

面向工业检测的光场相机快速标定研究

2022-05-31王兴政刘杰豪韦国耀陈松伟

电子与信息学报 2022年5期
关键词:光场初值视图

王兴政 刘杰豪 韦国耀 陈松伟

①(深圳大学机电与控制工程学院 深圳 518060)

②(清华大学深圳国际研究生院 深圳 518055)

1 引言

光场相机不仅能够获得光线的位置信息,而且能够记录与场景深度、目标几何形态等高度相关的光线角度信息,即3维信息[1–3]。因此,光场相机在工业检测中具有独特应用,例如印制电路板(Printed Circuit Board, PCB)检测[4,5]。如图1,光场相机可以通过一次成像获取PCB的3维图像,进而精确地得到PCB引脚长度,同时发现PCB表面瑕疵。标定是光场相机在工业检测应用的基础,标定精度对检测精度具有关键作用。因此,现有光场相机标定研究更多关注标定精度,而忽视另一个因素—标定速度[6–8]。这是因为在许多场景中相机参数一般固定不变,只需标定1次,所以标定速度对光场相机应用的影响很小。但在工业检测中,光场相机参数由于人为操作和环境扰动不可避免发生改变:(1)当光场相机发生变焦、重新对焦等操作时,相机内参发生变化;(2)由于相机外参对扰动非常敏感,工业场景的机械振动导致相机外参发生变化[9–14]。因此,在工业检测中光场相机需要定期进行重新标定,获取精确的相机参数。在重新标定过程中,光场相机停止工作,进而影响工业检测效率。因此,加快标定速度可以减少标定对工业检测效率的影响。

图1 光场相机在工业检测的应用:PCB检测

但是,现有光场相机标定方法只关注标定精度、忽视标定速度,导致无法快速校准光场相机参数变化,进而降低工业检测效率。Bok等人[15]和Liu等人[16]分别使用光场图像的线特征和点特征进行标定,而高精度的特征提取需要很高计算成本。例如,输入10张光场图像,Bok等人[15]的平均标定时间超过1000 s,Liu等人[16]的平均标定时间也超过200 s。Dansereau等人[17]没有直接使用光场图像,而是利用光场图像中提取的9×9稠密子视图即稠密光场,实现光场相机标定。但是,稠密光场的数据量大,同样带来计算成本高、标定速度慢的问题。Dansereau等人[17]标定10张光场图像的平均时间约100 s。相比Bok等人[15]和Liu等人[16],Dansereau等人[17]的标定速度更快,但仍然不满足工业检测对标定快速性的要求。

针对光场数据量大带来的现有方法标定速度慢的问题,本文基于稀疏光场成像模型优化光场数据,提出光场相机快速标定算法。本算法以清晰度作为图像质量评价指标,从9×9稠密子视图中提取高质量、具有代表性的稀疏子视图,构成稀疏光场:(1)首先选取中心子视图,因为参数初值与中心子视图的主点等相关,而且中心子视图的质量最高;(2)因为参数初值求解对子视图对称的要求,在中心子视图的上下、左右对称地选取子视图。本文共建立7×7, 5×5和3×3共3种稀疏光场。标定中,本文利用3种稀疏光场求解参数初值,并用最小化射线重投影误差的方法优化参数初值,得到参数最优解。实验部分,本文对比3种稀疏光场方案的标定精度和标定速度,确定最优的稀疏光场方案;然后再对比最优方案与Dansereau等人[17]方法在标定精度和标定时间的表现。

本文的创新主要包括两部分:(1)设计光场数据的优化方案,从稠密光场提取高质量稀疏光场;(2)利用获取的稀疏光场实现快速光场相机标定,确定最优的稀疏光场方案。后续章节安排如下:第2节具体阐述基于稀疏光场的光场相机快速标定方法,包括稀疏光场的建立和相机标定步骤;第3节是标定实验及结果;第4节是总结和讨论。

2 基于稀疏光场的快速标定算法

本文基于稀疏光场成像模型,通过优化光场数据提出光场相机快速标定算法。算法包括两个步骤:(1)优化光场数据,进而建立高质量的稀疏光场;(2)利用稀疏光场计算光场相机参数初值,再优化参数初值得到相机参数最优解。

2.1 稀疏光场建立

稀疏光场的建立包括2步:(1)基于虚拟相机阵列模型的光场数据分析;(2)设计光场数据优化策略,建立高质量稀疏光场。

(1)光场数据分析。光场图像及微透镜子图像的形成过程如图2(a),微透镜子图像记录同一位置、不同方向的光线;子视图的形成如图2(b),子视图记录同一方向、不同位置的光线。因此,原始光场数据包含光线角度信息和位置信息,即4D光场。用双平面法表示4D光场

图2 光场图像、微透镜子图像及光场子视图的形成

其中,M1和M2分别为微透镜阵列的行和列,i∗和j∗表示方向固定。因此,从M1×M2个微透镜子图像提取相对坐标为(i∗,j∗)的像素,按顺序排列,可获得一个子视图。实际上,光场图像可提取2R×2R幅子视图。式(1)表示的光场数据等价于2R×2R子视图的集合

实际上,式(3)表示的2R×2R子视角存在冗余和重叠[18]。因此,本文对光场数据进行优化,并建立高质量稀疏光场。

(2)光场数据优化及稀疏光场建立。由于图像清晰度影响标定精度,而能量梯度函数(Energy Of Gradient, EOG)是图像清晰度评价的指标之一,所以本文基于能量梯度函数,分析光场相机捕获的9×9子视图质量计算得到的9×9子视图的能量梯度函数值如图3(c)。不难发现:(a)中心子视图的图像质量最优;(b)图像质量从中心子视图到边缘子视图递减;(c)边缘子视图质量最差。本文分析原因在于中心子视图能够精确获得,其他子视图通过中心子视图间接得到(现有方法[17])。

图3 光场相机、虚拟相机阵列模型及子视图质量

根据以上3个发现,本文设计子视图的选取策略:(1)首先选取中心子视图,因为根据EOG图像质量评价指标,中心子视图质量最好;(2)因为参数初值求解对子视图对称的要求,在中心子视图的上下、左右对称地选取子视图;(3)其次间隔i=j=s选择2R×2R子视图(s称作稀疏因子),因为光场相机的相邻子视图间视差极小。例如,Lytro光场相机的相邻视差估计值为0.37 mm,最大基线长度为2.97 mm;Lytro Illum光场相机的相邻视差估计值为0.52 mm,最大视差为7.33 mm[19]。策略(3)选择大视差的子视图,减少子视图间的重叠和冗余。本文选取策略表示为

2.2 标定步骤

本文将稀疏光场用于光场相机标定,计算光场相机参数。光场相机标定步骤包括:(1)参数初值求解;(2)不考虑畸变的参数优化;(3)考虑畸变的参数优化。

图4 3种稀疏光场成像模型

(1) 初值求解。根据Dansereau等人[17],光场内参数矩阵为H5×5, 表示光场相机中像平面光线Φ=(i,j,k,l,1)T与物平面光线Ψ=L(u,v,s,t,1)T的映射关系并且H5×5对于初值不敏感,只需初值的估计值[17]。因此,本文利用稀疏光场求解相机几何参数作为H5×5的 初值。实验获得P个姿态的棋盘格光场图像。以一幅光场图像为例(即一个姿态),从一幅4D光场图像的稠密光场(例如9×9子视图)提取Nsi×Nsj稀疏光场(例如3×3,s=2),总共获得Nsi×Nsj幅2D子视图。使用Jean-Yves Bouguet的标定工具箱计算子视图对应虚拟相机的主点C、焦距f。接着利用得到的结果和子视图的角点、3维棋盘格角点,计算得到Nsi×Nsj个旋转矩阵R和平移矩阵T。这些旋转矩阵和平移矩阵非常接近,因为光场图像提取的子视图的视差很小。因此,本文将这些外参的均值作为子姿势的平移矩阵T~p。

(2) 无畸变优化。得到H5×5的初值后,本文使用非线性方法优化结果。本文首先不考虑畸变系数,仅优化光场内参数。基于优化方法,本文采用的目标函数是射线重投影误差。射线重投影误差的计算如下:(a)子视图的角点对应像平面射线:Φ=(i,j,k,l); (b)利用H5×5将Φ转换到物平面射线:Ψ=(s,t,u,v); (c)利用外参[R,T]将 3维角点PW转换到相机坐标系PC;(d)计算射线Ψ=(s,t,u,v)与PC之间的距离。不考虑畸变,非线性优化的目标函数为

其中,畸变系数kd初值为[1,2,3]。

实验中,本文使用步骤(3)对参数结果进行两次优化,进一步减少标定误差。因此,相机标定实际包括4个步骤:(1)参数初值求解;(2)不考虑畸变的参数优化;(3)考虑畸变的参数优化;(4)进一步优化。3.2节将对比新方法和现有方法在4个步骤的具体标定时间。

3 光场相机快速标定实验

3.1 实验配置和标定数据

为确保实验条件相同,本文采用一致的实验设备和数据集,其中计算机配置为lntel Core i5-9400F 2.90 GHz CPU 和 16.0 GB RAM,软件为Matlab R2018b。本文的实验数据来自Dansereau提供的Lytro光场相机数据集,包括A, B, C, D, E共5个光场数据。数据集的规格如表1。棋盘格光场图像如图5。以数据集A为例,A中包括10个姿态的光场图像,每张光场图像大小为3280×3280 pixels,对应真实棋盘格尺寸为3.61 mm×3.61 mm,棋盘格角点为19×19=361个。利用5个公开光场数据集,生成稠密光场和稀疏光场:光场相机等效为从9×9虚拟相机阵列,从光场图像提取所有9×9子视角图像,构成稠密光场;而从稠密光场中提取稀疏子视图,构造7×7, 5×5, 3×3共3种稀疏光场。本文分别利用稠密光场和稀疏光场进行标定实验,对比标定性能。

图5 棋盘格光场图像数据集

表1 标定数据集

3.2 实验结果

为了验证新方法的性能,本文进行了以下实验,包括:(1)对比不同稀疏光场的标定性能,进而确定最优稀疏光场方案;(2)对比新方法和现有方法的标定性能。

(1) 不同稀疏光场方案的标定性能对比。本文首先改变稀疏光场的视角个数和稀疏因子,建立7×7, 5×5, 3×3共3种稀疏光场,对比不同稀疏光场的标定性能。其中,3×3光场分为两种稀疏光场:稀疏因子为1和2。使用4种稀疏光场对数据集A, B,C, D, E分别进行标定,标定结果总结在表2中(表2结果括号内为标定时间)。本文将表2的标定时间绘制成图6。从表2和图6发现,不同稀疏光场使用5个数据集的标定精度基本保持一致,因此标定精度受视角个数和稀疏因子的影响很小;而随着视角的减小,标定时间不断减少,标定速度不断提高。并且,3×3稀疏光场的标定时间最少,标定速度达到最快。因此3×3稀疏光场是这3个方案中的最佳方案。

图6 标定时间随视角个数的变化

表2 不同稀疏光场方案的射线重投影误差(mm)和标定时间(s)

本文更进一步探讨不同稀疏光场方案对中心子视图的影响:对比9×9稠密光场标定方法和3×3稀疏光场标定方法,计算两种方案在9×9子视图的标定误差,得到表3和表4。其中,红色数字标注的是中心子视图误差,蓝色数字标注的是边缘子视图误差。本文发现稀疏光场的标定方法会导致中心子视图的标定精度上升,边缘子视图标定精度下降。分析原因在于稀疏光场标定方法在优化时,中心子视图的标定误差得到优化进而减少,而边缘子视图误差没有得到优化。由于中心子视图及其邻近子视图在实际中得到更多使用,因此,提高中心子视图的标定精度对于光场相机的实际应用价值更高。

表3 9×9稠密光场标定方法在不同子视图的标定误差

表4 3×3稀疏光场标定方法在不同子视图的标定误差

(2) 新方法与现有方法的标定性能对比。本文对比最优的3×3稀疏光场标定方法与文献[15–17]方法的标定性能。射线重投影误差和标定时间对比结果分别保存在表5和表6。其中,由于文献[15,16]方法都是利用离焦光场图像进行标定的,而数据集C,D中都是对焦光场图像,所以文献[15,16]方法无法使用C, D进行标定,只能使用A, B, E进行标定。而本方法和文献[17]方法从光场图像提取子视图,对标定需要的图像没有限制,因此可以使用任意光场图像进行标定。文献[15,16]方法的标定结果直接来源于他们的论文;Dansereau等人方法[17]的标定误差和标定精度由他们发布的Matlab工具箱LFToolbox0.5得到。结果表明,对比文献[15,16]方法,本方法的射线重投影误差最小,而且速度更快;而与文献[17]方法对比,3×3稀疏光场的标定方法即使减少了输入子视角个数,但总的标定误差保持一致,在PlenCalCVPR2013DatasetA的标定误差仅为0.0714 mm;而且在5个公开数据集的平均标定时间从101.27 s减少到30.99 s,标定速度提高70%以上。

表5 不同方法的射线重投影误差对比(mm)

表6 不同方法的标定时间对比(s)

为了更具体对比新方法和文献[17]方法的标定结果,本文记录两种方法在标定的4个步骤的运行时间。实验过程保证计算机处于相同运行状况,确保足够的CPU资源和内存。最终,实验得到4个阶段的标定时间记录在图7。4个阶段中,新方法在求初值、畸变优化和进一步优化的时间都减少70%以上,但在无畸变优化这一步花费的时间仍然很多。最终,实验结果证明新方法在标定精度和标定速度同时取得很好的表现。

图7 光场相机标定中4个阶段的运行时间对比

4 结束语

本文基于稀疏光场成像模型优化光场数据,提出光场相机快速标定算法。该算法以清晰度作为图像质量评价指标,从9×9稠密子视图中提取高质量、具有代表性的稀疏子视图,建立7×7, 5×5和3×3共3种稀疏光场。对比不同稀疏光场的标定结果,本文发现3×3稀疏光场的标定性能最优;对比现有最优方法[17],新方法不仅提高平均标定速度70%以上,在现有5个数据集的平均标定时间从101.27 s减少到30.99 s,而且保持标定精度在最优水平,在PlenCalCVPR2013DatasetA的标定误差仅为0.0714 mm。虽然新方法的标定速度得到很大提高,但仍需进一步提高以满足工业检测对标定快速性的要求。未来,研究者可从光场相机投影模型、参数初值求解及优化等不同角度出发,进一步加快光场相机标定速度,提高光场相机在工业检测的应用表现。

猜你喜欢

光场初值视图
一种适用于平动点周期轨道初值计算的简化路径搜索修正法
利用新型光场显微镜高速记录神经元活动和血流动态变化
视图
Y—20重型运输机多视图
SA2型76毫米车载高炮多视图
初值偏差对线性系统状态向量Kalman滤波的影响
光场图像重构算法仿真
Django 框架中通用类视图的用法
集成光场三维显示亮度均匀性校正方法
疯摄影