用于立体视觉呈现的人眼观察图像的生成方法和装置与流程

文档序号:12127471阅读:345来源:国知局
用于立体视觉呈现的人眼观察图像的生成方法和装置与流程

本发明涉及数据处理技术领域,尤其是涉及一种用于立体视觉呈现的人眼观察图像的生成方法和装置。



背景技术:

目前,一般采用三维点云数据格式作为三维空间物体的位置和尺寸的数字化描述方式,这种格式的数据对应的三维数据采集设备主要有三维扫描仪、三维坐标测量仪、遥感和航测设备等。三维点云数据和对应的采集手段,一般用于工程设计、反求工程、大地测量、文物保护和三维重建等各个方面。这些点云数据普遍为多次多角度测量结果的数据叠加,且这些点云数据的处理方式基本为后期处理,而为了实现应用目的,三维点云数据处理软件在进行背景分离、数据拼接、尺寸测量和三维重建等时均需要人工参与,较为繁琐。

现有的三维立体显示一般采用3D影像或VR等方式呈现,其通常采用两台或者两台以上影像采集设备分别按照人眼双目视觉左眼图像和右眼图像进行采集,并针对采集到的左眼图像和右眼图像分别进行处理和呈现操作后,人眼才可通过3D眼镜和VR放映设备进行观看,当人的左右眼同时看到分别呈现的图像后,人脑就将两幅图像自动合成为立体图像。然而3D影像或VR内容的制作一般需要专用设备拍摄,并通过复杂的人工后期处理后制作完成,如若播放,还需要立体眼镜等辅助设备协助,才可以使人观看到立体图像。将采集数据转换为立体图像的制作过程复杂,需要有专业人员参与才可完成,周期较长,制作费用较高,总体成本较高。

针对上述呈现立体图像的制作方式成本较高的问题,目前尚未提出有效的解决方案。



技术实现要素:

有鉴于此,本发明的目的在于提供一种立体视觉图像的生成方法和装置,以缓解现有技术中用于立体图像视觉呈现的图像的制作方式成本较高的问题。

为了实现上述目的,本发明实施例采用的技术方案如下:

第一方面,本发明实施例提供了一种立体视觉图像的生成方法,包括:

获取被视物的图像数据;其中,所述图像数据包括三维点云数据或由正向投影图和正向深度图对应的数据构成的三维数据;

根据预设的人眼双目观察图和所述人眼双目观察图对应的人眼双目观察坐标系,确定所述被视物的图像数据对应的坐标转换关系;其中,所述人眼双目观察图包括左眼观察图和右眼观察图;

根据确定的所述坐标转换关系,将所述被视物的图像数据分别转换为左眼图像数据和右眼图像数据;其中,所述左眼图像数据和所述右眼图像数据是分别对应所述左眼观察图和所述右眼观察图的二维图像数据;

将所述左眼图像数据和所述右眼图像数据进行显示变换,得到所述被视物的双目观察平面图像,该图像一般用于立体视觉虚拟现实呈现。

结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,获取被视物的图像数据包括:

所述三维点云数据Iuv(i,j)在基于三维机器视觉测量系统建立的基础三维直角坐标系OXYZ中表示为:

其中,所述三维点云数据是根据所述三维机器视觉测量系统的单次测量的测量结果得到的被视物表面的数据集合,该数据集合对应于由离散的点组成的多曲面状分布式空间结构,u和v分别是三维机器视觉测量系统单次测量对应的二维测量平面的宽度方向和高度方向上的测量点量或像素点量,i、j表示某个测量点或像素点在二维测量平面上的位置,其中0≤i≤u-1,0≤j≤v-1,i、j均为整数,x(i,j),y(i,j),z(i,j)为由三维机器视觉测量系统测得的测量点或像素点对应的被视点的空间位置坐标,R(i,j),G(i,j),B(i,j)为由三维机器视觉测量系统测得的测量点或像素点对应的被视点表面的颜色值,g(i,j)为由三维机器视觉测量系统测得的测量点或像素点对应的被视点表面的灰度值。

结合第一方面,本发明实施例提供了第一方面的第二种可能的实施方式,其中,获取被视物的图像数据包括:

所述正向投影图表示为:

所述正向深度图表示为:

其中,所述被视物的正向投影图和正向深度图对应的三维数据FTuv(i,j)表示为:

或者

其中,u和v分别是三维机器视觉测量系统单次测量对应的二维测量平面的宽度方向和高度方向上的测量点量或像素点量,i、j表示某个测量点或像素点在二维测量平面上的位置,其中0≤i≤u-1,0≤j≤v-1,i、j均为整数,x(i,j),y(i,j),z(i,j)为由三维机器视觉测量系统测得的测量点或像素点对应的被视点的空间位置坐标,R(i,j),G(i,j),B(i,j)为由三维机器视觉测量系统测得的测量点或像素点对应的被视点表面的颜色值,g(i,j)为由三维机器视觉测量系统测得的测量点或像素点对应的被视点表面的灰度值;所述被视物的正向投影图所在的正向观察面的原点坐标为(a,b,c),μxF和μyF分别为正向投影图以及正向深度图的宽度方向的像元尺寸和高度方向的像元尺寸,L为被视物基于正向观察面的深度值。

结合第一方面的第一种或第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,所述方法还包括:

在所述基础三维直角坐标系OXYZ中的X轴的正负半轴上对称设置人眼双目焦点;其中,所述人眼双目焦点包括左眼焦点Oa和右眼焦点Ob

分别以左眼焦点Oa和右眼焦点Ob为起点分别设置两个垂直观察深度坐标轴,其中,每个所述垂直观察深度坐标轴分别与OXY平面垂直且在OXZ面;

在与OXY平面上距离为人眼的观察焦距f的正向平面上,以两个所述垂直观察深度坐标轴与所述正向平面的交点Oa’和Ob’为中心分别设置左眼观察图和右眼观察图;其中,所述正向平面平行于OXY平面;

在所述左眼观察图内以Oa’为坐标原点建立左眼观察直角坐标系Oa’XaYa,在所述右眼观察图内以Ob’为坐标原点建立右眼观察直角坐标系Ob’XbYb;将左眼观察直角坐标系和右眼观察直角坐标系作为人眼双目观察坐标系。

结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,按照以下公式确定所述被视物的图像数据对应的坐标转换关系:

其中,(Pax,Pay)为被视物的点P在所述左眼观察直角坐标系内的坐标,(Pbx,Pby)为被视物的点P在所述右眼观察直角坐标系内的坐标;(Px,Py,Pz)被视物的点P在所述基础三维直角坐标系OXYZ下的坐标;m为左眼焦点Oa和右眼焦点Ob的间距。

结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,根据确定的所述坐标转换关系,将所述被视物的图像数据分别转换为左眼图像数据和右眼图像数据包括:

当图像数据为三维点云数据时,按照以下公式,将所述被视物的三维点云数据转为左眼图像数据:

A(p,q)=[R(i,j),G(i,j),B(i,j)]或A(p,q)=g(i,j)

按照以下公式,将所述被视物的三维点云数据转为右眼图像数据:

B(p,q)=[R(i,j),G(i,j),B(i,j)]或B(p,q)=g(i,j)

其中,A(p,q)为被视物在左眼观察图中的颜色或灰度值;B(p,q)为被视物在右眼观察图中的颜色或灰度值;p为被视物在左眼观察图或右眼观察图中的横坐标值;q为被视物在左眼观察图或右眼观察图中的纵坐标值。

结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第六种可能的实施方式,其中,根据确定的所述坐标转换关系,将所述被视物的图像数据分别转换为左眼图像数据和右眼图像数据包括:

当图像数据为由正向投影图和正向深度图对应的数据构成的三维数据时,按照以下公式,将所述被视物的由正向投影图和正向深度图对应的数据构成的三维数据转为左眼图像数据:

A(p,q)=[R(i,j),G(i,j),B(i,j)]或A(p,q)=g(i,j)

按照以下公式,将所述被视物的由正向投影图和正向深度图对应的数据构成的三维数据转为右眼图像数据:

B(p,q)=[R(i,j),G(i,j),B(i,j)]或B(p,q)=g(i,j)

其中,A(p,q)为被视物在左眼观察图中的颜色或灰度值;B(p,q)为被视物在右眼观察图中的颜色或灰度值;p为被视物在左眼观察图或右眼观察图中的横坐标值;q为被视物在左眼观察图或右眼观察图中的纵坐标值;L=zmax-zmin+δl;zmax是所述图像数据中深度坐标最大值,zmin是所述图像数据中深度坐标最小值,δl为预设的深度调整值。

结合第一方面的第五种或第六种可能的实施方式,本发明实施例提供了第一方面的第七种可能的实施方式,其中,将所述左眼图像数据和所述右眼图像数据进行显示变换,得到所述被视物的双目平面观察图像包括:

根据p、q、A(p,q)和B(p,q)确定pmax和qmax;根据预先设置的人眼显示图像大小调整值δu和δv,通过以下公式确定左眼图像数据和右眼图像数据的像元尺寸:

其中,μu和μv分别为左眼图像数据以及右眼图像数据的宽度方向的像元尺寸和高度方向的像元尺寸;U为图像横向像素数量及横向分辨率,V为图像纵向像素数量及纵向分辨率;

调整pmax、qmax、δu和δv,使μu和μv数值相同;

设置所述左眼图像数据为A(u,v)=A(p,q),所述右眼图像数据为B(u,v)=B(p,q),其中,为图像横向的像素数量坐标值,为图像纵向像素数量坐标值;

确定左眼观察图像Auv(u,v)和所述右眼观察图像Buv(u,v)如下:

第二方面,本发明实施例还提供一种立体视觉图像的生成装置,其特征在于,包括:

图像数据获取模块,用于获取被视物的图像数据;其中,所述图像数据包括三维点云数据或由正向投影图和正向深度图对应的数据构成的三维数据;

坐标关系确定模块,用于根据预设的人眼双目观察图和所述人眼双目观察图对应的人眼双目观察坐标系,确定所述被视物的图像数据对应的坐标转换关系;其中,所述人眼双目观察图包括左眼观察图和右眼观察图;

图像数据转换模块,用于根据确定的所述坐标转换关系,将所述被视物的图像数据分别转换为左眼图像数据和右眼图像数据;其中,所述左眼图像数据和所述右眼图像数据是分别对应所述左眼观察图和所述右眼观察图的二维图像数据;

立体图像生成模块,用于将所述左眼图像数据和所述右眼图像数据进行显示变换,得到所述被视物的双目平面观察图,该双目平面观察图包括左眼观察图和右眼观察图,其中,双目平面观察图应用于立体视觉呈现。

结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,所述图像数据获取模块包括第一获取单元,用于获取被视物的三维点云数据;

所述三维点云数据Iuv(i,j)在基于三维机器视觉测量系统建立的基础三维直角坐标系OXYZ中表示为:

其中,所述三维点云数据是根据所述三维机器视觉测量系统的单次测量的测量结果得到的被视物表面的数据集合,该数据集合对应于由离散的点组成的多曲面状分布式空间结构,u和v分别是三维机器视觉测量系统单次测量对应的二维测量平面的宽度方向和高度方向上的测量点量或像素点量,i、j表示某个测量点或像素点在二维测量平面上的位置,其中0≤i≤u-1,0≤j≤v-1,i、j均为整数,x(i,j),y(i,j),z(i,j)为由三维机器视觉测量系统测得的测量点或像素点对应的被视点的空间位置坐标,R(i,j),G(i,j),B(i,j)为由三维机器视觉测量系统测得的测量点或像素点对应的被视点表面的颜色值,g(i,j)为由三维机器视觉测量系统测得的测量点或像素点对应的被视点表面的灰度值。

结合第二方面,本发明实施例提供了第二方面的第二种可能的实施方式,其中,所述图像数据获取模块包括第二获取单元,用于获取被视物的由正向投影图和正向深度图对应的数据构成的三维数据;

所述正向投影图表示为:

所述正向深度图表示为:

其中,所述被视物的正向投影图和正向深度图对应的三维数据FTuv(i,j)表示为:

或者

其中,u和v分别是三维机器视觉测量系统单次测量对应的二维测量平面的宽度方向和高度方向上的测量点量或像素点量,i、j表示某个测量点或像素点在二维测量平面上的位置,其中0≤i≤u-1,0≤j≤v-1,i、j均为整数,x(i,j),y(i,j),z(i,j)为由三维机器视觉测量系统测得的测量点或像素点对应的被视点的空间位置坐标,R(i,j),G(i,j),B(i,j)为由三维机器视觉测量系统测得的测量点或像素点对应的被视点表面的颜色值,g(i,j)为由三维机器视觉测量系统测得的测量点或像素点对应的被视点表面的灰度值;所述被视物的正向投影图所在的正向观察面的原点坐标为(a,b,c),μxF和μyF分别为正向投影图以及正向深度图的宽度方向的像元尺寸和高度方向的像元尺寸,L=zmax-zmin+δl;zmax是所述图像数据中深度坐标最大值,zmin是所述图像数据中深度坐标最小值,δl为预设的深度调整值。

结合第二方面的第一种或第二种可能的实施方式,本发明实施例提供了第二方面的第三种可能的实施方式,其中,所述装置还包括:

第一设置模块,用于在所述基础三维直角坐标系OXYZ中的X轴的正负半轴上对称设置人眼双目焦点;其中,所述人眼双目焦点包括左眼焦点Oa和右眼焦点Ob

第二设置模块,用于分别以左眼焦点Oa和右眼焦点Ob为起点分别设置两个垂直观察深度坐标轴,其中,每个所述垂直观察深度坐标轴分别与OXY平面垂直且在OXZ面;

第三设置模块,用于在与OXY平面上距离为焦距f的正向平面上,以两个所述垂直观察深度坐标轴与所述正向平面的交点Oa’和Ob’为中心分别设置左眼观察图和右眼观察图;其中,所述正向平面平行于OXY平面;

坐标系建立模块,用于在所述左眼观察图内以Oa’为坐标原点建立左眼观察直角坐标系Oa’XaYa,在所述右眼观察图内以Ob’为坐标原点建立右眼观察直角坐标系Ob’XbYb;将左眼观察直角坐标系和右眼观察直角坐标系作为人眼双目观察坐标系。

结合第二方面的第三种可能的实施方式,本发明实施例提供了第二方面的第四种可能的实施方式,其中,所述坐标关系确定模块用于按照以下公式确定所述被视物的图像数据对应的坐标转换关系:

其中,(Pax,Pay)为被视物的点P在所述左眼观察直角坐标系内的坐标,(Pbx,Pby)为被视物的点P在所述右眼观察直角坐标系内的坐标;(Px,Py,Pz)被视物的点P在所述基础三维直角坐标系OXYZ下的坐标;m为左眼焦点Oa和右眼焦点Ob的间距。

结合第二方面的第四种可能的实施方式,本发明实施例提供了第二方面的第五种可能的实施方式,其中,所述图像数据转换模块包括第一转换单元,用于:

当图像数据为三维点云数据时,按照以下公式,将所述被视物的三维点云数据转为左眼图像数据:

A(p,q)=[R(i,j),G(i,j),B(i,j)]或A(p,q)=g(i,j)

按照以下公式,将所述被视物的三维点云数据转为右眼图像数据:

B(p,q)=[R(i,j),G(i,j),B(i,j)]或B(p,q)=g(i,j)

其中,A(p,q)为被视物在左眼观察图中的颜色或灰度值;B(p,q)为被视物在右眼观察图中的颜色或灰度值;p为被视物在左眼观察图或右眼观察图中的横坐标值;q为被视物在左眼观察图或右眼观察图中的纵坐标值。

结合第二方面的第四种可能的实施方式,本发明实施例提供了第二方面的第六种可能的实施方式,其中,所述图像数据转换模块包括第二转换单元,用于:

当图像数据为由正向投影图和正向深度图对应的数据构成的三维数据时,按照以下公式,将所述被视物的由正向投影图和正向深度图对应的数据构成的三维数据转为左眼图像数据:

A(p,q)=[R(i,j),G(i,j),B(i,j)]或A(p,q)=g(i,j)

按照以下公式,将所述被视物的由正向投影图和正向深度图对应的数据构成的三维数据转为右眼图像数据:

B(p,q)=[R(i,j),G(i,j),B(i,j)]或B(p,q)=g(i,j)

其中,A(p,q)为被视物在左眼观察图中的颜色或灰度值;B(p,q)为被视物在右眼观察图中的颜色或灰度值;p为被视物在左眼观察图或右眼观察图中的横坐标值;q为被视物在左眼观察图或右眼观察图中的纵坐标值;L=zmax-zmin+δl;zmax是所述图像数据中深度坐标最大值,zmin是所述图像数据中深度坐标最小值,δl为预设的深度调整值。

结合第二方面的第五种或第六种可能的实施方式,本发明实施例提供了第二方面的第七种可能的实施方式,其中,所述立体图像生成模块用于:

根据p、q、A(p,q)和B(p,q)确定pmax和qmax;根据预先设置的人眼显示图像大小调整值δu和δv,通过以下公式确定左眼图像数据和右眼图像数据的像元尺寸:

其中,μu和μv分别为左眼图像数据以及右眼图像数据的宽度方向的像元尺寸和高度方向的像元尺寸;U为图像横向像素数量及横向分辨率,V为图像纵向像素数量及纵向分辨率;

调整pmax、qmax、δu和δv,使μu和μv数值相同;

设置所述左眼图像数据为A(u,v)=A(p,q),所述右眼图像数据为B(u,v)=B(p,q),其中,为图像横向的像素数量坐标值,为图像纵向像素数量坐标值;

确定左眼观察图像Auv(u,v)和所述右眼观察图像Buv(u,v)如下:

本发明实施例带来了以下有益效果:

1.本发明提供的方法和装置,可以将被视物的图像数据转换为人眼双目观察坐标系下的左眼图像数据和右眼图像数据,经过显示变换后得到被被视物的双目观察平面图像数据,可用于立体视觉呈现。其中,被视物的图像数据可以为三维点云数据,也可以为正向投影图和正向深度图对应的数据构成的三维数据。能够简便的将多种图像数据转换为以人眼为视角的两幅二维图像,制作过程较为简单;

2.本发明提供的方法和装置对被视物的三维信息进行了适应人工观察的直观描述,对三维空间的描述直观易懂,在立体呈现中就可以看到被视物的三维外观和空间位置,并看到被视物上任一点的灰度值或颜色值信息,便于人工观察和后续机器智能的使用。

3.本发明提供的方法和装置能够直接利用三维点云数据,也可以利用反映三维数据的两幅二维图(正向投影图和正向深度图)进行相关的处理,以呈现立体图像,处理过程中调用运算数据快速方便,显著加快运算速度,减小占用的存储空间;

4.本发明提供的方法和装置适用于对三维机器视觉测量系统的单次测量结果处理后进行存储和显示;对于同一测量系统,当进行连续测量时,能够得到时间上连续的指定格式的二维图像,如果连续显示测量到的二维图像,就实现了连续的三维视觉,产生类似电影的动感效果。移动或转动被视物就可以从多个角度测量被视物对应的三维数据或影像;如果移动测量系统,就可以从不同角度反应同一被视物的不同侧面。该方法适用于VR、AR、MR等三维拍摄、制作、处理和显示等各个领域;

本发明的其他特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。

为使本发明的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。

附图说明

为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明实施例提供的一种立体视觉图像的生成方法的流程图;

图2为本发明实施例提供的三维机器视觉测量系统对应的三维直角坐标系的示意图;

图3为本发明实施例提供的被视空间对应的新的三维直角坐标系以及三个观察面的示意图;

图4为本发明实施例提供的被视空间的人眼双目观察方向上对应的双目图像坐标定义示意图;

图5为本发明实施例提供的被视空间上的一点在人眼双目图像上成像的立体示意图;

图6是本发明实施例提供的被视空间上的一点在人眼双目图像上成像侧向投影示意图;

图7是本发明实施例提供的三维视觉测量数据的处理装置的结构示意图;

图8为本发明实施例提供的一种立体视觉图像的生成装置的结构框图;

图9为本发明实施例提供的一种立体视觉图像的生成装置的另一种结构框图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要理解的是,术语“原点”、“中心”、“纵向”、“横向”、“长度”、“宽度”、“深度”、“高度”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的设备或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

应注意到:本发明中,三维机器视觉测量系统是指能够测量空间被视物的空间位置信息,得到被视物上的被视点的三维坐标以及颜色信息或灰度信息的系统,包括已知的双目视觉三维测量系统、四相机视觉三维测量系统等,本领域普通技术人员可以通过多种三维机器视觉测量系统获得三维点云数据信息。

目前呈现立体图像的制作方式成本较高,基于此,本发明实施例提供的一种立体视觉图像的生成方法和装置,可以利用图像数据(如三维点云数据、能够反映三维数据的特定形式的二维数据等)呈现出人眼可直接观察到的立体视觉图像。

为便于对本实施例进行理解,首先对本发明实施例所公开的一种立体视觉图像的生成方法和装置进行详细介绍,

实施例一:

参见图1所示的一种可用于立体视觉呈现图像的生成方法的流程图,该方法包括以下步骤:

步骤S102,获取被视物的图像数据;其中,图像数据包括三维点云数据或由正向投影图和正向深度图对应的数据构成的三维数据;

步骤S104,根据预设的人眼双目观察图和人眼双目观察图对应的人眼双目观察坐标系,确定被视物的图像数据对应的坐标转换关系;其中,人眼双目观察图包括左眼观察图和右眼观察图;

步骤S106,根据确定的坐标转换关系,将被视物的图像数据分别转换为左眼图像数据和右眼图像数据;其中,左眼图像数据和右眼图像数据是分别对应左眼观察图和右眼观察图的二维图像数据;

步骤S108,将左眼图像数据和右眼图像数据进行显示变换,得到被视物的双目平面观察图,所述双目平面观察图包括左眼观察图和右眼观察图,其中,所述双目平面观察图应用于立体视觉呈现。

本实施例的上述方法中,通过将被视物的图像数据转换为人眼双目观察坐标系下的左眼图像数据和右眼图像数据,经过显示变换后得到被视物的双目平面观察图。其中,该图像数据可以是三维点云数据,也可以为可以反映三维数据的特定格式的二维数据(如正向投影图和正向深度图对应的数据),即可以将多种图像数据转换为以人眼为视角的两幅二维图像,制作过程较为简单。采用VR眼镜等辅助设备协助,人眼观看到采用生成的二维图像时,会直接在人脑中合成与现实物体对应的立体图像,极大节约了成本。本发明提供的方法和装置对被视物的三维信息进行了适应人工观察的直观描述,对三维空间的描述直观易懂,在立体呈现中就可以看到被视物的三维外观和空间位置,并看到被视物上任一点的灰度值或颜色值信息,便于人工观察和后续机器智能的使用,处理过程中调用运算数据快速方便,显著加快运算速度,减小占用的存储空间。

本发明提供的方法适用于对三维机器视觉测量系统的单次测量结果处理后进行存储和显示;其中,三维机器视觉测量系统是指能够测量空间被视物的空间位置信息,得到被视物上的被视点的三维坐标以及颜色信息或灰度信息的系统,包括双目视觉三维测量系统、四相机视觉三维测量系统等。对于同一测量系统,当进行连续测量时,能够得到时间上连续的指定格式的二维图像,如果连续显示测量到的二维图像,就实现了连续的三维视觉,产生类似电影的动感效果。移动或转动被视物就可以从多个角度测量被视物对应的三维数据或影像;如果移动测量系统,就可以从不同角度反应同一被视物的不同侧面。该方法适用于VR、AR、MR等三维拍摄、制作、处理和显示等各个领域。

实施例二:

以实施例一为基础,本发明实施例提供了一种立体视觉图像的生成方法的具体实现方式,具体可以参照如下步骤:

步骤一:获取由三维机器视觉测量系统测得的三维图像数据,包括正向投影图和正向深度图。

1.1、获取三维机器视觉测量系统测得的三维数据:

如图2所示,是本发明实施例提供的三维机器视觉测量系统对应的三维直角坐标系的示意图。由于三维机器视觉测量系统是一种基于二维图像的测量系统,由该系统测得的图像满足针孔成像模型,因此,由该测量系统测得的最终数据也符合针孔成像模型的规律和特点,例如,靠近该系统的物体的测量点分布比远离该系统的物体的测量点的分布更紧密,所以,可以将三维机器视觉测量系统看作是一套独立的图像采集设备,设该系统聚焦于焦点O点,该三维机器视觉测量系统的单次(或一次)测量的测量结果对应于一个二维测量平面(或测量图像),该测量平面与焦点O的距离一般为测量系统的焦距,该测量平面的测量点或像素点的分辨率为u×v,即在该测量平面上可获得在宽度方向上为U,高度方向上为V,总数为u×v个的离散测量点或像素点,其中,U、V为u、v值分别乘以成像像元尺寸得到的成像宽度和成像高度值。以O点为坐标原点建立基础三维直角坐标系OXYZ,Z坐标轴通过上述测量平面的中心O',O'点是焦点O点在测量平面上的投影。根据该三维机器视觉测量系统的测量结果获得被视物表面的数据集合,该数据集合对应于由离散的点组成的具有被视物表面的颜色信息或灰度信息和空间位置信息的离散多曲面状分布式空间结构,这里所说的多曲面状分布式空间结构是指被视物不止一个和/或被视物呈多样的空间分布。

定义Iuv(i,j)为一套三维机器视觉测量系统所测的三维点云数据。将Iuv(i,j)表述为点的空间三维坐标及相应的颜色值的集合:

或表述为点的空间三维坐标及相应的灰度值的集合:

其中,u和v分别是三维机器视觉测量系统单次测量对应的二维测量平面的宽度方向和高度方向上的测量点量或像素点量,i、j表示某个测量点或像素点在二维测量平面上的位置,其中0≤i≤u-1,0≤j≤v-1,i、j均为整数,x(i,j),y(i,j),z(i,j)为由三维机器视觉测量系统测得的测量点或像素点对应的被视点的空间位置坐标,R(i,j),G(i,j),B(i,j)为由三维机器视觉测量系统测得的测量点或像素点对应的被视点表面的颜色值,g(i,j)为由三维机器视觉测量系统测得的测量点或像素点对应的被视点表面的灰度值。

1.2、基于以上三维点云数据建立被视空间如下:

基于不同的三维机器视觉测量系统获得的三维点云数据能够建立如图2中的长方体所示的被视空间,该被视空间的深度为L、宽度为W和高度为H。通过三维机器视觉测量系统,得到被视空间内的与三维机器视觉测量系统的各测量点或像素点对应的被视点的三维点云数据,这些三维点云数据容纳在该被视空间内,其中,被视空间的正面正对三维机器视觉测量系统且与三维机器视觉测量系统的测量平面平行。

对于Iuv(i,j)来说,根据三维机器视觉测量系统的测量结果,可以得到三维点云数据分别在三个相互垂直的坐标轴上对应的最大值和最小值,根据这些最大值和最小值,可以定义该三维机器视觉测量系统单次测量的点云数据所对应的被视空间如下:

对于Iuv(i,j),定义一个深度为L,宽度为W,高度为H的被视空间,满足如下条件:

L=zmax-zmin+δl

W=xmax-xmin+δw

H=ymax-ymin+δh

其中:zmax是三维点云数据中深度坐标最大值,zmin是三维点云数据中深度坐标最小值,xmax是三维点云数据中宽度坐标最大值,xmin是三维点云数据中宽度坐标最小值,ymax是三维点云数据中高度坐标最大值,ymin是三维点云数据中高度坐标最小值,δl为被视空间的深度调整值,δw为被视空间的宽度调整值,δh为被视空间的高度调整值,设置被视空间的深度调整值、宽度调整值和高度调整值的目的在于通过这些调整值使W、H和L的值略大于被视物的实际尺寸,从而确保被视物容纳在被视空间内,并且易于后续运算或处理。

1.3、建立被视空间对应的新的三维直角坐标系,对三维点云数据进行坐标平移转换:

如图3所示,是本发明实施例提供的被视空间对应的新的三维直角坐标系以及三个观察面的示意图。

对于上述被视空间,再单独定义一套新的三维直角坐标系O1X1Y1Z1,定义的坐标系如图3所示。该新的三维直角坐标系以被视空间对应的长方体的正对三维机器视觉测量系统的一面的左下角对应的点O1为坐标原点,代表深度尺寸L、宽度尺寸W和高度尺寸H的计算起点,该坐标原点与图2中的三维机器视觉测量系统对应的坐标原点O不同。两个原点对应的两个三维直角坐标系可以通过相应的坐标转换矩阵进行平移转换。设图3中的O1点在图2的基础直角坐标系中的坐标为O1(a,b,c),其中,a=xmin+Δx,b=ymin+Δy,c=zmin+Δz,Δx、Δy和Δz分别为原点宽度调整值、原点高度调整值和原点深度调整值,设置上述调整值的目的是调整尺寸,给被视物需要显示的部位留出一定距离,防止被视点置于最边缘的位置。定义Juv(i,j)为转换后的三维点云数据,表述为点的空间三维坐标及相应的颜色值的集合:

或表述为空间三维坐标及相应的灰度值的集合:

1.4、确定被视空间对应的正向观察面以及对应的直角坐标系:

如图3所示,在已定义的被视空间的表面,设正向观察面(F)。如图3中的箭头所示,正向观察面的观察方向垂直指向被视空间的内部。

正向观察面(F),观察方向为Z1轴箭头所指方向,正向观察面的坐标原点为O1(a,b,c),正向观察面对应的横向坐标轴为X1轴,纵向坐标轴为Y1

1.5、将转换后的三维点云数据投影到正向观察面,得到正向投影函数:

将Juv(i,j)中的数据垂直投影在F平面上,得到正向投影函数。

对于Juv(i,j)中的每一个点作如下数值转换,得到正向投影函数F(x1,y1):若x1=x(i,j)-a;y1=y(i,j)-b,有:

F(x1,y1)=[R(i,j),G(i,j),B(i,j)]

F(x1,y1)=g(i,j)

对于F(x1,y1),满足0≤x1≤W,0≤y1≤H。

1.6、根据转换后的三维点云数据生成正向投影函数对应的正向深度值函数:

对于Juv(i,j)中的每一个点作如下数值变换,得到正向深度值函数:

若x1=x(i,j)-a;y1=y(i,j)-b有:

FS(x1,y1)=z1

=z(i,j)-c

对于FS(x1,y1),满足0≤x1≤W,0≤y1≤H。

1.7、将正向投影函数和正向深度值函数进行数字化处理,转换为指定格式的二维图像:

为了便于存储和显示,将正向投影函数、正向深度值函数转换为具有u×v个像素点的指定格式的二维图像,各函数对应的指定格式的二维图像表示为指定格式的正向投影图FT、指定格式的正向深度图FST。

根据图像测量精度和清晰显示的需要定义需要存储的二维图像的分辨率,若三维机器视觉测量系统的测量分辨率为u×v,则指定格式的二维图像的分辨率均设为u×v。

指定格式的二维图像的像元尺寸分别为:

FT图像以及FST图像对应的像元尺寸为:

其中,μxF和μyF分别为FT图像以及FST图像的宽度方向的像元尺寸和高度方向的像元尺寸,进行像元尺寸运算后根据图像测量范围和精度的要求对运算结果可以取固定位数的有效数字作为最终的像元尺寸,其中末位数字一般采用四舍五入法确定,从而便于对图像的后期处理和运算。

同时,以下生成指定格式的二维图像的运算过程均涉及将三维机器视觉测量系统测量到的三维坐标值转换为指定格式的二维图像的像素点对应的坐标值,在这两种坐标值的转换过程中,需要将实数转换为指定的离散正整数数据,在转换时存在取整运算的问题,由于对不同测量数据的精度要求不同,此处不考虑相关运算,公式中忽略相关取整和有效数字的有关运算及符号,不影响对以下公式的理解,因此,在以下公式的表达中忽略相关数学运算符号。

在确定像元尺寸后,将正向投影函数、正向深度值函数转换为具有u×v个像素点的指定格式的二维图像,将像素点的坐标按照u×v的格式进行数字化处理,以下运算中,当像素点坐标i或j为小数时,均取整为不大于u或v的正整数。

FT图像的生成过程如下:

对于正向投影函数F(x1,y1)中的每个数据:

设:有:

FT(i,j)=F(x1,y1)

生成指定格式的深度图时,需要对深度值按照一定量0~N-1(比如256)的灰度值进行数字化处理,其中N为灰度值的量,在以下运算过程中,以0~255个灰度值为例,当深度值出现小数时,均取整为不大于255的正整数。

FST图像的生成过程如下:

对于正向深度值函数FS(x1,y1)中的每个数据:

设:有:

最后,两幅二维图像的像素坐标和像素值描述如下:

定义Iuv(i,j)为一套三维机器视觉测量系统所测的三维点云数据。将Iuv(i,j)表述为点的空间三维坐标及相应的颜色值的集合:

或表述为点的空间三维坐标及相应的灰度值的集合:

经上述运算变换后,指定格式的正向投影图——FT:

经上述运算变换后,指定格式的正向深度图——FST:

步骤二:由步骤一的数据获得三维直角坐标系OXYZ中的被测物三维数据

步骤一的三维视觉测量系统,得到的数据由表达式①、②表示,即为三维直角坐标系OXYZ中的被测物的被测表面的三维坐标和对应的颜色或灰度值,该数据由表达式①、②可直接推导出人眼双目的立体观察图像。

被测物三维数据还可以采用正向平面图和正向深度图进行表示,其最终的两幅二维图像的表达式为公式③、④、⑤。可以通过公式③、④、⑤推导得出三维直角坐标系OXYZ中的被测表面的三维坐标和对应的颜色或灰度值,推导过程描述如下:

由正向平面图和正向深度图的像素坐标值推导,对于公式③、④、⑤有:

或:

应当注意的是,步骤一详细说明了如何将正向投影图和正向深度图转换为能够反映三维数据的指定格式,在实际应用过程中,如果可以直接获取该指定格式的二维数据,而可以不用执行步骤一和步骤二,直接应用该数据执行后续步骤即可。

步骤三:定义人眼观察坐标系和人眼双目观察图

如图4所示,是本发明实施例提供的被视空间的人眼双目观察方向上对应的双目图像坐标定义示意图。图5是本发明实施例提供的被视空间上的一点在人眼双目图像上成像的立体示意图。

我们以原三维图像测量系统的三维直角坐标系OXYZ为基础,在OXY平面上的X轴上,以O点为中心,设Oa和Ob两个人眼观察焦点,Oa和Ob两点间的距离为m,m最佳取值为55~75mm,可根据具体情况最后确定。我们以前向投影模型为基础,设置相关数据和推导相关公式。以Oa和Ob两点为双眼焦点,在垂直于OXY平面上的前向观察方向设两个垂直观察深度坐标轴,在与OXY平面上距离为人眼的观察焦距f的平面上以两个垂直观察深度坐标轴的交点Oa’和Ob’为中心设置两个人眼观察平面,在该平面上的两个观察平面上,由被视空间上各点分别通过焦点Oa和Ob在观察平面上的成像,组成两幅人眼左右双目观察图。两幅图像以两个垂直观察深度坐标轴的交点Oa’和Ob’为中心,设平面直角坐标系,左眼图像的直角坐标系为Oa’XaYa,右眼图像直角坐标系为Ob’XbYb

步骤四:计算出被视物表面一点在左右双目观察图上的成像位置坐标

如图4、图5所示,被视空间上的任意一点P通过焦点Oa和Ob在观察平面上的成像点为Pa(Pax,Pay)、Pb(Pbx,Pby)。由于Pa、Pb两点是同一个P点在双目图像上的成像点,由于左右眼两幅图像平行于OXY平面,所以,X轴与Pa Pb两点间的直线也平行。Pa Pb两点间的直线也和Xa和Xb轴平行,且Xa和Xb在同一条直线上,所以,推导得出:

Pay=Pby

图6是本发明实施例提供的被视空间上的一点在人眼双目图像上成像侧向投影示意图。由图6:

图7是本发明实施例提供的被视空间上的一点在人眼双目图像上成像俯视投影示意图。由图7:

公式⑩、⑾、⑿是根据被视空间上的一点P的空间坐标值,分别计算出该点在人眼双目观察平面上的成像点的坐标值,Pa(Pax,Pay)、Pb(Pbx,Pby)。其中Pax、Pay、Pbx、Pby的值按以上公式逐点分别计算得出。

步骤五:由三维图像测量系统得到的数据,得到人眼双目图像数据

三维图像测量系统得到的数据,就是表达式①、②所表示的数据,根据该数据以及步骤四计算公式⑩、⑾、⑿,可以直接计算出人眼双目图像数据,定义左眼图像数据的颜色或灰度值为A(p,q)、右眼图像数据的颜色或灰度值为B(p,q),其中p为图像横向的长度坐标值,q为图像纵向高度坐标值。

对于Iuv(i,j)中的所有三维点云数据,得到左眼图像数据坐标值为:

进而得到左眼图像坐标对应的颜色和灰度值为:

A(p,q)=[R(i,j),G(i,j),B(i,j)]

A(p,q)=g(i,j)

对于Iuv(i,j)中的所有三维点云数据,得到右眼图像数据坐标值为:

进而得到右眼图像坐标对应的颜色和灰度值值为:

B(p,q)=[R(i,j),G(i,j),B(i,j)]

B(p,q)=g(i,j)

步骤六:由三维正向平面图和正向深度图得到的数据,得到人眼双目图像数据

三维正向平面图和正向深度图得到的数据,就是表达式⑥、⑦、⑧、⑨所表示的数据,根据该数据以及步骤四计算公式⑩、⑾、⑿,可以直接计算出人眼双目图像数据,人眼双目图像定义如步骤五。

对于表达式⑥、⑦、⑧、⑨所表示的数据,得到左眼图像数据坐标值为:

进而得到左眼图像坐标对应的颜色和灰度值为:

A(p,q)=[R(i,j),G(i,j),B(i,j)]

A(p,q)=g(i,j)

对于表达式⑥、⑦、⑧、⑨所表示的数据,得到右眼图像数据坐标值为:

进而得到右眼图像坐标对应的颜色和灰度值为:

B(p,q)=[R(i,j),G(i,j),B(i,j)]

B(p,q)=g(i,j)

应当注意的是,步骤五与步骤六为并列关系,可以根据实际获取的三维数据类型,选择相应的步骤执行,例如,当获取到的是三维点云数据时,执行步骤五,当获取到三维正向平面图和正向深度图得到的数据时,执行步骤六。

步骤七:由左右眼图像数据转换为可用于显示的图像数据

对于已经由步骤五和步骤六得到的图像数据,并不能直接生成图像,还需要对以上数据进行整理和数据的归一化,才能得到最终的用于显示的人眼双目图像。首先定义人眼双目图像如下:左眼图像A(u,v),右眼图像B(u,v)。其中,u为图像横向的像素坐标值,v为图像纵向像素坐标值。定义U为图像横向像素数量值即横向分辨率,V为图像纵向像素数量值即纵向分辨率。

对于p、q、A(p,q)、B(p,q)的数据集合作以下数据变换,首先对于A、B两组数据求出p、q共四组数据中的绝对值中的最大值定为pmax、qmax设δu、δv为人眼显示图像大小调整值。有:

A图像以及B图像对应的像元尺寸为:

其中,μu和μv分别为A图像以及B图像的宽度方向的像元尺寸和高度方向的像元尺寸,进行像元尺寸运算后根据图像测量范围和精度的要求对运算结果可以取固定位数的有效数字作为最终的像元尺寸,其中末位数字一般采用四舍五入法确定,从而便于对图像的后期处理和运算。为了便于后期运算,一般通过调整pmax、qmax、δu、δv的值,可以使μu和μv的数值相等。使图像在横向和纵向图像像元尺寸相等,显示比例一致,与现实世界相同。

进一步的对于A(p,q)、B(p,q)的每组数据包括p、q、A(p,q)、B(p,q)进行如下变换:

在以上运算后,需要将u、v取整为不大于U、V的正整数,一般为四舍五入法取整,然后:

A(u,v)=A(p,q);B(u,v)=B(p,q)

最后得到人眼双目的左眼图像为:

最后得到人眼双目的右眼图像为:

实施例三:

结合前述实施例,本发明实施例提供了一种用于立体视觉呈现的图像生成装置,参见图8所示的一种用于立体视觉呈现的图像生成装置的结构框图,该装置包括:

图像数据获取模块81,用于获取被视物的图像数据;其中,图像数据包括三维点云数据或由正向投影图和正向深度图对应的数据构成的三维数据;具体的,图像数据获取模块81可以包括用于获取被视物的三维点云数据的第一获取单元,和/或用于获取被视物的由正向投影图和正向深度图对应的数据构成的三维数据的第二获取单元。

坐标关系确定模块83,用于根据预设的人眼双目观察图和人眼双目观察图对应的人眼双目观察坐标系,确定被视物的图像数据对应的坐标转换关系;其中,人眼双目观察图包括左眼观察图和右眼观察图;

图像数据转换模块85,用于根据确定的坐标转换关系,将被视物的图像数据分别转换为左眼图像数据和右眼图像数据;其中,左眼图像数据和右眼图像数据是分别对应左眼观察图和右眼观察图的二维图像数据;具体的,图像数据转换模块85可以包括用于转换三维点云数据的第一转换单元,和/或用于转换由正向投影图和正向深度图对应的数据构成的三维数据的第二转换单元;

立体图像生成模块87,用于将左眼图像数据和右眼图像数据进行显示变换,得到被视物的双目观察图像,用于立体视觉呈现。

进一步,参见图9所示一种用于立体视觉呈现的图像生成装置的另一种结构框图,以坐标系建立模块97和坐标关系确定模块83连接为例进行说明,在具体实现时,坐标系建立模块97还可以与图像数据获取模块81相连,或根据实际需求而采用其它连接关系。具体的,图9在图8所示装置的基础上,还包括:

第一设置模块91,用于在基础三维直角坐标系OXYZ中的X轴的正负半轴上对称设置人眼双目焦点;其中,人眼双目焦点包括左眼焦点Oa和右眼焦点Ob

第二设置模块93,用于分别以左眼焦点Oa和右眼焦点Ob为起点分别设置两个垂直观察深度坐标轴,其中,每个垂直观察深度坐标轴分别与OXY平面垂直且在OXZ面;

第三设置模块95,用于在与OXY平面上距离为焦距f的正向平面上,以两个垂直观察深度坐标轴与正向平面的交点Oa’和Ob’为中心分别设置左眼观察图和右眼观察图;其中,正向平面平行于OXY平面;

坐标系建立模块97,用于在左眼观察图内以Oa’为坐标原点建立左眼观察直角坐标系Oa’XaYa,在右眼观察图内以Ob’为坐标原点建立右眼观察直角坐标系Ob’XbYb;将左眼观察直角坐标系和右眼观察直角坐标系作为人眼双目观察坐标系。

本发明实施例提供的一种用于立体视觉呈现的图像生成装置,与上述实施例提供的用于立体视觉呈现的图像的生成方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。因此,本实施例所提供的装置,其实现原理及产生的技术效果和前述实施例相同,为简要描述,装置实施例部分未提及之处,可参考前述方法实施例中相应内容。

综上,本发明实施例提供的一种用于立体视觉呈现的图像生成方法和装置,将三维机器视觉测量系统单次采集到的三维点云数据还原到以人眼为视角的左右眼坐标平面上,得到两幅二维图像Auv(u,v)和Buv(u,v),同时也可以将反映三维数据的两幅二维图正向投影图和正向深度图还原到以人眼为视角的左右眼坐标平面上,得到两幅二维图像Auv(u,v)和Buv(u,v)。通过专用播放或观看工具,人眼可将Auv(u,v)和Buv(u,v)两幅图像在人脑中合成为与现实物体对应的立体图像,对被测空间的三维信息进行了适应人工观察的直观描述,对三维空间的描述直观易懂,在立体呈现中就可以看到被视物的三维外观和空间位置,并看到任一点的灰度值或颜色值信息,便于人工观察和后续机器智能的使用。同时利用现有的二维图像处理技术就可以对这二幅图像进行渲染、压缩和存储等各种处理和运算,调用运算数据快速方便,显著加快运算速度,减小占用的存储空间。

本发明的方法和装置适用于对三维机器视觉测量系统的单次测量结果处理后进行存储和显示;对于同一测量系统,当进行连续测量时,能够得到时间上连续的指定格式的二维图像,如果连续显示测量到的二维图像,就实现了连续的三维视觉,产生类似电影的动感效果。移动或转动被视物就可以从多个角度测量被视物对应的三维数据或影像;如果移动测量系统,就可以从不同角度反应同一被视物的不同侧面。该方法适用于VR、AR、MR等三维拍摄、制作、处理和显示等各个领域。

对于三维激光扫描仪、三维雷达探测器等三维测量系统,由于这类系统测得的点云数据中没有颜色信息和灰度信息,可以按照上述的方法或装置,直接得到点云数据对应的左右眼图像显示坐标值,也能获得以上诸多益处。

在本申请所提供的实施例中,应该理解到,所揭露的方法和装置,可以通过其他的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其他的形式。

作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括U盘、移动硬盘、只读存储器、随机存取存储器、磁碟或者光盘等各种可以存储程序代码的介质。

以上,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的普通技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。

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