一种全景3D视频拼接系统及方法
技术领域
本发明属于图像处理技术领域,尤其涉及一种全景3D视频拼接系统及方法。
背景技术
传统的全景3D摄像机需要在其周围设置第一组摄像头,并为第一组的每个摄像头配置一个对应的摄像头,形成3D摄像头对。对应的摄像头组成第二组摄像头。第一组摄像头和第二组摄像头拍摄的画面通过画面重叠部分的匹配进行拼接,形成全景3D视频。
传统的全景3D摄像机存在以下缺点:1)图像拼接中,对远景图像可以拼接出很好的效果,但对于近景物体容易形成错配,致使画面有重影;2)对于每个3D摄像头对的非拼接图像有很好的3D效果,但是对于拼接处的全景图像深度失真,3D效果不佳。
发明内容
鉴于此,本发明提供一种全景3D视频拼接系统及方法,以提高全景3D视频的显示效果。
本发明的第一方面,提供一种全景3D视频拼接系统,所述系统包括:
全景3D摄像机和图像处理模块,所述全景3D摄像机与所述图像处理模块连接;
所述全景3D摄像机包括多个深度传感器和多个CCD摄像机;
所述图像处理模块包括全景摄像机几何标定单元、图像拼接单元、新视点图像生成单元以及图像空洞填补单元;
所述CCD摄像机,用于拍摄场景RGB图像;
所述深度传感器,用于获取所拍摄的场景RGB图像的深度图像;
所述全景摄像机几何标定单元,用于对两两相邻的CCD摄像机进行几何标定,获取不同深度处对应的单应性矩阵;
所述图像拼接单元,用于对获取的深度图像采用相应深度的单应性矩阵进行拼接,获得拼接图像;
所述新视点图像生成单元,用于根据所述深度图像和拼接图像生成新的视点图像;
所述图像空洞填补单元,用于填补新的视点图像的空洞,并根据填补后的新的视点图像和所述拼接图像生成3D图像对,以便于虚拟现实3D显示。
本发明的第二方面,提供一种全景3D视频拼接方法,所述方法包括:
通过CCD摄像机拍摄场景RGB图像;
通过深度传感器获取所拍摄的场景RGB图像的深度图像;
对两两相邻的CCD摄像机i和CCD摄像机j进行几何标定,获取由远及近不同深度h时对应的3×3单应性矩阵hp表示第p个深度,p=1,2,...n;
对获取的深度图像采用相应深度的单应性矩阵进行拼接,获得拼接图像;
根据所述深度图像和拼接图像生成新的视点图像;
填补新的视点图像的空洞,并根据填补后的新的视点图像和所述拼接图像生成3D图像对,以便于虚拟现实3D显示。
本发明与现有技术相比存在的有益效果是:本发明通过CCD摄像机拍摄场景RGB图像,通过深度传感器获取所拍摄的场景RGB图像的深度图像,并对两两相邻的CCD摄像机i和CCD摄像机j进行几何标定,获取由远及近不同深度时对应的单应性矩阵,对获取的深度图像采用相应深度的单应性矩阵进行拼接,获得拼接图像,根据所述深度图像和拼接图像生成新的视点图像,填补新的视点图像的空洞,并根据填补后的新的视点图像和所述拼接图像生成3D图像对,实现双视点3D画面,有效提高3D视频的显示效果,使得用户佩戴VR头盔即可看到全景3D画面,犹如置身于真实场景当中,具有较强的易用性和实用性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本发明第一实施例提供的全景3D视频拼接系统的示意框图;
图2是本发明第二实施例提供的全景3D视频拼接方法的示意流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在此本发明说明书中所使用的术语仅仅是出于描述特定实施例的目的而并不意在限制本发明。如在本发明说明书和所附权利要求书中所使用的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个”及“该”意在包括复数形式。
还应当进一步理解,在本发明说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。
为了说明本发明所述的技术方案,下面通过具体实施例来进行说明。
实施例一:
参见图1,图1是本发明实施例一提供的全景3D视频拼接系统的示意框图,为了便于说明,仅示出与本发明实施例相关的部分。
所述全景3D视频拼接系统包括:
全景3D摄像机11和图像处理模块12,所述全景3D摄像机11与所述图像处理模块12连接;
所述全景3D摄像机11包括多个CCD摄像机111和多个深度传感器112;
所述图像处理模块12包括全景摄像机几何标定单元121、图像拼接单元122、新视点图像生成单元123以及图像空洞填补单元124;
所述CCD摄像机111,用于拍摄场景RGB图像;
所述深度传感器112,用于获取所拍摄的场景RGB图像的深度图像;
所述全景摄像机几何标定单元121,用于对两两相邻的CCD摄像机进行几何标定,获取不同深度处对应的单应性矩阵;
所述图像拼接单元122,用于对获取的深度图像采用相应深度的单应性矩阵进行拼接,获得拼接图像;
所述新视点图像生成单元123,用于根据所述深度图像和拼接图像生成新的视点图像;
所述图像空洞填补单元124,用于填补新的视点图像的空洞,并根据填补后的新的视点图像和所述拼接图像生成3D图像对,以便于虚拟现实3D显示。
可选的,所述全景3D摄像机11包括但不限于球形、半球形、环形或者长方形,所述全景3D摄像机11中设置有n个CCD摄像机111和n个深度传感器112,每个CCD摄像机111对应一个深度传感器112,其中所述n为大于1的整数。
可选的,所述CCD摄像机111和所述深度传感器112可以是有机地结合或联结起来的整体。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即所述系统的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元或模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元或模块既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例的对应过程,在此不再赘述。
实施例二:
参见图2,图2是本发明实施例二提供的全景3D视频拼接方法的示意流程图,该方法基于实施例一所述的全景3D视频拼接系统,如图所示该方法可以包括以下步骤:
步骤S201,通过CCD摄像机拍摄场景RGB图像。
在本发明实施例中,所述全景3D摄像机包括多个深度传感器和多个CCD(ChargeCoupled Device,电荷耦合器件)摄像机。
所述通过CCD摄像机拍摄场景RGB图像具体的是:
被摄物体的图像经过镜头聚焦至CCD芯片上,CCD根据光的强弱积累相应比例的电荷,各个像素积累的电荷在视频时序的控制下,逐点外移,经滤波、放大处理后,形成视频信号输出。
步骤S202,通过深度传感器获取所拍摄的场景RGB图像的深度图像。
在本发明实施例中,每个CCD摄像机对应一个深度传感器,每个深度传感器获取所对应的CCD摄像机所拍摄的场景RGB图像的深度图像。
步骤S203,对两两相邻的CCD摄像机进行几何标定,获取由远及近不同深度时对应的单应性矩阵。
具体的可以是:
步骤1:设置一幅棋盘格在相对CCD摄像机的预定位置(例如,距离所述CCD摄像机10米),以使得所述棋盘格处在相邻的CCD摄像机i和CCD摄像机j的重叠拍摄区域内;
步骤2:通过CCD摄像机i和CCD摄像机j分别拍摄所述棋盘格,获得两幅棋盘格图像;
步骤3:通过CCD摄像机i和CCD摄像机j捕获棋盘格画面上对应的棋盘格的角点的位置;
步骤4:根据CCD摄像机i和CCD摄像机j捕获的棋盘格画面上对应的棋盘格的角点的位置计算两幅棋盘格图像的相应3×3单应性矩阵其中hp表示第p个深度,p=1,2,...n;
步骤5:按照预设步长,逐渐缩小所述棋盘格与相邻的CCD摄像机i和CCD摄像机j的距离,并在每次缩小所述距离后,重复上述步骤2-步骤5,以计算相应深度h时对应的3×3单应性矩阵优选的,设置20个灰度等级,对应于摄像机与棋盘格的距离分别是10,9,8,7,6,5,4.5,4,3.5,3,2.75,2.5,2.25,2,1.75,1.5,1.25,1,0.75,0.5米。
步骤S204,对获取的深度图像采用相应深度的单应性矩阵进行拼接,获得拼接图像。
具体的可以是:
将深度传感器获取的深度图像划分成n个深度等级(1,2,…,p,…,n);
针对每个深度等级的图像采用相应深度的单应性矩阵进行映射,以拼接成一幅图像。例如,对深度等级为p的相应相邻相邻的CCD摄像机i和CCD摄像机j拍摄的图像采用相应的3×3单应性矩阵进行映射,拼接成一幅图像。
需要说明的是,对于某些只有前景变化而背景不变的视频图像,采用光流法对前景进行检测提取,即只需要按照前景图像深度对前景进行拼接处理,背景保持不变。
本发明实施例由于考虑到了前景图像与背景图像深度的影响,拼接出的图像不会出现前景物体的重影。
步骤S205,根据所述深度图像和拼接图像生成新的视点图像。
具体的可以是:
对相邻的深度传感器获取的深度图像进行拼接,获得深度拼接图像;可选的,对相邻的深度传感器获取的深度图像可以采用深度匹配的方法进行拼接,获取深度拼接图像。其中,深度匹配的方法可以是块匹配也可以是特征匹配。
将深度拼接图像按照线性关系转换成视差图;
将所述拼接图像上的每个像素对应的所述视差图的像素的视差值做左右移动,形成新的视点图像。
步骤S206,填补新的视点图像的空洞,并根据填补后的新的视点图像和所述拼接图像生成3D图像对,以便于虚拟现实3D显示。
由于像素左右移动的幅度不同,在新的视点图像上深度梯度大的区域会形成空洞。因此本发明实施例需要填补新的视点图像的空洞。
例如,采用前后帧图像插值法填补新的视点图像的空洞。
具体的可以是,选取新的视点图像的一个空洞所在的像素作为目的像素pi,寻找视频前一帧图像中对应该目的像素pi的像素pi';
将目的像素pi替换为前一帧对应的像素pi',以填补新的视点图像的空洞。而且随着处理视频帧数的增加,空洞填补的越完美。
采用本发明实施例所述方法生成的3D图像对,由于对新的视点图像的空洞进行了填补,因此在图像拼接处,3D显示不会失真。而且,由于考虑到了前景图像与背景图像深度的影响,拼接出的图像不会出现前景物体的重影。本发明实施例操作方便,适用面广,具有较强的易用性和实用性。
应理解,在上述实施例二中,各步骤的序号的大小并不意味着执行顺序的先后,各步骤的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的模块及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
在本发明所提供的实施例中,应该理解到,所揭露的系统和方法,可以通过其它的方式实现。例如,以上所描述的实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明实施例各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明实施例各实施例技术方案的精神和范围。