首页> 中国专利> 一种立体视觉三维可视化系统中自动调节图像视差的方法

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

摘要

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

著录项

  • 公开/公告号CN104093013A

    专利类型发明专利

  • 公开/公告日2014-10-08

    原文格式PDF

  • 申请/专利权人 中国科学院遥感与数字地球研究所;

    申请/专利号CN201410294832.9

  • 发明设计人 段祺珅;龚建华;

    申请日2014-06-25

  • 分类号H04N13/00;

  • 代理机构北京纪凯知识产权代理有限公司;

  • 代理人徐宁

  • 地址 100101 北京市朝阳区大屯路甲20号北

  • 入库时间 2023-12-17 02:24:16

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2016-05-11

    授权

    授权

  • 2014-10-29

    实质审查的生效 IPC(主分类):H04N13/00 申请日:20140625

    实质审查的生效

  • 2014-10-08

    公开

    公开

说明书

技术领域

本发明涉及一种调节图像视差的方法,特别是关于一种立体视觉三维可视化系统 中自动调节图像视差的方法。

背景技术

在立体视觉三维可视化系统中,生成立体视觉图像的方法是在三维场景中布置两 个分别用于生成左、右眼图像的虚拟相机。在生成立体视觉图像时,两个虚拟相机会 分别根据各自的模-视矩阵、投影矩阵、视口矩阵、窗口矩阵对场景进行变换、裁剪等 处理,最终渲染生成合适的立体视觉图像对。立体视觉三维可视化系统用户在合适的 输出设备上看到立体视觉图像对,并经过自身的视觉系统处理合成,最终形成立体视 觉感知。

在立体视觉三维可视化系统中采用的虚拟相机与一般三维可视化系统中采用的虚 拟相机主要有三点不同:1)需要两个虚拟相机,同时生成左、右眼图像;2)需要使 用特殊的离轴投影矩阵作为投影矩阵以保证两个图像上的同名点在产生合适的水平视 差的同时不产生垂直视差,避免梯形畸变;3)两个虚拟相机间的距离需要根据成像的 内容进行正确的调节,调节的结果通过图像同名点的水平视差表现出来。

目前的立体视觉三维可视化系统在进行立体视觉图像的实时渲染时,对离轴投影 矩阵的设置与两个虚拟相机间距离的控制,主要是根据其中一个虚拟相机的深度缓存 信息来进行的。通常,选择一个虚拟相机作为虚拟主相机获取它的深度缓存,找到深 度最小的缓存像素求出其深度方向上的距离,即深度距离值,乘上一个比例系数(一 般选择1/30)后作为两个虚拟相机的间隔距离。在三维场景中,构建对应系统输出设 备的辅助几何对象(一般屏幕是长方形,所以几何体一般也是长方形),几何对象、两 个虚拟相机在空间上的结构与立体视觉三维可视化系统使用时的输出屏幕、使用者的 两眼构成的结构是几何相似的,它们的比例关系由虚拟相机间隔距离与人眼间隔距离 的比值确定,使用虚拟相机的位置、裁剪面的参数以及辅助几何对象的属性即可确定 离轴投影矩阵。

采用常规的虚拟相机设置存在两个主要问题:1)三维可视化系统具有动态性质, 用户选择在场景中移动和转向是非常自由的,当虚拟相机在三维场景中的方位发生改 变或三维场景本身发生变化时,相关的设置需要进行调节,由于人的视觉系统承受这 种调节的能力有限,客观上要求相关参数的变化速率不能太快,否则会产生视觉上的 不适感并积累视觉疲劳,但如果变化速率较低,又会生成不合适的图像(例如,当虚拟 相机很快的从面向一个远处的区域转向一个距离很近的对象时,虚拟相机的投影面需 要快速的从很远的距离回到近处,若没有及时完成调节就会使用错误的投影产生图像)。 2)常规方法还容易产生立体视觉的会聚/调节问题,由于立体视觉三维可视化系统只 考虑了将实际的观看环境等比例的在三维场景中进行虚拟相机的构建设置,很容易就 产生深度范围跨度很大的立体视觉图像,当人眼实际观看设备时是聚焦在显示设备平 面上的,而立体视觉图像中深度很大的部分则有可能在远离设备平面很远的位置,在 观看这部分内容时,人眼既要汇聚到一个很远的点上,又要调节焦距到显示平面上, 这样产生的矛盾即是会聚/调节问题。

发明内容

针对上述问题,本发明的目的是提供一种立体视觉三维可视化系统中自动调节图 像视差的方法。

为实现上述目的,本发明采取以下技术方案:一种立体视觉三维可视化系统中自 动调节图像视差的方法,其包括以下步骤: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)中,设定主相机框架、各虚拟相机的参数及投影矩阵的方法如下: ①左、右虚拟主相机:左虚拟主相机的近裁剪面距离为nmainCams1,远裁剪面距离为fmainCams1; 右虚拟主相机的近裁剪面距离为nmainCams2,远裁剪面距离为fmainCams2;根据C'、hRect、wRect、 nmainCams1和fmainCams1确定左虚拟主相机的离轴投影矩阵,并将其作为左虚拟主相机的投影 矩阵;同理根据C'、hRect、wRect、nmainCams2和fmainCams2确定右虚拟主相机的投影矩阵;② 七个虚拟辅助相机:各虚拟辅助相机的朝向分布如下:①虚拟辅助相机front、 additional垂直并正对矩形投影面Rect的方向;②虚拟辅助相机back垂直并背向矩 形投影面Rect的方向;③虚拟辅助相机left指向虚拟主相机的方向;④虚拟辅助相 机right指向虚拟主相机的方向;⑤虚拟辅助相机up指向平行于矩形投影面Rect向 上的方向;⑥虚拟辅助相机down指向平行于矩形投影面Rect向下的方向;七个虚拟 辅助相机的近裁剪面距离、远裁剪面距离如下表所示:

虚拟辅助相机 front back left right up down additional 近裁剪面距离 nfrontnbacknleftnrightnupndownnadd远裁剪面距离 ffrontfbackfleftfrightfupfdownfadd

六个虚拟辅助相机front、back、left、right、up和down的投影矩阵为各使用视角 为90度的透视投影所对应的投影矩阵,虚拟辅助相机additional的投影矩阵为使用 视角恰好覆盖矩形投影面Rect的透视投影所对应的投影矩阵。

所述步骤2)中,根据d、w、h、D、p%、d'、n、f、a、b、Ci、vi和upi, 设置虚拟主相机和虚拟辅助相机方法如下:①设置两虚拟主相机:a)初始化主相机框 架中各参数:令DRect=D,矩形投影面Rect的高hRect=h,矩形投影面Rect的宽wRect=w, 两虚拟主相机间的水平间距dmainCams=d,左虚拟主相机的近裁减面距离nmainCams1=n,左 虚拟主相机的远裁减面距离fmainCams1=f,右虚拟主相机的近裁减面距离nmainCams2=n, 右虚拟主相机的远裁减面距离fmainCams2=f;b)以vi和upi叉乘确定向量ti;以Ci为起点, 沿vi上距离DRect处设置矩形投影面Rect,矩形投影面Rect的高为hRect,宽为wRect;c) 将主相机框架的锚点Pivot与Ci重合,两虚拟主相机之间水平距离为dmainCams,左虚拟 主相机的近裁减面距离nmainCams1,左虚拟主相机的近裁减面距离nmainCams1、远裁减面距离 fmainCams1,右虚拟主相机的近裁减面距离nmainCams2、远裁减面距离fmainCams2;②设置各虚 拟辅助相机:对虚拟辅助相机设置如下:a)确定各虚拟辅助相机的朝向:虚拟辅助相 机fron、additional指向vi;虚拟辅助相机back指向vi的反方向;虚拟辅助相机left 指向ti的反方向;虚拟辅助相机right指向ti;虚拟辅助相机up指向upi;虚拟辅助相 机down指向upi的反方向;b)设定各虚拟辅助相机的近裁剪面距离、远裁剪面距离: 虚拟辅助相机front的nfront=n,ffront=fmainCams1;虚拟辅助相机back的nback=n, fback=fmainCams1;虚拟辅助相机left的nleft=n,fleft=fmainCams1;虚拟辅助相机right的 nright=n,fright=fmainCams1;虚拟辅助相机up的nup=n,fup=fmainCams1;虚拟辅助相机down 的ndown=n,fdown=fmainCams1;虚拟辅助相机additional的nadd=nmainCams1,fadd=fmainCams1; c)针对六个虚拟辅助相机front、back、left、right、up、down一一对应创建一个 尺寸为a*a的存储深度距离值的浮点纹理;针对虚拟辅助相机additional创建一个尺 寸为b*b的存储深度距离值的浮点纹理。

所述步骤5)包括以下步骤:①使用七个虚拟辅助相机对Ci周边的三维场景进行 渲染,各虚拟辅助相机获得对应Ci周边的深度信息,并将深度信息转化为具体的深度 距离值,将六个虚拟辅助相机front、back、left、right、up和down的各深度距离 值存入步骤2)中设定的各对应尺寸为a*a的浮点纹理中;虚拟辅助相机additional 的深度距离值存入步骤2)中设定的尺寸为b*b的浮点纹理中;②在六个虚拟辅助相 机front、back、left、right、up、down的深度距离值中,取各自的最小深度距离值, 并将六个虚拟辅助相机中最小的深度距离值记为min Dist;③获取虚拟辅助相机 additional的深度距离值中最小的深度距离值记为min AddDist,获取仅次于虚拟辅助 相机additional的远裁剪面距离fadd的深度距离值记为max AddDist;④根据公式 scaleref=minAddDist,minAddDist<minDistmin(k*minDist,minAddDist),minAddDistminDist计算当前Ci周边环境的尺 度参考值;其中,k是约束系数,且1≤k≤3;⑤根据公式 scalenew=scaleold+α*(scaleref-scaleold)计算当前Ci周边环境的尺度值;其中,α是计算 环境尺度时的约束系数,且0<α<1;scaleold为上一次视差调节时Ci周边环境的尺度值, 其初始值为D;⑥对当前主相机框架进行缩放变换,缩放中心为锚点Pivot点,缩放 系数为scalenew/scaleold,将dmainCams、DRect、wRect、hRect、nmainCams1、fmainCams1、nmainCams2、fmainCams2分别乘以缩放系数scalenew/scaleold得到各自对应的新值,得到视差调节后的两虚拟主相 机、锚点Pivot和矩形投影面Rect之间相对方向上新的位置关系。

所述步骤6)包括以下步骤:①在虚拟辅助相机additional的浮点纹理中,筛选 出深度距离值小于远裁剪面距离值fadd的纹理部分,并对这部分使用区域增长法,以 (max AddDist-min AddDist)/Res为分割的阈值进行区域分割处理,处理后得到若干纹理 区域以及各纹理区域对应的种子点,采用各纹理区域的种子点对对应的纹理区域建立 索引;其中,Res为显示设备在横向或纵向分辨率中较大的一个;②对作为各纹理区 域索引的各个种子点,按照其深度距离值从大到小进行排序,按照这个排序结果,统 计各个种子点所索引的纹理区域的像素数并进行累计,截止到累计的像素数超过 (100-p)%上一步筛选出的纹理部分时,停止累计,对已累计的纹理像素,求其深度距 离值的平均值,得到远景平均深度距离值avgFarDist;③根据公式 DepthRange=avgFarDist-min AddDist计算当前两虚拟主相机可见深度距离值的跨度范 围;④根据公式dref=d·scalenewD·scalenew+DepthRangeDepthRange,DepthRange>d*scalenewd-dd·scalenewD,DepthRanged*scalenewd-d计算当前 两虚拟主相机之间水平间距的参考值dref;⑤根据公式dnew=dold+β*(dref-dold)计算当 前两虚拟主相机水平间距dnew;其中,β为控制两虚拟主相机水平间距调节过程的约 束系数,且0<β<1;dold为上一次视差调节时采用的两虚拟主相机水平间距,且其初 始值为d;⑥以锚点Pivot为中点,使dmainCams=dnew以调整两虚拟主相机的水平间距。

所述步骤2)中a=25,b=26;所述步骤3)中采用每帧都进行视差调节指令。

所述步骤5)的④中,2.5≤k≤3;所述步骤5)的⑤中0.3≤α≤0.4。

所述步骤6)的⑤中,0.3≤β≤0.4。

本发明由于采取以上技术方案,其具有以下优点:1、本发明每一次进行视差调节 时,根据当前设定的两个虚拟主相机、锚点和矩形投影面之间相对方向上的位置关系 而构成的主相机框架的位置和朝向,设置七个虚拟辅助相机,并使用这些虚拟辅助相 机获取观察位置周围环境的深度距离值,并利用这些深度距离值,结合上一次视差调 节的结果,调整主相机框架中各部件之间相对方向上位置关系,进而改变两个虚拟主 相机的空间位置与投影矩阵,从而调整虚拟主相机生成的立体视觉三维图像的视差。 根据立体视觉三维可视化系统用户的化身在三维场景中的方位变化和三维场景的变化, 自动调整生成立体视觉图像的主相机框架,以确保在立体视觉三维可视化系统用户化 身的方位或三维场景的连续变化过程中,立体三维可视化系统能够产生正确的立体视 觉图像。2、本发明根据六个辅助相机获得的观察位置周边环境的深度距离值,对主相 机框架进行整体缩放,而后又根据虚拟辅助相机additional获取的深度距离值对虚拟 主相机的间距进行调整,两次调整的过程能够将生成的立体视觉三维图像中主要内容 与显示平面在深度上的差距约束在预设的范围里,从而避免会聚/调节的问题。3、采 用本发明每一次调节后生成的立体视觉三维图像都能产生有正确深度层次感,并且图 像中的主要内容的视差(超过p%的内容)都不超过d'。因此,本发明可以广泛用于 计算机立体视觉图形学领域。

附图说明

图1是本发明的应用状态示意图

具体实施方式

下面结合附图和实施例对本发明进行详细的描述。

本发明立体视觉三维可视化系统中自动调节图像视差的方法,包括以下步骤:

1)定义主相机框架、各虚拟相机的参数及投影矩阵

如图1所示,水平设置两个虚拟主相机1、2,即一左(Left)虚拟主相机1和一 右(Right)虚拟主相机2,二者之间的间距为dmainCams,两个虚拟主相机1、2连成的 线段中点为锚点Pivot,与锚点Pivot相距一定距离DRect处设置一矩形投影面Rect, 矩形投影面Rect的中心点C'与锚点Pivot构成的线段垂直于矩形投影面Rect。矩形 投影面Rect的高度为hRect,宽度为wRect。设定两个虚拟主相机1、2,锚点Pivot以及 矩形投影面Rect之间相对方向上的位置关系为主相机框架。其中,左虚拟主相机1 的近裁剪面距离为nmainCams1,远裁剪面距离为fmainCams1;右虚拟主相机2的近裁剪面距离 为nmainCams2,远裁剪面距离为fmainCams2。根据中心点C',矩形投影面Rect的高度hRect、 宽度wRect,左虚拟主相机1的nmainCams1和fmainCams1确定左虚拟主相机1的离轴投影矩阵 (Off-axis Projection Matrix),并将其作为左虚拟主相机1的投影矩阵;同理根据 中心点C',矩形投影面Rect的高度hRect、wRect,右虚拟主相机2的nmainCams2和fmainCams2确 定右虚拟主相机2的投影矩阵。

在锚点Pivot处,采用常规立方体纹理(cubemap)生成技术设置六个虚拟辅助相 机front、back、left、right、up、down,另外,还在锚点Pivot处设置一个虚拟辅 助相机additional。

各虚拟辅助相机的朝向分布如下:

①虚拟辅助相机front、additional的指向均正对矩形投影面Rect的方向,虽然 两虚拟辅助相机front、additional的位置和方向重合,但因其投影矩阵不同,因此 所获得的深度距离值也不同;

②虚拟辅助相机back指向背对矩形投影面Rect的方向;

③虚拟辅助相机left指向左虚拟主相机1的方向;

④虚拟辅助相机Right指向右虚拟主相机2的方向;

⑤虚拟辅助相机up指向平行于矩形投影面Rect向上的方向;

⑥虚拟辅助相机down指向平行于矩形投影面Rect向下的方向。

七个虚拟辅助相机的近裁剪面距离、远裁剪面距离如下(如表1所示):

表1  虚拟辅助相机的近裁剪面距离、远裁剪面距离

虚拟辅助相机 front back left right up down additional 近裁剪面距离 nfrontnbacknleftnrightnupndownnadd远裁剪面距离 ffrontfbackfleftfrightfupfdownfadd

上述六个虚拟辅助相机front、back、left、right、up、down的各个投影矩阵分 别为使用视角90度的透视投影所对应的投影矩阵。上述虚拟辅助相机additional的 数量可以采用一个,也可以采用多个;若采用一个虚拟辅助相机additional,则其投 影矩阵为使用视角恰好覆盖矩形投影面Rect的透视投影所对应的投影矩阵;若采用多 个虚拟辅助相机additional,则所设置的多个虚拟辅助相机additional的投影矩阵 为所采用的多个虚拟辅助相机additional的使用视角合起来恰好覆盖矩形投影面 Rect的透视投影所对应的投影矩阵。

2)根据使用环境设定如下参数:d、w、h、D、p%、d'、n、f、a、b、Ci、 vi和upi;并根据这些参数设置两个虚拟主相机1、2和各个虚拟辅助相机。其中,

d为两虚拟主相机1、2之间的初始水平间距,单位为mm;

w为显示最终生成的立体视觉三维图像的显示设备的宽度,单位为mm;

h为显示最终生成的立体视觉三维图像的显示设备的高度,单位为mm;

D为显示最终生成的立体视觉三维图像的显示设备的最佳观看距离,单位为mm;

上述d一般根据立体视觉三维可视化系统用户人群的瞳距而定,成人瞳距为55 mm~65mm,未成年人瞳距为45mm~55mm;w、h、D根据实际用于显示立体视觉 三维图像的显示设备而定;需要说明的是用于显示最终生成的立体视觉三维图像的显 示设备映射到三维场景中的虚拟对象即为矩形投影面Rect。

p%为显示的非背景内容中主体内容所占的百分比阈值,根据立体视觉三维图像 表现的三维场景特点而定,范围为80%~95%;

d'为显示的非背景内容中主体内容在显示设备上可容忍的最大视差,根据立体视 觉三维可视化系统用户期望的立体视觉三维图像观看舒适程度而定,0.1d<d'≤d,单 位为mm;

n为两虚拟主相机1、2初始的近裁剪面距离;

f为两虚拟主相机1、2初始的远裁剪面距离;且0.1<n≤0.3,n<f;n和f单位 为构建三维场景时的基本单位,根据立体视觉三维图像表现的三维场景特点而定,两 虚拟主相机1、2采用相同的参数值;

Ci为观察位置,根据立体视觉三维可视化系统用户需要任意选定;

vi为立体视觉三维可视化系统用户化身(avatar)的观察方向,vi以Ci为起始点 沿任意方向延伸;

upi为立体视觉三维可视化系统用户化身的向上的方向,upi以Ci为起始点垂直于vi沿向上方向延伸;

其中,i=0,1,2,...,N;上述Ci、vi和upi由立体视觉三维可视化系统用户通过人机 交互接口指定;

a*a为六个虚拟辅助相机front、back、left、right、up、down存储深度距离值 的纹理尺寸;

b*b为虚拟辅助相机additional存储深度距离值的纹理尺寸,其中,a、b均为2m, m=1,2,...,N,且a<b。上述a=25且b=26,才能保证本发明的功能正常运作,在计算性 能允许的情况下可以将a、b设置更高的值以提升本发明的调整效果。

根据以上参数设置两虚拟主相机1、2和各虚拟辅助相机:

①设置两虚拟主相机1、2

对两个虚拟主相机1、2设置如下:

a)初始化主相机框架中各参数:令DRect=D,矩形投影面Rect的高hRect=h,矩 形投影面Rect的宽wRect=w,两虚拟主相机1、2间的水平间距dmainCams=d,左虚拟主 相机1的近裁减面距离nmainCams1=n,左虚拟主相机1的远裁减面距离fmainCams1=f,右 虚拟主相机2的近裁减面距离nmainCams2=n,右虚拟主相机2的远裁减面距离fmainCams2=f;

b)以立体视觉三维可视化系统用户化身的观察方向vi和立体视觉三维可视化系统 用户化身的向上的方向upi叉乘确定向量ti;以观察位置Ci为起点,沿立体视觉三维可 视化系统用户化身的观察方向vi上距离DRect处设置矩形投影面Rect,矩形投影面Rect 的高为hRect,宽为wRect

c)将主相机框架的锚点Pivot与观察位置Ci重合,两虚拟主相机1、2之间水平 距离为dmainCams,左虚拟主相机1的近裁减面距离nmainCams1、远裁减面距离fmainCams1,右 虚拟主相机2的近裁减面距离nmainCams2、远裁减面距离fmainCams2

②设置虚拟辅助相机

对各虚拟辅助相机设置如下:

a)确定各虚拟辅助相机的朝向

虚拟辅助相机front和虚拟辅助相机additional指向立体视觉三维可视化系统用 户化身的观察方向vi;虚拟辅助相机back指向立体视觉三维可视化系统用户化身的观 察方向vi的反方向;虚拟辅助相机left指向ti的反方向;虚拟辅助相机right指向ti; 虚拟辅助相机up指向立体视觉三维可视化系统用户化身的向上的方向upi;虚拟辅助 相机down指向立体视觉三维可视化系统用户化身的向上的方向upi的反方向;

b)设定各虚拟辅助相机的近裁剪面距离、远裁剪面距离

虚拟辅助相机front的nfront=n,ffront=fmainCams1

虚拟辅助相机back的nback=n,fback=fmainCams1

虚拟辅助相机left的nleft=n,fleft=fmainCams1

虚拟辅助相机right的nright=n,fright=fmainCams1

虚拟辅助相机up的nup=n,fup=fmainCams1

虚拟辅助相机down的ndown=n,fdown=fmainCams1

虚拟辅助相机additional的nadd=nmainCams1,fadd=fmainCams1

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周边环境的深度距离值,对主相机 框架进行缩放

①使用七个虚拟辅助相机对观察位置Ci周边的三维场景进行渲染,各虚拟辅助相 机获得对应观察位置Ci周边的深度信息,并将深度信息转化为具体的深度距离值,将 六个虚拟辅助相机front、back、left、right、up和down的各深度距离值存入步骤 2)中设定的各对应尺寸为a*a的浮点纹理中;虚拟辅助相机additional的深度距离 值存入步骤2)中设定的尺寸为b*b的浮点纹理中;

②在六个虚拟辅助相机front、back、left、right、up和down的深度距离值中, 取各自的最小深度距离值,并将六个虚拟辅助相机中最小的深度距离值记为min Dist;

③获取虚拟辅助相机additional的深度距离值中最小的深度距离值记为 min AddDist,获取仅次于虚拟辅助相机additional的远裁剪面距离fadd的深度距离值 记为max AddDist;

④根据公式scaleref=minAddDist,minAddDist<minDistmin(k*minDist,minAddDist),minAddDistminDist计算当前 观察位置Ci周边环境的尺度参考值,单位根据当前观察位置Ci周边环境的三维场景本 身的长度单位确定,其中,k是约束系数,k根据实际应用情况而定,k值越大则最终 生成立体视觉三维图像深度感越强。通常当1≤k≤3时保证产生正确的立体视觉三维图 像,并在其产生的正确立体视觉三维图像的前提下增强深度感;当k<1时,能够生成 立体视觉图像,但生成的立体视觉三维图像深度感过小;当k>3时,导致不正确的立 体视觉三维图像产生;特别地,当2.5≤k≤3时,生成的立体视觉三维图像深度感较强, 效果较好。

⑤根据公式scalenew=scaleold+α*(scaleref-scaleold)计算当前观察位置Ci周边环境的 尺度值,单位根据当前观察位置Ci周边环境的三维场景本身的长度单位确定,其中, α是计算环境尺度时的约束系数,α根据实际应用情况而定。α值越大则scalenew调节 过程越剧烈,α值越小则scalenew调节过程越平滑;通常0<α<1,当0.3≤α≤0.4时, scalenew调整效果较好。scaleold为上一次视差调节时观察位置Ci周边环境的尺度值,单 位根据当前观察位置Ci周边环境的三维场景本身的长度单位确定,且其初始值为D; 需要说明的是上一次视差调节时观察位置Ci周边环境的尺度值scalenew,在下一次视差 调节时,自动变成scaleold

⑥对当前主相机框架进行缩放变换,缩放中心为Pivot点,缩放系数为 scalenew/scaleold,将dmainCams、DRect、wRect、hRect、nmainCams1、fmainCams1、nmainCams2、fmainCams2分别乘以缩放系数scalenew/scaleold得到各自对应的新值,以此得到视差调节后的两虚拟 主相机1、2,锚点Pivot和矩形投影面Rect之间相对方向上新的位置关系;

6)根据虚拟辅助相机additional获取的深度距离值,对dmainCams进行调整

①在虚拟辅助相机additional的浮点纹理中,筛选出深度距离值小于远裁剪面距 离值fadd的纹理部分,并对这部分使用区域增长法(Region Growing Method),以 (max AddDist-min AddDist)/Res为分割的阈值进行区域分割处理,处理后得到若干纹理 区域以及各纹理区域对应的种子点,采用各纹理区域的种子点对对应的纹理区域建立 索引;其中,Res为显示设备在横向或纵向分辨率中较大的一个;

②对作为各纹理区域索引的各个种子点,按照其深度距离值从大到小进行排序, 按照这个排序结果,统计各个种子点所索引的纹理区域的像素数并进行累计,截止到 累计的像素数超过(100-p)%上一步筛选出的纹理部分时,停止累计,对已累计的纹理 像素,求其深度距离值的平均值,得到远景平均深度距离值avgFarDist;

③根据公式DepthRange=avgFarDist-min AddDist计算当前两虚拟主相机1、2之间 的可见深度距离值的跨度范围;

④根据公式dref=d·scalenewD·scalenew+DepthRangeDepthRange,DepthRange>d*scalenewd-dd·scalenewD,DepthRanged*scalenewd-d计算当 前两虚拟主相机1、2之间水平间距的参考值dref,单位根据当前Ci周边环境的三维场 景本身的长度单位确定;

⑤根据公式dnew=dold+β*(dref-dold)计算当前两虚拟主相机1、2水平间距dnew,单 位根据当前Ci周边环境的三维场景本身的长度单位确定,其中,β为控制两虚拟主相 机1、2水平间距调节过程的约束系数,β根据实际应用情况而定,β值越大则dnew调 节过程越剧烈,β值越小则dnew调节过程越平滑;通常0<β<1,当0.3≤β≤0.4时,dnew调整效果较好;dold为上一次视差调节时采用的两虚拟主相机1、2水平间距,单位根 据当前观察位置Ci周边环境的三维场景本身的长度单位确定,且其初始值为d;需要 说明的是,上一次视差调节时两虚拟主相机1、2的水平间距dnew,在下一次视差调节 时,自动变成dold

⑥以锚点Pivot为中点,使dmainCams=dnew以调整两虚拟主相机1、2的水平间距;

7)通过步骤5)和步骤6)实现对主相机框架中两虚拟主相机1、2,锚点Pivot 和矩形投影面Rect之间相对方向上的位置关系的调整,进而改变两虚拟主相机1、2 的空间位置与投影矩阵,并按照生成立体视觉三维图像的一般方法生成立体视觉图像 对,立体视觉三维可视化系统的使用者在合适的输出设备上看到立体视觉图像对,并 经过自身的视觉系统处理合成,形成立体视觉感知。

8)根据观察位置Ci、立体视觉三维可视化系统用户化身的观察方向vi和立体视觉 三维可视化系统用户化身的向上的方向upi的变化,重复步骤3)~7),实现自动调节 图像视差。

综上所述,可以看出本发明原理如下:每一次进行视差调节时,根据当前设定的 两虚拟主相机、锚点和矩形投影面之间相对方向上的位置关系构成主相机框架的位置 和观察方向。本发明在锚点处共设置七个虚拟辅助相机,使用其中六个虚拟辅助相机 获取观察位置周围环境中各个方向的深度距离值,并结合前一次进行视差调节过程中 的计算结果,对当前的主相机框架进行缩放;再使用第七个虚拟辅助相机获取当前主 相机框架的观察方向的深度距离值,并结合前一次进行视差调节过程中的计算结果, 对两虚拟主相机的水平间距进行调整;通过这两步实现当前主相机框架中虚拟主相机、 锚点和矩形投影面之间相对方向上的位置关系的调整,进而改变两虚拟主相机的空间 位置与投影矩阵,达到调节立体视觉三维图像视差的目的。

上述各实施例仅用于说明本发明,其中各步骤的实现方式是可以有所变化的,凡 是在本发明技术方案的基础上进行的等同变换和改进,均不应排除在本发明的保护范 围之外。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号