具体实施方式
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。需要注意的是,在本申请中采用的部分术语,例如“第一”、“第二”等术语,仅是为了对具有类似名称的参数进行区分,以便于所属领域的技术人员理解本申请的技术方案,并非用于限制本申请,根据不同的需求,可以对该些术语进行更换或者替换。
请参考图1,本发明实施例提供了一种三维场景构建方法,该种三维场景构建方法可以应用于单个用于图形图像处理的计算机,由图1可见,该种方法可以包括:
S101,获取用于构建三维场景的第一视图和第二视图,该第一视图和第二视图基于同一场景,具有视差;
具体而言,在该步骤中计算机获取到的第一视图和第二视图,可以通过多种方式获得。例如,独立的双目深度摄像头拍摄之后,传输到计算机;通过单目摄像头获得之后,传输到计算机;也可以是计算机本身具有摄像组件,能够拍摄基于同一场景的具有视差的双视图,不作为限制。
S102,对所述第一视图和第二视图进行特征点提取;
在该步骤中,计算机可以采用FAST、SIFT、Harris、SUFR、ORB等算法提取两幅视图中的特征点,其中,特征点例如可以是不同物体的交点等具有一定特性的点,或者像素的坐标。
进一步地,通过该步骤计算机可以在所述第一视图中确定M个特征点,在所述第二视图中确定X个特征点,M、X为大于1的自然数;
通常的,特征点的特征可以通过描述符体现,例如通过Brief算法提取每个特征点的描述符。需要注意的是,描述符仅仅是体现特征点特征的一种方式,也可以被称为特性、属性等,不作为限制。
特征点的特征,例如描述符,可以用于后续的特征点匹配。
S103,对所述第一视图和所述第二视图中的特征点进行一级滤波;
在该步骤中,通过对两视图进行一级滤波,例如在所述M个特征点中确定小于M的N个特征点,在所述X个特征点中确定小于X的Y个特征点,计算机能够大幅度减少两视图中的特征点数量,摒弃非必要特征点,能够降低后续步骤中特征点匹配的复杂度和运算量,通过该步骤可以确定特征点集合其中,为第一视图(例如左图)中的保留的特征点集合,为第二视图(例如右图)中保留的特征点集合。
更进一步地说,在该步骤中可以选取多种方式进行一级滤波,优选的,可以采用滑动窗口实现一级滤波。
S104,基于所述第一视图的N个特征点和所述第二视图的Y个特征点进行特征匹配,以确定两视图中的对应特征点;
在该步骤中,计算机可以根据步骤S103之后的一级滤波结果,对两视图进行特征匹配,例如通过可选的算法实现特征点集合对应的描述符集合中,左图描述符集合和右图描述符集合之间的一对一对应关系,实现的特征匹配。
S105,根据所述对应特征点,构建所述三维场景。
在该步骤中,计算机根据步骤S104后得到的两视图中的对应特征点还原三维场景空间点的坐标(x,y,z)。
更进一步的,在该步骤中计算机可以使用反向投影法进行三维重建。
通过上述的实施例,可以通过对具有视差的双视图进行特征点提取,并且对提取到的特征点进行滤波,以保留主要特征点,摒弃非主要特征点,以达到降低特征点数量的目的,通过降低特征点数量,降低计算机的运算量,并且提高匹配精度,达到更佳的三维构建效果。
在一种更具体的实施方式中,计算机采用滑动窗口滤波方式,实现对双视图特征点集合进行一级滤波。在网格的交界处还有可能出现较为密集的特征点,需要进一步使用移动网格进行滤波,通过滑动窗口滤波,移动网格的方式滤波能够过滤网格交界处的冗余特征点。
请参考图2,对所述第一视图和所述第二视图中的特征点进行一级滤波的方法,计算机可以首先将第一视图和第二视图分别划分为Q个等尺寸网格,Q为大于1的自然数;
之后,计算机以包含多个第一尺寸窗口的第二虚拟框按照第一步长在每幅视图上进行T次滑动滤波,每次滑动滤波每幅视图上与该第一尺寸窗口重合的区域内至多保留P个特征点,T为不小于1的自然数,P为大于等于0的自然数。
由图2可见,优选的,所述对每幅视图的T次滑动滤波沿每幅视图的对角线方向,首次滑动滤波的起始点为对应视图的一个角点。
需要注意的是,Q个网格等尺寸正方形划分是最佳的实施方式,也可以选择长方形划分,或者同形状非等尺寸划分,不多赘述。第二虚拟框初始状态与对应视图的形状和尺寸相同,随着滑动滤波次数,可逐渐缩小,第二虚拟框中的第一尺寸窗口优选与所述Q个等尺寸网格的尺寸相同。
在每次滑动滤波中,每次滑动滤波的移动步长,即第一步长,由所述网格的横向尺寸、纵向尺寸和滑动滤波次数确定,例如假设网格对角线长度为N(pixle),滑动滤波次数为T,则移动第一步长S=N(pixle)/T,但是需要注意的是沿着对角线方向移动的步长,也可以通过横向和纵向两个方向移动实现,因此步长计算方式可通过横向和纵向结合之后计算,不作为限制。
每次滤波后,每个网格内过滤部分冗余特征点,在过滤冗余特征点的过程中,计算机优选保留对比度较强的特征点,因此经过T次滤波后,每个网格内最多保留所述P个特征点为每幅视图上与该第一尺寸窗口重合的区域内强度最高的P个特征点。
此外,也可以随机确定需要摒弃的特征点,或者按照其他的选定规则在每次过滤部分冗余特征点。
通过上述的实施例,一级滤波后的,通过描述符提取获取了的描述符和的描述符之后可以通过算法实现左图特征描述符和右图特征描述符的一对一对应关系,即实现的特征匹配,取得两视图对应特征点之后,根据左、右两幅图匹配的对应特征点还原物理世界三维空间点的坐标(x,y,z)。
通过上述的实施例,能够摒弃非主要特征点,以达到降低特征点数量的目的,通过降低特征点数量,降低计算机的运算量,并且提高匹配精度,达到更佳的三维构建效果。
由三维重建得到左、右两幅图的特征点与现实物理三维空间的关系其中,Mn用于标记两视图特征点映射的关系,描述现实物理三维空间特征点。
在另一种优选的实施方式中,为进一步提高准确度,计算机可以重建的三维关系依据的每一点通过三维空间滤波,得到合理的实现对不合理三维空间特征点的过滤。
在另一种优选的实施方式中计算机可以对三维空间特征点进行四图闭环滤波,得到更合理三维空间特征点 作为四图闭环滤波的第n-1帧的特征点输入。
通过前述的实施例,将两视图的特征点采用反向投影法重建三维,之后,在每一个三维特征点的领域范围内,必须并存m(m>1)个三维特征点,该三维特征点才能存活下来,反之则剔除。m可以被称之为三维特征点阈值,该阈值m可以根据实际需求设定,m越来大,三维特征点存活条件越苛刻。
其中,假设对于场景中的的三维特征点,左、右相机在第n帧的映射二维特征点为和在第n-1帧的映射二维特征点为和A为场景中的某一个三维特征点,A在第n帧左、右相机的映射二维特征点为和A在第n-1帧左右相机的映射二维特征点为和分别为的元素。与与与和与都必须同时匹配成功,和才能存活,该实施例可参考流程如图3所示。对和全部元素进行该种操作,即可实现四图闭环滤波。
该种闭环处理的原理为,立体视觉同一时刻的左右图像的特征点必须能一一对应匹配,某一路相机在较短时间内的前后两帧图像的特征点也能一一匹配。
通过该实施例的处理能够,去除场景中过于激烈运动物体的特征点,留取场景中较为稳定的特征点。
在又一种实施方式中,计算机可以对前一实施例四图闭环滤波后的三维特征点进行稳定性统计滤波,对三维特征点的深度分布进行统计,剔除异常深度的三维特征点。例如,对全部的三维特征点的深度信息做累计直方图,使用百分比获取最小深度和百分比获取最大深度,即: 之后,经过统计滤波后等到的合理特征点
通过上述实施例,可以实现三维空间特征点在左、右图像上的均匀分布,三维空间特征点的准确稳定的测量,具有很强的鲁棒性。
相应的,本发明实施例还提供了一种三维场景构建装置,该种三维场景构建装置,可以应用于单个用于图形图像处理的计算机,计算机或者其特征在于,所述装置包括:
视图获取单元401,用于获取用于构建三维场景的第一视图和第二视图,该第一视图和第二视图基于同一场景,具有视差;
特征点提取单元402,用于对所述第一视图和第二视图进行特征点提取,以在所述第一视图中确定M个特征点,在所述第二视图中确定X个特征点,M、X为大于1的自然数;
一级滤波单元403,用于对所述第一视图和所述第二视图中的特征点进行一级滤波,以在所述M个特征点中确定小于M的N个特征点,在所述X个特征点中确定小于X的Y个特征点;
特征点匹配单元404,用于基于所述第一视图的N个特征点和所述第二视图的Y个特征点进行特征匹配,以确定两视图中的对应特征点;
三维场景构建单元405,用于根据所述对应特征点,构建所述三维场景。
较佳的,所述一级滤波为滑动窗口滤波。
在上述实施例中,进一步地,该一级滤波单元,进一步包括:
网格划分子单元,用于将所述第一视图和第二视图分别划分为Q个等尺寸网格,Q为大于1的自然数;
滑动滤波子单元,用于以包含多个第一尺寸窗口的第二虚拟框按照第一步长在每幅视图上进行T次滑动滤波,每次滑动滤波每幅视图上与该第一尺寸窗口重合的区域内至多保留P个特征点,T为不小于1的自然数,P为大于等于0的自然数。
更进一步地,所述滑动滤波子单元对每幅视图的T次滑动滤波沿每幅视图的对角线方向,首次滑动滤波的起始点为对应视图的一个角点。
优选的,所述第一尺寸窗口与所述Q个等尺寸网格的尺寸相同,所述虚拟框尺寸、形状与对应视图相同。
优选的,所述P个特征点为每幅视图上与该第一尺寸窗口重合的区域内强度最高的P个特征点。
优选的,第一步长由所述网格的横向尺寸、纵向尺寸和滑动滤波次数确定。
该装置实施例是与图3中的三维场景构建方法实施例对应的虚拟装置实施例,因此关于该虚拟装置的实施例,可参考前述方法实施例,不多赘述。
此外,需要注意的是,为了进一步提高滤波效果,获得更加准确的三维空间特征点的可以设置与前述方法实施例部分对应的滤波单元,例如三维空间滤波单元、四图闭环滤波单元、统计滤波单元等,不多赘述。
通过上述实施例提供的三维空间重建装置,可以实现三维空间特征点在左、右图像上的均匀分布,三维空间特征点的准确稳定的测量,具有很强的鲁棒性。
相应的,本发明实施例提供了一种三维空间重建装置,图5是该种显示设备的结构图,该装置可以是具有图像显示功能的计算机,该种三维空间重建装置包括显示器、处理器和存储器,所述存储器中存储有程序代码,所述处理器调用所述存储器中的程序代码,执行以下操作:
控制所述追踪设备跟踪处于裸眼3D图像观看状态的用户,确定该用户与显示设备的显示面板的第二距离;
所述处理器获取用于构建三维场景的第一视图和第二视图,该第一视图和第二视图基于同一场景,具有视差;
对所述第一视图和第二视图进行特征点提取,以在所述第一视图中确定M个特征点,在所述第二视图中确定X个特征点,M、X为大于1的自然数;
对所述第一视图和所述第二视图中的特征点进行一级滤波,以在所述M个特征点中确定小于M的N个特征点,在所述X个特征点中确定小于X的Y个特征点;
基于所述第一视图的N个特征点和所述第二视图的Y个特征点进行特征匹配,以确定两视图中的对应特征点;
根据所述对应特征点,构建所述三维场景。
通过上述实施例提供的三维空间重建装置,可以实现三维空间特征点在左、右图像上的均匀分布,三维空间特征点的准确稳定的测量,具有很强的鲁棒性。
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(RAM)、内存、只读存储器(ROM)、电可编程ROM、电可擦除可编程ROM、寄存器、硬盘、可移动磁盘、CD-ROM、或技术领域内所公知的任意其它形式的存储介质中。
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。