三维网格优化方法、设备及存储介质转让专利

申请号 : CN202211143432.9

文献号 : CN115272618B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王鹏

申请人 : 深圳市其域创新科技有限公司

摘要 :

本发明实施例涉及计算机视觉技术领域,具体涉及一种三维网格优化方法、设备及存储介质,该方法包括:获取多个图像中的多组候选图像对和三维模型的初始表面;根据第一条件选择多组候选图像对中的目标图像对,第一条件基于共视区域的面积设置;根据目标图像对计算网格优化误差。本发明实施例通过根据基于共视区域面积设置的第一条件选择目标图像对,使得图像对的选择基于共视区域的面积设置,以衡量不同图像在共视区域的共同特性,从而选择符合共视区域要求的图像对,以降低区域不连续以及两个图像由于各自原因造成的误差影响,有利于网格优化误差计算更准确。

权利要求 :

1.一种三维网格优化方法,其特征在于,所述方法包括:获取多个图像中的多组候选图像对和三维模型的初始表面,每一所述候选图像对包括不同视角的第一候选图像和第二候选图像,所述初始表面具有所述第一候选图像和所述第二候选图像共同映射在所述初始表面的共视区域,所述初始表面具有至少一网格面片;

根据第一条件选择多组所述候选图像对中的目标图像对,所述第一条件基于所述共视区域的面积设置;

根据所述目标图像对计算网格优化误差;

其中,所述网格优化误差

,其中Ephoto表示所述三维模型相对于图像光度一致性误差,Esmooth表示初始表面的光滑正则项,Ephoto使用梯度下降法得到,Esmooth通过拉普拉斯算子得到。

2.根据权利要求1所述的三维网格优化方法,其特征在于,所述根据第一条件选择多组所述候选图像对中的目标图像对,进一步包括:确定第一候选图像的第一相机中心和第二候选图像的第二相机中心;

计算所述第一相机中心和所述第二相机中心到所述共视区域的平均视差;

根据所述平均视差计算视差质量误差;

判断所述视差质量误差是否符合质量误差范围;

若所述视差质量误差符合所述质量误差范围,将所述视差质量误差符合所述质量误差范围的所述候选图像对作为所述目标图像对。

3.根据权利要求1所述的三维网格优化方法,其特征在于,所述根据第一条件选择多组所述候选图像对中的目标图像对,进一步包括:根据第一候选图像与第二候选图像映射在所述共视区域与第一候选图像映射在所述初始表面的第一区域,计算重叠度误差;

判断所述重叠度误差是否符合重叠度误差范围;

若所述重叠度误差符合重叠度误差范围,将所述重叠度误差符合所述重叠度误差范围的所述候选图像对作为所述目标图像对。

4.根据权利要求1所述的三维网格优化方法,其特征在于,所述根据第一条件选择多组所述候选图像对中的目标图像对,进一步包括:确定第一候选图像的第一相机中心和第二候选图像的第二相机中心;

计算所述第一相机中心和所述第二相机中心关于所述共视区域的法向量的平均方向角度差;

根据所述平均方向角度差计算对称度误差;

判断所述对称度误差是否符合对称度误差范围;

若所述对称度误差符合所述对称度误差范围,将所述对称度误差符合所述对称度误差范围的所述候选图像对作为所述目标图像对。

5.根据权利要求1所述的三维网格优化方法,其特征在于,所述根据第一条件选择多组所述候选图像对中的目标图像对,进一步包括:确定第一候选图像的第一相机中心和第二候选图像的第二相机中心;

计算所述第一相机中心和所述第二相机中心到所述共视区域的平均距离;

根据所述平均距离计算分辨率误差;

判断所述分辨率误差是否符合分辨率误差范围;

若所述分辨率误差符合所述分辨率误差范围,将所述分辨率误差符合所述分辨率误差范围的所述候选图像对作为所述目标图像对。

6.根据权利要求1所述的三维网格优化方法,其特征在于,所述根据第一条件选择多组所述候选图像对中的目标图像对,进一步包括:将一所述候选图像对作为初始图像对,计算所述初始图像对在所述共视区域的初始平均覆盖率和初始覆盖率方差;

计算其他所述候选图像对在所述共视区域的候选平均覆盖率和候选覆盖率方差,判断所述候选平均覆盖率是否大于所述初始平均覆盖率,判断所述候选覆盖率方差是否小于所述初始覆盖率方差;

若所述候选平均覆盖率大于所述初始平均覆盖率且所述候选覆盖率方差小于所述初始覆盖率方差,将对应的所述候选图像对作为所述目标图像对。

7.根据权利要求1‑6任一项所述的三维网格优化方法,其特征在于,所述第一条件还基于所述候选图像对的视差质量误差、重叠度误差、对称度误差和分辨率误差设置,所述根据第一条件选择多组所述候选图像对中的目标图像对,进一步包括:计算第一误差

,其中,μ1、μ2、μ3、μ4均为权

重,μ1+μ2+μ3+μ4=1, 表示所述视差质量误差, 表示所述重叠度误差, 表示所述对称度误差, 表示所述分辨率误差;

判断所述第一误差是否符合第一范围值;

若所述第一误差符合所述第一范围值,将所述第一误差符合所述第一范围值的所述候选图像对作为所述目标图像对。

8.根据权利要求1所述的三维网格优化方法,其特征在于,所述第一条件还基于所述候选图像对的视差质量误差、重叠度误差、对称度误差和分辨率误差设置,所述根据第一条件选择多组所述候选图像对中的目标图像对,进一步包括:根据所述视差质量误差、所述重叠度误差、所述对称度误差和所述分辨率误差计算第一误差;

将所述第一误差最小的所述候选图像对作为初始图像对,计算所述初始图像对在所述初始表面的初始平均覆盖率和初始覆盖率方差;

计算其他所述候选图像对在所述初始表面的候选平均覆盖率和候选覆盖率方差,判断所述候选平均覆盖率是否大于所述初始平均覆盖率,判断所述候选覆盖率方差是否小于所述初始覆盖率方差;

若所述候选平均覆盖率大于所述初始平均覆盖率且所述候选覆盖率方差小于所述初始覆盖率方差,将对应的所述候选图像作为待定图像对;

计算每一所述待定图像对的所述第一误差,将n个所述待定图像对的所述第一误差作为待定误差,n为大于0的正整数;

将n个所述初始图像对的所述第一误差总和作为初始误差,判断所述待定误差是否小于或等于所述初始误差乘以预设系数,所述预设系数小于1大于等于0.8;

若所述待定误差小于或等于所述初始误差乘以预设系数,将所述待定误差小于或等于所述初始误差乘以预设系数的所述待定图像对作为所述目标图像对。

9.根据权利要求1‑6、8中任一项所述的三维网格优化方法,其特征在于,所述获取多个图像中的多组候选图像对和三维模型的初始表面之后,所述方法还包括:根据第二条件选择所述图像的目标像素,所述第二条件根据所述图像的像素深度值设置;

根据所述目标像素计算网格优化误差。

10.根据权利要求9所述的三维网格优化方法,其特征在于,所述根据第二条件选择所述图像的目标像素,进一步包括:将所述图像分成多个候选区域,每一所述候选区域中具有中心像素和多个候选像素;

计算深度值差,所述深度值差为所述候选像素的所述像素深度值与所述中心像素的所述像素深度值之差;

根据所述深度值差将所述候选区域的所有所述候选像素分类为第一像素集合和第二像素集合,所述第二像素集合中最小所述深度值差大于所述第一像素集合中最大所述深度值差;

根据所述深度值差计算每一所述候选区域中所述第一像素集合的深度值方差;

所述第二条件根据所述深度值方差设置,判断所述候选像素是否符合所述第二条件;

若所述深度值差符合所述第二条件,将符合所述第二条件的所述候选像素作为所述目标像素。

11.根据权利要求10所述的三维网格优化方法,其特征在于,若所述候选像素符合所述第二条件,将符合所述第二条件的所述候选像素作为所述目标像素,进一步包括:将符合

的所述候选像素作为所述目

标像素,其中,dd(h,k)表示所述第一像素集合中每一所述候选像素对应的所述深度值差,表示所述深度值方差,max{dd(h, k)}表示所述第一像素集合中最大所述深度值差。

12.一种计算设备,其特征在于,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;

所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1‑11中任一项所述的三维网格优化方法的操作。

13.一种计算机可读存储介质,其特征在于,所述存储介质中存储有至少一可执行指令,所述可执行指令在运行时执行如权利要求1‑11中任一项所述的三维网格优化方法的操作。

说明书 :

三维网格优化方法、设备及存储介质

技术领域

[0001] 本发明实施例涉及计算机视觉技术领域,具体涉及一种三维网格优化方法、设备及存储介质。

背景技术

[0002] 传统的三维重建算法流程大致包含:从运动中恢复结构,多视图深度估计,网格构建,由于初始点云中包含大量的噪声,而传统的网格构建算法如泊松重建,从Visual Hull 恢复的网格质量一般都比较差,此外也损失了些些细节,导致三维重建模型精度较差。
[0003] 因此,有必要提供一种三维网格优化方法、设备及存储介质,以克服上述问题。

发明内容

[0004] 鉴于上述问题,本发明实施例提供了一种三维网格优化方法、设备及存储介质,用于解决现有技术中存在的问题。
[0005] 根据本发明实施例的第一方面,提供了一种三维网格优化方法,所述方法包括:
[0006] 获取多个图像中的多组候选图像对和三维模型的初始表面,每一所述候选图像对包括不同视角的第一候选图像和第二候选图像,所述初始表面具有所述第一候选图像和所述第二候选图像共同映射在所述初始表面的共视区域,所述初始表面具有至少一网格面片;
[0007] 根据第一条件选择多组所述候选图像对中的目标图像对,所述第一条件基于所述共视区域的面积设置;
[0008] 根据所述目标图像对计算网格优化误差。
[0009] 在一些实施例中,所述根据第一条件选择多组所述候选图像对中的目标图像对,进一步包括:
[0010] 确定第一候选图像的第一相机中心和第二候选图像的第二相机中心;
[0011] 计算所述第一相机中心和所述第二相机中心到所述共视区域的平均视差;
[0012] 根据所述平均视差计算视差质量误差;
[0013] 判断所述视差质量误差是否符合质量误差范围;
[0014] 若所述视差质量误差符合所述质量误差范围,将所述视差质量误差符合所述质量误差范围的所述候选图像对作为所述目标图像对。
[0015] 在一些实施例中,所述根据第一条件选择多组所述候选图像对中的目标图像对,进一步包括:
[0016] 根据第一候选图像与第二候选图像映射在所述共视区域与第一候选图像映射在所述初始表面的第一区域,计算重叠度误差;
[0017] 判断所述重叠度误差是否符合重叠度误差范围;
[0018] 若所述重叠度误差符合重叠度误差范围,将所述重叠度误差符合所述重叠度误差范围的所述候选图像对作为所述目标图像对。
[0019] 在一些实施例中,所述根据第一条件选择多组所述候选图像对中的目标图像对,进一步包括:
[0020] 确定第一候选图像的第一相机中心和第二候选图像的第二相机中心;
[0021] 计算所述第一相机中心和所述第二相机中心关于所述共视区域的法向量的平均方向角度差;
[0022] 根据所述平均方向角度差计算对称度误差;
[0023] 判断所述对称度误差是否符合对称度误差范围;
[0024] 若所述对称度误差符合所述对称度误差范围,将所述对称度误差符合所述对称度误差范围的所述候选图像对作为所述目标图像对。
[0025] 在一些实施例中,所述根据第一条件选择多组所述候选图像对中的目标图像对,进一步包括:
[0026] 确定第一候选图像的第一相机中心和第二候选图像的第二相机中心;
[0027] 计算所述第一相机中心和所述第二相机中心到所述共视区域的平均距离;
[0028] 根据所述平均距离计算分辨率误差;
[0029] 判断所述分辨率误差是否符合分辨率误差范围;
[0030] 若所述分辨率误差符合所述分辨率误差范围,将所述分辨率误差符合所述分辨率误差范围的所述候选图像对作为所述目标图像对。
[0031] 在一些实施例中,所述根据第一条件选择多组所述候选图像对中的目标图像对,进一步包括:
[0032] 将一所述候选图像对作为初始图像对,计算所述初始图像对在所述共视区域的初始平均覆盖率和初始覆盖率方差;
[0033] 计算其他所述候选图像对在所述共视区域的候选平均覆盖率和候选覆盖率方差,判断所述候选平均覆盖率是否大于所述初始平均覆盖率,判断所述候选覆盖率方差是否小于所述初始覆盖率方差;
[0034] 若所述候选平均覆盖率大于所述初始平均覆盖率且所述候选覆盖率方差小于所述初始覆盖率方差,将对应的所述候选图像对作为所述目标图像对。
[0035] 在一些实施例中,所述第一条件还基于所述候选图像对的视差质量误差、重叠度误差、对称度误差和分辨率误差设置,所述根据第一条件选择多组所述候选图像对中的目标图像对,进一步包括:
[0036] 计算第一误差
[0037] ,其中,μ1、μ2、μ3、μ4均为权重,μ1+μ2+μ3+μ4=1, 表示所述视差质量误差, 表示所述重叠度误差, 表示所述对称度误差, 表示所述分辨率误差;
[0038] 判断所述第一误差是否符合第一范围值;
[0039] 若所述第一误差符合所述第一范围值,将所述第一误差符合所述第一范围值的所述候选图像对作为所述目标图像对。
[0040] 在一些实施例中,所述第一条件还基于所述候选图像对的视差质量误差、重叠度误差、对称度误差和分辨率误差设置,所述根据第一条件选择多组所述候选图像对中的目标图像对,进一步包括:
[0041] 根据所述视差质量误差、所述重叠度误差、所述对称度误差和所述分辨率误差计算第一误差;
[0042] 将所述第一误差最小的所述候选图像对作为初始图像对,计算所述初始图像对在所述初始表面的初始平均覆盖率和初始覆盖率方差;
[0043] 计算其他所述候选图像对在所述初始表面的候选平均覆盖率和候选覆盖率方差,判断所述候选平均覆盖率是否大于所述初始平均覆盖率,判断所述候选覆盖率方差是否小于所述初始覆盖率方差;
[0044] 若所述候选平均覆盖率大于所述初始平均覆盖率且所述候选覆盖率方差小于所述初始覆盖率方差,将对应的所述候选图像作为待定图像对;
[0045] 计算每一所述待定图像对的所述第一误差,将n个所述待定图像对的所述第一误差作为待定误差,n为大于0的正整数;
[0046] 将n个所述初始图像对的所述第一误差总和作为初始误差,判断所述待定误差是否小于或等于所述初始误差乘以预设系数,所述预设系数小于1大于等于0.8;
[0047] 若所述待定误差小于或等于所述初始误差乘以预设系数,将所述待定误差小于或等于所述初始误差乘以预设系数的所述待定图像对作为所述目标图像对。
[0048] 在一些实施例中,所述获取多个图像中的多组候选图像对和三维模型的初始表面之后,所述方法还包括:
[0049] 根据第二条件选择所述图像的目标像素,所述第二条件根据所述图像的像素深度值设置;
[0050] 根据所述目标像素计算网格优化误差。
[0051] 在一些实施例中,所述根据第二条件选择所述图像的目标像素,进一步包括:
[0052] 将所述图像分成多个候选区域,每一所述候选区域中具有中心像素和多个候选像素;
[0053] 计算深度值差,所述深度值差为所述候选像素的所述像素深度值与所述中心像素的所述像素深度值之差;
[0054] 根据所述深度值差将所述候选区域的所有所述候选像素分类为第一像素集合和第二像素集合,所述第二像素集合中最小所述深度值差大于所述第一像素集合中最大所述深度值差;
[0055] 根据所述深度值差计算每一所述候选区域中所述第一像素集合的深度值方差;
[0056] 所述第二条件根据所述深度值方差设置,判断所述候选像素是否符合所述第二条件;
[0057] 若所述深度值差符合所述第二条件,将符合所述第二条件的所述候选像素作为所述目标像素。
[0058] 在一些实施例中,所述若所述候选像素符合所述第二条件,将符合所述第二条件的所述候选像素作为所述目标像素,进一步包括:
[0059] 将符合
[0060] 的所述候选像素作为所述目标像素,其中,dd(h,k)表示所述第一像素集合中每一所述候选像素对应的所述深度值差,表示所述深度值方差,max{dd(h, k)}表示所述第一像素集合中最大所述深度值差。
[0061] 根据本发明实施例的第二方面,提供了一种计算设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
[0062] 所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如上述任一项所述的三维网格优化方法的操作。
[0063] 根据本发明实施例的第三方面,提供了一种计算机可读存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令在运行时执行如上述任一项所述的三维网格优化方法的操作。
[0064] 本发明实施例通过根据基于共视区域面积设置的第一条件选择目标图像对,使得图像对的选择基于共视区域的面积设置,以衡量不同图像在共视区域的共同特性,从而选择符合共视区域要求的图像对,使得该选择的图像对的质量较高,有利于减小网格优化误差计算冗余性,提高网格优化误差计算的求解速度,并且可以降低区域不连续以及两个图像由于各自原因造成的误差影响,有利于网格优化误差计算更准确。
[0065] 上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。

附图说明

[0066] 附图仅用于示出实施方式,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
[0067] 图1示出了本发明实施例提供的三维网格优化方法的流程示意图;
[0068] 图2示出了本发明实施例提供的三维网格优化装置的结构示意图;
[0069] 图3示出了本发明一些实施例提供的计算设备的结构示意图;
[0070] 图4示出了本发明一些实施例提供的fi区域和hi区域不连续时图像映射关系的示意图;
[0071] 图5示出了本发明一些实施例提供的fi区域和hi区域不连续时图像映射关系的立体示意图;
[0072] 图6示出了本发明一些实施例提供的两个图像映射到初始表面的示意图;
[0073] 图7示出了本发明一些实施例提供的两个图像对称关系的示意图。

具体实施方式

[0074] 下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。
[0075] 在进行三维重建过程中,处理器先根据多个图像进行初步建模,形成初始三维模型,该初始三维模型的网格质量较差。针对现有三维重建模型网格质量较差的问题,发明人发现,图像对的选择对网格优化的最终质量有很重要的影响。如果两个相机距离很近,会导致重建的噪声很大。另一方面,如果两个相机距离太远,会导致重叠范围较少,也就是说两个相机共视范围范围太小。正确的图像对选择有利于图像对间一致的光度误差计算,进而使梯度下降法速度更快。
[0076] 此外,发明人还发现,模型遮挡也会影响网格优化结果,如图4和图5中,图像i和图像j具有映射到初始表面S的共视区域,其中,初始表面S中的h区域、g区域和f区域均为图像i和图像j共同映射到的区域。图像j中,hj表示映射到h区域时位于映射线l1与l2之间的区域,gj表示映射到g区域时位于映射线l2与l3之间的区域,fj表示映射到f区域时位于映射线l3与l4之间的区域。图像i中,hi表示映射到h区域时位于映射线l5与l6之间的区域,fj表示映射到f区域时位于映射线l6与l7之间的区域,其中,圆圈内所示的区域未显示本应映射到g区域的gi区域,在此情况下,gi区域被遮挡,实际上图像i中fi区域和hi区域不连续。在计算gi区域投影误差时,现有的算法会同时考虑来fi区域和hi区域的信息,在此情况下,由于fi区域和hi区域不连续,导致误差计算不准确,影响网格质量。
[0077] 发明人提供了一种三维网格优化方法,根据基于共视区域面积设置的第一条件选择目标图像对,使得图像对的选择基于共视区域的面积设置,以衡量不同图像在共视区域的共同特性,从而选择合适的图像对,以降低区域不连续以及两个图像由于各自原因造成的误差影响,有利于网格优化误差计算更准确。
[0078] 图1示出了本发明实施例提供的三维网格优化方法的流程图,该方法由计算设备执行,该计算设备可以是包括一个或多个处理器的计算设备,该处理器可能是中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路,在此不做限定。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC,在此不做限定。
[0079] 如图1所示,该方法包括以下步骤:
[0080] 步骤110:获取多个图像中的多组候选图像对和三维模型的初始表面,每一候选图像对包括不同视角的第一候选图像和第二候选图像,初始表面具有第一候选图像和第二候选图像共同映射在初始表面的共视区域,初始表面具有至少一网格面片;
[0081] 步骤120:根据第一条件选择多组候选图像对中的目标图像对,第一条件基于共视区域的面积设置;
[0082] 步骤130:根据目标图像对计算网格优化误差。
[0083] 步骤110中,初始三维模型的初始表面具有至少一网格面片,在一些情况下,初始表面可以由一个网格面片形成;在一些情况下,初始表面也可以由多个网格面片组成。初始的三维模型的网格质量较差,需要进行网格优化,其中,多个图像中任意两张图像形成图像对,由此具有多组图像对。其中,若图像对中两个图像具有共同映射在初始表面的共视区域,则将该图像对作为候选图像对,通常候选图像对具有多组,每一候选图像对包括不同视角的第一候选图像和第二候选图像。
[0084] 步骤120中,第一条件基于共视区域的面积设置,根据第一条件选择多组候选图像对中的目标图像对,以衡量不同图像在共视区域的共同特性,从而选择合适的图像对,有利于网格优化误差计算更准确。
[0085] 第一条件的设置有多种情况,可以根据视差质量误差、重叠度误差、对称度误差、分辨率误差、覆盖率等图像特性中的至少一个设置。或者也可以根据其他图像特性与共视区域相关设置,在此不做限定,根据需要设置。
[0086] 步骤130中,在选择了合适的目标图像对后,需要根据该目标图像对的相关参数进行网格优化误差计算,以得到优化后的三维网格。其中,网格优化误差
[0087] ,其中 Ephoto表示的是三维模型相对于图像光度一致性误差。Esmooth表示初始表面的光滑正则项。
[0088] 为了最小化 Ephoto,网格优化程序需要使用梯度下降法。得到Ephoto的计算公式为[0089] ,其中, 表示梯度误差函数,如果 x 在目标图像对i,j的投影点的周围的patch的相似度增加,下降, 表示的是图像j的点通过初始表面S 映射到图像i坐标系下,
表示共视区域。Ephoto  =  E(s)  对顶点  Xi计算的离散梯度可以表示为
,其中, Xi∈ R3初始表面S的一个顶点,ϕi (x) 表示初始表面上一个x 在对应三角形相对于顶点 Xi 三角形的重心坐标。
[0090] 通过公式 ,我们可以得到,通过将积分变量从 x 变换为 xi,可以将积
分从初始表面 S区域变换到图像i 。如图6所示, 表示在 x 处朝向表面外的梯度,xi是x在图像i中的投影,xj是x在图像j中的投影,di表示从相机中心ci到 x 的向量,zi是 x 到相机中心ci的深度距离。
[0091] 光滑正则项Esmooth可以通过拉普拉斯算子得到。
[0092] 步骤110至步骤130中,通过根据基于共视区域面积设置的第一条件选择目标图像对,使得图像对的选择基于共视区域的面积设置,以衡量不同图像在共视区域的共同特性,从而选择符合共视区域要求的图像对,使得该选择的图像对的质量较高,有利于减小网格优化误差计算冗余性,提高网格优化误差计算的求解速度,并且可以降低区域不连续以及两个图像由于各自原因造成的误差影响,有利于网格优化误差计算更准确。
[0093] 在一些实施例中,步骤120进一步包括:
[0094] 步骤a01:确定第一候选图像的第一相机中心和第二候选图像的第二相机中心;
[0095] 步骤a02:计算第一相机中心和第二相机中心到共视区域的平均视差;
[0096] 步骤a03:根据平均视差计算视差质量误差;
[0097] 步骤a04:判断视差质量误差是否符合质量误差范围;
[0098] 步骤a05:若视差质量误差符合质量误差范围,将视差质量误差符合质量误差范围的候选图像对作为目标图像对。
[0099] 步骤a01和步骤a02中,步骤a02中平均视差
[0100] ,其中, 表示共视区域的面积,表示第一候选图像 i 和第二候选图像j共同映射在初始表面S的共视区域,xi表示位于共视区域内的任意一点, =∠(cixi,cjxi),cixi表示第一相机中心ci与共视区
域内xi的第一连线,cixi表示第二相机中心cj与共视区域内xi的第二连线,∠(cixi,cjxi)表示第一连线与第二连线的夹角。
[0101] 步骤a03中,视差质量误差 ,其中,视差小的角度可以使图像对有更好的重叠度,而大角度会使网格优化更加稳定,因此,在视差质量误差需要平衡视差角度,得到更良好的视差质量误差。αp为平均参考视差,通常设为40°‑60°;σp为预设角度方差,通常设为40°‑50°。αp优选设为50°,σp优选设为45°,以更好地衡量视差质量误差。
[0102] 步骤a04和步骤a05中,对应的,第一条件即为视差质量误差是否符合质量误差范围。若处理器判断视差质量误差符合质量误差范围,则选择符合质量误差范围的候选图像对作为目标图像对,使得网格优化误差可以根据目标图像对的相关参数进行计算。其中,质量误差范围在40°到60°范围之间,在此范围的视差质量误差较好,根据该视差质量误差所得到目标图像对计算的网格优化误差较小,从而对三维网格优化进一步优化。
[0103] 步骤a01至步骤a04中,通过计算视差质量误差,选择符合要求的视差质量误差对应的目标图像对,以实现目标图像对在合理视差和共视区域内更好地权衡,以为后续计算网格优化误差提供良好的目标图像对的参数。
[0104] 在一些实施例中,步骤120进一步包括:
[0105] 步骤b01:根据第一候选图像与第二候选图像映射在共视区域与第一候选图像映射在初始表面的第一区域,计算重叠度误差。
[0106] 步骤b02:判断重叠度误差是否符合重叠度误差范围;
[0107] 步骤b03:若重叠度误差符合重叠度误差范围,将重叠度误差符合重叠度误差范围的候选图像对作为目标图像对。
[0108] 步骤b01中,重叠度误差 , 表示共视区域的面积, 表示第一候选图像 i 和第二候选图像j共同映射在初始表面S的共视区域, 表示第一候选图像i映射在初始表面S的第一区域。其中,因为希望最小化所有的重叠度误差函数来选取合适的图像对,所以 中的负号,即希望两个视图间的共视区域更大些。
[0109] 步骤b02和步骤b03中,对应的,第一条件即为重叠度误差是否符合重叠度误差范围。若处理器判断重叠度误差符合重叠度误差范围,则选择符合重叠度误差范围的候选图像对作为目标图像对,使得网格优化误差可以根据目标图像对的相关参数进行计算。其中,重叠度误差范围可以设置为0.5 0.8,以使得目标图像对的重叠度较为符合合理预期,为后~续计算网格优化误差提供良好的目标图像对参数。当然,在一些实施例中,分辨率误差范围也可以设置为0.5 0.9,或者0.6 0.8,或者其他范围值,在此不做限定,根据需要设置。
~ ~
[0110] 步骤b01至步骤b03中,通过计算重叠度误差,以将符合重叠度误差范围的候选图像对确定为目标图像对,保证目标图像对的重叠度处符合合理预期,以使得目标图像对根据重叠度误差进行选择,为后续计算网格优化误差提供良好的目标图像对的参数。
[0111] 在一些实施例中,步骤120进一步包括:
[0112] 步骤c01:确定第一候选图像的第一相机中心和第二候选图像的第二相机中心;
[0113] 步骤c02:计算第一相机中心和第二相机中心关于共视区域的法向量的平均方向角度差;
[0114] 步骤c03:根据平均方向角度差计算对称度误差;
[0115] 步骤c04:判断对称度误差是否符合对称度误差范围;
[0116] 步骤c05:若对称度误差符合对称度误差范围,将对称度误差符合对称度误差范围的候选图像对作为目标图像对。
[0117] 步骤c01和步骤c02中,平均方向角度差
[0118] ,
[0119] = ,其中,表示共视区域的面积, 表示第一候选图像 i 和第二候选图像j共同映射在初始表面S的共视区域,x表示位于共视区域内的任意一点,cix表示第一相机中心ci与共视区域内x的第一连线,cjx表示第二相机中心cj与共视区域内x的第二连线, 表示在共视区域的 x处的法向, 表示第一连线与 的夹角, 表示第二连线与
的夹角,如果cix和cjx位于 的同侧, sign = 1,如果cix和cjx位于 的不同侧,
sign =‑1。其中,在一些场景下,如图7所示,初始表面S被参考相机cref和其他两个相机ci和cj观测到,若初始表面S完全被三个相机观测到,也就是说图像的重叠度为 100% ,基线cref−ci和cref−cj具有相似的数值,图像对可能同时好或者同时坏。直观上,初始表面S沿着其法向 进行变化,同时假设图像呈像受到高斯噪声的影响。因此,通过计算候选图像对的对称度误差以及判断对称度误差范围,使得相似的噪声将会转移到显著不同的沿着 不同的梯度噪声。统计上,若候选图像对位于 的同一侧,则沿着法向 的噪声梯度会进行累加;若候选图像对位于 的不同侧,则沿着法向 的噪声梯度会抵消。由此,可以判断,若在初始表面S的不同xi的位置位于对应 不同侧的部分较多,所得的Si,j数值相应较小,噪声影响较小。
[0120] 步骤c03中,对称度误差 ,σs为预设对称角度方差,通常设为40°‑50°,优选设为45°。
[0121] 步骤c04和步骤c05中,对应的,第一条件即为对称度误差是否符合对称度误差范围。若处理器判断对称度误差符合对称度误差范围,则选择符合对称度误差范围的候选图像对作为目标图像对,使得网格优化误差可以根据目标图像对的相关参数进行计算。
[0122] 步骤c01至步骤c05中,通过计算平均方向角度差以及对称度误差,以判断对称度误差是否符合对称度误差范围,从而将对称度误差符合对称度误差范围的候选图像对作为目标图像对,以消除图像对中相机对称度造成的噪声影响,从而选择对称度误差较小的目标图像对,使得网格优化误差计算进一步优化。对称度误差范围可以设置为0.6 0.9,以将~目标图像对对应的两个相机对称度控制在预期范围,减少噪声影响。当然,在一些实施例中,对称度误差范围也可以设置为0.5 0.8,或者0.7 0.9,或者其他范围值,在此不做限定,~ ~
根据需要设置。
[0123] 在一些实施例中,步骤120进一步包括:
[0124] 步骤d01:确定第一候选图像的第一相机中心和第二候选图像的第二相机中心;
[0125] 步骤d02:计算第一相机中心和第二相机中心到共视区域的平均距离;
[0126] 步骤d03:根据平均距离计算分辨率误差;
[0127] 步骤d04:根据分辨率误差选择目标图像对。
[0128] 步骤d01和步骤d02中,平均距离
[0129] ,其中, 表示共视区域的面积, 表示第一候选图像 i 和第二候选图像j共同映射在初始表面S的共视区域, ,
, ,xi表示位于共视区域内的任意一点,fi表示第一候选
图像 i 对应的相机焦距,fj表示第二候选图像 j 对应的相机焦距,cixi表示第一相机中心ci与共视区域内xi的第一连线距离,cjxi表示第一相机中心cj与共视区域内xi的第一连线。
[0130] 步骤d03中,为了倾向于选择具有相似分辨率的图像对,从而产生更加一致的优化结果,需要计算分辨率误差,以根据分辨率误差评价候选图像对的分辨率一致性。分辨率误差 ,σr为预设分辨率方差,通常设置为0.2‑0.4,其中,优选的,σr设为0.25,表示分辨率的差异为25%。
[0131] 步骤d04和步骤d05中,对应的,第一条件即为分辨率误差是否符合分辨率误差范围。若处理器判断分辨率误差符合分辨率误差范围,则选择符合分辨率误差范围的候选图像对作为目标图像对,使得网格优化误差可以根据目标图像对的相关参数进行计算。分辨率误差范围的设置,可以将目标图像对分辨率差异控制在预期范围,分辨率对后续网格优化误差计算的影响。其中,分辨率误差范围可以设置为0.6 1.0,以将目标图像对分辨率差~异控制在较为合理的预期范围。当然,在一些实施例中,分辨率误差范围也可以设置为0.5~
0.9,或者0.5 1.0,或者其他范围值,在此不做限定,根据需要设置。
~
[0132] 通过步骤d01至步骤d05,处理器判断分辨率误差是否符合分辨率误差范围,以相应选择具有相似分辨率的目标图像对,从而产生更加一致的优化结果,使得网格优化误差可以根据目标图像对的相关参数进行计算。分辨率误差范围的设置,可以将目标图像对分辨率差异控制在预期范围,减小分辨率误差对后续网格优化误差计算的影响。
[0133] 在一些实施例中,步骤120进一步包括:
[0134] 步骤e01:将一候选图像对作为初始图像对,计算初始图像对在共视区域的初始平均覆盖率和初始覆盖率方差;
[0135] 步骤e02:计算其他候选图像对在共视区域的候选平均覆盖率和候选覆盖率方差,判断候选平均覆盖率是否大于初始平均覆盖率,判断候选覆盖率方差是否小于初始覆盖率方差;
[0136] 步骤e03:若候选平均覆盖率大于初始平均覆盖率且候选覆盖率方差小于初始覆盖率方差,将对应的候选图像对作为目标图像对。
[0137] 步骤e01中,将覆盖率定义为初始表面中所有可见网格面片被图像对观测的数量,具体的,令F表示初始表面中所有可见网格面片,定义其某个网格面片f ∈ F,相对于图像对i和j的可见函数为 ,如果f在两个图像都可以观测到,则 = 1,否则 = 0 。然后,f的全局可见性函数定义为 ,然后覆盖率可以表达为CP = {Vf , ∀f ∈ 
F } ,所得的CP即表示候选图像对在共视区域的覆盖率。初始平均覆盖率μp0=E(CP0),其中CP0表示初始图像对在共视区域的覆盖率,E(CP0)表示覆盖率的平均值即CP0/2。初始覆盖率方差σp0=stddev(CP0 )。
[0138] 步骤e02和步骤e03中,其他候选图像对中每一候选图像对的候选平均覆盖率μp=E(CP),初始覆盖率方差σp=stddev(CP),通过判断候选平均覆盖率是否大于初始平均覆盖率,判断候选覆盖率方差是否小于初始覆盖率方差,相应选择目标图像对,得到对应的目标图像对的集合,该集合中的所有目标图像对用于网格优化误差计算,以优化三维网格。其中,若候选平均覆盖率大于初始平均覆盖率且候选覆盖率方差小于初始覆盖率方差,则认为该对应的候选图像对更优,将对应的候选图像对作为目标图像对,以使目标图像对所对应的相机对配置为可以提供良好的覆盖范围,从而进一步有利于网格优化误差计算,优化三维网格。
[0139] 在一些实施例中,第一条件还基于候选图像对的视差质量误差、重叠度误差、对称度误差和分辨率误差设置,步骤120进一步包括:
[0140] 步骤f01:计算第一误差
[0141] ,其中,μ1、μ2、μ3、μ4均为权重,μ1+μ2+μ3+μ4=1, 表示视差质量误差, 表示重叠度误差, 表示对称度误差,
表示分辨率误差;
[0142] 步骤f02:判断第一误差是否符合第一范围值;
[0143] 步骤f03:若第一误差符合第一范围值,将第一误差符合第一范围值的候选图像对作为目标图像对。
[0144] 步骤f01中,根据视差质量误差、重叠度误差、对称度误差和分辨率误差得到第一误差,可以通过视差质量误差、重叠度误差、对称度误差和分辨率误差等不同维度同时对网格质量进行优化,使得三维网格优化更好。其中,在一些实施例中,μ1、μ2、μ3、μ4可以设置为同一数值,例如0.25。或者,在一些实施例中,μ1、μ2、μ3、μ4可以根据需要设置,例如根据重要程度设置,例如视差质量误差对网格优化的影响更大,则μ1相对设置更大,重叠度误差、对称度误差、分辨率误差对网格优化的影响较小,则μ2、μ3、μ4可以设置为相同,例如μ1设置为0.4,μ2、μ3、μ4均设置为0.2;或者将μ1设置为0.4、μ2设置为0.3、μ3设置为0.2、μ4设置为0.1。
μ1、μ2、μ3、μ4的数值可以根据需要设置,在此不做限定。
[0145] 步骤f02和步骤f03中,第一条件设为第一误差是否符合第一范围值,若第一误差符合第一范围值,说明第一误差符合预期,将第一误差符合第一范围值的候选图像对作为目标图像对,以优化网格优化误差,得到良好网格质量的三维网格。其中,第一范围值可以设置为0.6 0.8,以将目标图像对第一误差异控制在较为合理的预期范围。当然,在一些实~施例中,第一范围值也可以设置为0.5 0.9,或者0.5 0.8,或者其他范围值,在此不做限定,~ ~
根据需要设置。
[0146] 通过步骤f01至步骤f03,根据视差质量误差、重叠度误差、对称度误差和分辨率误差得到第一误差,可以通过视差质量误差、重叠度误差、对称度误差和分辨率误差等不同维度同时对网格质量进行优化,使得三维网格优化更好。
[0147] 在一些实施例中,第一误差也可以由视差质量误差、重叠度误差、对称度误差和分辨率误差中的两个或者三个计算得到,对应的权重相应发生变化。例如,在一些情况下,第一误差由视差质量误差、重叠度误差计算得到,相应的,μ1+μ2=1,则μ1和μ2可以设置为同一数值,例如0.5,或者μ1设置为0.6,μ2设置为0.4;或者μ1和μ2设置为其他数值。在一些情况下,第一误差由视差质量误差、重叠度误差、分辨率误差计算得到,相应的,μ1+μ2+μ4=1,则μ1、μ2和μ3可以设置为同一数值,例如0.333;或者μ1设置为0.4,μ2和μ4设置为0.3;或者μ1、μ2和μ3设置为其他数值。以此类推,在此不做赘述。
[0148] 在一些实施例中,第一条件还基于候选图像对的视差质量误差、重叠度误差、对称度误差和分辨率误差设置,根据第一条件选择多组候选图像对中的目标图像对,进一步包括:
[0149] 步骤g01:根据视差质量误差、重叠度误差、对称度误差和分辨率误差计算第一误差;
[0150] 步骤g02:将第一误差最小的候选图像对作为初始图像对,计算初始图像对在初始表面的初始平均覆盖率和初始覆盖率方差;
[0151] 步骤g03:计算其他候选图像对在初始表面的候选平均覆盖率和候选覆盖率方差,判断候选平均覆盖率是否大于初始平均覆盖率,判断候选覆盖率方差是否小于初始覆盖率方差;
[0152] 步骤g04:若候选平均覆盖率大于初始平均覆盖率且候选覆盖率方差小于初始覆盖率方差,将对应的候选图像作为待定图像对;
[0153] 步骤g05:计算每一待定图像对的第一误差,将n个待定图像对的第一误差总和作为待定误差,n为大于0的正整数;
[0154] 步骤g06:将n个初始图像对的第一误差总和作为初始误差,判断待定误差是否小于或等于初始误差乘以预设系数,预设系数小于1大于等于0.8;
[0155] 步骤g07:若待定误差小于或等于初始误差乘以预设系数,将待定误差小于或等于初始误差乘以预设系数的待定图像对作为目标图像对。
[0156] 步骤g01和步骤g02中,通过将第一误差最小的候选图像对作为初始图像对,而第一误差根据视差质量误差、重叠度误差、对称度误差和分辨率误差计算,若第一误差最小,相应的,初始图像对为根据第一误差得到的最优结果,其对应的初始平均覆盖率和初始覆盖率方差也较好,有利于控制后续通过平均覆盖率和覆盖率方差选择更够选择符合预期的目标图像对。
[0157] 步骤g03和步骤g04中,通过将候选平均覆盖率大于初始平均覆盖率且候选覆盖率方差小于初始覆盖率方差的候选图像作为待定图像对,以牺牲第一误差的优化结果获得覆盖率的提高,从而权衡第一误差和覆盖率共同的优化作用,得到对应经过权衡优化后的待定图像对。
[0158] 步骤g05至步骤g07中,步骤g03和步骤g04后得到的待定图像对至少有一个,其中,每一待定图像对均能计算对应的第一误差,通过将n个待定图像对的第一误差总和作为待定误差,将n个初始图像对的第一误差总和作为初始误差,以判断待定误差是否小于或等于初始误差乘以预设系数,从而通过待定误差进行权衡,确定对应的目标图像对。若处理器判断待定误差小于或等于初始误差乘以预设系数,说明n个待定图像对符合覆盖率和第一误差的权衡要求,将对应的n个待定图像对作为目标图像对,根据该n个待定图像对相应计算得到的网格优化误差能够得到优化,从而获得良好的三维网格优化效果。
[0159] 其中,待定误差为n个待定图像对的第一误差总和,使得在符合覆盖率要求的情况下,允许每一个待定图像对的第一误差之间有较大差别,只要n个待定图像对的第一误差总和符合相应的误差要求即可,从而在较大程度上将第一误差与覆盖率均衡,有利于网格优化误差计算。
[0160] 此外,由于初始误差为n个初始图像对的第一误差总和,该初始图像对由多个候选图像对中第一误差最小选择的,对网格优化误差计算具有良好的优化效果,将预设系数设为小于1大于等于0.8,有利于保证待定误差与初始误差的偏差较小,使得待定误差符合预期,以更好地均衡待定误差与覆盖率,根据该n个目标图像对可以进一步计算网格优化误差,进一步优化三维网格。
[0161] 步骤g01至步骤g07中,通过使得n个目标图像对的待定误差小于或等于初始误差乘以预设系数,且预设系数小于1大于等于0.8,使得n个目标图像对的待定误差与初始误差的偏差较小,而该初始误差为n个初始图像对的第一误差总和,该初始图像对由多个候选图像对中第一误差最小选择的,相应的,待定误差符合预期,以更好地均衡待定误差与覆盖率,根据该n个目标图像对可以进一步计算网格优化误差,进一步优化三维网格。
[0162] 在一些实施例中,步骤110之后,该方法还包括:
[0163] 步骤h01:根据第二条件选择图像的目标像素,第二条件根据图像的像素深度值设置;
[0164] 步骤h02:根据目标像素计算网格优化误差。
[0165] 步骤h01和步骤h02中,针对图像遮挡影响网格优化误差计算的情况,根据第二条件选择图像的目标像素,以根据该目标像素对应计算网格优化误差。其中,对于每个像素,网格优化需要聚合相似度测量的梯度像素p(x,y)为中心,计算图像区域P的梯度。在图像被遮挡的情况下,导致图像区域P各像素深度的不连续,进而使得其周围的像素误差对场景几何的导数计算不正确。因此,像素深度值可以衡量遮挡情况,通过第二条件根据图像的像素深度值设置,以找到遮挡影响较小的目标像素,从而获得良好的网格优化误差。
[0166] 在一些实施例中,第二条件根据图像区域中所有像素的像素深度值的方差进行设置,将方差符合要求的像素作为目标像素;或者在一些实施例中,第二条件根据图像区域中所有像素的像素深度值的标准差进行设置,将标准差符合要求的像素作为目标像素;或者在一些实施例中,第二条件根据图像区域的中心像素与其他像素的像素深度值的差值进行设置,将差值符合要求的像素作为目标像素;或者第二条件根据其他方式对像素深度值进行设置,得到对应的目标像素。
[0167] 在一些实施例中,步骤h01进一步包括:
[0168] 步骤h011:将图像分成多个候选区域,每一候选区域中具有中心像素和多个候选像素;
[0169] 步骤h012:计算深度值差,深度值差为候选像素的像素深度值与中心像素的像素深度值之差;
[0170] 步骤h013:根据深度值差将候选区域的所有候选像素分类为第一像素集合和第二像素集合,第二像素集合中最小深度值差大于第一像素集合中最大深度值差;
[0171] 步骤h014:根据深度值差计算所有第一像素集合的深度值方差;
[0172] 步骤h015:第二条件根据深度值方差设置,判断候选像素是否符合第二条件;
[0173] 步骤h016:若深度值差符合第二条件,将符合第二条件的候选像素作为目标像素。
[0174] 步骤h011中,每一图像可以划分多个候选区域,该候选区域即可以认为是上述的图像区域P,该候选区域可以为5*5像素的区域,或者在一些实施中,候选区域也可以为其他像素尺寸的区域,在此不做限定,根据需要设置。其中每一候选区域均具有多个像素,包括中心像素和多个候选像素,其中,多个候选像素位于中心像素的周围。
[0175] 步骤h012中,如图6所示,候选像素xi的像素深度zi值为候选像素xi映射在最近初始表面S的点x到图像对应相机中心的深度距离,中心像素的像素深度值对应为中心像素映射到最近初始表面S的点到图像对应相机中心的深度距离,从而得出对应的深度值差。
[0176] 步骤h013中,由于每一候选像素可以计算对应的深度值差,相应的深度值差有多个,在进行划分时,可以通过多种方式划分。例如,在一些情况下,根据平均值划分,即计算多个深度值差的平均值,将小于平均值的深度值差对应的候选像素作为第一像素集合,将大于或等于平均值的深度值差对应的候选像素作为第二像素集合;或者,在一些情况下,根据中位数划分,即计算得出多个深度值差的中位数,将小于中位数的深度值差对应的候选像素作为第一像素集合,将大于或等于中位数的深度值差对应的候选像素作为第二像素集合;或者根据需要设定对应的划分阈值,以将候选区域的所有候选像素分类为第一像素集合和第二像素集合,使得第二像素集合中最小深度值差大于第一像素集合中最大深度值差。
[0177] 步骤h014至步骤h016中,由于第一像素集合的深度值差较小,说明第一像素集合中所有的候选像素的像素深度值与候选区域的中心像素的像素深度值的差异较小,在此情况下,说明该些候选像素所受的遮挡影响相对较小。而后,通过计算第一像素集合的深度值方差,以及第二条件根据深度值方差设置,以判断候选像素是否符合第二条件,将符合第二条件的候选像素作为目标像素。该第二条件将深度值差与深度值方差联系,使得符合第二条件的目标像素对应的深度值差与中心像素的像素深度值的差异进一步减小,从而进一步减小遮挡影响,提高网格优化误差的优化结果。
[0178] 在一些实施例中,第二条件可以设置为:候选像素对应的深度值差与深度值方差的差值符合预设阈值;或者,在一些实施例中,第二条件可以设置为:候选像素对应的深度值差与深度值方差的差值符合预设条件;或者,第二条件根据其他方式设置,在此不做限定,根据需要设置。
[0179] 步骤h011至步骤h016中,通过选择像素深度值较小的候选像素作为第一像素集合,使得第一像素集合中候选像素所受的遮挡影响相对较小。而后,通过计算第一像素集合的深度值方差,以及第二条件根据深度值方差设置,以判断候选像素是否符合第二条件,将符合第二条件的候选像素作为目标像素,使得该第二条件将深度值差与深度值方差联系,相应的,符合第二条件的目标像素对应的深度值差与中心像素的像素深度值的差异进一步减小,从而进一步减小遮挡影响,提高网格优化误差的优化结果。
[0180] 在一些实施例中,步骤h016进一步包括:
[0181] 步骤h017:将符合
[0182] 的候选像素作为目标像素,其中,dd(h,k)表示第一像素集合中每一候选像素对应的深度值差, 表示深度值方差,max{dd(h, k)}表示第一像素集合中最大深度值差。
[0183] 步骤h017中,通过将深度值差与深度值方差的差值控制在深度值差与最大深度值差的差值的10倍关系,使得深度值差较小以符合预期的深度值差异,得到符合要求的目标像素,从而计算网格优化误差。
[0184] 图2示出了本发明实施例提供的三维网格优化装置的结构示意图,该装置200包括:
[0185] 第一获取模块210,用于获取多个图像中的多组候选图像对和三维模型的初始表面,每一候选图像对包括不同视角的第一候选图像和第二候选图像,初始表面具有第一候选图像和第二候选图像共同映射在初始表面的共视区域,初始表面具有至少一网格面片;
[0186] 第一选择模块220,用于根据第一条件选择多组候选图像对中的目标图像对,第一条件基于共视区域的面积设置;
[0187] 第一计算模块230,用于根据目标图像对计算网格优化误差。
[0188] 在一些实施例中,第一选择模块220进一步包括:
[0189] 第一确定单元,用于确定第一候选图像的第一相机中心和第二候选图像的第二相机中心;
[0190] 第一运算单元,用于计算第一相机中心和第二相机中心到共视区域的平均视差;
[0191] 第二运算单元,用于根据平均视差计算视差质量误差;
[0192] 第一判断单元,用于判断视差质量误差是否符合质量误差范围;
[0193] 第二确定单元,用于若视差质量误差符合质量误差范围,将视差质量误差符合质量误差范围的候选图像对作为目标图像对。
[0194] 在一些实施例中,第一选择模块220进一步包括:
[0195] 第三运算单元,用于根据第一候选图像与第二候选图像映射在共视区域与第一候选图像映射在初始表面的第一区域,计算重叠度误差;
[0196] 第二判断单元,用于判断重叠度误差是否符合重叠度误差范围;
[0197] 第三确定单元,用于若重叠度误差符合重叠度误差范围,将重叠度误差符合重叠度误差范围的候选图像对作为目标图像对。
[0198] 在一些实施例中,第一选择模块220进一步包括:
[0199] 第四确定单元,用于确定第一候选图像的第一相机中心和第二候选图像的第二相机中心;
[0200] 第四运算单元,用于计算第一相机中心和第二相机中心关于共视区域的法向量的平均方向角度差;
[0201] 第五运算单元,用于根据平均方向角度差计算对称度误差;
[0202] 第三判断单元,用于判断对称度误差是否符合对称度误差范围;
[0203] 第五确定单元,用于若对称度误差符合对称度误差范围,将对称度误差符合对称度误差范围的候选图像对作为目标图像对。
[0204] 在一些实施例中,第一选择模块220进一步包括:
[0205] 第六确定单元,用于确定第一候选图像的第一相机中心和第二候选图像的第二相机中心;
[0206] 第六运算单元,用于计算第一相机中心和第二相机中心到共视区域的平均距离;
[0207] 第七运算单元,用于根据平均距离计算分辨率误差;
[0208] 第四判断单元,用于判断分辨率误差是否符合分辨率误差范围;
[0209] 第七确定单元,用于若分辨率误差符合分辨率误差范围,将分辨率误差符合分辨率误差范围的候选图像对作为目标图像对。
[0210] 在一些实施例中,第一选择模块220进一步包括:
[0211] 第八运算单元,用于将一候选图像对作为初始图像对,计算初始图像对在共视区域的初始平均覆盖率和初始覆盖率方差;
[0212] 第五判断单元,用于计算其他候选图像对在共视区域的候选平均覆盖率和候选覆盖率方差,判断候选平均覆盖率是否大于初始平均覆盖率,判断候选覆盖率方差是否小于初始覆盖率方差;
[0213] 第八确定单元,用于若候选平均覆盖率大于初始平均覆盖率且候选覆盖率方差小于初始覆盖率方差,将对应的候选图像对作为目标图像对。
[0214] 在一些实施例中,第一条件还基于候选图像对的视差质量误差、重叠度误差、对称度误差和分辨率误差设置,第一选择模块220进一步包括:
[0215] 第九运算单元,计算第一误差
[0216] ,其中,μ1、μ2、μ3、μ4均为权重,μ1+μ2+μ3+μ4=1, 表示视差质量误差, 表示重叠度误差, 表示对称度误差,
表示分辨率误差;
[0217] 第六判断单元,用于判断第一误差是否符合第一范围值;
[0218] 第九确定单元,用于若第一误差符合第一范围值,将第一误差符合第一范围值的候选图像对作为目标图像对。
[0219] 在一些实施例中,第一条件还基于候选图像对的视差质量误差、重叠度误差、对称度误差和分辨率误差设置,第一选择模块220进一步包括:
[0220] 第十运算单元,用于根据视差质量误差、重叠度误差、对称度误差和分辨率误差计算第一误差;
[0221] 第十一运算单元,用于将第一误差最小的候选图像对作为初始图像对,计算初始图像对在初始表面的初始平均覆盖率和初始覆盖率方差;
[0222] 第七判断单元,用于计算其他候选图像对在初始表面的候选平均覆盖率和候选覆盖率方差,判断候选平均覆盖率是否大于初始平均覆盖率,判断候选覆盖率方差是否小于初始覆盖率方差;
[0223] 第十确定单元,用于若候选平均覆盖率大于初始平均覆盖率且候选覆盖率方差小于初始覆盖率方差,将对应的候选图像作为待定图像对;
[0224] 第十二运算单元,用于计算每一待定图像对的第一误差,将n个待定图像对的第一误差作为待定误差,n为大于0的正整数;
[0225] 第八判断单元,用于将n个初始图像对的第一误差总和作为初始误差,判断待定误差是否小于或等于初始误差乘以预设系数,预设系数小于1大于等于0.8;
[0226] 第十一确定单元,用于若待定误差小于或等于初始误差乘以预设系数,将待定误差小于或等于初始误差乘以预设系数的待定图像对作为目标图像对。
[0227] 在一些实施例中,该装置还包括:
[0228] 第二选择模块,用于根据第二条件选择图像的目标像素,第二条件根据图像的像素深度值设置;
[0229] 第二计算模块,用于根据目标像素计算网格优化误差。
[0230] 在一些实施例中,第二选择模块进一步包括:
[0231] 第一划分单元,用于将图像分成多个候选区域,每一候选区域中具有中心像素和多个候选像素;
[0232] 第十三运算单元,用于计算深度值差,深度值差为候选像素的像素深度值与中心像素的像素深度值之差;
[0233] 第十二确定单元,用于根据深度值差将候选区域的所有候选像素分类为第一像素集合和第二像素集合,第二像素集合中最小深度值差大于第一像素集合中最大深度值差;
[0234] 第十四运算单元,用于根据深度值差计算每一候选区域中第一像素集合的深度值方差;
[0235] 第九判断单元,用于第二条件根据深度值方差设置,判断候选像素是否符合第二条件;
[0236] 第十三确定单元,用于若深度值差符合第二条件,将符合第二条件的候选像素作为目标像素。
[0237] 在一些实施例中,第十三确定单元进一步包括:
[0238] 第十四确定单元,用于将符合
[0239] 的候选像素作为目标像素,其中,dd(h,k)表示第一像素集合中每一候选像素对应的深度值差, 表示深度值方差,max{dd(h, k)}表示第一像素集合中最大深度值差。
[0240] 图3示出了本发明实施例提供的计算设备的结构示意图,本发明具体实施例并不对计算设备的具体实现做限定。
[0241] 如图3所示,该计算设备可以包括:处理器(processor)302、通信接口(Communications Interface)304、存储器(memory)306、以及通信总线308。
[0242] 其中:处理器302、通信接口304、以及存储器306通过通信总线308完成相互间的通信。通信接口304,用于与其它设备比如客户端或其它服务器等的网元通信。处理器302,用于执行程序310,具体可以执行上述用于三维网格优化方法实施例中的相关步骤。
[0243] 具体地,程序310可以包括程序代码,该程序代码包括计算机可执行指令。
[0244] 处理器302可能是中央处理器CPU,或者是特定集成电路ASIC(Application Specific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。计算设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
[0245] 存储器306,用于存放程序310。存储器306可能包含高速RAM存储器,也可能还包括非易失性存储器(non‑volatile memory),例如至少一个磁盘存储器。
[0246] 本发明实施例还提供一种种计算机可读存储介质,存储介质中存储有至少一可执行指令,可执行指令在运行时执行上述任一项的三维网格优化方法的操作。
[0247] 在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
[0248] 在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
[0249] 类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。
[0250] 本领域技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的的替代特征来代替。
[0251] 应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。