一种基于单光场相机的目标物三维重构方法
技术领域
本发明属于三维重建技术领域,特别涉及一种基于单光场相机的目标物三维重构方法。
背景技术
现有技术中,对于被测物体虚拟现实的三维数据的获取技术分散于各种文献中,但是都各有其缺点。例如有文献:
[1]Hartley R,哈,Zisserman A,et al.计算机视觉中的多视图几何[M].安徽大学出版社,2002.
[2]Gonzalez R C,Woods R E.Digital image processing[J].Nueva Jersey,2008.
[3]Levoy M,Hanrahan P.Light field rendering[C]//Proceedings of the23rd annual conference on Computer graphics and interactive techniques.ACM,1996:31-42.
发明内容
本发明的目的是提供一种基于单光场相机的目标物三维重构方法。
一种基于单光场相机的目标物三维重构方法,包括以下步骤:
S101,利用单个光场相机获取微透镜校准图,并对微透镜中心定位;
S102,利用模拟的方式产生一幅点扩散函数(Point Spread Function,PSF)的光场图像;
S103,利用单光场相机获取目标物体的光场图像;
S104,分别对物体光场照片及PSF光场图像进行多重聚焦处理,获取三维光场图像集;
S105,对物体三维光场图像集做去卷积算法处理获得物体三维信息;
S106,求出三维信息在横向切片上的最大值并认为是物体的位置所在,获取目标物体的三维结构。
所述步骤S101,方法为在单光场相机远处放置一块白板,将光圈调至最小,调整曝光时间使得图像不至于过曝光或欠曝光,此时拍下的照片可以看作是由微透镜正下方的发光点组成,借此算出微透镜的中心坐标,
在给定图像左上角第一个像素之后,按照初始设定的微透镜间距(Δx,Δy)去横向搜寻右边最近的微透镜中心,在定位中心的过程中微透镜间距实时更新,以减少累计误差,即:
Δx=xi-xi-1
Δy=yi-yi-1
在计算微透镜中心时,采用质心法来计算中心的坐标,步骤如下:
首先用历遍像素的方法找到一个局部最亮点,以局部最亮点为中心外架n×n邻域,再用质心法加权求出亮点的中心坐标(X,Y),其公式可以写成:
其中xi,j,yi,j分别是邻域内坐标(i,j)处的横坐标值和纵坐标值,vi,j是(xi,j,yi,j)处的像素值。
所述步骤S102,采取模拟的方式获得点扩散函数,将PSF在三维上看作两个头对头的圆锥,锥尖代表了点光源在主像平面处成像为一个点,而在主像平面之外的地方将成像为模糊的光斑。
所述步骤S103,将所需三维重构的物体放置在镜头范围内,调整背景至黑色,使得背景对拍摄物体后处理的影响降至最低,调整镜头的焦距,使得被拍摄的物体前后景深位于透镜对焦点两侧,拍摄一张图像即可。
所述步骤S104,
将通过某个重聚焦平面x’某点的所有光线利用其位置参数x和角度参数u全部找到,并加和,落在此焦平面内的所有点都将成清晰的像,而不落在此焦平面内的点将成为模糊的光斑,光场位置参数和角度参数都应为两个,即(x,y),(u,v),为了表示方便,均采用一维参数代替二维,过程可以写成下式:
所述步骤S105,
通过重聚焦获取了物体和PSF三维图像集后,运算求取所要物体的三维坐标信息,物体的成像规律可以写为:
y=f*x+n (4)
其中y是三维图像集,f是点扩散函数,x是物体真实三维坐标,n是噪声,用高斯白噪声模型来模拟,即其在频率谱上服从高斯分布,将(4)式作傅里叶变换并根据WienerFilter可得:
其中K是噪声信号比例,
对x在频域内的点估计值作逆傅里叶变换即可得到物体的三维坐标图像集,求出横向切片中最大值即可认为是物体此空间坐标处的深度坐标。
本发明的优势在于,仅采用单台光场相机,单视角一次拍摄即可获取目标的三维结构数据。可用于工业生产线上产品的三维形状检测、虚拟现实输入端手势识别等众多领域。
附图说明
图1单光场相机三维成像原理图
图2校准图边缘(质量差,应舍去)
图3校准图非边缘
图4单光场相机校准图
图5质心法邻域示意图
图6 PSF光路图
图7 PSF三位形状示意图
图8重聚焦原理示意图
图9实施例中角件三维重构结果示意图
图10本发明方法的流程示意图
具体实施方式
本发明的基于单个光场相机的流场三维重构方法,通过单次拍摄物体加上可预先获取的校准图像及PSF,经过去卷积算法获得物体三维坐标。包含以下步骤:
1)微透镜校准图获取及微透镜中心定位
由于算法需要,在进行一切光场图像后处理的时候都会用到微透镜的坐标信息,而这些坐标会因一些外部因素随时间改变。故在拍摄一组光场照片之前,都需要进行一次校准。方法为在光场相机远处放置一块白板,将光圈调至最小,调整曝光时间使得图像不至于过曝光或欠曝光。此时拍下的照片可以看作是由微透镜正下方的发光点组成。可以借此算出微透镜的中心坐标。
在计算微透镜中心位置时,由于图像边缘的质量较差(见图2),需要将原始光场图像做一定的裁剪,裁剪厚度约为100个像素。
在给定图像左上角第一个像素之后,就可以按照初始设定的微透镜间距(Δx,Δy)去横向搜寻右边最近的微透镜中心。在定位中心的过程中微透镜间距实时更新,以减少累计误差。即:
Δx=xi-xi-1
Δy=yi-yi-1
在计算微透镜中心时,采用质心法来计算中心的坐标[2],步骤如下:首先用历遍像素的方法找到一个局部最亮点,以局部最亮点为中心外架3*3邻域,(若中心点分布较广,可采用更大的邻域)图5中采用的是3*3邻域。再用质心法加权求出亮点的中心坐标(X,Y),其公式可以写成:
其中xi,j,yi,j分别是邻域内坐标(i,j)处的横坐标值和纵坐标值,vi,j是(xi,j,yi,j)处的像素值。
2)点扩散函数PSF的获取
点扩散函数(point spread function,PSF)可以看做一个成像系统的脉冲响应。放置于主光轴主焦平面上的一个理想发光点经过成像系统的三维光场图像集就是光场系统的点扩散函数。实验中由于不可能实现理想点光源(点光源的大小无限小),故采取模拟的方式获得点扩散函数。
由于此点光源发出的光理论上将只通过最中心的一个微透镜,并成像为一个光照几近均匀的圆斑,故只需计算出中心位置,在中心位置人为形成一块大小与微透镜大小相仿的圆斑即可,其光路图如图6所示。PSF在三维上看上去就好似两个头对头的圆锥(如图7),锥尖代表了点光源在主像平面处成像为一个点,而在主像平面之外的地方将成像为模糊的光斑。至于如何将光场照片处理成三维光场图像集,将在4)中介绍。
3)物体光场图像拍摄
将所需三维重构的物体放置在镜头范围内,调整背景至黑色,使得背景对拍摄物体后处理的影响降至最低。调整镜头的焦距,使得被拍摄的物体前后景深位于透镜对焦点两侧,提高对高分辨率区域的利用率。最后,拍摄一张图像即可。
4)对光场图像做重聚焦处理
其原理可以被描述为[3]:将通过某个重聚焦平面x’某点的所有光线利用其位置参数x和角度参数u全部找到,并加和。这样一来,落在此焦平面内的所有点都将成清晰的像,而不落在此焦平面内的点将成为模糊的光斑。(注:光场位置参数和角度参数都应为两个,即(x,y),(u,v)。在这里为了表示方便,均采用了一维参数代替二维)整体的过程可以写成下式:
5)去卷积处理。
通过重聚焦获取了物体和PSF三维图像集后,就可以进行算法运算求取所要物体的三维坐标信息。物体的成像规律可以写为:
y=f*x+n (4)
其中y是三维图像集,f是点扩散函数,x是物体真实三维坐标,n是噪声,可用高斯白噪声模型来模拟,即其在频率谱上服从高斯分布。将(4)式作傅里叶变换并根据WienerFilter[4]可得:
其中K是噪声信号比例,实际信号中此比例无法确切得知,在实验中一般取10E-5至10E-3,并且需要不断调整来获取最佳的重构结果。
之后对x在频域内的点估计值作逆傅里叶变换即可得到物体的三维坐标图像集。求出横向切片中最大值即可认为是物体此空间坐标处的深度坐标。