用于AR眼镜的图像绘制方法与流程

文档序号:14950244发布日期:2018-07-17 22:23阅读:591来源:国知局

本发明涉及增强现实,特别涉及一种用于ar眼镜的图像绘制方法。



背景技术:

增强现实简称ar,意指通过技术手段创造出一种逼真的虚拟的现实效果。目前,增强现实设备已经逐渐成熟和完善,现已广泛应用在影视和游戏等领域,越来越多的用户开始选择增强现实设备如ar眼镜来体验3d内容。在用户通过ar眼镜来体验3d内容时,为了让用户体验到逼真的显示效果,在用户改变眼部的位置从而改变注视角度时,用户所观看的3d内容的观测方位即场景的注视角度要随之变化,从而带给用户强烈的真实感。而现有技术中,大多数ar眼镜在注视角度一致性时会给一部分用户带来不适,例如眼睛不舒服等,从而对整个3d内容的体验造成影响。



技术实现要素:

为解决上述现有技术所存在的问题,本发明提出了一种用于ar眼镜的图像绘制方法,包括:

检测ar眼镜用户的眼部位置,

在用户眼部位置发生变化时,利用用户眼部位置的实时检测数据对ar场景的图像绘制信息进行变换,

利用变换后的图像绘制信息构建ar眼镜场景的3d图像。

优选地,所述检测ar眼镜用户的眼部位置,进一步包括:

通过加速度传感器检测用户的眼部位置从而获取用户眼部位置的实时检测数据。

优选地,所述用户眼部位置的实时检测数据包括眼部在ar空间中的实时旋转角。

优选地,预先建立三维坐标系获取用户眼部相对于x轴的偏转角、相对于y轴的偏转角以及相对于z轴的偏转角,共同表示用户眼部的实时旋转角。

优选地,所述用户眼部位置的实时检测数据还包括眼部在ar空间的实时平移距离。

优选地,所述ar场景的图像绘制信息进一步包括场景的虚拟触摸焦点的位移量。

优选地,将用户眼部位置的实时检测数据与触摸焦点位移量绑定,以根据实时检测数据,确定触摸焦点的位移量;

所述虚拟触摸焦点是与真实场景的实际触摸焦点相对应的,实际触摸焦点移动,虚拟触摸焦点存在显示于场景中,或用于控制场景的视角改变的后台数据;

通过将用户眼部位置的改变与虚拟触摸焦点的位置关联,从而改变场景的视角。

本发明相比现有技术,具有以下优点:

本发明提出了一种用于ar眼镜的图像绘制方法,实现了场景的注视角度与用户眼部位置改变后的角度的一致性,而且减轻用户在使用ar眼镜时由于角度变化剧烈所产生的顿挫感,优化用户体验。

附图说明

图1是根据本发明实施例的用于ar眼镜的图像绘制方法的流程图。

具体实施方式

下文与图示本发明原理的附图一起提供对本发明一个或者多个实施例的详细描述。结合这样的实施例描述本发明,但是本发明不限于任何实施例。本发明的范围仅由权利要求书限定,并且本发明涵盖诸多替代、修改和等同物。在下文描述中阐述诸多具体细节以便提供对本发明的透彻理解。出于示例的目的而提供这些细节,并且无这些具体细节中的一些或者所有细节也可以根据权利要求书实现本发明。

本发明的一方面提供了一种用于ar眼镜的图像绘制方法。图1是根据本发明实施例的用于ar眼镜的图像绘制方法流程图。

本发明通过检测用户的眼部位置,在眼部位置发生变化时,利用用户眼部位置的实时检测数据对场景的观测函数、投射函数或虚拟触摸焦点的定位信息进行变换,从而利用修改后的观测函数、投射函数或虚拟触摸焦点的定位信息构建场景的3d图像。此外,本发明实施例提供了三种不同的用于ar眼镜中场景的显示方法来实现场景的注视角度与眼部位置改变后的注视角度的一致性,可以针对不同的显示场景使用。

本发明的实施例一提供一种用于ar眼镜中场景的显示方法,步骤11,检测用户的眼部位置,获取用户眼部位置的实时检测数据。可选的,可通过加速度传感器等传感器件检测用户的眼部位置从而获取用户眼部位置的实时检测数据,或通过照相机检测用户的眼部位置从而获取用户眼部位置的实时检测数据。

用户眼部位置的实时检测数据可以包括眼部在ar空间中的实时旋转角,可通过预先建立三维坐标系获取用户眼部相对于x轴的偏转角、相对于y轴的偏转角以及相对于z轴的偏转角来共同表示用户眼部的实时旋转角。用户眼部位置的实时检测数据还可包括眼部在ar空间的实时平移距离。

步骤12,根据用户眼部位置的实时检测数据,确定场景的虚拟触摸焦点的位移量。在支持触摸焦点转动视角的应用场景中,触摸焦点的移动可以控制偏转视角。将用户眼部位置的实时检测数据与触摸焦点位移量绑定,则可以根据实时检测数据,例如用户眼部的实时旋转角确定触摸焦点的位移量。

该虚拟触摸焦点是与真实场景的实际触摸焦点相对应的,实际触摸焦点移动,该虚拟触摸焦点相应移动,3d内容随虚拟触摸焦点的移动而移动。虚拟触摸焦点可以是存在显示于场景中的,也可以是用于控制场景的视角改变的后台数据。将用户眼部位置的改变与虚拟触摸焦点的位置关联,从而改变场景的视角。

步骤13,根据所述虚拟触摸焦点的位移量,修改所述虚拟触摸焦点的定位信息,以实现根据修改后的所述虚拟触摸焦点的定位信息生成并显示场景的3d图像,从而对场景的注视角度进行变换,实现场景的注视角度与用户眼部位置改变后的注视角度一致。

得到虚拟触摸焦点的位移量后,修改虚拟触摸焦点的定位信息,从而使得应用程序控制所述虚拟触摸焦点移动,则画面会由于虚拟触摸焦点的移动而变换,从而达到画面与用户眼部的转动一致的目的。

本发明的实施例一提供的显示方法中注视角度的一致性方法即利用虚拟触摸焦点进行偏转视角的方法,在游戏应用等的视角转换中,不影响整个管线和流程,更贴近与原游戏本身操控。

优选的,在根据所述实时检测数据,确定用于场景的虚拟触摸焦点的位移量前,所述方法还包括:

对实时检测数据进行光照均匀化处理,得到光照均匀化处理后的实时检测数据;所述根据所述实时检测数据,确定用于场景的虚拟触摸焦点的位移量包括:根据所述光照均匀化处理后的实时检测数据,确定用于场景的虚拟触摸焦点的位移量。这样可以在后续构建并显示3d图像从而改变注视角度时,能够在一定程度上减弱用户的顿挫感。

本发明提供的实施例一中步骤12可以包括:

步骤121,根据所述实时检测数据,确定所述用户眼部的实时旋转角。

在很多场景例如射击游戏中,只关注眼部关于x轴和y轴的旋转变换,则直接根据x轴数据和y轴数据确定用户眼部的实时旋转角。

步骤122,根据所述用户眼部的实时旋转角,确定用于场景的虚拟触摸焦点的位移量。

进一步的,本发明提供的实施例一中步骤11包括:

步骤111,获取用户眼部的当前帧的检测数据和该用户眼部前序帧的检测数据;例如,即取出当前帧的眼部检测数据中的rotx(眼部绕x轴偏转角),roty(眼部绕y轴偏转角),作为参考值;再获取前序帧的rotx,roty。根据当前帧的眼部检测数据和前序帧的检测数据能够准确的确定用户眼部的旋转角。

步骤112,获取当前帧的检测数据和前序帧的检测数据的差值,并由所述差值确定所述实时旋转角。将当前帧的rotx(眼部绕x轴偏转角),roty(眼部绕y轴偏转角)和前序帧的rotx(眼部绕x轴偏转角),roty(眼部绕y轴偏转角)分别作差,得到δrotx,δroty。该δrotx,δroty分别为用户眼部沿x轴和沿y轴的旋转角。

本发明的实施例一中步骤122进一步包括:

步骤1221,将所述用户眼部的实时旋转角与一换算系数相乘,得到用于场景的所述虚拟触摸焦点的位移量。

即将上述步骤112得到的δrotx,δroty分别乘以一换算系数,该换算系数为用来转换眼部旋转角和触摸焦点偏移量的转换因子,从而得到δx,δy;从而通过δx,δy,改变触摸焦点位置:触摸焦点。x+=δx;触摸焦点。y+=δy;即将虚拟触摸焦点沿x轴移动δx,沿y轴移动δy,即可达到偏转视角的目的,从而实现用户的注视角度的一致。

为了更好的实现发明目的,本发明的实施例二还提供一种用于ar眼镜中场景的显示方法,包括:

步骤21,检测用户的眼部位置,获取用户眼部位置的实时检测数据。可选的,可通过加速度传感器等传感器件检测用户的眼部位置从而获取用户眼部位置的实时检测数据,或通过照相机检测用户的眼部位置从而获取用户眼部位置的实时检测数据。

用户眼部位置的实时检测数据可以包括眼部在ar空间中的实时旋转角,可通过预先建立三维坐标系获取用户眼部相对于x轴的偏转角、相对于y轴的偏转角以及相对于z轴的偏转角来共同表示用户眼部的实时旋转角。用户眼部位置的实时检测数据还可包括眼部在ar空间的实时平移距离。

步骤22,当用户的眼部位置发生变化时,根据所述实时检测数据对场景的观测函数或投射函数进行变换,得到新的观测函数或新的投射函数。

其中,变换观测函数的方式是保持观测场景和对象不动,而改变眼镜的观测位置和角度来实现注视角度一致性的方式,而变换投射函数的方式是保持眼镜的位置不动,而改变被观测对象位置来实现注视角度一致性的方式。对场景的观测函数或投射函数进行变换,该实时检测数据可以表征用户眼部位置的变化。

步骤23,根据新的观测函数或投射函数,构建并显示场景的3d图像,从而对场景的注视角度进行变换,实现场景的注视角度与用户眼部位置改变后的注视角度一致。

通过检测用户的眼部位置,利用用户眼部位置的实时检测数据对场景的观测函数或投射函数进行变换,利用变换或修改后的观测函数、投射函数构建场景的3d图像,从而实现场景的注视角度与用户眼部位置改变后的注视角度的一致,能够在一定程度上减轻用户在使用增强现实设备时在注视角度不一致时所产生的顿挫感。

为了避免眼部位置数据的突然剧变而造成注视角度的突变,进而使得用户产生眩晕感,本发明的具体实施例中在根据所述实时检测数据,对场景的观测函数或投射函数进行变换前,所述方法还包括:

对所述实时检测数据进行光照均匀化处理,得到光照均匀化处理后的实时检测数据。

下面分别从对观测函数和投射函数的两方面处理进行具体描述。

本发明的具体实施例三提供的显示方法包括:

步骤31,检测用户的眼部位置,获取用户眼部位置的实时检测数据。

步骤32,当用户的眼部位置发生变化时,根据所述实时检测数据对场景的观测函数进行变换,得到新的观测函数。

观测函数是指在用户眼部位置改变时当前的3d图像所应用的观测函数,即注视角度还没改变时3d图像所应用的观测函数。在本发明的一个实施例中,场景的观测函数可通过拦截技术获取。

步骤33,根据所述新的观测函数,构建并显示场景的3d图像,从而对场景的注视角度进行变换,实现场景的注视角度与用户眼部位置改变后的注视角度一致。得到新观测函数后,通过导入技术将新的观测函数导入到3d应用的绘制流程中,从而达到绘制3d内容且实现注视角度一致性的目的。

通过改变观测函数进行偏转视角的方法适用于在视角转动后,仍然能够正确的观测,没有信息缺失的场景下。该方式改变视角更加科学和准确,特别适用于内容即3d图像的场景范围较小的情况。

本发明的实施例三中上述步骤32包括:

步骤321,根据所述实时检测数据,确定用户眼部的旋转向量;

基于用户眼部位置的实时检测数据,例如用户眼部的偏转角,确定用户眼部的旋转向量分别为x轴的旋转向量、y轴的旋转向量以及z轴的旋转向量。该类旋转向量的格式均为预先设定的,本发明中将得到的用户眼部的实时检测数据进行预定处理后填充到预先设定的矩阵中的预定位置从而构成本实施例需要的用户眼部的旋转向量。

步骤322,根据所述用户眼部的旋转向量、场景的双目视差偏移向量以及场景的观测函数,确定新的观测函数。

为生成视差图像,需移动摄像机位置,即将摄像机在同一水平面上进行偏移,产生双目镜视域,分别对应人的左眼和右眼。左右镜之间的间距称为目间距。双目视差偏移向量根据目间距确定。

用户眼部的旋转向量实际为用户的视角偏移向量,即观测函数的变换包括视角偏转和双目视差偏移;从而根据视角偏移向量、场景的双目视差偏移向量以及当前场景的观测函数即可得到新的观测函数。且新的观测函数是相对于新的注视角度而言的。

本发明提供的实施例三中的上述场景的双目视差偏移向量的生成步骤包括:

步骤323,根据预先配置或者根据用户输入的设置参数确定场景的目间距信息;

步骤324,根据所述确定的目间距信息确定场景的双目视差偏移向量。

可选的,目间距信息pd可以由系统预先设定也可开放给用户自行设定,pd可认为是左右镜之间的距离,上述视差偏移向量也为预先设定的格式,将目间距信息进行预定处理后填充至预先设定的格式中从而构成双目视差偏移向量。

所述双目视差偏移向量包括左视图偏移向量以及右视图偏移向量,也可称为左视图偏移向量和右视图偏移向量;

所述新的观测函数包括左视图观测函数和右视图观测函数,也可称为左视图观测函数和右视图观测函数;则实施例三中步骤322具体包括:

步骤3221,根据所述用户眼部的旋转向量、场景的左视图偏移向量以及场景的观测函数,确定左视图观测函数;以及

步骤3222,根据所述用户眼部的旋转向量、场景的右视图偏移向量以及场景的观测函数,确定右视图观测函数;

上述步骤33包括:

步骤331,利用所述左视图观测函数绘制生成场景的左视图,并利用所述右视图观测函数绘制生成场景的右视图;即分别生成双目视差图像。

步骤332,根据绘制生成的所述左视图和右视图,构建并显示场景的3d图像。

在本发明的一个实施例中,得到新观测函数后,利用导入技术将新观测函数导入到3d应用的流程中,从而达到绘制3d内容且实现注视角度一致性的目的。

本发明的实施例二得到两个新的观测函数,则需将两个新的观测函数分别导入到应用流程中,从而实现注视角度的一致;即分别根据左视图观测函数和右视图观测函数绘制生成左视图和右视图,根据左视图和右视图并结合显示技术,生成场景的3d图像进行显示。

下面结合具体实施例对本发明的实施例三的执行步骤进行详细描述:

首先通过拦截技术,获取当前场景的观测函数v;

然后根据眼部检测数据rotx,roty,rotz,则可以得到眼部分别关于x,y,z轴的旋转向量:

进而可以得到用户眼部的旋转向量vroll:

vroll=rollrotx*rollroty*rollrotz

如果用户只关注眼部关于x轴和y轴的旋转变换,只需要令关于z轴旋转向量为单位阵e:

rollrotz=e

进一步的,观测函数的变换包含:双目视差偏移向量向量vpd和视角偏移向量vroll,其中双目视差偏移向量vpd是指在生成视差图像时,需对摄像机分别进行偏移±pd/2(即向第一方向移动pd/2得到左镜,向第二方向移动pd/2得到右镜),则左右镜的双目视差偏移向量分别为:

双目视差偏移向量vpd为:

则变换后的观测函数v’

v’=vroll*vpd*v

变换后左视图观测函数v’=vroll*vpdr*v;相应的,变换后右视图观测函数v’=vroll*vpd_l*v。将两个v’分别导入应用程序中,使得利用变换后的观测函数生成场景的3d图像,从而达到偏转视角的目的,实现注视角度的一致。

本发明实施例四还提供一种用于ar眼镜中场景的显示方法,包括:步骤41,检测用户的眼部位置,获取用户眼部位置的实时检测数据。

步骤42,当用户的眼部位置发生变化时,根据所述实时检测数据对场景的投射函数进行变换,得到新的投射函数;其中,投射函数是指在用户眼部位置改变时当前的3d图像所应用的投射函数,即注视角度还没改变时3d图像所应用的投射函数。

步骤43,根据所述新的投射函数,构建并显示场景的3d图像,从而对场景的注视角度进行变换,实现场景的注视角度与显示用户眼部位置改变后的注视角度一致。

进一步,步骤42包括:

步骤421,根据所述实时检测数据,确定场景的3d图像的仿射偏移信息;步骤422,根据所述确定的仿射偏移信息和所述场景的投射函数,构建新的投射函数。

上述步骤421包括:

步骤4211,根据所述实时检测数据和所述投射函数的视点距投射平面的距离,确定场景的3d图像的仿射偏移信息。

仿射的偏移包括位置的偏移和角度的偏移,即根据用户眼部的实时检测数据计算角度的偏移,根据投射函数的视点距当前投射平面的距离计算位置的偏移。

所述新的投射函数包括左视图投射函数和右视图投射函数;其中本发明的实施例四中上述步骤422包括:

步骤4221,根据所述确定的仿射偏移信息和所述投射函数,构建左视图投射函数和右视图投射函数。

将当前所述图像的仿射移动上述计算得到的偏移量,即可得到偏移后的图像的仿射。此处的投射函数与实施例三中所指的观测函数一致,均为按照预先设定的格式进行填充即可得到实施例四需要的投射函数。

进一步的,本发明的实施例四中步骤43具体包括:

步骤431,利用所述左视图投射函数绘制生成场景的第一投射视图,并利用右视图投射函数绘制生成场景的第二投射视图;

步骤432,根据绘制生成的所述第一投射视图和第二投射视图,构建并显示场景的3d图像。该实施例中同样利用导入技术将偏移后图像的投射函数导入到应用程序中,实现对注视角度的偏转,从而达到偏转视角一致性的目的。

下面结合一具体实施例对本发明的实施例四提供的显示方法进行详细描述:

例如用户眼部向左偏转,可以将被观测对象的l,r(t,b)向左(上)同时偏移dh(dv),来改变投射的位置和角度,此时向左的偏移量dh为:dh=znear*tan(rotx),向上的偏移量dv为:dv=znear*tan(roty);

其中znear为投射函数p的视点到投射平面距离,rotx,roty为用户眼部检测关于x轴和y轴旋转角度。

被观测对象变换后的结果:

l’=l+dh

r’=r+dh

t’=t+dv

b’=b+dv

以left(左),right(右),bottom(下),top(上)定义了剪切面大小,而znear和zfar定义了从摄像机到视锥远近两个剪切面的距离。由这六个参数可以定义出六个剪切面构成的视锥体。

设l=left,r=right,b=bottom,t=top,znear=near,zfar=far,则投射函数p表述为:

改变后的投射函数p’为

可将改变后的投射函数p’导入应用程序中,即利用p’构建场景的3d图像,从而达到偏转视角的目的,实现注视角度的一致性,优化用户体验。

在很多情况下通过拦截技术,只能获取到当前的整体变换向量,还不能直接对世界坐标、观测坐标以及投射变换中的单个变换进行直接修改。优选的,已知原变换向量为m=p*v*w,其中w为世界坐标,v为观测坐标,p为投射变换。需要对观测坐标v,以及投射函数p进行修改。

m’=p’*v’*w其中有v’为改变后的观测坐标,p’为改变后的投射坐标:v’=vroll*vpd*v其中,vroll为视角偏移向量,vpd为双目视差偏移向量。

m’=p’*vroll*vpd*v*w

=(p’*vroll*vpd*p-1)*p*v*w

=(p’*vpd*vroll*p-1)*m

其中,若vroll=e。则

ml=(pl*vpd_l*vroll*p-1)*m

mr=(pr*vpdr*vroll*p-1)*m

其中,ml和mr分别为偏转后左右镜的变换向量,vpd_l和vpdr分别为左右镜的双目视差偏移向量,pl和pr分别为偏转后左右镜的投射函数。在已知投射函数的且可以拦截到变换向量的m的前提下,就可以通过根据双目视差偏移向量和眼部的旋转向量,得到变换后的变换向量。

根据所述实时检测数据,利用用户眼部的旋转向量vroll,、双目视差偏移向量vpd,和已知的投射函数p和它的反函数p-1,得到新的变换向量,进而利用新的变换向量构建3d图像。

ml=(pl*vpd_l*vroll*p-1)*m

mr=(pr*vpdr*vroll*p-1)*m

上述实施例中使用旋转向量进行示例说明,但是本发明不限于此,也可以根据用户眼部进行平移时,构建用户眼部的平移向量,进而利用用户眼部的平移向量得到新的变换向量。

本发明通过拍摄和剪切获得场景的左右图像,在真实场景进行呈现,通过照相机的偏移形成左右照相机,通过左右照相机的非对称透射,将场景构建为虚拟3d场景。

初始化双目照相机的位置后,实时采集照相机拍摄的两幅左右原始图像。根据左右原始图像,确定当前ar场景下照相机到最近对象的距离no和照相机到最远对象的距离fo,以得到当前ar场景的3d图像。

由于真实场景中最大凸出距离nr下的第一视差dnr与最大凹进距离fr下的第二视差dfr之间的比值与ar场景中照相机到最近对象的距离no下的第三视差与照相机到最远对象的距离fo下的第四视差之间的比值相等,从而根据所述照相机到最近对象的距离no和所述照相机到最远对象的距离fo,确定双目照相机的目间距和图像剪切参数。

其中,最大凸出距离nr和最大凹进距离fr用于表征ar眼镜所能够呈现的立体场景的深度范围,即ar眼镜所能够呈现的立体场景的深度范围介于该最大凸出距离和最大凹进距离所限定的区间内。

基于真实场景中第一视差与第二视差之间的比值与ar场景中第三视差与第四视差之间的比值相等,确定双目照相机的目间距和图像剪切,能有效保证ar场景映射到真实场景的立体效果。

根据双目照相机的目间距,调整双目照相机之间的距离。利用调整后的双目照相机采集当前ar场景的左右图像,并利用图像剪切参数,对左右图像进行剪切处理。输出剪切处理后的左右图像,从而能够根据剪切处理后的左右图像构建当前ar场景的3d图像。

在对双目照相机的位置调整后,利用图像剪切参数,对调整后的双目照相机采集的左右图像进行剪切处理,最后输出剪切处理后的左右图像。左右图像作为图像进行呈现时,呈现装置能够根据剪切处理后的左右图像构建当前ar场景的3d图像。

上述根据左右原始图像,确定当前ar场景下照相机到最近对象的距离no和照相机到最远对象的距离fo,以得到当前ar场景的3d图像的步骤进一步包括:

提取两幅左右原始图像的特征信息;

根据特征信息,确定两幅左右原始图像之间的特征匹配点集对;

获取匹配点集对之间的水平视差;

根据匹配点集对之间的水平视差,获取匹配点集对所对应的物点的深度;

根据物点的深度确定当前ar场景下照相机到最近对象的距离no和照相机到最远对象的距离fo。

此时,通过建立两幅左右原始图像之间的特征匹配点集对,并获取匹配点集对之间的水平视差,从而确定ar场景下照相机到最近对象的距离no和照相机到最远对象的距离fo。

优选的,上述根据所述照相机到最近对象的距离no和所述照相机到最远对象的距离fo,确定双目照相机的目间距和图像剪切参数的步骤进一步包括:

a1,通过如下公式获取真实场景中最大凸出距离nr下的第一视差dnr:

其中,nr为预先设定的最大凸出距离,er为预先设定的真实场景中的目间距,zr为预先设定的真实场景中双眼到屏幕的距离。

a2,通过如下公式获取真实场景中最大凹进距离fr下的第二视差dfr;

其中,fr为最大凹进距离。

a3,根据真实场景中第一视差dnr与第二视差dfr之间的比值与ar场景中照相机到最近对象的距离no下的第三视差dno与照相机到最远对象的距离fo下的第四视差dfo之间的比值相等所构建的如下关系式,确定照相机到虚拟屏幕的第一距离con:

其中:no为照相机到最近对象的距离,fo为照相机到最远对象的距离,r为所述第一视差dnr与所述第二视差dfr之间的比值:r=dnr/dfr。

a4,根据第一距离con,确定双目照相机的目间距pd;

wr为真实屏幕的宽度,θ为ar眼镜的视场角度。

a5,根据第一距离con以及目间距pd,确定双目照相机的图像剪切参数。

此时,根据真实场景中最大凸出距离和最大凹进距离下的视差比值与ar场景中照相机到最近对象的距离和照相机到最远对象的距离下的视差比值相等,可有效确定照相机到虚拟屏幕平面的第一距离;然后根据第一距离,可有效确定双目照相机的目间距;最后根据第一距离以及目间距,确定双目照相机的图像剪切参数。根据真实场景和ar场景的视差比例相等来设置照相机之间的目间距和对图片进行剪切,在利用所获得的ar场景的3d图像构建立体ar场景时,ar场景可映射到真实场景中的最大凸出距离和最大凹进距离之间,使得ar场景能够与真实场景即呈现场合较好的适配,从而能够达到较好的立体效果。

ar眼镜一般在用户眼部周围构造封闭的显示空间,给近视用户的使用带来极大的不便。如果这些用户希望在佩戴自己眼镜的基础上使用ar眼镜,则ar眼镜可能难以佩戴,或者会对近视眼镜造成压迫,给用户带来不适;而支持近视镜片的ar眼镜直接在原有设备中添加校正镜片,增加成本而且不够方便轻巧。本发明用点散布函数作用在清晰图像上,来模拟人眼近视的效果:

b=k*y

其中,b表示初始清晰图像y在点散布核k的卷积作用下得到的模糊图像。这里的点散布核k表现为一个二维的方阵。在rgb三个通道的彩色图像中,对每个通道独立应用以上公式,最后将计算结果合成显示。

对于点散布函数k的构造,选取相对合适的系数与zernike项共同构造了一个多项式来模拟人眼的离焦和散光。

为求出预校正的图像x,即求出k*x=y中的x值。使用傅里叶变换:

f(w)=∫e-iwzf(z)dz/2π

其中,z=(i,j),i和j表示图像的水平方向和垂直方向2个维度。假设k在傅里叶变换之后的函数形式不存在零点,则可以直接得到预校正图像:

x(z)=∫e-iwz[y^(w)/k^(w)]dw/2π

其中,y^(w)和k^(w)分别代表y和k经傅里叶变换后的频域形式。

对于x(z)的迭代求解,设定优化目标函数为:

其中,ρ>0为权重参数,可以固定其中一个参数而调节另一个参数达到控制目的;i是像素下标,*指二维卷积操作;fj表示过滤函数。使用2个过滤函数分别是[1,-1],[1,-1]t,本质上对应图像在水平和垂直方向上的梯度。x*k表示k对x的卷积过程。对该式关于x进行求导运算,得到

其中,kx=x*k,即用矩阵向量相乘表达卷积运算。因此可由k定义k矩阵,同理可由fj构造fj。若对图像边界进行处理,确保圆形边界条件之后,就可以对上述式子使用二维fft,构造出矩阵f1,f2,k之后,可直接求得最优的x值。其中,f代表傅里叶变换。

然后对生成结果图像的像素rgb值的处理。生成的预校正图像中的像素rgb值可能有负值或很大的正值,需要进行类似图像正则化的处理,使得每一个像素rgb值都为整数类型且范围保持在0~255。

本发明采用改进的ar场景图形绘制方法,在重构的像素特征空间中进行信息融合,进行场景图形的检测绘制,提高图形绘制的真实感,提取场景图像动态场景的轮廓和面部特征信息,得到场景外观模型的约束特征函数记为:

ε为特征向量融合参数。

在ar全景图像拼接阶段,本发明包括图像生成和ar全景图像拼接两部分。图像生成是通过设定相机的个数、焦距、绘制方位,模拟生成投射图像;ar全景图像拼接是根据相机的个数及朝向计算各场景拼接线位置进行全景图的拼接。绘制模型中涉及的参数包括相机个数n,绘制位置xs、ys、zs,绘制方位α、β、γ和焦距f。

全景相机要求投影面为垂直面,因此在透视绘制模型中要调整原旋转向量中参数的位置,在该透视模型中x轴垂直于投影平面

prow=-f*(rx*δx+ry*δy+rz*δz)/(r*δx+r*δy+r*δz)

pcol=-f*(rx+ry+rz)/(r*δx+r*δy+r*δz)

式中,r=rx*ry*rz;δx=p.x-xs;δy=p.y-ys;δz=p.z-zs,且

式中,p.x、p.y、p.z为点p的三维坐标;xs、ys、zs为拍摄中心三维坐标;f为焦距;α、β、γ为绘制时的朝向参数;prow、pcol为点p在透视投射图像坐标系中的坐标。

在透视绘制模型基础上对y坐标值进行球面投影,对z坐标值保持不变:

p′col=pcol

p′row=prow

式中,p′row、p′col为点p在投射图像坐标系中的坐标。

具体拼接步骤为:

(1)设定相机的数目n,各相机平均分布,每个相机的有效视角为2π/n。将起始相机设为0号相机,1号相机与0号相机相邻,其朝向是在0号相机朝向基础上继续绕z轴旋转2π/n,两相机的绘制方程中仅旋转向量r不同,1号相机的旋转向量设为r1。

r1=rdz*r

式中

以此类推,可得到第n个相机绘制方程中的旋转向量rn

rn=rndz*r

(2)采用对z值方向做球面投影的绘制方式,保持y值透视投影不变,各相机图像与拼接后的全景图像高(z方向/row)均为2倍焦距,可将垂直方向180°内的对象全部投影;图像宽(y方向/col)由焦距f和相机个数n共同决定。

(3)得到n个相机的拼接全景ar图像表示为:

row=2·f

col=2n·f·tan(π/n)

综上所述,本发明提出了一种用于ar眼镜的图像绘制方法,实现了场景的注视角度与用户眼部位置改变后的角度的一致性,而且减轻用户在使用ar眼镜时由于角度变化剧烈所产生的顿挫感,优化用户体验。

显然,本领域的技术人员应该理解,上述的本发明的各模块或各步骤可以用通用的计算系统来实现,它们可以集中在单个的计算系统上,或者分布在多个计算系统所组成的网络上,可选地,它们可以用计算系统可执行的程序代码来实现,从而,可以将它们存储在存储系统中由计算系统来执行。这样,本发明不限制于任何特定的硬件和软件结合。

应当理解的是,本发明的上述具体实施方式仅仅用于示例性说明或解释本发明的原理,而不构成对本发明的限制。因此,在不偏离本发明的精神和范围的情况下所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,本发明所附权利要求旨在涵盖落入所附权利要求范围和边界、或者这种范围和边界的等同形式内的全部变化和修改例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1