CN103247065B - 一种裸眼3d视频生成方法 - Google Patents
一种裸眼3d视频生成方法 Download PDFInfo
- Publication number
- CN103247065B CN103247065B CN201310149142.XA CN201310149142A CN103247065B CN 103247065 B CN103247065 B CN 103247065B CN 201310149142 A CN201310149142 A CN 201310149142A CN 103247065 B CN103247065 B CN 103247065B
- Authority
- CN
- China
- Prior art keywords
- pixel
- image
- new viewpoint
- viewpoint image
- cavity
- 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.)
- Active
Links
Landscapes
- Image Processing (AREA)
- Testing, Inspecting, Measuring Of Stereoscopic Televisions And Televisions (AREA)
Abstract
本发明提出一种裸眼3D视频生成方法,该方法基于图割优化,能够生成高质量的裸眼3D视频。主要的技术方案包括如下步骤:将双目相机采集到的双路图像进行标定,校正处理;进行基于图割的立体匹配,获得双路图像对应的两幅视差图像;利用线性内插的方法生成新的中间视点图像;采用基于图割的图像修补算法对于新视点中缺失的部分进行修补;新视点图像进行像素交织合成,使其适合于裸眼3D显示器显示。本发明的方法利用图割算法优化了立体匹配和图像修补两个主要部分,在获得高质量虚拟视点图像的同时,易于并行化加速,同时复用了计算模块,可节省硬件成本。本方法同时避免了多相机阵列的复杂性以及计算机建模,具有良好的真实感和立体效果。
Description
技术领域
本发明涉及一种裸眼3D视频生成方法,特别是涉及一种基于图割优化的裸眼3D视频生成方法。
背景技术
随着科技的发展,人们对于视觉享受的要求越来越高。3D显示,被认为是下一代的显示方式,能够带给人们强烈的视觉冲击。目前主要存在的3D显示技术可分为三类:佩戴眼镜式,裸眼3D,以及全息3D显示。佩戴眼镜式,顾名思义指的是需要佩戴相应特制的观看眼镜才能观看到3D效果。裸眼3D指的是无需佩戴眼镜即可观看到3D效果。全息3D显示是真正的3D显示,包含有物体的全部信息,但目前仍处于实验室探索阶段,无法实用。
现阶段制约3D显示的推广应用主要有两大因素:1.片源不易获得,2.观看方式不方便。一方面,目前用于3D显示的片源仍较少,有学者尝试采用2D转3D的方式,将普通2D片源转换成可用于3D显示的片源,但是从2D视频中抽取3D结构信息目前仍然是图像理解领域一个较难的问题,抽取得到的深度信息并不十分准确,同时需要大量的人为手工调整,工作量较大;另一方面,目前市场上的3D电视大多是佩戴眼镜式,这种观看方式从长远看无法推广,因为对于观看者,尤其是已经佩戴眼镜的观众而言,佩戴眼镜不太方便且不舒适,同时也不利于3D显示技术向移动终端移植。因此相较而言,从观看方式上裸眼3D式具有优越性。
目前能够进行裸眼3D显示的显示设备主要可以分为三大类:光栅,透镜,以及集成成像。无论是哪一种显示方式,前端均需要提供合适的裸眼3D视频。在目前市面上可见的***中,大多采用3D建模的方式生成片源播放,但是这样显示出的仅仅为计算机建模合成的图形,真实感较差。有的采用多相机阵列采集图像后,重新3D建模并纹理映射的方式重建场景,但是这样的相机阵列以及重建计算过程过于复杂,难以实用化。因此以一种较为简易的方式生成裸眼3D视频就成为了一个亟待解决的问题。
图割优化是一种基于图论的最优化方法。相较其它优化方法如模拟退火算法,遗传算法而言,具有优化效果好,易于并行化的特点。有学者已证明了在基于马尔可夫随机场的假定下,图像处理问题可被视为一个求解最优标记问题。对于最优标记的最大后验概率估计可以被转化为最小化相应标记的能量函数。若该能量函数能够被建模为图的结构,则图割优化就成为了最小化该能量函数的一个十分有效的方法。
发明内容
本发明所要解决的技术问题是:避免了使用复杂的相机阵列以及计算机3D建模即可生成对于真实场景的裸眼3D视频,解决了裸眼3D片源获取方式复杂的问题。从***结构上,只需计算场景的视差图,无需计算深度图。整个***的两个核心部分基于图割优化算法,在提高图像质量的同时,复用了计算模块,节省了硬件成本。由于图割是一种易于并行的算法,故该方法同时具有易于并行化加速的优点。
为达到上述目的,本发明提供的裸眼3D视频生成方法包括以下步骤:
步骤S1,将双目相机采集到的双路图像进行标定,校正处理,确保双路图像像素坐标在空间中行对准;
步骤S2,对于双路校正好的图像进行基于图割优化的立体匹配,获得双路图像的两幅视差图像;
步骤S3,利用获得的视差图像和原始左右双路图像生成新视点图像;
步骤S4,采用基于图割的图像修补算法对于新视点图像中缺失的部分进行修补;
步骤S5,对于修补后的新视点图像进行像素交织合成,使其适合于裸眼3D显示器显示裸眼3D效果。
所述步骤S1包括:
S11:根据拍摄的20对(15~20对均可)棋盘格图像计算所使用的双目相机的基本矩阵;
S12:分解基本矩阵,得到关于左右图像的投影矩阵;
S13:将左右图像坐标根据投影矩阵重新投影到新的平面上。
所述步骤S2包括:
S21:对步骤S1校正得到的左右双路图像每个像素点赋予一个标记,代表要求取的视差;
S22:确定标记的取值范围与取值间隔以及迭代次数;
S23:将已赋予标记的图像全部像素点的待求视差转化为一个能量函数;
S24:将该能量函数用数据结构中的图结构表示为一个图;
S25:用图割法计算该图的最小割;
S26:迭代数次后,记录最小割所对应的标记分布;
S27:将标记分布转化为视差图像。
所述步骤S3包括:
S31:根据原校正好的左路图像与得到的左视差图像,生成左路新视点图像,同时生成记录了左路新视点图像缺失像素位置的左路缺失像素图像;
S32:根据原校正好的右路图像与得到的右视差图像,生成右路新视点图像,同时生成记录了右路新视点图像缺失像素位置的右路缺失像素图像;
S33:根据视差大小融合左路和右路新视点图像为新视点图像,同时根据视差大小融合左路缺失像素图像和右路缺失像素图像为缺失像素图像;
S34:改变新视点图像的计算位置,循环S31至S33,得到每个位置上的新视点图像和缺失像素图像。
所述步骤S4包括:
S41:根据步骤S3获得的缺失像素图像,确定新视点图像空洞位置;
S42:为新视点图像空洞中的每个像素赋予一个标记,代表从空洞外拷贝像素的坐标映射;
S43:将新视点图像空洞部分的全部像素的待求坐标映射转化为一个能量函数;
S44:将该能量函数用数据结构中的图模型表示为一个图;
S45:用图割法计算该图的最小割;
S46:迭代数次后,记录最小割所对应的标记分布;
S47:将标记分布转化为坐标映射分布;
S48:从相应的坐标位置处拷贝像素点填充至新视点图像空洞位置。
所述步骤S5包括:
S51:全部新视点图像组合拼接;
S52:将拼接好的图像进行像素重排,使之成为适合裸眼3D显示的视频格式。
本发明所述的裸眼3D视频生成方法,至少具有以下有益效果:采用双目相机代替了相机阵列,减少了相机个数,从而减少了成本和***的复杂性;采用真实视频图像代替计算机建模图像,提升了观看的真实感;复用了图割计算模块,提升了图像质量,同时在硬件上节省了计算资源。
附图说明
图1裸眼3D视频生成流程图
图2生成新视点图像及缺失像素图像流程图
具体实施方式
下面结合附图详细描述本发明的实施例。
图1为本发明实施例的裸眼3D视频显示***流程图。如图1所示,根据本实施例的裸眼3D视频生成方法,包括以下几个步骤:
步骤S1,将双目相机采集到的双路图像进行标定,校正处理,确保双路图像像素坐标在空间中行对准;
具体地,首先制备一个7×9(可根据实际制备条件调整,一般可取标准象棋棋盘7×7左右的规格,便于制备)的棋盘格的标定板,A4纸张大小。采用双目相机同时对该标定版拍摄20对(15~20对均可)左右图像。
其次,对于拍好的20对左右图像,提取棋盘格的角点。采用张正友在[1]中提出的标定方法,计算两相机之间的基本矩阵。
再次,分解基本矩阵,可得到关于左右图像的两个投影矩阵。将左右图像平面上的二维坐标写成齐次形式,并用投影矩阵去乘即可获得投影平面上的新坐标,完成校正。
步骤S2:对于双路校正好的图像进行基于图割优化的立体匹配,获得双路图像的两幅视差图像。
具体地,首先将左右图像灰度化,为它们的每个像素点分配一个标记。
其次,确定标记的种类数量,代表视差,一般选取64或128个视差值。
再次,确定能量函数,能量函数的形式一般为其中E(f)代表能量值,其中f代表图像全部像素点所对应的一个总体标记分布。N代表单个像素的邻域范围,一般可选择四邻域,P代表图像中全部像素点,Dp(fp)称为数据项,表示每个像素点的标记与该像素点灰度值的差别,可选取为(fp-Ip)2,Vp,q(fp,fq)称为平滑项,表示每个像素点的标记与该像素点的相邻像素点所对应标记的差别,可选取为min(K,|α-β|),其中p,q代表单个像素点及其相邻像素点,fp,fq代表单个像素点及其相邻像素点所对应的标记值,此处为视差值,Ip代表单个像素点的灰度值,α,β代表fp,fq分别对应的标记值,K代表常数,一般可取10。
接下来将该能量函数用图的结构表达出来。根据Kolmogorov在[2]中的结论,该类能量函数可以被图的结构表示并最小化。
接下来,为已分配好标记的图像先计算一次能量函数值,将该能量函数值记为初始能量值E0,将图像的全部像素点对应的标记记为总体标记分布f。将图像全部像素点的标记按照种类两两分为一组。比如,若图像共有三种标记{a,b,c},则可分为{a,b},{b,c},{a,c}三组。随机选取一组标记,对于其中的两个标记,用上文的α和β表示,作为图的结构中的源点和汇点。然后计算该图的结构的最小割,可采用Boykov在[4]中提出的计算最小割方法。计算图的结构的最小割的过程,等效于部分标记为α的像素点所对应的标记变为β,部分标记为β的像素点所对应的标记变为α,故称该计算最小割导致标记变化的计算过程为α-β-swap[3]。对于当前组标记执行α-β-swap后,计算图像的能量函数,若当前能量函数值小于初始能量值E0,则将初始能量值E0更新为当前能量函数值,并将总体标记分布f更新为当前能量函数值对应的总体标记分布f'。然后再随机选取另外一组标记执行上述计算最小割并比较能量函数值的相同过程,直到所有组标记均执行过该过程为止。若中间对于某个组的标记计算出的能量函数值大于等于E0,则不再对其它任何组标记执行上述计算最小割并比较能量函数值的相同过程,计算中止,并保持总体标记分布f不更新。
最后,将得到的总体标记分布f记录为左右视差图像。
步骤S3:利用获得的视差图像和左右双路图像生成新视点图像,如图2所示,包含如下具体步骤。
首先,建立两个与左右双路图像长宽尺寸相同的图像P1,P2,用于记录左右路新视点图像每个像素的视差大小;再建立两个与左右双路图像长宽尺寸相同的图像Q1,Q2,用来记录左右路新视点图像的每个像素的存在状态,只有两种状态:{True:已存在;False:未存在}
其次,将左右双路图像分别根据对应的视差图像进行像素平移。像素平移的多少取决于新视点图像的位置。比如,新视点图像处于左右双路图像的正中间位置,则对于左路图像上的每个像素均向左平移0.5×视差大小的距离,得到左路新视点图像;对于右路图像上的每个像素均向右平移0.5×视差大小的距离,得到右路新视点图像。对于移动到新位置的像素点,分别在P1,P2上记录视差大小,在Q1,Q2中记录”True”。
再次,比较左路新视点图像和右路新视点图像。建立一个与左右双路图像长宽尺寸相同图像Q3。若Q1,Q2同时为”True”,则进一步比较P1,P2相应位置上值的大小,选取较大值对应的像素作为最终视点上的像素,若两者相等,则任意选取一个值,记录Q3为”True”;若Q1为”True”,Q2为”False”,则选取左路新视点图像对应的像素作为新视点图像上的像素,记录Q3为”True”;若Q2为”True”,Q1为”False”,则选取右路新视点图像对应的像素作为新视点图像上的像素,记录Q3为”True”;若Q1,Q2同时为”False”,则记录Q3为”False”。
最后,依次计算出各个位置上的新视点图像,新视点图像的个数一般为9或13个。
步骤S4,采用基于图割的图像修补算法对于新视点图像中缺失的部分进行修补。
具体地,首先确定图像空洞位置,即为Q3中”False”的部分,为其中的每个像素点分配一个标记,代表从空洞外拷贝像素的坐标映射m。
其次,建立能量函数。能量函数的形式为 其中E(m)代表能量值,m代表从空洞外拷贝像素的坐标映射。N代表单个像素的邻域范围,一般可选择八邻域,H代表图像空洞部分的全部像素,代表H的边缘像素点,p,q代表单个像素点及其相邻像素点。Dp(Hp,Hp+m(p))称为数据项,代表空洞内的像素点与空洞外拷贝像素点两者邻域内灰度值的差别,可选取为其中I代表单个像素点的灰度值,q(p)代表单个空洞内像素点的相邻像素点,q(p+m(p))代表空洞外拷贝像素点的相邻像素点,代表空洞外区域。Vp,q(p+m(p),p+m(q))称为平滑项,表示空洞内每个像素点邻域内像素点与对应的空洞外拷贝像素点邻域内像素点灰度值的差别,可选取为(Iq(p)-Iq(p+m(p)))2,其中I代表单个像素点的灰度值,q(p)代表单个空洞内像素点的相邻像素点,q(p+m(p))代表空洞外拷贝像素点的相邻像素点。
再次,将该能量函数用图的形式表达出来。根据Kolmogorov在[2]中的结论,该类能量函数可以被图表示并最小化。最小化过程与步骤S2相同。
最后,得到最小化能量函数对应的坐标映射后,将相应坐标位置上的像素点拷贝至空洞处。
步骤S5,对于修补后的新视点图像进行像素交织合成。
具体地,首先将生成的新视点图像进行拼接。
其次,将拼接后的图像进行像素重排。拼接和重排的方案可以选择专利US7944464的方案或其它方案。
参考文献:
[1]Z,Zhang.“Aflexiblenewtechniqueforcameracalibration”,IEEETransactionsonPatternAnalysisandMachineIntelligence,22,1330-1334,2000.
[2]V.KolmogorovandR.Zabih.“WhatEnergyFunctionsCanBeMinimizedviaGraphCuts?”,IEEETransactionsonPatternAnalysisandMachineIntelligence,26,147-159,2004.
[3]Y.BoykovandV.Kolmogorov.“FastApproximateEnergyMinimizationviaGraphCuts”,IEEETransactionsonPatternAnalysisandMachineIntelligence,23,1–18,2003.
[4]Y.BoykovandV.Kolmogorov.“Anexperimentalcomparisonofmin-cut/max-flowalgorithmsforenergyminimizationinvision”,IEEETransactionsonPatternAnalysisandMachineIntelligence,26,1124–1137,2004.
Claims (4)
1.一种裸眼3D视频生成方法,包括如下步骤:
S1:将双目相机采集到的双路图像进行标定,校正处理,确保双路图像像素坐标在空间中行对准;
S2:对于双路校正好的图像进行基于图割优化的立体匹配,获得双路图像的两幅视差图像;
S3:利用获得的视差图像和原始左右双路图像生成新视点图像;所述步骤S3包括:
S31:根据原校正好的左路图像与得到的左视差图像,生成左路新视点图像,同时生成记录了左路新视点图像缺失像素位置的左路缺失像素图像;
S32:根据原校正好的右路图像与得到的右视差图像,生成右路新视点图像,同时生成记录了右路新视点图像缺失像素位置的右路缺失像素图像;
S33:根据视差大小融合左路和右路新视点图像为新视点图像,同时判断左右路新视点图像统一位置是否都有像素,如都不存在,则记录缺失部分,并融合为缺失像素图像;
S34:改变新视点图像的计算位置,循环S31至S33,得到每个位置上的新视点图像和缺失像素图像;
S4:采用基于图割的图像修补算法对于新视点图像中缺失的部分进行修补;所述步骤S4包括:
S41:根据步骤S3获得的缺失像素图像,确定新视点图像空洞位置;
S42:为新视点图像空洞中的每个像素赋予一个标记,代表从空洞外拷贝像素的坐标映射;
S43:将新视点图像空洞部分的全部像素的待求坐标映射转化为一个能量函数,能量函数的形式为 其中E(m)代表能量值,m代表从空洞外拷贝像素的坐标映射,N代表单个像素的邻域范围,选择八邻域,H代表图像空洞部分的全部像素,代表H的边缘像素点,p,q代表单个像素点及其相邻像素点,Dp(Hp,Hp+m(p))称为数据项,代表空洞内的像素点与空洞外拷贝像素点两者邻域内灰度值的差别,选取为其中q(p+m(p))代表空洞外拷贝像素点的相邻像素点,代表空洞外区域,Vp,q(p+m(p),p+m(q))称为平滑项,表示空洞内每个像素点邻域内像素点与对应的空洞外拷贝像素点邻域内像素点灰度值的差别,选取为(Iq(p)-Iq(p+m(p)))2,其中I代表单个像素点的灰度值,q(p)代表单个空洞内像素点的相邻像素点,q(p+m(p))代表空洞外拷贝像素点的相邻像素点;
S44:将该能量函数用数据结构中的图模型表示为一个图;
S45:用图割法计算该图的最小割;
S46:迭代数次后,记录最小割所对应的标记分布;
S47:将标记分布转化为坐标映射分布;
S48:从相应的坐标位置处拷贝像素点填充至新视点图像空洞位置;
S5:对于修补后的新视点图像进行像素交织合成,使其适合于裸眼3D显示器显示裸眼3D效果。
2.如权利要求1所述的裸眼3D视频生成方法,其特征是,所述步骤S1包括:
S11:根据拍摄的15~20对棋盘格图像计算所使用的双目相机的基本矩阵;
S12:分解基本矩阵,得到关于左右图像的投影矩阵;
S13:将左右图像坐标根据投影矩阵重新投影到新的平面上。
3.如权利要求2所述的裸眼3D视频生成方法,其特征是,所述步骤S2包括:
S21:对步骤S1校正得到的左右双路图像每个像素点赋予一个标记,代表要求取的视差;
S22:确定标记的取值范围与取值间隔以及迭代次数;
S23:将已赋予标记的图像全部像素点的待求视差转化为一个能量函数;
S24:将该能量函数用数据结构中的图结构表示为一个图;
S25:用图割法计算该图的最小割;
S26:迭代数次后,记录最小割所对应的标记分布;
S27:将标记分布转化为视差图像。
4.如权利要求1所述的裸眼3D视频生成方法,其特征是,所述步骤S5包括:
S51:全部新视点图像组合拼接;
S52:将拼接好的图像进行像素重排,使之成为适合裸眼3D显示的视频格式。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310149142.XA CN103247065B (zh) | 2013-04-26 | 2013-04-26 | 一种裸眼3d视频生成方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310149142.XA CN103247065B (zh) | 2013-04-26 | 2013-04-26 | 一种裸眼3d视频生成方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103247065A CN103247065A (zh) | 2013-08-14 |
CN103247065B true CN103247065B (zh) | 2016-04-06 |
Family
ID=48926570
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310149142.XA Active CN103247065B (zh) | 2013-04-26 | 2013-04-26 | 一种裸眼3d视频生成方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103247065B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104427325B (zh) * | 2013-09-04 | 2018-04-27 | 北京三星通信技术研究有限公司 | 快速集成图像生成方法及与用户交互的裸眼三维显示*** |
CN103763543B (zh) * | 2014-02-13 | 2015-09-23 | 北京大学 | 合成全息图的采集方法 |
CN104079915B (zh) * | 2014-07-03 | 2016-01-13 | 清华大学深圳研究生院 | 一种并行虚拟视点合成方法 |
CN106526877A (zh) * | 2016-12-08 | 2017-03-22 | 深圳市魔眼科技有限公司 | 一种3d显示套、显示方法及显示装置 |
CN110264962B (zh) * | 2019-05-29 | 2020-11-17 | 中山大学 | 指向背光裸眼3d显示***的智能调光***和方法 |
CN113038248B (zh) * | 2021-03-25 | 2023-03-31 | 浙江大华技术股份有限公司 | 文件处理方法和装置、视频播放方法和装置及电子装置 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4521342B2 (ja) * | 2005-09-29 | 2010-08-11 | 株式会社東芝 | 三次元画像表示装置、三次元画像表示方法および三次元画像表示プログラム |
CN101017251A (zh) * | 2007-02-02 | 2007-08-15 | 四川大学 | 基于偏光视差条栅屏的三维自由立体显示装置 |
CN202565397U (zh) * | 2011-12-29 | 2012-11-28 | 广西大学 | 一种可裸眼观看视频的3d视频监控*** |
-
2013
- 2013-04-26 CN CN201310149142.XA patent/CN103247065B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN103247065A (zh) | 2013-08-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103247065B (zh) | 一种裸眼3d视频生成方法 | |
CN101383054B (zh) | 一种基于图像与扫描数据的混合三维重建方法 | |
CN108053437B (zh) | 基于体态的三维模型获取方法及装置 | |
JP5442111B2 (ja) | 画像から高速に立体構築を行なう方法 | |
CN102047288A (zh) | 利用正向和反向深度预测进行图像的深度提取的***和方法 | |
CN107545586B (zh) | 基于光场极线平面图像局部的深度获取方法及*** | |
KR100897542B1 (ko) | 임의 시점 영상 합성 시 영상 보정 방법 및 장치 | |
CN108564536A (zh) | 一种深度图的全局优化方法 | |
Klose et al. | Stereoscopic 3D view synthesis from unsynchronized multi-view video | |
CN103702099A (zh) | 一种基于头部追踪的超大视角集成成像3d显示方法 | |
KR20120078949A (ko) | 배경 지형 장면의 입체 이미지 생성 방법, 시스템 및 이를 위한 기록매체 | |
JP4819834B2 (ja) | 立体映像処理装置及び立体映像処理方法 | |
CN204578692U (zh) | 立体显示*** | |
JP2007507945A (ja) | 立体映像化 | |
KR20170025214A (ko) | 다시점 깊이맵 생성 방법 | |
CN109218706B (zh) | 一种由单张图像生成立体视觉图像的方法 | |
CN108234994B (zh) | 一种人眼位置确定方法及装置 | |
CN110149508A (zh) | 一种基于一维集成成像***的阵列图生成及填补方法 | |
CN101566784B (zh) | 立体影像的景深数据建立方法及其*** | |
US10078905B2 (en) | Processing of digital motion images | |
CN102855660B (zh) | 一种确定虚拟场景景深的方法及装置 | |
CN107103620A (zh) | 一种基于独立相机视角下空间采样的多光编码相机的深度提取方法 | |
CN103856777A (zh) | 一种基于光场渲染的视频编解码方法 | |
CN104683784A (zh) | 一种基于图像错切变换的全自动2d转3d视频方法 | |
CN113597758B (zh) | 用于校正柱状透镜失真的方法和装置 |
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 |