CN102034265A - 一种三维视图获取方法 - Google Patents
一种三维视图获取方法 Download PDFInfo
- Publication number
- CN102034265A CN102034265A CN 201010563644 CN201010563644A CN102034265A CN 102034265 A CN102034265 A CN 102034265A CN 201010563644 CN201010563644 CN 201010563644 CN 201010563644 A CN201010563644 A CN 201010563644A CN 102034265 A CN102034265 A CN 102034265A
- Authority
- CN
- China
- Prior art keywords
- view
- matrix
- image
- pixel
- dimensional virtual
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Image Processing (AREA)
- Processing Or Creating Images (AREA)
Abstract
本发明公开了一种三维视图获取方法,包括如下步骤:设置图像接口和图像处理器中的计算变量;进行灰度变化和分层;计算代价函数矩阵;计算原始信息存储矩阵;计算置信矩阵,计算深度图数据;初始化移位距离,将二维参考视图中的所有像素移位到二维虚拟视图中;检测并除去二维虚拟视图中的量化噪声和不符合顺序约束的错误,利用顺序约束修正错误;检测二维虚拟视图中的空洞区域,并以背景区域中的像素填充空洞区域;生成三维视图。本发明以发掘图像处理器并行处理模式的特点和优势,将现有立体匹配算法和图像绘制算法在GPU架构下实现并行计算,提高运算效率,实现实时的双目立体视觉演示。
Description
技术领域
本发明涉及计算机视觉和计算机图像绘制技术领域,特别涉及一种三维视图获取方法。
背景技术
三维图像和显示是未来信息系统的一种重要表现形式,三维图像和显示层次分明色彩鲜艳,具有很强的视觉冲击力,让观看的人驻景时间更长,留下深刻的印象;另外三维图像和显示给人以真实、栩栩如生,人物呼之欲出,有身临其境的感觉,有很高的艺术欣赏价值。正因为三维图像和视频具有这些平面图像和视频所不具备的特点,所以在诸如电脑显示、电视、视频、机器人、测量、斟察、医疗、广告传媒、电子游戏等领域具有广阔的应用前景。人眼看世界之所以有立体感,是因为左眼和右眼看世界的视角有少许不同而存在视差(disparity)。视差是指左视图和右视图对应于同一个世界点的两个象素点的水平位移。计算机视觉领域的定理指出,某点的视差和它所对应的世界点的深度(depth,即距离感)成反比;也就是说,离观看点越远的点的视差值越小,无穷远点的视差为0。一张图像所有点的深度值组成了深度图(depth map)。
基于双目立体视觉的深度图生成技术的发展主要有以下两个方向:首先是高质量深度图的构建,在这方面基于马尔科夫随机场(Markov Random Field,MRF)的方法得到了广泛的关注。在实际算法中,由于无法求得其精确解,因而提出了基于置信度传播(Belief Propagation,BP)和图分割(Graph Cuts)的近似求解算法。BP算法由于需要迭代多次求解,速度很慢,因此应用BP技术的加速算法近年来也得到了越来越多的重视。Graph Cuts方法相对BP较快,并且基于该方法能获得高质量的整体性能,因而获得了广泛的应用。
其次是深度图的快速构建,在这方面基于局部相关性的方法(Local method)和基于动态规划的方法(Dynamic programming,DP)被认为是当前最有可能的两种方案。基于局部相关性的方法存在噪声严重,对图像的弱纹理区域效果不好以及鲁棒性差等诸多问题,难以获得高质量的立体重建效果;基于动态规划的方法在物体边缘处容易出现条状效应。并且两者对于实时应用而言,其计算量仍显太大。
由此可见,目前还存在着如下问题:第一,能够生成高质量深度图的算法速度很慢;第二,能够快速生成深度图的算法得到的深度图质量比较差。所以,高质量和实时性成为了深度图生成的关键技术和难点。
在多视角自由立体显示系统(Multi-view Auto-stereoscopic System)中,要生成一幅具有立体效果的三维视图,需要多幅不同视点的二维虚拟视图。基于深度图的图像绘制技术能够根据一幅二维参考视图和一幅与该参考视图对应的深度图来绘制多幅不同视点的二维虚拟视图,与其他方法相比,具有如下优点:
图像加深度的格式能够被更有效的进行编码,因而在传输的时候需要更少的带宽;
图像加深度的格式能够独立于具体的自由立体显示器,如八视角或九视角的自由立体显示器等,因此可以更方便、更灵活地与市场上多种不同的自由立体显示器兼容。
图像加深度的格式能够更加灵活地进行二维视频与三维视频之间的切换。
因此,基于深度图的图像绘制技术被认为是未来的立体电视(3DTV,Three-dimensional Television)系统中最有前途的技术之一。
一般来说,要绘制不同视点的二维虚拟视图,首先要根据深度图将二维参考视图中的所有像素点投影到空间中去,再将这些空间中的像素点反投影到与该二维虚拟视图所对应虚拟摄像机的成像平面上。然而,这种投影和反投影在计算上是非常耗时的,并且需要与二维参考视图所对应的真实摄像机的参数来完成整个绘制过程。在实际中,要得到真实摄像机的参数还需要一个非常繁琐的校准的过程。因此,在某些需要实时应用的场合,如立体直播等应用中,急需一种快速有效的方法来绘制不同视点的二维虚拟视图,以完成三维视图的生成。
发明内容
本发明的目的旨在至少解决上述技术缺陷之一。为此,本发明的目的在于提出一种三维视图获取方法。
为达到上述目的,本发明的实施例提出了一种三维视图获取方法,包括如下步骤:
设置图像接口和图像处理器中的计算变量,根据所述图像接口定义图像读取函数以读取图像对并将所述图像对存储在内存中,所述图像对包括参考图像和目标图像,所述图像处理器包括第一图像处理器和第二图像处理器;
将所述参考图像和目标图像复制到所述第一图像处理器的显存中并进行灰度变化和分层,计算并保存所述参考图像每一层的上梯度矩阵、下梯度矩阵、左梯度矩阵和右梯度矩阵;
根据所述参考图像和目标图像以及所述参考图像和目标图像之间的视差值计算代价函数矩阵,并对所述代价函数矩阵进行边界处理;
根据所述代价函数矩阵计算各层原始信息存储矩阵,并对各层中来自左右上下邻域像素的信息存储矩阵进行初始化并保存;
在各层中进行置信传播迭代计算以得到置信矩阵,根据所述置信矩阵计算深度图数据,将所述参考图像和深度图数据复制到所述第二图像处理器的显存;
初始化移位距离,将二维参考视图中的所有像素移位到二维虚拟视图中;
检测并除去所述二维虚拟视图中的量化噪声和不符合顺序约束的错误,利用所述顺序约束修正错误;
检测所述二维虚拟视图中的空洞区域,并以背景区域中的像素填充所述空洞区域;以及
根据所述二维虚拟视图绘制得到三维视图数据,将所述三维视图数据从所述第二图像处理器的显存复制到内存中,生成三维视图。
根据本发明实施例的三维视图获取方法,具有以下优点:
1)采用分层置信传播算法,可以极大的降低计算量,同时得到高质量的深度图;
2)采用基于深度图的方法,可以极大的降低整个绘制过程的计算量,并且可以得到令人满意的绘制效果;
3)利用GPU做并行优化,可以大大提高算法速度,速度快于CPU算法30倍左右,实现实时生成立体视频并演示的应用要求(30帧/s);
4)采用CUDA进行GPU上的程序设计,CUDA在GPU(图形处理器)上提供标准C编程语言,方便在GPU上进行数据计算。
本发明附加的方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本发明的实践了解到。
附图说明
本发明上述的和/或附加的方面和优点从下面结合附图对实施例的描述中将变得明显和容易理解,其中:
图1为根据本发明实施例的三维视图获取方法的流程框图;
图2为图1所示的三维视图获取方法的流程示意图;
图3为根据本发明实施例的分层得到的相邻层的节点结构图;
图4(a)为根据本发明实施例的待处理的左视图(分辨率为1024*768);
图4(b)为根据本发明实施例的待处理的右视图(分辨率为1024*768);
图5为根据本发明实施例的计算得到的深度图(分辨率为1024*768);以及
图6为根据本发明实施立体的计算得到的三维视图(分辨率为1024*768)。
具体实施方式
下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能解释为对本发明的限制。
下面参考图1和图2描述本发明实施例的三维视图获取方法。
如图1所示,根据本发明实施例的三维视图获取方法,包括如下步骤:
S101:设置图像接口和图像处理器中的计算变量,根据图像接口定义图像读取函数以读取图像对并将图像对存储在内存中。其中,图像对包括参考图像和目标图像,所述图像处理器包括第一图像处理器和第二图像处理器。
首先,定义图像接口,包括图像数据在内存中的存储格式,从硬盘中读取校正好的图像对文件,按照定义的数据存储格式读取到内存中。其中存储格式包括图像数据指针,图像宽度,高度,位深,图像格式。然后根据图像接口定义图像读取函数,用图像读取函数从两路校正好的拍摄设备拍摄得到的视频帧图像文件中获取图像数据,保存在内存中。其中,拍摄设备可以摄像头。
定义两块GPU(Graphic Processing Unit,图像处理器)中参与计算的变量,并利用CUDA(Compute Unified Device Architecture,计算统一设备架构)提供的函数库,在GPU的显存中为参与计算的数据分配存储空间。其中,GPU可以等效成为一个超大规模并行协处理器,具有强大的浮点运算能力和很高的带宽。CUDA为GPU上的通用编程模型。
定义GPU中的计算变量,包括图像数据,各层的梯度矩阵,代价函数矩阵,各层的原始信息存储矩阵,各层的信息存储矩阵,深度图数据等。利用CUDA提供的函数库,在GPU的显存中为参与计算的数据变量分配存储空间。本发明的一个实施例中,用cudaMalloc()在显存中开辟空间。定义输入图像对的左视图为参考图像,右视图为目标图像。
S102:将参考图像和目标图像复制到所述第一图像处理器的显存中并进行灰度变化和分层,计算并保存参考图像每一层的上梯度矩阵、下梯度矩阵、左梯度矩阵和右梯度矩阵;
执行步骤S1021,将内存中的图像数据复制到第一块GPU的显存中。在本发明的一个实施例中,用cudaMemcpy()将图像数据从内存复制到显存。
执行步骤S1022,利用灰度变换公式,将彩色图像数据变为灰度图像数据。在发明的一个施例中,利用RGB(Red Green Blue,红绿蓝)图像变换公式对源图像对进行灰度变换,得到对应的灰度图像对。其中,RGB图像变换公式如下:
Y=0.212671×R+0.715160×G+0.072169×B (1)
其中,Y为灰度图像每个像素点的灰度值,R、G、B分别为平面视频帧图像中每个像素点的R、G、B分量。
如图3所示,对灰度图像按照金字塔模型进行分层,对于level0层的图像相邻的四个点数据取平均作为下一层(level1层)的一个点的数据,一直进行的最底层。由于不同层中不同大小的象素块的交互能力增强,使得消息的迭代总数下降,从而可以提高程序的执行速度。
具体而言,首先定义梯度阈值,梯度阈值的选取和实施的图像本身有关,一般根据图像像素分布特点估计得到。在本发明的一个实施例中,梯度阈值为4。然后分别计算参考图像的左梯度矩阵、右梯度矩阵、上梯度矩阵和下梯度矩阵。
1)计算参考图像的左梯度矩阵
利用参考图像的每一点与其左方相邻点的像素值做差并求绝对值,得到的结果与定义的梯度阈值相比,大于梯度阈值,则该点的左梯度为1,小于梯度阈值则该点的左梯度为0;
2)计算参考图像右梯度矩阵
利用参考图像的每一点与其右方相邻点的像素值做差并求绝对值,得到的结果与定义的梯度阈值相比,大于梯度阈值,则该点的右梯度为1,小于梯度阈值则该点的右梯度为0;
3)计算参考图像上梯度矩阵
利用参考图像的每一点与其上方相邻点的像素值做差并求绝对值,得到的结果与定义的梯度阈值相比,大于梯度阈值,则该点的上梯度为1,小于梯度阈值则该点的上梯度为0;
4)计算参考图像下梯度矩阵
利用参考图像的每一点与其下方相邻点的像素值做差并求绝对值,得到的结果与定义的梯度阈值相比,大于梯度阈值,则该点的下梯度为1,小于梯度阈值则该点的下梯度为0。
图4(a)示出了灰度变换后为参考视图,图4(b)示出了灰度变换后的目标视图。
S103:计算代价函数矩阵;
首先,定义代价函数计算式。参考图像和目标图像的视差值d从0开始循环直至参考图像和目标图像之间的最大视差dmax=16。参考图像每一点和目标图像上与该点左方相距d的点之间像素值做差并取绝对值,得到的结果作为视差d的条件下该点的代价函数。
d=0:dmax
cos t(a,b)=|reference(a,b)-t arg et(a,b-d)|
(2)
其中cost(a,b)为代价函数矩阵,reference(a,b)为参考图像矩阵,target为目标图像矩阵。
将参考图像数据、目标图像数据以及参考图像和目标图像之间的视差值带入代价函数计算式(2),得到代价函数矩阵;
根据参考图像和目标图像之间的视差值对代价函数矩阵进行边界处理,因为在之前的计算过程中,有很多点没有参与计算即没有被处理,所以边界处理就是计算上述点的过程。边界处理采用如下式的公式:
d=0:dmax
b=1:d (3)
cost(a,b)=cost(a,d)
定义代价函数的截断阈值,根据截断阈值修改代价函数矩阵。在本发明的一个实施例中,截断阈值为20。对于代价函数矩阵取值中大于截断阈值的点,将该店的代价函数矩阵取值改修为阶段阈值。
S104:计算层原始信息存储矩阵;
根据步骤103中的代价函数矩阵计算得到各层原始信息存储矩阵,并对各层从左右上下邻域像素传递来的信息存储矩阵进行初始化,保存在显存中。
具体而言,首先定义原始信息存储矩阵的计算式如下:
prawmessage=e-cost/D (4)
其中prawmessage为原始信息存储矩阵,D=50。
将代价函数矩阵带入原始信息计算式得到各层原始信息存储矩阵,对各层从左右上下邻域像素传递来的信息存储矩阵进行初始化,在本实施例中,将左右上下邻域像素传递来的信息存储矩阵里每个点的取值初始化为1。
S105:计算置信矩阵,根据置信矩阵计算深度图数据;
首先执行步骤1051,从最下层开始,在各层中进行置信传播(Belief Propagation,BP)迭代计算,下一层的计算结果作为上一层的初值,直到计算到顶层结束,得到最终的置信矩阵,保存在显存中。置信传播算法是一个通过在相邻结点之间传递、更新消息,迭代优化的算法。
具体而言,在最下层中迭代计算信息存储矩阵,得到最下层的信息存储矩阵,将最下层的信息存储矩阵传输到上一层,作为上一层的信息存储矩阵的初值。在上一层中继续迭代计算信息存储矩阵,直至最顶层的信息存储矩阵迭代计算完毕,以最顶层的信息存储矩阵计算得到置信矩阵。置信矩阵的计算式如下:
belief=downmessage×upmessage×leftmessage×rightmessage (5)
其中belief为置信矩阵,downmessage、upmessage、leftmessage和rightmessage为否为上下左右信息矩阵。
在本发明的一个实施例中,图像共分为3层,最底层迭代9次,中间层迭代6次,最顶层迭代2次,每次迭代更新从左右上下邻域像素传递来的信息存储矩阵。
执行步骤1052,根据置信矩阵计算深度图的数据保存在内存中。具体而言,根据置信矩阵的置信值计算得到深度图数据(如图5所示)。在本发明的一个实施例中,对不同的视差值d,选择选择可信度最大(belief最大)的作为最终深度求取结果。利用CUDA提供的函数将深度图数据从显存复制到内存,通过图像接口输出到硬盘,生成深度图文件。在本发明的一个实施例中,用cudaMemcpy()将深度图数据从显存复制到内存。
深度图为由图像每个像素点对应的深度值所组成的灰度图。如图5所示,距离越远的部分,深度值越小,深度图中表现为偏向黑色;距离越近的部分,深度值越大,深度图中表现为偏向白色。
执行步骤1053,将内存中的左视图(参考视图)和深度图图像数据复制到第二块GPU的显存中。具体而言,利用CUDA提供的函数库将内存中的图像数据复制到显存中存储图像数据的变量里,便于后续计算。在本发明的一个实施例中,用cudaMemcpy()将图像数据从内存复制到第二块GPU的显存。
S106:对移位距离初始化,将二维参考视图中的所有像素移位到二维虚拟视图中;
首先对移位距离进行初始化,移位距离即为需要移动的像素值的个数。如在一维视图中,从第5个像素移动到第9个像素,移位距离即为4。
然后将二维参考视图中的所有像素移位到二维虚拟视图去,将二维虚拟视图矩阵保存在第二块GPU的显存中。其中移位距离的大小正比于该像素对应深度图中的深度值,用公式表示如下:
Ivirt(x+index*α*(dRef(x,y)-d0),y,index)=IRef(x,y) (6)
其中indes表示虚拟摄像机的序号,当index=0时,表示二维参考视图本身:d0表示二维虚拟视图对应的虚拟摄像机光心到零视差平面(Zero Parallax Plane,ZPS)之间的距离;IRef(x,y)表示二维参考视图中位于(x,y)处的像素值,dRef(x,y)表示深度图中位于(x,y)处的像素值,即参考视图中位于(x,y)处的像素所对应的深度值;Ivirt(x,y,index)表示第index幅二维虚拟视图中位于(x,y)处的像素值,α为比例因子,α正比于摄像机之间的距离,可根据需要进行调节。
具体而言,并行对二维虚拟视图的所有像素点同时进行填充,如果发现其中某个像素已经被填充,则其他并行线程对该像素的操作不起作用,将填充得到的二维虚拟视图结果保存在第二块GPU的显存中。
S107:检测并除去二维虚拟视图中的量化噪声和不符合顺序约束的错误;
首先执行步骤S1071,检测并除去二维虚拟视图中的量化噪声,结果保存在第二块GPU的显存中。
具体而言,并行对二维虚拟视图的水平方向每一行的所有像素点同时进行检测,如果只有一个像素宽度没有被填充,就以离其最近的左侧像素来填充该像素宽度。
并行对二维虚拟视图的垂直方向每一列的所有像素点同时进行检测,如果只有一个像素宽度没有被填充,就以离其最近的上侧像素来填充该像素宽度。
执行步骤S1072,检测该二维虚拟视图中不符合顺序约束的错误,并利用该约束来修正这些错误,结果保存在第二块GPU的显存中。
顺序约束是指二维参考视图中的同一行的像素在移位到二维虚拟视图中后,仍然会保持其在原二维参考视图中的相对顺序。
首先并行对二维虚拟视图每一行的所有像素点同时进行检测,如果某像素对应参考视图中的像素坐标大于其下个像素对应参考视图中的像素坐标,则检测到错误。对于所有错误的点标记为明显错误区域,对对该区域中不符合顺序约束的像素,按该像素在原参考视图中的相对顺序来进行修正。
S108:检测二维虚拟视图中的空洞区域,并以背景区域中的像素填充空洞区域;
检测经过步骤107后DE二维虚拟视图中仍然尚未被填充的空洞区域,并以背景区域的像素填充这些空洞区域,结果保存在第二块GPU的显存中。
具体而言,并行对二维虚拟视图的所有空洞点同时进行填充,若二维虚拟视图位于二维参考视图的左侧,则以离其最近的左侧像素来填充该空洞区域;若二维虚拟视图位于二维参考视图的右侧,则以离其最近的右侧像素来填充该空洞区域。
S109:生成三维视图;
首先执行步骤S1091:根据二维虚拟视图绘制得到三维视图的数据,将三维视图数据从第二块GPU的显存复制到内存中,通过图像接口输出到硬盘,生成三维视图文件。
执行步骤S1092,利用OPENGL(Open Graphics Library)将三维视图数据从GPU的显存直接显示在显示器上,得到实时演示的立体视频,生成的三维视图如图6所示。图6中帧率为30帧/s,满足实时性要求。其中,OPENGL定义了一个跨编程语言、跨平台的编程接口的规格,作为专业的图形程序接口,功能强大且调用方便的底层图形库,可以用于二维图像或三维图象。
根据本发明实施例的三维视图获取方法,可以发掘图像处理器并行处理模式的特点和优势,将现有立体匹配算法和图像绘制算法在GPU架构下实现并行计算,提高运算效率,实现实时的双目立体视觉演示。主要具有以下优点:
1)采用分层置信传播算法,可以极大的降低计算量,同时得到高质量的深度图;
2)采用基于深度图的方法,可以极大的降低整个绘制过程的计算量,并且可以得到令人满意的绘制效果;
3)利用GPU做并行优化,可以大大提高算法速度,速度快于CPU算法30倍左右,实现实时生成立体视频并演示的应用要求(30帧/s);
4)采用CUDA进行GPU上的程序设计,CUDA在GPU(图形处理器)上提供标准C编程语言,方便在GPU上进行数据计算。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同限定。
Claims (14)
1.一种三维视图获取方法,其特征在于,包括如下步骤:
设置图像接口和图像处理器中的计算变量,根据所述图像接口定义图像读取函数以读取图像对并将所述图像对存储在内存中,所述图像对包括参考图像和目标图像,所述图像处理器包括第一图像处理器和第二图像处理器;
将所述参考图像和目标图像复制到所述第一图像处理器的显存中并进行灰度变化和分层,计算并保存所述参考图像每一层的上梯度矩阵、下梯度矩阵、左梯度矩阵和右梯度矩阵;
根据所述参考图像和目标图像以及所述参考图像和目标图像之间的视差值计算代价函数矩阵,并对所述代价函数矩阵进行边界处理;
根据所述代价函数矩阵计算各层原始信息存储矩阵,并对各层中来自左右上下邻域像素的信息存储矩阵进行初始化并保存;
在各层中进行置信传播迭代计算以得到置信矩阵,根据所述置信矩阵计算深度图数据,将所述参考图像和深度图数据复制到所述第二图像处理器的显存;
初始化移位距离,将二维参考视图中的所有像素移位到二维虚拟视图中;
检测并除去所述二维虚拟视图中的量化噪声和不符合顺序约束的错误,利用所述顺序约束修正错误;
检测所述二维虚拟视图中的空洞区域,并以背景区域中的像素填充所述空洞区域;以及
根据所述二维虚拟视图绘制得到三维视图数据,将所述三维视图数据从所述第二图像处理器的显存复制到内存中,生成三维视图。
2.如权利要求1所述的三维视图获取方法,其特征在于,所述设置图像接口包括设置图像数据在内存中的存储格式,
所述存储格式包括图像数据指针、图像宽度、图像高度、图像位深和图像中每个像素点数据的数据类型。
3.如权利要求1所述的三维视图获取方法,其特征在于,所述图像对通过两路校正后的拍摄设备拍摄得到的视频帧图像中获取。
4.如权利要求1所述的三维视图获取方法,其特征在于,所述设置图像处理器的计算变量包括:
设置图像数据,各层的梯度矩阵,代价函数矩阵,各层的原始信息存储矩阵,各层的信息存储矩阵,深度图数据等,
对所述图像处理器的计算变量在所述图像处理器中的显存中分配存储空间。
5.如权利要求1所述的三维视图获取方法,其特征在于,对灰度变换后的灰度图像按照金字塔模型进行分层,将图像相邻的四个点数据取平均作为下一层的一个点的数据,直至最底层。
6.如权利要求1所述的三维视图获取方法,其特征在于,所述根据参考图像和目标图像以及所述参考图像和目标图像之间的视差值计算代价函数矩阵,其特征在于,
设置代价函数计算式;
将参考图像数据、目标图像数据以及参考图像和目标图像之间的视差值输入到所述代价函数计算式以得到代价函数矩阵。
7.如权利要求6所述的三维视图获取方法,其特征在于,在对所述代价函数矩阵进行边界处理后,设置截断阈值,将大于所述截断阈值的代价函数矩阵的取值修改为所述截断阈值。
8.如权利要求6所述的三维视图获取方法,其特征在于,所述根据代价函数矩阵计算各层原始信息存储矩阵包括:
设置原始信息计算式,
将所述代价函数矩阵输入到所述原始信息计算式以得到各层原始信息存储矩阵。
9.如权利要求1所述的三维视图获取方法,其特征在于,所述在各层中进行置信传播迭代计算以得到置信矩阵进一步包括:
计算最底层的信息存储矩阵;
将所述最底层的信息存储矩阵传输到所述最底层的上一层,作为上一层的信息存储矩阵,在所述上一层中继续迭代计算信息存储矩阵,直至最顶层的信息存储矩阵迭代计算完毕;
根据所述最顶层的信息存储矩阵计算置信矩阵。
10.如权利要求9所述的三维视图获取方法,其特征在于,所述根据置信矩阵计算深度图数据,将参考图像和深度图数据复制到所述第二图像处理器的显存进一步包括:
根据所述置信矩阵计算深度图数据;
将所述深度图数据复制内存中;
将所述内存中的参考图像和深度图数据复制到第二图像处理器中的显存中。
11.如权利要求1所述的三维视图获取方法,其特征在于,所述将二维参考视图中的所有像素移位到二维虚拟视图中进一步包括:
将二维参考视图中的所有像素移位到二维虚拟视图,对所述二维虚拟视图的所有像素点同时进行填充,将填充后的二维虚拟视图结果保存在所述第二图像处理器的显存中。
12.如权利要求1所述的三维视图获取方法,其特征在于,所述检测并除去所述二维虚拟视图中的量化噪声进一步包括:
并行对所述二维虚拟视图的水平方向每一行的所有像素点同时进行检测,当只有一个像素宽度没有被填充时,将距离所述未被填充的像素宽度最近的左侧像素来填充所述未被填充的像素宽度;
并行对所述二维虚拟视图的垂直方向每一列的所有像素点同时进行检测,当只有一个像素宽度没有被填充时,将距离所述未必填充的像素宽度最近的上侧像素来填充所述未被填充的像素宽度。
13.如权利要求1所述的三维视图获取方法,其特征在于,所述检测并除去所述二维虚拟视图中不符合顺序约束的错误,利用所述顺序约束修正错误进一步包括:
并行对所述二维虚拟视图每一行的所有像素点同时进行检测,当检测到存在对应参考视图中的像素坐标大于其下个像素对应参考视图中的像素坐标的像素,则表示检测到错误;
将所有错误的点标记为错误区域;
对所述错误区域中不符合顺序约束的像素以其在原参考视图中的相对顺序来进行修正。
14.如权利要求1所述的三维视图获取方法,其特征在于,所述检测二维虚拟视图中的空洞区域,并以背景区域中的像素填充所述空洞区域进一步包括:
检测所述二维虚拟视图中的空洞区域;
并行对所述二维虚拟视图的所述空洞区域同时进行填充,若所述二维虚拟视图位于二维参考视图的左侧,则以距离所述空洞区域最近的左侧像素来填充所述空洞区域;若所述二维虚拟视图位于二维参考视图的右侧,则以距离所述空洞区域最近的右侧像素来填充所述空洞区域。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105636443A CN102034265B (zh) | 2010-11-24 | 2010-11-24 | 一种三维视图获取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105636443A CN102034265B (zh) | 2010-11-24 | 2010-11-24 | 一种三维视图获取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102034265A true CN102034265A (zh) | 2011-04-27 |
CN102034265B CN102034265B (zh) | 2012-07-18 |
Family
ID=43887117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105636443A Active CN102034265B (zh) | 2010-11-24 | 2010-11-24 | 一种三维视图获取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102034265B (zh) |
Cited By (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521869A (zh) * | 2011-09-30 | 2012-06-27 | 北京航空航天大学 | 一种几何特征引导的三维模型表面纹理空洞填补方法 |
CN102724529A (zh) * | 2012-05-28 | 2012-10-10 | 清华大学 | 虚拟视点视频序列的生成方法及生成装置 |
CN102750694A (zh) * | 2012-06-04 | 2012-10-24 | 清华大学 | 基于局部最优置信传播算法的双目视频深度图求取方法 |
CN102831603A (zh) * | 2012-07-27 | 2012-12-19 | 清华大学 | 基于深度图后向映射的图像渲染方法和图像渲染装置 |
CN102892021A (zh) * | 2012-10-15 | 2013-01-23 | 浙江大学 | 一种合成虚拟视点图像的新方法 |
CN103236082A (zh) * | 2013-04-27 | 2013-08-07 | 南京邮电大学 | 面向捕获静止场景的二维视频的准三维重建方法 |
CN103716635A (zh) * | 2013-12-12 | 2014-04-09 | 浙江宇视科技有限公司 | 一种提升智能分析性能的方法和装置 |
CN104658034A (zh) * | 2013-11-18 | 2015-05-27 | 清华大学 | Ct图像数据的融合绘制方法 |
CN105654541A (zh) * | 2015-12-31 | 2016-06-08 | 网易(杭州)网络有限公司 | 窗口图像处理方法和装置 |
CN107301026A (zh) * | 2016-04-15 | 2017-10-27 | 国立民用航空学院 | 在计算机生成的环境中的选择性显示 |
CN107408311A (zh) * | 2015-03-31 | 2017-11-28 | 高通股份有限公司 | 混合2d/3d图形呈现 |
CN108769662A (zh) * | 2018-07-03 | 2018-11-06 | 京东方科技集团股份有限公司 | 一种多视点裸眼3d图像空洞填补方法、装置及电子设备 |
CN109147043A (zh) * | 2018-09-30 | 2019-01-04 | Oppo广东移动通信有限公司 | 一种数据处理方法、服务器及计算机存储介质 |
CN109492649A (zh) * | 2018-10-31 | 2019-03-19 | 华南理工大学 | 一种基于图像金字塔距离度量的近邻传播立体匹配方法 |
US11274922B2 (en) | 2018-03-02 | 2022-03-15 | Beijing Tusen Zhitu Technology Co., Ltd. | Method and apparatus for binocular ranging |
US12031842B2 (en) | 2018-03-02 | 2024-07-09 | Beijing Tusen Zhitu Technology Co., Ltd. | Method and apparatus for binocular ranging |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101282492A (zh) * | 2008-05-23 | 2008-10-08 | 清华大学 | 三维影像显示深度调整方法 |
CN101605270A (zh) * | 2009-07-16 | 2009-12-16 | 清华大学 | 生成深度图的方法和装置 |
-
2010
- 2010-11-24 CN CN2010105636443A patent/CN102034265B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101282492A (zh) * | 2008-05-23 | 2008-10-08 | 清华大学 | 三维影像显示深度调整方法 |
CN101605270A (zh) * | 2009-07-16 | 2009-12-16 | 清华大学 | 生成深度图的方法和装置 |
Non-Patent Citations (4)
Title |
---|
《Advances in Computer Vision》 19971231 Andreas Koschan et al Dense depth maps by active color illumination and image pyramids 全文 1-14 , 2 * |
《International Workshop on Multimedia Signal Processing》 20101006 Mashhour Solh et al Hierarchical Hole-Filling(HHF): Depth image based rendering without depth map filtering for 3D-TV 全文 1-14 , 2 * |
《Journal of Zhejiang University SCIENCE A》 20061231 Kurutepe Engin et al Interactive transport of multi-view videos for 3DTV applications 全文 1-14 第7卷, 第5期 2 * |
《重庆电子工程职业学院学报》 20100131 张建华 二维视频序列转换为伪3D视频的方法 全文 1-14 第19卷, 第1期 2 * |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102521869A (zh) * | 2011-09-30 | 2012-06-27 | 北京航空航天大学 | 一种几何特征引导的三维模型表面纹理空洞填补方法 |
CN102521869B (zh) * | 2011-09-30 | 2013-12-25 | 北京航空航天大学 | 一种几何特征引导的三维模型表面纹理空洞填补方法 |
CN102724529A (zh) * | 2012-05-28 | 2012-10-10 | 清华大学 | 虚拟视点视频序列的生成方法及生成装置 |
CN102724529B (zh) * | 2012-05-28 | 2014-08-06 | 清华大学 | 虚拟视点视频序列的生成方法及生成装置 |
CN102750694B (zh) * | 2012-06-04 | 2014-09-10 | 清华大学 | 基于局部最优置信传播算法的双目视频深度图求取方法 |
CN102750694A (zh) * | 2012-06-04 | 2012-10-24 | 清华大学 | 基于局部最优置信传播算法的双目视频深度图求取方法 |
CN102831603A (zh) * | 2012-07-27 | 2012-12-19 | 清华大学 | 基于深度图后向映射的图像渲染方法和图像渲染装置 |
CN102892021A (zh) * | 2012-10-15 | 2013-01-23 | 浙江大学 | 一种合成虚拟视点图像的新方法 |
CN102892021B (zh) * | 2012-10-15 | 2014-11-19 | 浙江大学 | 一种合成虚拟视点图像的新方法 |
CN103236082B (zh) * | 2013-04-27 | 2015-12-02 | 南京邮电大学 | 面向捕获静止场景的二维视频的准三维重建方法 |
CN103236082A (zh) * | 2013-04-27 | 2013-08-07 | 南京邮电大学 | 面向捕获静止场景的二维视频的准三维重建方法 |
CN104658034A (zh) * | 2013-11-18 | 2015-05-27 | 清华大学 | Ct图像数据的融合绘制方法 |
CN104658034B (zh) * | 2013-11-18 | 2019-03-01 | 清华大学 | Ct图像数据的融合绘制方法 |
CN103716635B (zh) * | 2013-12-12 | 2017-04-19 | 浙江宇视科技有限公司 | 一种提升智能分析性能的方法和装置 |
CN103716635A (zh) * | 2013-12-12 | 2014-04-09 | 浙江宇视科技有限公司 | 一种提升智能分析性能的方法和装置 |
CN107408311A (zh) * | 2015-03-31 | 2017-11-28 | 高通股份有限公司 | 混合2d/3d图形呈现 |
CN105654541A (zh) * | 2015-12-31 | 2016-06-08 | 网易(杭州)网络有限公司 | 窗口图像处理方法和装置 |
CN105654541B (zh) * | 2015-12-31 | 2018-09-14 | 网易(杭州)网络有限公司 | 窗口图像处理方法和装置 |
CN107301026A (zh) * | 2016-04-15 | 2017-10-27 | 国立民用航空学院 | 在计算机生成的环境中的选择性显示 |
US11274922B2 (en) | 2018-03-02 | 2022-03-15 | Beijing Tusen Zhitu Technology Co., Ltd. | Method and apparatus for binocular ranging |
US12031842B2 (en) | 2018-03-02 | 2024-07-09 | Beijing Tusen Zhitu Technology Co., Ltd. | Method and apparatus for binocular ranging |
CN108769662A (zh) * | 2018-07-03 | 2018-11-06 | 京东方科技集团股份有限公司 | 一种多视点裸眼3d图像空洞填补方法、装置及电子设备 |
CN108769662B (zh) * | 2018-07-03 | 2020-01-07 | 京东方科技集团股份有限公司 | 一种多视点裸眼3d图像空洞填补方法、装置及电子设备 |
US11043152B2 (en) | 2018-07-03 | 2021-06-22 | Boe Technology Group Co., Ltd. | Method and apparatus for filling holes in naked-eye 3D multi-viewpoint image, and electronic device for performing the method |
CN109147043A (zh) * | 2018-09-30 | 2019-01-04 | Oppo广东移动通信有限公司 | 一种数据处理方法、服务器及计算机存储介质 |
CN109492649B (zh) * | 2018-10-31 | 2021-09-21 | 华南理工大学 | 一种基于图像金字塔距离度量的近邻传播立体匹配方法 |
CN109492649A (zh) * | 2018-10-31 | 2019-03-19 | 华南理工大学 | 一种基于图像金字塔距离度量的近邻传播立体匹配方法 |
Also Published As
Publication number | Publication date |
---|---|
CN102034265B (zh) | 2012-07-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102034265B (zh) | 一种三维视图获取方法 | |
CN101271583B (zh) | 一种基于深度图的快速图像绘制方法 | |
KR101697184B1 (ko) | 메쉬 생성 장치 및 그 방법, 그리고, 영상 처리 장치 및 그 방법 | |
JP2005151534A (ja) | 擬似立体画像作成装置及び擬似立体画像作成方法並びに擬似立体画像表示システム | |
EP3419286A1 (en) | Processing of 3d image information based on texture maps and meshes | |
US7675513B2 (en) | System and method for displaying stereo images | |
KR20110090958A (ko) | 이미지 속성들에 대한 오클루젼 데이터의 생성 | |
CN103345771A (zh) | 一种基于建模的图像高效渲染方法 | |
CN102325259A (zh) | 多视点视频中虚拟视点合成方法及装置 | |
CN103248909B (zh) | 平面视频转化为立体视频的方法及系统 | |
CN105678836A (zh) | 在具备立体功能的显示器上呈现三维视频图像 | |
CN111047709B (zh) | 一种双目视觉裸眼3d图像生成方法 | |
JP2012527787A (ja) | 画像から高速に立体構築を行なう方法 | |
US20180213215A1 (en) | Method and device for displaying a three-dimensional scene on display surface having an arbitrary non-planar shape | |
EP2803041B1 (en) | Method for multi-view mesh texturing and corresponding device | |
JP4214529B2 (ja) | 奥行き信号生成装置、奥行き信号生成プログラム、擬似立体画像生成装置、及び擬似立体画像生成プログラム | |
CN113544746A (zh) | 图像处理装置和图像处理方法 | |
JP4214527B2 (ja) | 擬似立体画像生成装置及び擬似立体画像生成プログラム並びに擬似立体画像表示システム | |
KR102091860B1 (ko) | 영상 부호화 방법 및 장치 | |
CN105791798B (zh) | 一种基于gpu的4k超多视点3d视频实时转化方法及装置 | |
CN115841539A (zh) | 一种基于可视外壳的三维光场生成方法和装置 | |
CN110149508A (zh) | 一种基于一维集成成像系统的阵列图生成及填补方法 | |
US9118902B1 (en) | Stereoscopic conversion | |
CN113450274B (zh) | 一种基于深度学习的自适应视点融合方法及系统 | |
JP4214528B2 (ja) | 擬似立体画像生成装置及び擬似立体画像生成プログラム並びに擬似立体画像表示システム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |