一种多光源位置估计方法技术

技术编号:17096548 阅读:29 留言:0更新日期:2018-01-21 07:51
本发明专利技术涉及一种多光源位置估计方法,其特征在于具体步骤如下:记世界坐标系与摄像头坐标系重合;计算机利用Matlab2015中的rgb2gray函数将srcimage转化成灰度图像,利用公式,构造方程组,根据实对称矩阵的正交对角化分解原理,设置一个阈值,通过手动方式,构造方程组,构造矩阵P,表示第i个光源在世界坐标系中的坐标,通过以上步骤实现了多光源位置的估计。其能解决增强现实中基于多光源的虚实融合场景的无缝融合等问题,从而,使得虚拟对象叠加到真实场景中更具沉浸感,更加逼真。

【技术实现步骤摘要】
一种多光源位置估计方法
本专利技术涉及一种多光源位置估计方法,属于增强现实

技术介绍
增强现实技术是将虚拟对象无缝渲染在真实环境中,它已成功应用在教育、医学、娱乐等众多领域。光照一致性是增强现实中的关键技术之一,是指真实和虚拟对象具有一致性的照明。一旦获取光源参数,就能在虚实融合场景中操纵虚拟对象的明暗及产生阴影。而多光源位置估计是复杂环境光照一致性的重点和难点。增强现实中的光照检测算法可以分为基于图像光照(image-basedlighting,IBL)和逆向渲染(inverserendering)两大类光源恢复算法。基于图像光照技术是HDR(highdynamicrange,高动态范围)技术与EM(environmentmap,环境映照)技术的结合,它使用HDREM代替虚拟光源来“照明”虚拟物体。HDR图像通常是拍摄若干张不同曝光度的周围环境的全景图像,然后根据相机响应曲线合成HDR图像。HDR图像能够较精确的展示周围环境的真实光照信息,最后利用环境映照技术将光照信息叠加到虚拟对象上。但它对虚拟对象位置具有严格限制,且无法生成虚拟对象的阴影,有时还需使用鱼眼镜头或者全景相机来获取图像。逆向渲染是根据光度模型(photometricmodel)从图像中追踪物体反射属性和光源信息。一种典型的实现方法是通过镜面反射校准物的明暗,使用Phone光照模型检测真实环境中点光源位置或方向信息。基于逆向渲染算法恢复光源信息无需配备昂贵的设配,只需一个普通的CMOS摄像头,而且操作简单。因此,逆向渲染算法在光照估计中具有广泛的应用价值。MarkW.Powell等人通过三角化两个镜面反射球上的高光点来获取多光源位置。他们假设镜面反射球在图像上的投影是一个正圆,基于这个假设对两个镜面反射球进行定位;根据Phone光照模型和逆向光线追踪算法追踪球面高光处的反射光线方向;然后匹配两个镜面反射球上来自同一光源照明的高光点,高光点对与对应的光源构成一个三角形,最后通过正弦定理计算每个光源位置。YanhongLiu等人提出一种实时追踪多光源位置的增强现实系统。他们使用SURF(SpeededUpRobustFeatures)算法进行相机位姿追踪;在自然特征平面标记中心上放置一个纯镜面反射球,基于逆向光线追踪原理,单幅图像恢复多光源方向,两幅图像定位多光源位置。
技术实现思路
为了准确地对复杂环境中多光源位置进行定位,本专利技术提出一种多光源位置估计方法,该方法可以有效地测算和恢复复杂场景中多个光源的位置,解决增强现实中基于多光源的虚实融合场景的无缝融合等问题,从而,使得虚拟对象叠加到真实场景中更具沉浸感,更加逼真。本专利技术的技术方案是这样实现的:一种多光源位置估计方法,包括计算机1,摄像头2,第一个镜面反射球3,第二个镜面反射球4,实验台5,光源组6;其中计算机1和摄像头2通过电缆连接,第一个镜面反射球3和第二个镜面反射球4放置在实验台5上,第一个镜面反射球3的半径用Sr1表示,第一个镜面反射球4的半径用Sr2表示,光源组6由G个光源组成,分别称为第i个光源,i=1,2,...,G;其特征在于具体步骤如下:步骤1、记世界坐标系与摄像头2坐标系重合;利用计算机1控制摄像头2对准实验台5拍摄一幅包含第一个镜面反射球3和第二个镜面反射球4及第一个镜面反射球3和第二个镜面反射球4上分别有G个高亮点区域的彩色图像,该彩色图像用srcimage表示。步骤2、计算机1利用Matlab2015中的rgb2gray函数将srcimage转化成灰度图像,该灰度图像用grayimage表示;设置一个阈值,用threshold1表示,利用Matlab2015中的im2bw函数和threshold1,将grayimage转化成二值图像,该二值图像用binaryimage1表示;利用Matlab2015中的bwperim函数提取binaryimage1中第一个镜面反射球3和第二个镜面反射球4的轮廓,并分别用contours1和contours2表示;设contours1中有M的像素点,由这些像素点在图像坐标系中的坐标构成矩阵Q1,Q1(i,j)是矩阵Q1的第i行,第j列元素,i=1,2,…,M,j=1,2,3;Q1(i,1)为第i个像素点在图像坐标系中的X轴坐标,Q1(i,2)为第i个像素点在图像坐标系中的Y轴坐标,Q1(i,3)的值为1,i=1,2,…,M。设contours2中有N的像素点,由这些像素点在图像坐标系中的坐标构成矩阵Q2,Q2(i,j)是矩阵Q2的第i行,第j列元素,i=1,2,…,N,j=1,2,3;Q2(i,1)为第i个像素点在图像坐标系中的X轴坐标,Q2(i,2)为第i个像素点在图像坐标系中的Y轴坐标,Q2(i,3)的值为1,i=1,2,…,N。步骤3、利用公式ZQ1=Q1*K-1,ZQ2=Q2*K-1构成矩阵ZQ1、ZQ2,ZQ1(i,j)是矩阵ZQ1的第i行,第j列元素,i=1,2,…,M,j=1,2,3;ZQ2(i,j)是矩阵ZQ2的第i行,第j列元素,i=1,2,…,N,j=1,2,3;K为摄像头2的内参矩阵。步骤4、构造方程组A1*ZQ1(p,1)2+B1*ZQ1(p,1)*ZQ1(p,2)+C1*ZQ1(p,2)2+D1*ZQ1(p,1)+E1*ZQ1(p,2)+F1=0,其中,p=1,2,...,M,求解A1,B1,C1,D1,E1,F1,利用下式构成矩阵构造方程组A2*ZQ2(q,1)2+B2*ZQ2(q,1)*ZQ2(q,2)+C2*ZQ2(q,2)2+D2*ZQ2(q,1)+E2*ZQ1(q,2)+F2=0,其中,q=1,2,...,N,求解A2,B2,C2,D2,E2,F2,利用下式构成矩阵步骤5、根据实对称矩阵的正交对角化分解原理,分别使用公式对和进行分解,其中,U1和U2都是正交矩阵,C1和C2都是对角矩阵,C1(i,j)是矩阵C1的第i行,第j列元素,i=1,2,3,j=1,2,3,C2(i,j)是矩阵C2的第i行,第j列元素,i=1,2,3,j=1,2,3;设两个正常数,分别用r1和r2表示,r1和r2可根据下式计算得到。步骤6、设第一个镜面反射球3的球心在世界坐标系下的坐标用向量SC11表示,根据公式计算可得SC11。其中,u13是矩阵U1的第三列向量。步骤7、设第二个镜面反射球4的球心在世界坐标系下的坐标用向量SC22表示,根据公式计算可得SC22。其中,u23是矩阵U2的第三列向量。步骤8、设置一个阈值,用threshold2表示,利用Matlab2015中的im2bw函数和threshold2,将grayimage转化成二值图像,该二值图像用binaryimage2表示。步骤9、通过手动方式,根据属于同一光源产生的高亮点区域的原则,对binaryimage2中的高亮点区域进行匹配;在binaryimage2中第一个镜面反射球3上由第i个光源产生得到的高亮点区域,为第一个镜面反射球3第i高亮点区域,在binaryimage2中第二个镜面反射球4上由第i个光源产生得到的高亮点区域,为第二个镜面反射球4第i高亮点区域,i=1,2,...G;使用质心算法,计算第一个镜面反射球3第i高亮点区域的本文档来自技高网
...
一种多光源位置估计方法

【技术保护点】
一种多光源位置估计方法,包括计算机1,摄像头2,第一个镜面反射球3,第二个镜面反射球4,实验台5,光源组6;其中计算机1和摄像头2通过电缆连接,第一个镜面反射球3和第二个镜面反射球4放置在实验台5上,第一个镜面反射球3的半径用Sr1表示,第一个镜面反射球4的半径用Sr2表示,光源组6由G个光源组成,分别称为第i个光源,i=1,2,...,G;其特征在于具体步骤如下:步骤1、记世界坐标系与摄像头2坐标系重合;利用计算机1控制摄像头2对准实验台5拍摄一幅包含第一个镜面反射球3和第二个镜面反射球4及第一个镜面反射球3和第二个镜面反射球4上分别有G个高亮点区域的彩色图像,该彩色图像用srcimage表示;步骤2、计算机1利用Matlab2015中的rgb2gray函数将srcimage转化成灰度图像,该灰度图像用grayimage表示;设置一个阈值,用threshold1表示,利用Matlab2015中的im2bw函数和threshold1,将grayimage转化成二值图像,该二值图像用binaryimage1表示;利用Matlab2015中的bwperim函数提取binaryimage1中第一个镜面反射球3和第二个镜面反射球4的轮廓,并分别用contours1和contours2表示;设contours1中有M的像素点,由这些像素点在图像坐标系中的坐标构成矩阵Q1,Q1(i,j)是矩阵Q1的第i行,第j列元素,i=1,2,…,M,j=1,2,3;Q1(i,1)为第i个像素点在图像坐标系中的X轴坐标,Q1(i,2)为第i个像素点在图像坐标系中的Y轴坐标,Q1(i,3)的值为1,i=1,2,…,M;设contours2中有N的像素点,由这些像素点在图像坐标系中的坐标构成矩阵Q2,Q2(i,j)是矩阵Q2的第i行,第j列元素,i=1,2,…,N,j=1,2,3;Q2(i,1)为第i个像素点在图像坐标系中的X轴坐标,Q2(i,2)为第i个像素点在图像坐标系中的Y轴坐标,Q2(i,3)的值为1,i=1,2,…,N;步骤3、利用公式ZQ1=Q1*K...

【技术特征摘要】
1.一种多光源位置估计方法,包括计算机1,摄像头2,第一个镜面反射球3,第二个镜面反射球4,实验台5,光源组6;其中计算机1和摄像头2通过电缆连接,第一个镜面反射球3和第二个镜面反射球4放置在实验台5上,第一个镜面反射球3的半径用Sr1表示,第一个镜面反射球4的半径用Sr2表示,光源组6由G个光源组成,分别称为第i个光源,i=1,2,...,G;其特征在于具体步骤如下:步骤1、记世界坐标系与摄像头2坐标系重合;利用计算机1控制摄像头2对准实验台5拍摄一幅包含第一个镜面反射球3和第二个镜面反射球4及第一个镜面反射球3和第二个镜面反射球4上分别有G个高亮点区域的彩色图像,该彩色图像用srcimage表示;步骤2、计算机1利用Matlab2015中的rgb2gray函数将srcimage转化成灰度图像,该灰度图像用grayimage表示;设置一个阈值,用threshold1表示,利用Matlab2015中的im2bw函数和threshold1,将grayimage转化成二值图像,该二值图像用binaryimage1表示;利用Matlab2015中的bwperim函数提取binaryimage1中第一个镜面反射球3和第二个镜面反射球4的轮廓,并分别用contours1和contours2表示;设contours1中有M的像素点,由这些像素点在图像坐标系中的坐标构成矩阵Q1,Q1(i,j)是矩阵Q1的第i行,第j列元素,i=1,2,…,M,j=1,2,3;Q1(i,1)为第i个像素点在图像坐标系中的X轴坐标,Q1(i,2)为第i个像素点在图像坐标系中的Y轴坐标,Q1(i,3)的值为1,i=1,2,…,M;设contours2中有N的像素点,由这些像素点在图像坐标系中的坐标构成矩阵Q2,Q2(i,j)是矩阵Q2的第i行,第j列元素,i=1,2,…,N,j=1,2,3;Q2(i,1)为第i个像素点在图像坐标系中的X轴坐标,Q2(i,2)为第i个像素点在图像坐标系中的Y轴坐标,Q2(i,3)的值为1,i=1,2,…,N;步骤3、利用公式ZQ1=Q1*K-1,ZQ2=Q2*K-1构成矩阵ZQ1、ZQ2,ZQ1(i,j)是矩阵ZQ1的第i行,第j列元素,i=1,2,…,M,j=1,2,3;ZQ2(i,j)是矩阵ZQ2的第i行,第j列元素,i=1,2,…,N,j=1,2,3;K为摄像头2的内参矩阵;步骤4、构造方程组A1*ZQ1(p,1)2+B1*ZQ1(p,1)*ZQ1(p,2)+C1*ZQ1(p,2)2+D1*ZQ1(p,1)+E1*ZQ1(p,2)+F1=0,其中,p=1,2,...,M,求解A1,B1,C1,D1,E1,F1,利用下式构成矩阵构造方程组A2*ZQ2(q,1)2+B2*ZQ2(q,1)*ZQ2(q,2)+C2*ZQ2(q,2)2+D2*ZQ2(q,1)+E2*ZQ1(q,2)+F2=0,其中,q=1,2,...,N,求解A2,B2,C2,D2,E2,F2,利用下式构成矩阵步骤5、根据实对称矩阵的正交对角化分解原理,分别使用公式对和进行分解,其中,U1和U2都是正交矩阵,C1和C2都是对角矩阵,C1(i,j)是矩阵C1的第i行,第j列元素,i=1,2,3,j=1,2,3,C2(i,j)是矩阵C2的第i行,第j列元素,i=1,2,3,j=1,2,3;设两个正常数,分别用r1和r2表示,r1和r2可根据下式计算得到。步骤6、设第一个镜面反射球3的球心在世界坐标系下的坐标用向量SC11表示,根据公式计算可得SC11。其中,u13是矩阵U1的第三列向量;步骤7、设第二个镜面反射球4的球心在世界坐标系下的坐标用向量SC22表示,根据公式计算可得SC22;其中,u23是矩阵U2的第三列向量;步骤8、设置一个阈值,用threshold2表示,利用Matlab2015中的im2bw函数和threshold2,将grayimage转化成二值图像,该二值图像用binaryimage2表示;步骤9、通过手动方式,根据属于同一光源产生的高亮点区域的原则,对binaryimage2中的高亮点区域进行匹配;在binaryimage2中第一个镜面反射球3上由第i个光源产生得到的高亮点区域,为第一个镜面反射球3第i高亮点区域,在binaryimage2中第二个镜面反射球4上由第i个光源产生得到的高亮点区域,为第二个镜面反射球4第i高亮点区域,i=1,2,...G;使用质心算法,计算第一个镜面反射球3第i高亮点区域的质心在图像坐标系中的X轴和Y轴的坐标分别为GL1(i,1)和GL1(i,2),GL1(i,3)=1,i=1,2,...G,计算第二个镜面反射球4第i高亮点区域的质心在图像坐标系中的X轴和Y轴的坐标分别为GL2(i,1)和GL2(i,2),GL2(i,3)=1,i=1,2,...G;步骤10、利用公式H1=GL1*K-1,H2=GL2*K-1构成矩阵H1、H2,其中,K为摄像头2的内参矩阵;步骤11、利用公式

【专利技术属性】
技术研发人员:李华韩成张超权巍蒋振刚薛耀红胡汉平徐超
申请(专利权)人:长春理工大学
类型:发明
国别省市:吉林,22

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1