一种立体视觉三维可视化系统中自动调节图像视差的方法技术方案

技术编号:10505678 阅读:204 留言:0更新日期:2014-10-08 10:29
本发明专利技术涉及一种立体视觉三维可视化系统中自动调节图像视差的方法,其根据六个辅助相机获得的观察位置周边环境的深度距离值,对主相机框架进行整体缩放,而后又根据另一个虚拟辅助相机获取的深度距离值对虚拟主相机的间距进行调整,两次调整的过程能够将生成的立体视觉三维图像中主要内容与显示平面在深度上的差距约束在预设的范围里,从而避免会聚/调节的问题。每一次调节后生成的立体视觉三维图像都能产生有正确深度层次感,并且图像中的主要内容的视差都不超过d'。因此,本发明专利技术可以广泛用于计算机立体视觉图形学领域。

【技术实现步骤摘要】

本专利技术涉及一种调节图像视差的方法,特别是关于一种立体视觉三维可视化系统 中自动调节图像视差的方法。
技术介绍
在立体视觉三维可视化系统中,生成立体视觉图像的方法是在三维场景中布置两 个分别用于生成左、右眼图像的虚拟相机。在生成立体视觉图像时,两个虚拟相机会分别根 据各自的模-视矩阵、投影矩阵、视口矩阵、窗口矩阵对场景进行变换、裁剪等处理,最终渲 染生成合适的立体视觉图像对。立体视觉三维可视化系统用户在合适的输出设备上看到立 体视觉图像对,并经过自身的视觉系统处理合成,最终形成立体视觉感知。 在立体视觉三维可视化系统中采用的虚拟相机与一般三维可视化系统中采用的 虚拟相机主要有三点不同:1)需要两个虚拟相机,同时生成左、右眼图像;2)需要使用特殊 的离轴投影矩阵作为投影矩阵以保证两个图像上的同名点在产生合适的水平视差的同时 不产生垂直视差,避免梯形畸变;3)两个虚拟相机间的距离需要根据成像的内容进行正确 的调节,调节的结果通过图像同名点的水平视差表现出来。 目前的立体视觉三维可视化系统在进行立体视觉图像的实时渲染时,对离轴投影 矩阵的设置与两个虚拟相机间距离的控制,主要是根据其中一个虚拟相机的深度缓存信息 来进行的。通常,选择一个虚拟相机作为虚拟主相机获取它的深度缓存,找到深度最小的缓 存像素求出其深度方向上的距离,即深度距离值,乘上一个比例系数(一般选择1/30)后作 为两个虚拟相机的间隔距离。在三维场景中,构建对应系统输出设备的辅助几何对象(一 般屏幕是长方形,所以几何体一般也是长方形),几何对象、两个虚拟相机在空间上的结构 与立体视觉三维可视化系统使用时的输出屏幕、使用者的两眼构成的结构是几何相似的, 它们的比例关系由虚拟相机间隔距离与人眼间隔距离的比值确定,使用虚拟相机的位置、 裁剪面的参数以及辅助几何对象的属性即可确定离轴投影矩阵。 采用常规的虚拟相机设置存在两个主要问题:1)三维可视化系统具有动态性质, 用户选择在场景中移动和转向是非常自由的,当虚拟相机在三维场景中的方位发生改变或 三维场景本身发生变化时,相关的设置需要进行调节,由于人的视觉系统承受这种调节的 能力有限,客观上要求相关参数的变化速率不能太快,否则会产生视觉上的不适感并积累 视觉疲劳,但如果变化速率较低,又会生成不合适的图像(例如,当虚拟相机很快的从面向 一个远处的区域转向一个距离很近的对象时,虚拟相机的投影面需要快速的从很远的距离 回到近处,若没有及时完成调节就会使用错误的投影产生图像)。2)常规方法还容易产生 立体视觉的会聚/调节问题,由于立体视觉三维可视化系统只考虑了将实际的观看环境等 比例的在三维场景中进行虚拟相机的构建设置,很容易就产生深度范围跨度很大的立体视 觉图像,当人眼实际观看设备时是聚焦在显示设备平面上的,而立体视觉图像中深度很大 的部分则有可能在远离设备平面很远的位置,在观看这部分内容时,人眼既要汇聚到一个 很远的点上,又要调节焦距到显示平面上,这样产生的矛盾即是会聚/调节问题。
技术实现思路
针对上述问题,本专利技术的目的是提供一种立体视觉三维可视化系统中自动调节图 像视差的方法。 为实现上述目的,本专利技术采取以下技术方案:一种立体视觉三维可视化系统中自 动调节图像视差的方法,其包括以下步骤:1)定义主相机框架、各虚拟相机的参数及投影 矩阵;其中,水平间隔d mainCams设置左虚拟主相机和右虚拟主相机,两左、右虚拟主相机连成 的线段中点为锚点Pivot,与相距D Keet处设置一矩形投影面Rect,矩形投影面Rect的中 心点为C',C'与锚点Pivot构成的线段垂直于矩形投影面Rect ;矩形投影面Rect的高度 为,宽为wKec;t ;设定左、右虚拟主相机,锚点Pivot以及矩形投影面Rect之间相对方向 上的位置关系为主相机框架;在锚点Pivot处设置七个虚拟辅助相机:front、back、left、 right、up、down 和 additional ;2)根据使用环境设定如下参数:d、w、h、D、p%、d'、n、f、 a、b、Ci、Vi和uPi,并根据这些参数设置虚拟主相机和虚拟辅助相机;其中,d为左、右虚拟主 相机之间的初始水平间距;w为显示最终生成的立体视觉三维图像的显示设备的宽度;h为 显示最终生成的立体视觉三维图像的显示设备的高度;D为显示最终生成的立体视觉三维 图像的显示设备的最佳观看距离;P%为显示的非背景内容中主体内容所占的百分比阈值; d'为显示的非背景内容中主体内容在显示设备上可容忍的最大视差;η为左虚拟主相机和 右虚拟主相机初始的近裁剪面距离;f为左虚拟主相机和右虚拟主相机初始的远裁剪面距 离;且0. l〈n彡0. 3,n〈f ;Ci为观察位置;Vi为立体视觉三维可视化系统用户的化身的观察 方向,Vi以Q为起始点沿任意方向延伸;u Pi为立体视觉三维可视化系统用户的化身的向 上的方向,uPi以(;为起始点垂直于\沿向上方向延伸;其中,i =0,l,2,...,N;a*aSA 个虚拟辅助相机front、back、left、right、up、down存储深度距离值的纹理尺寸;b*b为虚 拟辅助相机additional存储深度距离值的纹理尺寸,其中,a、b均为2 m,m = 1,2,...,N, 且a〈b ;根据以上参数设置虚拟两个虚拟主相机和七个虚拟辅助相机:①设置虚拟主相机: a)初始化主相机框架中各参数;b)以Vi和uPi叉乘确定向量& ;以Q为起点,沿Vi上距 离DKeet处设置矩形投影面Rect,矩形投影面Rect的高为h Keet,宽为wKeet ;c)将主相机框 架的锚点Pivot与Q重合,两虚拟主相机之间水平距离为dmaMams,左虚拟主相机的近裁减 面距离η Μ?ηε:3ωΕ;1、远裁减面距离finC;amsl,右虚拟主相机的近裁减面距离ηΜ3ωΕ;2、远裁减面距 离f maMams2 ;②设置虚拟辅助相机:a)确定各虚拟辅助相机的朝向;b)设定各虚拟辅助相机 的近裁剪面距离、远裁剪面距离;c)针对六个虚拟辅助相机front、back、left、right、up 和down -一对应创建一个尺寸为a*a的存储深度距离值的浮点纹理;针对虚拟辅助相机 additional创建一个尺寸为b*b的存储深度距离值的浮点纹理;3)当Q、Vi和uPi发生变 化后,重复步骤2)中①的b)?c)对主相机框架的位置和方向进行调节;若立体视觉三维 可视化系统发出视差调节的指令,则进入下一步;若不发出视差调节的指令,则不进行任何 操作;4)根据步骤3)中Q、 Vi和uPi的变化,重复步骤2)的②中a)?b) ;5)根据六个虚 拟辅助相机获得的q周边环境的深度距离值,对主相机框架进行缩放;6)根据虚拟辅助相 机additional获取的深度距离值,对两虚拟主相机的水平间距进行调整;7)通过步骤5) 和步骤6)实现对主相机框架中两虚拟主相机、锚点Pivot和矩形投影面Rect之间相对方 向上的位置关系的调整,改变两虚拟主相机的空间位置与投影矩阵,生成立体视觉图像对; 8)根据的变化,重复步骤3)?7),实现自动调节图本文档来自技高网
...

【技术保护点】
一种立体视觉三维可视化系统中自动调节图像视差的方法,其包括以下步骤:1)定义主相机框架、各虚拟相机的参数及投影矩阵;其中,水平间隔dmainCams设置左虚拟主相机和右虚拟主相机,两左、右虚拟主相机连成的线段中点为锚点Pivot,与相距DRect处设置一矩形投影面Rect,矩形投影面Rect的中心点为C',C'与锚点Pivot构成的线段垂直于矩形投影面Rect;矩形投影面Rect的高度为hRect,宽为wRect;设定左、右虚拟主相机,锚点Pivot以及矩形投影面Rect之间相对方向上的位置关系为主相机框架;在锚点Pivot处设置七个虚拟辅助相机:front、back、left、right、up、down和additional;2)根据使用环境设定如下参数:d、w、h、D、p%、d'、n、f、a、b、Ci、vi和upi,并根据这些参数设置虚拟主相机和虚拟辅助相机;其中,d为左、右虚拟主相机之间的初始水平间距;w为显示最终生成的立体视觉三维图像的显示设备的宽度;h为显示最终生成的立体视觉三维图像的显示设备的高度;D为显示最终生成的立体视觉三维图像的显示设备的最佳观看距离;p%为显示的非背景内容中主体内容所占的百分比阈值;d'为显示的非背景内容中主体内容在显示设备上可容忍的最大视差;n为左虚拟主相机和右虚拟主相机初始的近裁剪面距离;f为左虚拟主相机和右虚拟主相机初始的远裁剪面距离;且0.1<n≤0.3,n<f;Ci为观察位置;vi为立体视觉三维可视化系统用户的化身的观察方向,vi以Ci为起始点沿任意方向延伸;upi为立体视觉三维可视化系统用户的化身的向上的方向,upi以Ci为起始点垂直于vi沿向上方向延伸;其中,i=0,1,2,...,N;a*a为六个虚拟辅助相机front、back、left、right、up、down存储深度距离值的纹理尺寸;b*b为虚拟辅助相机additional存储深度距离值的纹理尺寸,其中,a、b均为2m,m=1,2,...,N,且a<b;根据以上参数设置虚拟两个虚拟主相机和七个虚拟辅助相机:①设置虚拟主相机:a)初始化主相机框架中各参数;b)以vi和upi叉乘确定向量ti;以Ci为起点,沿vi上距离DRect处设置矩形投影面Rect,矩形投影面Rect的高为hRect,宽为wRect;c)将主相机框架的锚点Pivot与Ci重合,两虚拟主相机之间水平距离为dmainCams,左虚拟主相机的近裁减面距离nmainCams1、远裁减面距离fmainCams1,右虚拟主相机的近裁减面距离nmainCams2、远裁减面距离fmainCams2;②设置虚拟辅助相机:a)确定各虚拟辅助相机的朝向;b)设定各虚拟辅助相机的近裁剪面距离、远裁剪面距离;c)针对六个虚拟辅助相机front、back、left、right、up和down一一对应创建一个尺寸为a*a的存储深度距离值的浮点纹理;针对虚拟辅助相机additional创建一个尺寸为b*b的存储深度距离值的浮点纹理;3)当Ci、vi和upi发生变化后,重复步骤2)中①的b)~c)对主相机框架的位置和方向进行调节;若立体视觉三维可视化系统发出视差调节的指令,则进入下一步;若不发出视差调节的指令,则不进行任何操作;4)根据步骤3)中Ci、vi和upi的变化,重复步骤2)的②中a)~b);5)根据六个虚拟辅助相机获得的Ci周边环境的深度距离值,对主相机框架进行缩放;6)根据虚拟辅助相机additional获取的深度距离值,对两虚拟主相机的水平间距进行调整;7)通过步骤5)和步骤6)实现对主相机框架中两虚拟主相机、锚点Pivot和矩形投影面Rect之间相对方向上的位置关系的调整,改变两虚拟主相机的空间位置与投影矩阵,生成立体视觉图像对;8)根据Ci、vi和upi的变化,重复步骤3)~7),实现自动调节图像视差。...

【技术特征摘要】
1. 一种立体视觉三维可视化系统中自动调节图像视差的方法,其包括以下步骤: 1) 定义主相机框架、各虚拟相机的参数及投影矩阵; 其中,水平间隔设置左虚拟主相机和右虚拟主相机,两左、右虚拟主相机连成 的线段中点为锚点Pivot,与相距DKeet处设置一矩形投影面Rect,矩形投影面Rect的中 心点为C',C'与锚点Pivot构成的线段垂直于矩形投影面Rect ;矩形投影面Rect的高度 为,宽为wKec;t ;设定左、右虚拟主相机,锚点Pivot以及矩形投影面Rect之间相对方向 上的位置关系为主相机框架;在锚点Pivot处设置七个虚拟辅助相机:front、back、left、 right、up、down 和 additional ; 2) 根据使用环境设定如下参数:d、w、h、D、p%、d' \rKf\a\tKCpVi和upp并根据这些 参数设置虚拟主相机和虚拟辅助相机; 其中,d为左、右虚拟主相机之间的初始水平间距;w为显示最终生成的立体视觉三维 图像的显示设备的宽度;h为显示最终生成的立体视觉三维图像的显示设备的高度;D为显 示最终生成的立体视觉三维图像的显示设备的最佳观看距离;P%为显示的非背景内容中 主体内容所占的百分比阈值;d'为显示的非背景内容中主体内容在显示设备上可容忍的 最大视差;η为左虚拟主相机和右虚拟主相机初始的近裁剪面距离;f为左虚拟主相机和右 虚拟主相机初始的远裁剪面距离;且0. l〈n彡0. 3,n〈f ;(;为观察位置;Vi为立体视觉三维 可视化系统用户的化身的观察方向,Vi以Q为起始点沿任意方向延伸;u Pi为立体视觉三维 可视化系统用户的化身的向上的方向,uPi以Q为起始点垂直于Vi沿向上方向延伸;其中, i = 0, 1,2, ···,N ;a*a 为六个虚拟辅助相机 front、back、left、right、up、down 存储深度 距离值的纹理尺寸;b*b为虚拟辅助相机additional存储深度距离值的纹理尺寸,其中,a、 b 均为 2-,111= 1,2,···,N,且a〈b ; 根据以上参数设置虚拟两个虚拟主相机和七个虚拟辅助相机: ① 设置虚拟主相机: a) 初始化主相机框架中各参数; b) 以vJPuPi叉乘确定向量;以(^为起点,沿Vi上距离DKeet处设置矩形投影面Rect, 矩形投影面Rect的高为h Keet,宽为wKect ; c) 将主相机框架的锚点Pivot与Q重合,两虚拟主相机之间水平距离为dMineanis,左虚 拟主相机的近裁减面距离n maMamsl、远裁减面距离fmaineamsl,右虚拟主相机的近裁减面距离 nmainC?s2、远裁减面距离f mainCams2 ? ② 设置虚拟辅助相机: a) 确定各虚拟辅助相机的朝向; b) 设定各虚拟辅助相机的近裁剪面距离、远裁剪面距离; c) 针对六个虚拟辅助相机front、back、left、right、up和down--对应创建一个尺 寸为a*a的存储深度距离值的浮点纹理;针对虚拟辅助相机additional创建一个尺寸为 b*b的存储深度距离值的浮点纹理; 3) 当Q、Vi和uPi发生变化后,重复步骤2)中①的b)?c)对主相机框架的位置和方 向进行调节;若立体视觉三维可视化系统发出视差调节的指令,则进入下一步;若不发出 视差调节的指令,则不进行任何操作; 4) 根据步骤3)中Q、Vi和uPi的变化,重复步骤2)的②中a)?b); 5) 根据六个虚拟辅助相机获得的Ci周边环境的深度距离值,对主相机框架进行缩放; 6) 根据虚拟辅助相机additional获取的深度距离值,对两虚拟主相机的水平间距进 行调整; 7) 通过步骤5)和步骤6)实现对主相机框架中两虚拟主相机、锚点Pivot和矩形投影 面Rect之间相对方向上的位置关系的调整,改变两虚拟主相机的空间位置与投影矩阵,生 成立体视觉图像对; 8) 根据的变化,重复步骤3)?7),实现自动调节图像视差。2. 如权利要求1所述的一种立体视觉三维可视化系统中自动调节图像视差的方法,其 特征在于:所述步骤1)中,设定主相机框架、各虚拟相机的参数及投影矩阵的方法如下: ① 左、右虚拟主相机: 左虚拟主相机的近裁剪面距离为nMinC;anisl,远裁剪面距离为f;ainC;amsl ;右虚拟主相机的近 裁期面距尚为 nmainC;ams2,远裁期面距尚为 fmainC;ams2 ;根据 C、hReet、wReet、nmainC;amsl 和 fmainC;amsl 确定 左虚拟主相机的离轴投影矩阵,并将其作为左虚拟主相机的投影矩阵;同理根据C'、h^t、 WRect、nmaincams2 矛口 f mainCams2 确定右虚拟主相机的投影矩阵; ② 七个虚拟辅助相机: 各虚拟辅助相机的朝向分布如下: ① 虚拟辅助相机front、additional垂直并正对矩形投影面Rect的方向; ② 虚拟辅助相机back垂直并背向矩形投影面Rect的方向; ③ 虚拟辅助相机left指向左虚拟主相机的方向; ④ 虚拟辅助相机right指向右虚拟主相机的方向; ⑤ 虚拟辅助相机up指向平行于矩形投影面Rect向上的方向; ⑥ 虚拟辅助相机down指向平行于矩形投影面Rect向下的方向; 七个虚拟辅助相机的近裁剪面距离、远裁剪面距离如下表所示:六个虚拟辅助相机front、back、left、right、up和down的投影矩阵为各使用视角为 90度的透视投影所对应的投影矩阵,虚拟辅助相机additional的投影矩阵为使用视角恰 好覆盖矩形投影面Rect的透视投影所对应的投影矩阵。3. 如权利要求1所述的一种立体视觉三维可视化系统中自动调节图像视差的方法,其 特征在于:所述步骤2)中,根据d、w、h、D、p%、d' 和up。设置虚拟主相机 和虚拟辅助相机方法如下: ①设置两虚拟主相机 a)初始化主相机框架中各参数:令DKec;t = D,矩形投影面Rect的高h^t = h,矩形投影 面Rect的宽wKec;t = w,两虚拟主相机间的水平间距dmainCams = d,左虚拟主相机的近裁减面 距离nMinCaDlsi = n,左虚拟主相机的远裁减面距离fMinCamsl = f,右虚拟主相机的近裁减面距 尚niMirCiimS2 = n,右虚拟主相机的远裁减面距尚fiMirCiimS2 = f ; b) 以vJPuPi叉乘确定向量ti ;以(^为起点,沿Vi上距离DKeet处设置矩形投影面Rect, 矩形投影面Rect的高为hKeet,宽为w Kect ; c) 将主相机框架的锚点Pivot与Q重合,两虚拟主相机之间水平距离为dMineanis,左虚 拟主相机的近裁减面距离,左虚拟主相机的近裁减面距离、远裁减面距离 fnrairCamsil,右虚拟王相机的近裁减面距尚nnrainC:amS2、远裁减面距尚f mainCams2 ? ②设置各虚拟辅助相机 对虚拟辅助相机设置如下: a) 确定各虚拟辅助相机的朝向 虚拟辅助相机fron、additional指向Vi ;虚拟辅助相机back指向Vi的反方向;虚拟辅 助相机left指向的反方向;虚拟辅助相机right指向心;虚拟辅助相机up指向upi ;虚 拟辅助相机down指向upi的反方向; b) 设定各虚拟辅助相机的近裁剪面距离、远裁剪面距离 虚拟辅助相机front的 ^front n? ffront ^mainCamsl ? 虚拟辅助相机back的nba(;k = n, fback fmainCamsl ; 虚拟辅助相机 left 的 nleft = n,fleft = f-i ; 虚拟辅助相机right的 ^right Hj fright i'mainCamsl ? 虚拟辅助相机up的 ^up ? iup i'mainCamsl ? 虚拟辅助相机down的 down n ? fdown fmainCamsl ; 虚拟辅助相机 additional 的 nadd = nmaineamsl,f add fmainCamsl ; c) 针对六个虚拟辅助相机front、back、left、right、up、down--对应创建一个尺寸 为a*a的存储深度距离值的浮点纹理;针对虚拟辅助相机additional创建一个尺寸为b*b 的存储深度距离值的浮点纹理。4.如权利要求2所述的一种立体视觉三维可视化...

【专利技术属性】
技术研发人员:段祺珅龚建华
申请(专利权)人:中国科学院遥感与数字地球研究所
类型:发明
国别省市:北京;11

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

1