一种图像深度预测方法及电子设备与流程

文档序号:31563134发布日期:2022-09-20 18:32阅读:34来源:国知局
1.本技术涉及图像处理
技术领域
:,具体涉及一种图像深度预测方法及电子设备。
背景技术
::2.图像的三维(three-dimensional,3d)重建技术具有广泛的应用,例如地质勘测、地图测绘、增强现实(augmentedreality,ar)、虚拟现实(virtualreality,vr)等。特别是ar技术的发展,手机等移动终端也具备了ar功能,由此使得基于ar技术的环境交互、信息推送、虚拟娱乐等应用(application,app)开始涌现。进而也对三维重建技术有了更多的需求。3.就目前而言,三维重建技术主要分为如下三种。4.a,激光采集,其重建效果最好,可直接输出点云结果,但是采集设备昂贵,采集流程难度较高,不适合面向普通消费者。5.b,深度相机采集,其可直接获取所拍摄场景的深度信息,成本相对激光采集较低。6.但三维重建效果一般。7.c,rgb图像结合稠密重建(multi-viewstereomatching,mvs)算法,成本低廉,重建效果仅次于激光采集。因此,相对于激光采集和深度相机采集,具有综合优势。特别是基于深度学习(deeplearning)的稠密重建算法具有较高的精度及计算速度,已被广泛采用。8.稠密重建算法包括深度预测和点云融合两个部分,其中,深度预测预测到的图像深度直接决定了点云的精度。深度预测的原理为设置多个假设深度,并通过单因性变化,找到主视图像素在各假设深度下在辅助视图上的采样点,然后计算主视图像素和各假设深度下的采样点之间的相似度,并由此确定各假设深度是主视图像素真实深度的概率,并将概率最大的假设深度作为预测结果。因此,如何使主视图像素在真实深度下在辅助视图上对应的像素,参与深度预测,对提升深度预测的效果具有重要意义。技术实现要素:9.本技术实施例提供了一种图像深度预测方法及电子设备,以提升深度预测的效果。10.第一方面,本技术实施例提供了一种图像深度预测方法,包括:获取主视图和第一辅助视图,主视图和所述第一辅助视图是相机以不同角度面对第一物体时拍摄的图像,主视图包括第一像素,第一像素在第一假设深度下对应第二像素,第二像素位于第一辅助视图上;根据第二像素的特征信息和至少一个第三像素的特征信息,更新第二像素的特征信息;至少一个第三像素位于第二像素和第四像素之间的连线上,第四像素是第一像素在第二假设深度下在第一辅助视图上对应的像素,第二假设深度和第一假设深度在预设的d个假设深度中相邻,d为大于1的正整数;根据第一像素的特征信息和第二像素更新后的特征信息,得到第一假设深度的概率,第一假设深度的概率用于表示第一假设深度是第一像素的真实深度的可能性。11.在该方法中,可以将相邻采样点之间的像素的特征汇聚到附近的采样点的特征中,并据此确定相应的假设深度是主视图像素真实深度的可能性,从而使得真实深度对应的像素特征可以更大概率地参与深度预测,提高了深度预测的准确率。12.其中,可以利用单应性变换(homography),确定第一像素在第一假设深度下对应第二像素。在单应性变换中,可以将第一像素在主视图上的坐标转换为假设深度下的物点在相机坐标系的坐标,再将物点在相机坐标系的坐标转换到辅助视图上的像素坐标,该像素坐标对应的像素第二像素。其中,单应性变换的具体实现过程可以参考现有技术的介绍,此处不再赘述。13.假设深度是指为在深度预测过程中,为像素假设的深度,其可以是基于主视图以及辅助视图的相机参数,人为设定的深度。14.真实深度是指像素的实际深度,其具体为该像素对应的物点到记录图像的平面之间的距离。15.第二像素和第四像素之间的连线是指以第二像素为一侧端点,第四像素为另一侧端点的线段。即该连线为第二像素和第四像素为端点的线段。16.在一种可能的实现方式中,该方法还包括:根据第四像素的特征信息和至少一个第五像素的特征信息,更新第四像素的特征信息;该至少一个第五像素位于第二像素和第四像素之间的连线上;根据第一像素的特征信息和第四像素更新后的特征信息,得到第二假设深度的概率,第二假设深度的概率用于表示第二假设深度是第一像素的真实深度的可能性。17.在一种可能的实现方式中,该至少一个第五像素和该至少一个第三像素互不相同,该至少一个第五像素比该至少一个第三像素靠近第四像素;或者,包含于该至少一个第五像素但不包含于该至少一个第三像素的像素,比包含于该至少一个第三像素但不包含于该至少一个第五像素的像素,靠近第四像素。18.也就是说,在该实现方式中,对极线上采样点之外的像素的特征可以汇聚到最近采样点的特征中,以参与深度预测,由此可以避免或减少图像深度预测中的误判。19.在一种可能的实现方式中,该至少一个第五像素和该至少一个第三像素的并集包括第二像素和第三像素之间的所有像素。20.也就是说,相邻采样点之间的所有像素可以参与深度预测,从而可以保障真实深度对应的像素特征可以参与深度预测,提高了深度预测的准确率。21.在一种可能的实现方式中,所述方法还包括:缩小d个假设深度对应的取值区间的大小,得到第一区间的大小,第一区间用作第一像素深度再次预测时的假设深度的取值区间。其中,d个假设深度对应的取值区间是指包括了该d个假设深度的深度值得区间,在该取值区间取d个深度值,得到了该d个假设深度。22.其中,可以将由d个假设深度的概率确定的预测深度作为该第一区间的中值,由此可以确定具有特定上下限的区间,以便再次预测第一像素的深度。其中,在一个例子中,可以将d个假设深度中概率最大的假设深度作为该预测深度。在另一个例子中,可以将d个假设深度中的每个假设深度乘以其概率,得到一个深度值。d个假设深度可以得到d个深度值,将该d个深度值进行加和,得到该预测深度。23.也就是说,在该实现方式中,可以缩小假设深度所在的取值区间,并以预测到的深度为缩小后的取值区间的中值,由此可以在降低计算复杂度的同时,提高深度预测的准确率。24.在一种可能的实现方式中,d个假设深度对应的取值区间缩小的幅度与d个假设深度的概率之间的离散程度负相关。25.可以理解,多个概率的离散度越高,假设深度是或不是像素真实深度的不确定性越高,在这种情况下,小幅度缩小假设深度所在的取值区间,可以使缩小后的取值区间可以大概率包括真实深度。26.在一种可能的实现方式中,d个假设深度对应的取值区间缩小的幅度与第一像素在d个假设深度下的熵值负相关。在信息学,熵值(可以简称为熵)用于表示多个概率(概率也可以称为概率值)之间的离散程度,其反映了某个指标的不确定性。熵值越大,不确定性越大,用于描述这种不确定性的信息量也越大。27.在该实现方式中,熵值反映了d个假设深度为像素真实深度的不确定性,也反映了在d个假设深度上所有可能状态需要的编码长度。其中,d个第一概率的分布可以有熵值表示,也就是说,熵值可以较为真实地反映d个第一概率的分布的集中程度,由此通过熵值来表示d个第一概率的离散程度,进而确定区间缩小的幅度,可以进一步避免将真实深度从假设深度对应的取值区间中排除。28.在一种可能的实现方式中,该方法还包括:缩小d′个假设深度对应的取值区间的大小,得到第二区间的大小,第二区间用作第六像素深度再次预测时的假设深度的取值区间;d′个假设深度对应的取值区间的缩小的幅度等于d个假设深度对应的取值区间的缩小的幅度;第六像素为所述主视图上的一个像素,且与第一像素不同;d′为大于1的正整数。29.d’个假设深度对应的取值区间是指包括了该d’个假设深度的深度值得区间,在该取值区间取d’个深度值,得到了该d’个假设深度。30.其中,可以将由d′个假设深度的概率确定的预测深度作为该第二区间的中值,由此可以确定具有特定上下限的区间,以便再次预测第一像素的深度。其中,在一个例子中,可以将d′个假设深度中概率最大的假设深度作为该预测深度。在另一个例子中,可以将d′个假设深度中的每个假设深度乘以其概率,得到一个深度值。d′个假设深度可以得到d′个深度值,将该d′个深度值进行加和,得到该预测深度。31.可以理解,主视图上不同像素的真实深度之间的差值是固定的,按照相同的缩小幅度缩小不同像素对应的假设深度区间的大小,可以提高主视图上像素深度预测的准确率。32.在一种可能的实现方式中,d个假设深度对应的取值区间的缩小的幅度与d个假设深度的概率之间的离散程度负相关,且d’个假设深度的概率之间的离散程度负相关。33.在该实现方式中,缩小幅度受主视图上不同像素对应的离散程度的约束,即在设定缩小幅度时,可以综合考虑主视图上不同像素对应的离散程度,可提高缩小幅度的合理性。34.在一种可能的实现方式中,d个假设深度对应的取值区间缩小的幅度与第一像素在d个假设深度下的熵值负相关,且与第六像素在d’个假设深度下的熵值负相关。35.第二方面,本技术实施例提供了一种图像深度预测预测装置,包括:获取单元,用于获取主视图和第一辅助视图,所述主视图和所述第一辅助视图是相机以不同角度面对第一物体时拍摄的图像,所述主视图包括第一像素,所述第一像素在第一假设深度下对应第二像素,所述第二像素位于所述第一辅助视图上;更新单元,用于根据第二像素的特征信息和至少一个第三像素的特征信息,更新所述第二像素的特征信息;所述至少一个第三像素位于所述第二像素和第四像素之间的连线上,所述第四像素是所述第一像素在第二假设深度下在所述第一辅助视图上对应的像素,所述第二假设深度和所述第一假设深度在预设的d个假设深度中相邻,d为大于1的正整数;得到单元,用于根据所述第一像素的特征信息和所述第二像素更新后的特征信息,得到所述第一假设深度的概率,所述第一假设深度的概率用于表示所述第一假设深度是所述第一像素的真实深度的可能性。36.在一种可能的实现方式中,所述更新单元还用于根据所述第四像素的特征信息和至少一个第五像素的特征信息,更新所述第四像素的特征信息;所述至少一个第五像素位于所述第二像素和所述第四像素之间的连线上;所述得到单元还用于根据所述第一像素的特征信息和所述第四像素更新后的特征信息,得到所述第二假设深度的概率,所述第二假设深度的概率用于表示所述第二假设深度是所述第一像素的真实深度的可能性。37.在一种可能的实现方式中,所述至少一个第五像素和所述至少一个第三像素互不相同,所述至少一个第五像素比所述至少一个第三像素靠近所述第四像素;或者,包含于所述至少一个第五像素但不包含于所述至少一个第三像素的像素,比包含于所述至少一个第三像素但不包含于所述至少一个第五像素的像素,靠近所述第四像素。38.在一种可能的实现方式中,所述至少一个第五像素和所述至少一个第三像素的并集包括所述第二像素和所述第四像素之间连线上的所有像素。39.在一种可能的实现方式中,所述装置还包括缩小单元,用于缩小所述d个假设深度对应的取值区间的大小,得到第一区间的大小,所述第一区间用作所述第一像素深度再次预测时的假设深度的取值区间。40.在一种可能的实现方式中,所述d个假设深度对应的取值区间缩小的幅度与所述第一像素在所述d个假设深度下的熵值负相关。41.在一种可能的实现方式中,所述缩小单元还用于缩小d′个假设深度对应的取值区间的大小,得到第二区间的大小,所述第二区间用作第六像素深度再次预测时的假设深度的取值区间;所述d′个假设深度对应的取值区间的缩小的幅度等于所述d个假设深度对应的取值区间的缩小的幅度;所述第六像素为所述主视图上的一个像素,且与所述第一像素不同;d′为大于1的正整数。42.在一种可能的实现方式中,所述d个假设深度对应的取值区间缩小的幅度与所述第一像素在所述d个假设深度下的熵值负相关,且与所述第六像素在所述d′个假设深度下的熵值负相关。43.第三方面,本技术实施例还提供了一种电子设备,包括处理器、存储器;所述存储器用于存储计算机程序;所述处理器用于执行所述计算机程序,以实现如第一方面所提供的方法。44.第四方面,本技术实施例一种计算机存储介质,所述计算机存储介质上存储有计算机程序,当所述计算机程序由处理器执行时,实现如第一方面所提供的方法。45.第六方面,本技术实施例提供了一种计算机程序产品,包括用于实现如第一方面所提供的方法的程序。46.本技术实施例提供的图像深度预测方法及电子设备,可以将对极线上非采样点的像素的特征汇聚到附近的采样点特征中,从而可以在无需设置更多数量的假设深度的情况下,利用对极线上更多像素的特征进行深度预测,可提高深度预测的准确率。附图说明47.图1为一种三维重建流程示意图;48.图2为本技术实施例提供的一种图像深度预测架构图;49.图3为本技术实施例提供的主视图像素在不同假设深度下和辅助视图的映射关系示意图;50.图4a为本技术实施例提供的一种相邻采样点间距示意图;51.图4b为本技术实施例提供的一种相邻采样点间距示意图;52.图4c为本技术实施例提供的一种相邻采样点间距示意图;53.图5为本技术实施例提供的一种缩小幅度确定流程图;54.图6为本技术实施例提供的一种神经网络结构示意图;55.图7为本技术实施例提供的一种图像深度预测方法流程图;56.图8为本技术实施例提供的一种神经网络结构示意图;57.图9为本技术实施例提供的一种图像深度预测方法流程图;58.图10为本技术实施例提供的一种图像深度预测装置示意性框图;59.图11为本技术实施例提供的一种电子设备示意性框图。具体实施方式60.下面将结合附图,对本技术实施例中的技术方案进行描述。显然,本说明书所描述的实施例仅是本技术一部分实施例,而不是全部的实施例。61.稠密重建,也可以称为多视图匹配,其属于多视图立体几何领域,用于在相机位姿(在三维空间中的姿态和位置)已知的情况下,逐像素的计算图像中像素(或者说像素点)对应或者说代表的物点,得到物体表面的三维点云。具体而言,可参阅图1,在稠密重建过程中,可以基于rgb图像,进行深度预测,获得深度图,并将深度图上的各像素转化为点云。点云可以转化为网格(mesh),以进一步精简图像的细节信息,得到白模,由此完成三维重建。白模为一种三维模型,可以用于测绘、ar、vr、图像语义识别等。62.其中,像素对应的物点是指该像素对应的真实世界中三维点。可以理解,图像是真实世界中物体的影像,像素是物体上的点(即物点)的影像。在稠密重建技术中,深度预测是指利用相机参数和rgb图像本身的信息对图像深度进行预测。深度图是指具有像素深度的图像。像素深度用于表示记录图像的平面与该像素代表的物体之间的垂直距离。示例性的,记录图像的平面可以是相机的焦平面。其中,焦平面是指相机的过相机的焦点,且与相机的光轴垂直的平面。点云,即三维点云,是指在某个坐标系下的点的数据集,点包含了三维坐标(x,y,z)、颜色、分类值、强度值、时间等等信息。白模是指点云转化为网格(mesh)后,进一步精简图像细节信息得到的三维模型。63.对于稠密重建而言,其深度预测具有单阶段深度预测和多阶段深度预测两种方式。64.单阶段深度预测的基本过程为,根据相机参数(相机外参矩阵以及相机的内参矩阵等)确定主视图和辅助视图之间的相机几何关系,并利用几何位置关系,确定主视图和辅助视图之间的像素映射关系,并据此构建匹配代价量(costvolume),完成深度预测。其具体过程可以包括以下几步。65.1)特征提取:66.可以利用二维卷积神经网络(convolutionneuralnetwork,cnn)对采集到的多个图像分别进行特征提取,获取图像的高维语义信息。其中,还可以得到图像上个像素的特征信息。67.2)像素匹配:68.将该多个图像中需要进行深度预测的图像作为主视图(referenceview),该多个图像中与主视图关联度最高的若干图像作为辅助视图(sourceview)。其中,主视图和辅助视图的相机拍摄角度不同。换言之,主视图和辅助视图是相机以不同的角度面对物体时所拍摄的图像。69.在主视图相机参数提供的深度取值区间r内设置d个假设深度。假设深度是指为像素假设的深度,其可以是人为设定或猜测的或估计的深度。70.利用主视图和辅助视图之间的相机几何关系,将主视图上所有像素分别通过d个假设深度投影到辅助视图上,得到采样点(即在假设深度下,主视图上的像素对应到的辅助视图上的像素)。如此,主视图上每个像素都会在每个辅助视图上得到d个采样点。其中,依据几何关系主视图上同一个像素对应的d个采样点会分布在同一条对极线上。对极线是指物点与主视图相机中心(焦点)、辅助视图相机中心(焦点)连线所构成的极平面与辅助视图的交线。71.之后,对于主视图上的一个像素而言,可以分别计算其与d个采样点之间的特征匹配关系(cost)或者说相似度,得到一个包括d个关系序列或者说d个相似度。其中,一个像素的d个相似度构成了该像素的匹配代价量(costvolume),主视图上所有像素的匹配代价量的集合称为主视图的匹配代价量。在辅助视图为多个时,主视图与每一个辅助视图都会形成一个主视图匹配代价量。将对应于不同辅助视图的主视图匹配代价量通过加权求和等方式聚合之后,得到主视图最终的匹配代价量。该匹配代价量代表了主视图与所有辅助视图的深度匹配关系。72.3)正则(regularization):73.步骤2)得到的主视图匹配代价量中不同像素的匹配代价量之间的数值分布上差异较大,并且只是像素之间的匹配关系。通常可以通过3d卷积神经网络(3dcnn)对主视图匹配代价量进行信息提取与平滑处理,这个过程可称之为正则。74.4)深度预测:75.步骤3)正则之后的主视图匹配代价量,可经过softmax激活函数计算后得到主视图像素在预设的d个假设深度处的预测概率值。其中,d个假设深度处的预测概率值所构成的集合可以称为概率量(probabilityvolume),其代表了主视图中每个像素在不同深度假设处的归一化匹配概率值,通过取最大概率值对应的深度或者根据概率分布计算深度期望的方式得到主视图各像素的预测深度,从而得到主视图的深度图像或者说深度预测图。76.单阶段深度预测步骤2)中假设深度数量d会直接影响到深度预测精度,即在d取较大值的情况下,相邻深度假设平面之间的间隔小,深度预设的粒度更细,因此可以带来更高的精度。反之相邻深度假设平面的间隔大,深度预设的粒度粗糙,精度便会相应降低。但是更大的假设深度数量d会直接导致匹配代价量形状大小的线性增长,同时由于正则采用了3dcnn,其计算量和计算耗时也会大大增加。77.因此,提出了多阶段深度预测,其在单阶段深度预测的基础上引入了由粗到细(coarse-to-fine)机制,通过采用图像金字塔的特征提取网络得到不同分辨率的特征图,先在低分辨率的特征图上在相机参数提供的假设深度取值区间内预设较小数量的深度假设d1进行粗粒度的深度预测;之后通过重复单阶段深度预测的步骤2、3、4。再以上一阶段预测到深度为中心,取更少的假设深度数量d_2,辅以更小的深度假设间隔构建每个像素的假设深度进行深度预测。如此反复。由于后续阶段的深度预测都是以前一阶段预测的深度为基础,在减少了假设深度数量d的同时,缩小了假设深度取值区间和假设深度间隔,从而在降低了后续阶段预测难度的基础上,可不断提高深度预测精度,以达到较好的深度预测结果。其中,假设深度取值区间也可以称为深度假设区间,其为一个长度范围,可以在其中取多个深度值不同的假设深度。78.通过上文论述可知,计算主视图像素和像素映射到辅助视图上的采样点之间的相似度,并根据该相似度确定相应假设深度是主视图像素真实深度的概率。由于各采样点对应的假设深度均是假设的,这些假设深度可能均不是主视图像素真实深度,使得各采样点可能均不是主视图像素真实对应的像素。而利用这些采样点与主视图像素之间的相似度来预测深度,可能无法准确预测到主视图像素真实深度或者说预测效果较差。79.另外,对于多阶段深度预测,其后续阶段的深度预测所采用的假设深度的取值区间,依赖于前一阶段的深度预测结果。即根据前一阶段的深度预测结果,调整假设深度的取值区间,再用于后续阶段的深度预测。目前,通过固定的深度缩小幅度,来调整假设深度的取值区间。由此,可能发生区间缩小过于剧烈,从而使得缩小后的区间不包含真实深度的情况。也有可能发生区间缩小过于保守而导致计算量耗时的情况。因此,对于多阶段深度预测,也有必要根据不同的情况采取不同的缩小幅度,来缩小假设深度取值区间。80.针对上述情况,本技术实施例对上述步骤2)进行了改进,提供了一种图像深度预测方法,其中,可以设定主视图a上一像素a1在假设深度d1(即假设像素a1对应物点a1到主视图的图像记录平面之间的距离为假设深度d1)下对应辅助视图b上的像素p1(即在假设物点a1到主视图的图像记录平面之间的距离为假设深度d1的情况下,物点a1对应像素p1,进而像素a1可以对应到像素p1)。其中,图像记录平面可以为相机的焦平面。像素p1可以称为在假设深度d1的约束下,像素a1在辅助视图b上的采样点。可以将对极线上靠近像素p1的一个或多个像素的特征聚合到像素p1的特征中,得到像素p1新的特征。也就是说,可以以像素p1为中心进行池化操作,以汇集对极线上更多像素信息,得到像素p1的新的特征。再根据像素p1新的特征和像素a1的特征,确定像素p1和像素a1之间的相似度或者说匹配关系,并据此确定假设深度d1是像素a1真实深度的概率,可以提高深度预测的概率。81.接下来,在不同实施例中,对本技术实施例提供的图像深度预测方法进行示例说明。82.本技术实施例提供的图像深度预测方法可以由电子设备执行。该电子设备可以为任何具有计算、处理能力的装置、设备、平台、设备集群。示例性的,该电子设备可以为用户设备(userequipment,ue),该用户设备可以为移动的或固定的,例如该用户设备可以是具有图像处理功能的移动电话、平板个人电脑(tabletpersonalcomputer,tpc)、媒体播放器、智能电视、笔记本电脑(laptopcomputer,lc)、个人数字助理(personaldigitalassistant,pda)、个人计算机(personalcomputer,pc)、照相机、摄像机、智能手表、可穿戴式设备(wearabledevice,wd)等,本技术实施例对此不作限定。83.图2示出了本技术实施例提供的一种图像深度预测架构。该架构可以包括特征提取模块,其可以获取多个图像以及该多个图像中各图像的相机参数。该多个图像中不同图像是相机以不同角度面对场景物体时所拍摄到的。其中,不同图像的拍摄相机可以相同,也可以不同。该多个图像中包括预设的主视图,即需要预测深度的图像。例如主视图可以为图像a。其中,当图像a为主视图时,可以将图像a称为主视图a。该多个图像中除主视图之外的图像作为辅助视图。其中,一个主视图的辅助视图可以有一个,也可以有多个。84.特征提取模块可以提取图像上各像素的特征。示例性的,特征提取模块可以包括一个或多个二维卷积层。利用该一个或多个二维卷积层中的卷积核,对图像上的像素特征进行卷积操作,可以得到像素的高维语义信息。像素的高维语义信息也可以是指经过特征提取操作提取得到的特征,其也可以称为像素的特征。85.采样点确定模块可以获取主视图a上的像素a1的最大可能深度和最小可能深度。其中,最大可能深度是指像素a1的深度最大可能值。也就是说,像素a1的真实深度不会大于最大可能深度。最小可能深度是指像素a1的深度最小可能值。也就是说,像素a1的真实深度不会小于最小可能深度。像素的最大可能深度和最小可能深度的确定过程,可以参考现有技术的介绍,在此不再赘述。由此,采样点确定模块可以得到像素a1的初始假设深度取值区间,其中,该初始假设深度取值区间的上限为像素a1的深度最大可能值,下限为像素a1的深度最小可能值。在该初始假设深度取值区间,可以设置d个假设深度。其中,该d个假设深度中不同假设深度的深度值大小不同。86.采样点确定模块还可以获取主视图a及其辅助视图的相机参数。图像的相机参数可以包括相机的外参矩阵和内参矩阵。相机的外参矩阵用于表示相机本身的位置、姿态等。相机的内参矩阵用于表示相机坐标系和图像坐标系之间的关系等。由此,采样点确定模块可以根据像素a1的d个假设深度中的假设深度d1、像素a1在主视图上的坐标、主视图的相机参数、辅助视图b的相机参数,利用单应性变换(homography)算法,可以在辅助视图b上确定出一个像素p1。像素p1可以称为采样点p1,或者说像素a1在假设深度d1下的采样点p1。d个假设深度,可以分别确定出d个采样点。其中,在单应性变换中,可以将像素a1在主视图上的坐标转换为假设深度下的物点在相机坐标系的坐标,再将物点在相机坐标系的坐标转换到辅助视图上的像素坐标,该像素坐标对应的像素即为像素a1在该假设深度下在辅助视图上对应的采样点或者说像素。其中,单应性变换的具体实现过程可以参考现有技术的介绍,此处不再赘述。87.在一些实施例中,参阅图3,可以设定d为3,3个假设深度分别为假设深度d1、假设深度d2和假设深度d3。在这三个假设深度下,可以确定出如图4所示的3个采样点,分别为采样点p1、采样点p2、采样点p3。根据计算图形学或者对极几何学,这三个采样点均位于对极线上。该对极线是由像素a1、主视图a的相机中心、辅助视图的相机中心所确定的极平面与辅助视图b1的交线。88.采样点确定模块可以将确定出的d个采样点的坐标传递给对极线池化模块。对极线池化模块可以根据d个采样点的坐标,确定对极线(根据对极几何,d个采样点中任意两个采样点的连线即可以确定对极线),以及确定d个采样点中相邻采样点之间的间距。其中,采样点之间的间距是指在对极线方向上的间距。具体而言,可以确定位于两个相邻采样点之间,且位于对极线上的像素个数。该像素个数的多少用于表示间距的大小。89.对极线池化模块可以根据当前采样点(即当前分析或关注的采样点)分别与其两侧相邻采样点之间的间距大小,确定该当前采样点的池化核(poolingkernel)的大小。池化核可以理解为池化窗口,可以对当前采样点的池化核所覆盖的,且位于对极线上的像素的特征进行池化操作,得到当前采样点新的特征。其中,池化操作可以理解成一种信息聚合操作或者说信息汇聚操作。可以理解,特征提取模块提取到的像素特征的形式通常为特征值或者特征矩阵。池化操作具体可以是对多个特征值或特征矩阵进行取均值操作,也可以是取最大值操作,也可以是加权求和操作等,此处不再一一列举。其中,池化操作的具体实现过程可以参考现有技术的介绍,在此不再赘述。90.接下来,结合图3、图4a、图4b、图4c,示例介绍确定当前采样点的池化核大小的过程。91.可以设定图3所示的采样点p2为当前采样点,其两侧相邻的采样点分别为采样点p1核采样点p2,其中采样点p2和采样点p1之间的间隔用δp1表示或者说指代,采样点p2和采样点p3之间的间隔用δp2表示或者说指代。92.在一个例子中,如图4a所示,可以设定δp1的大小小于一个像素,δp2的大小也小于一个像素。即采样点p1、采样点p2、采样点p3是辅助视图b上依次紧密相邻的三个像素点。在这种情况下,不对采样点p2进行池化处理。93.在一个例子中,如图4b所示,可以设定δp1的大小为两个像素,即采样点p1和采样点p2之间在对极线上相隔2个像素。还可以设定δp2的大小为两个像素,即采样点p3和采样点p2之间在对极线上相隔2个像素。可以设置如图4b所示的池化核,使其可以覆盖δp1中靠近采样点p2的那个像素,并且可以覆盖δp2中靠近采样点p2的那个像素。对池化核覆盖的像素(δp1中靠近采样点p2的那个像素、δp2中靠近采样点p2的那个像素以及采样点p2)的特征进行池化操作,从而可以将δp1中靠近采样点p2的那个像素的特征和δp2中靠近采样点p2的那个像素的特征汇聚到采样点p2上,得到采样点p2新的特征。可以理解,δp1中靠近采样点p2的那个像素以及δp2中靠近采样点p2的那个像素都有可能是像素a1在真实深度下对应的像素或者说特征点,将其特征信息汇聚到采样点p2的新的特征中,可以提高深度预测的准确度。94.同理,δp1中靠近采样点p1的那个像素可以在采样点p1的池化过程中,汇聚到采样点p1上。δp2中靠近采样点p3的那个像素可以在采样点p3的池化过程中,汇聚到采样点p3上,以提高深度预测的准确度。95.在一个例子中,如图4c所示,可以设定δp1的大小为4个像素,即采样点p1和采样点p2之间在对极线上相隔4个像素。还可以设定δp2的大小为4个像素,即采样点p3和采样点p2之间在对极线上相隔4个像素。可以设置如图4c所示的池化核,使其可以覆盖δp1中靠近采样点p2的那两个像素,并且可以覆盖δp2中靠近采样点p2的那个两个像素。对池化核覆盖的像素(δp1中靠近采样点p2的那两个像素、δp2中靠近采样点p2的那两个像素以及采样点p2)的特征进行池化操作,从而可以将δp1中靠近采样点p2的那个两个像素的特征和δp2中靠近采样点p2的那个两个像素的特征汇聚到采样点p2上,得到采样点p2新的特征。可以理解,δp1中靠近采样点p2的那个两个像素以及δp2中靠近采样点p2的那个两个像素都有可能是像素a1在真实深度下对应的像素或者说特征点,将其特征信息汇聚到采样点p2的新的特征中,可以提高深度预测的准确度。96.同理,δp1中靠近采样点p1的那两个像素可以在采样点p1的池化过程中,汇聚到采样点p1上。δp2中靠近采样点p3的那两个像素可以在采样点p3的池化过程中,汇聚到采样点p3上,以提高深度预测的准确度。97.上文结合图4a-图4c对确定当前采样点池化核的大小进行了示例说明,并非限定。简而言之,可以将当前采样点与其相邻采样点之间间隔的像素中靠近当前采样点的像素的特征汇聚到当前采样点的特征中,以形成当前采样点新的特征。在一些实施例中,靠近当前采样点的像素可以是指当前采样点与其相邻采样点之间间隔的多个像素中部分像素,该部分像素相较于该多个像素中其他像素更靠近当前采样点。在一些实施例中,靠近当前采样点的像素可以是指当前采样点与其相邻采样点之间间隔的像素中所有像素。98.在一些实施例中,可以设定采样点p3对应的假设深度d3为最大可能深度,则可以将采样点p3和采样点p2之间的像素中靠近采样点p3的像素的特征和采样点p3的特征进行池化操作,以得到采样点p3新的特征。99.在一些实施例中,可以设定采样点p1对应的假设深度d1为最小可能深度,则可以将采样点p1和采样点p2之间的像素中靠近采样点p1的像素的特征和采样点p1的特征进行池化操作,以得到采样点p1新的特征。100.通过上述方案,可以将采样点附近,且位于对极线上的像素的特征和采样点的特征进行汇聚,得到采样点新的特征。可以根据采样点新的特征和像素a1的特征,计算采样点和像素a1之间的相似度。101.当主视图a的辅助视图为多个时,对于辅助视图b1之外的其他辅助视图,可以采用上述d个假设深度,进行单应性变换,在每个辅助视图上确定出d个采样点。对于每个辅助视图上的d个采样点,采用上述动态池化操作,得到每个采样点新的特征。然后,根据每个采样点新的特征和像素a1的特征,各自计算采样点和像素a1的像素度。如此,对于一个辅助视图而言,可以得到d个相似度。其中,d个相似度中不同相似度分别对应d个假设深度中不同的假设深度。102.可以将所有辅助视图对应同一假设深度的相似度进行聚合,例如取均值、取最大值操作或加权求和操作等。如此,可以将各个辅助视图在同一假设深度下对应的相似度汇汇聚在一起,得到各辅助视图在同一假设深度下的综合相似度。对于d个假设深度,可以得到d个综合相似度。其中,d个综合相似度中不同相似度分别对应d个假设深度中不同的假设深度。该d个综合相似度可以构成像素a1在本次预测阶段的匹配代价量(costvolume)。103.参考像素a1的匹配代价量的确定方式,可以确定主视图a上其他像素的匹配代价量。104.回到图2,在一些实施例中,对极线池化模块可以将主视图a上各像素的匹配代价量传递给正则模块。在一个例子中,正则模块可以为3d卷积神经网络,其可以对主视图上各像素的匹配代价量进行信息提取和平滑处理。具体可以参考现有技术的介绍,在此不再赘述。105.对于主视图a上的一像素,例如像素a1,而言,其匹配代价量或经过正则后的匹配代价量可以在深度预测模块中被转换为概率量(probabilityvolume)。如上所述,像素a1的匹配代价量由d个相似度构成(主视图的辅助视图只有一个)或d个综合相似度构成(主视图的辅助视图有多个)。可以利用归一化函数(例如softmax函数)将d个相似度或d个综合相似度映射为d个概率值。该d个概率值构成了像素a的probabilityvolume。其中,每个概率值表示该概率值对应的假设深度像是像素a1真实深度的概率。即d个概率值中每个概率值越大,表示该概率值对应的假设深度是像素a1真实深度的概率越大,或者说像素a1真实深度是该概率值对应的假设深度的可能性越大。106.参考像素a1的probabilityvolume的确定方式,可以确定主视图上其他像素的probabilityvolume,此处就不再一一赘述。107.继续参阅图2,深度预测模块可以基于主视图上各像素的probabilityvolume,生成主视图的深度图。其中,在深度图中,每个像素的深度可以是该像素的probabilityvolume中最大概率值对应的深度。108.在一些实施例中,图2所示的架构还包括区间调整模块。区间调整模块可以包括区间大小调整单元。其中,深度预测模块可以将主视图像素的probabilityvolume传递给区间大小调整单元。109.在一些实施例中,区间大小调整单元可以根据像素的probabilityvolume中的概率值的离散程度,确定缩小幅度。缩小幅度用于缩小假设深度取值区间,以得到新的假设深度取值区间。缩小幅度是指缩小前的假设深度区间的大小和缩小后的假设深度区间的大小之间的差异。缩小幅度越大,缩小前的假设深度区间的大小和缩小后的假设深度区间的大小之间的差异越大。缩小幅度越大,缩小前的假设深度区间的大小和缩小后的假设深度区间的大小之间的差异越越小。110.在本技术实施例中,像素的probabilityvolume中的概率值的离散程度与缩小幅度负相关。可以理解,多个概率值的离散程度越高,表明该多个概率值之间的差异越小,分布的越弥散,或者说分布曲线越矮胖。这说明多个概率值中的最大概率值较小。也就是说,在多个概率值的离散程度较高的情况下,若将该最大概率值对应的假设深度作为预测到的深度,则该预测结果是不可信的或者不可信度(nonconfidence)较高。不可信度与置信度(confidence)相反,不可信度越高,置信度越低。因此,在像素的probabilityvolume中的概率值的离散程度较高时,可以将当前预测阶段所采样的假设深度取值区间小幅度缩小,以避免将真值(主视图像素的真实深度)从缩小后的假设深度取值区间中排除出去。换言之,在像素的probabilityvolume中的概率值的离散程度较高,缩小幅度越小。111.在该实施例的一个说明性示例中,可以根据像素p的probabilityvolume中的概率值的离散程度,计算该像素的熵值epixel,其中,熵值与probabilityvolume中的概率值的离散程度负相关。在一个例子中,可以通过公式(4)计算像素p的熵值epixel。[0112][0113]其中,d为本阶段预测中的假设深度的数量,probd(p)为像素p的真实深度为假设深度d的概率值。其中,熵值epixel表示了描述像素p在d个假设深度上所有可能状态需要的编码长度。[0114]在一些实施例中,可以根据像素p的熵值,确定像素p对应的缩小幅度。缩小幅度与熵值负相关。[0115]可以理解,主视图上不同像素的深度可能不同,但不同像素的深度之间的差值是固定的。举例而言,像素a1的深度可以设定为d1,像素a2的深度可以设定为d1+i。若像素a1的假设深度取值区间为[d1-δd,d1+δd],相应地,像素a2的假设深度取值区间也应为[d1+i-δd,d1+i+δd]。即像素a1的假设深度取值区间的大小和像素a2的假设深度取值区间的大小应该一致,如此,方可保证或提高主视图各像素的深度预测结果的综合准确度。因此,在本技术实施例中,可以采用相同的缩小幅度,对主视图上不同像素的假设深度取值区间进行缩小。[0116]在一些实施例中,可以根据像素p对应的缩小幅度,调整像素p以及主视图其他像素的假设深度取值区间,以使主视图上不同像素的深度假设区间可以按照相同的比例进行缩小。[0117]在一些实施例中,参阅图5,可以计算主视图上多个像素中每个像素的熵值(例如图5所示的熵值e1、熵值e2、熵值e3、熵值e4),并计算多个像素的熵值的熵均值该多个像素可以是主视图上的部分像素,也可以是主视图上的所有像素。[0118]可以根据熵均值计算不可信度(nonconfidence)。在一个例子中,可以利用公式(5)计算不可信度nonconfidence。[0119][0120]其中,d为本阶段预测中的假设深度的数量。[0121]可以根据不可信度,确定缩小幅度。示例性的,缩小幅度可以用比例ratio表示。当前阶段的深度假设区间的大小乘以该比例得到的新的假设深度取值区间大小,用作下一阶段深度预测的假设深度取值区间的大小。可以理解,比例ratio的值与缩小幅度成反比。比例ratio的值越小,缩小幅度越大。比例ratio的值越大,缩小幅度越小。[0122]在一个例子中,该比例可以利用公式(6)计算比例ratio。[0123][0124]通过如上方案,可以确定出假设深度取值区间大小的缩小幅度,进而可以根据本阶段的假设深度取值区间大小和缩小幅度,确定新的假设深度取值区间的大小。[0125]对于主视图上的像素,例如像素a1,而言,在确定出下新的深度假设区间的大小后,可以将像素a1的预测深度作为新的假设深度取值区间的中值,进而可以确定出具有特定上限值和下限值的假设深度取值区间。该假设深度取值区间可以用于再次预设像素a1的深度。[0126]在一些实施例中,probabilityvolume中最大概率值对于的假设深度作为该预测深度在一些实施例中,可以根据概率分布计算深度期望的方式,计算期望深度,该期望深度可以用作预测深度。具体而言,可将像素a1的probabilityvolume中各概率值分布乘以对应的假设深度,然后相加,得到的相加和用作该期望深度。[0127]本技术实施例提供的图像深度预测方法,可以将不同假设深度下的采样点之间的像素的特征汇聚到采样点的特征中,并据此计算采样点和主视图像素之间的相似度,提供了深度预测的准确度。并且,本技术实施例提供的方案,可以根据各假设深度的概率值之间的离散程度,确定缩小幅度,实现了在预测结果可不信的情况下,小幅缩小深度假设区间,预测结果可信的情况下,大幅缩小深度假设区间,以再次进行深度预测,从而实现了在避免真值被排除掉的同时,降低了计算复杂度。[0128]参阅图6,在一些实施例中,本技术实施例提供了一种神经网络,该神经网络在被电子设备执行时,可以实现本技术实施例所提供的图像深度预测方法。其中,该方法可以采用多阶段深度预测的方式进行图像深度预测。如图6所示,该神经网络可以包括特征提取模块、采样点确定模块、对极线池化模块、正则模块、深度预测模块。其中,该神经网络中的模块也可以称为层,例如特征提取模块可以称为特征提取层,采样点确定模块也可以称为采样点确定层,等等。[0129]接下来,结合神经网络的训练过程,示例介绍图6所示神经网络中各模块的功能。[0130]采取有监督训练的训练方式训练该神经网络。在训练过程中,利用主视图的真值深度图(包含了像素的真实深度),对该神经网络输出的深度预测结果进行损失(loss)监督,利用梯度反传的机制迭代更新该神经网络中模块(例如,特征提取模块、正则模块等)的网络参数,直至loss收敛(达到预设的数值)。训练得到的神经网络的网络参数可保存至电子设备的硬盘,可用于图像深度预测。[0131]在准备训练数据或者说训练集时,可以依据给定的图像之间的匹配关系,将图像和与其关联度最高的n(n为大于或等于1的整数)个图像作为一个视图组。深度预测对象或者说主体作为主视图,其他图像作为辅助视图。获取每个视图组中图像的相机参数,作为对应的相机参数组;获取每个视图组中主视图对应的真值深度图。每一份训练数据由1个视图组,1个对应的相机参数组以及1个真值深度图组成,所有训练数据保存在服务器硬盘上。[0132]接下来,结合图7、图8、图9所示的流程,对神经网络中各模块的功能进行示例介绍。[0133]可以将包括视图组以及相机参数的训练数据输入到特征提取模块。特征提取模块可以执行步骤701,提取视图组中各图像的像素特征,以得到主视图以及辅助视图上的像素的特征或者说特征信息。示例性的,特征提取模块可以包括串联设置的一个或多个二维卷积层,用于提取像素的二维特征。示例性的,在一次训练迭代中,可以将n份训练数据(n为预先设定的训练批数据大小)从服务器硬盘读取至计算芯片中(例如,cpu、gpu或ascend芯片)。可以理解,对于多阶段深度预测而言,在不同阶段,利用的不同尺度图像特征进行深度预测。因此,图像特征提取模块可以提取该多阶段深度预测中每个阶段所需要的图像特征。可以设定多阶段深度预测共有p个阶段(即在p个阶段中的每个阶段进行一次深度预测),特征提取模块可以提取p组图像特征,其中,每组图像特征包括n个主视图以及该n个主视图中各主视图对应的辅助视图的图像特征。p组图像特征中的第k组图像特征可以供p个阶段中的第k个阶段的深度预测过程使用。其中,p为大于或等于2的正整数。k为大于或等于1的正整数,其表示当前预测阶段的阶段数,即当前预测阶段时多阶段预测中的第k个阶段。随着预测阶段的阶段数递增,图像的特征数据也逐阶递增。其中,当前阶段的阶段数k表示。当前阶段是指多阶段深度预测中当前的深度预测阶段。其中,图像特征可以是指图像上像素的特征。[0134]特征提取模块可以将其提取到的像素特征以及相机参数输入到采样点确定模块。采样点确定模块可以执行步骤702,判断当前阶段的阶段数k是否等于1。其中,对于一轮次的训练迭代中,阶段数等于1的阶段是指对在对多阶段深度预测进行迭代训练时,该轮次训练迭代的多阶段深度预测中的第一个阶段。[0135]若k等于1,则采样点确定模块可以执行步骤703a,根据初始假设深度取值区间、当前阶段的假设深度数量dk,设置dk个假设深度。其中,dk可以是预设值。步骤703a的执行步骤可以参考上文对图2所示的采样点确定模块的功能的介绍,在此不再赘述。[0136]若k不等于1,说明当前阶段已非多阶段深度预测中的首个阶段,则采样点确定模块可以执行步骤703b,根据上一阶段调整后的假设深度取值区间、当前阶段的假设深度数量dk,设置假设深度。其中,上一阶段调整后的假设深度取值区间,即上一阶段确定的新的假设深度取值区间。新的假设深度取值区间的确定过程可以参考上文对图2所示区间调整模块的功能的介绍,在此不再赘述。[0137]在设置了假设深度后,采样点确定模块可以执行步骤704,确定采样点。可以采用单应性变换,将主视图上像素映射到辅助视图上,得到采样点。其中,若当前预测阶段为阶段1,则将初始假设深度取值区间r=[depthmin,deptmax],划分为d1个深度假设{depthi|i=1,2,...,d1}。其中,depthmin表示最小可能深度,depthmax表示最大可能深度。可以将主视图上所有像素坐标pref通过单应性变换映射到所有辅助视图上得到像素坐标集合{psrc1,psrc2,...,psrcn}。其中主视图中每个像素坐标在一个辅助视图上映射的坐标集合以{psrc|i,i=1,2,...,d1}表示,分别代表根据不同假设深度depthi映射得到的坐标。若当前预测阶段为阶段k不等于1,则通过上一阶段预测确定的新的假设深度取值区间areak和阶段k的假设深度数量dk设置假设深度。将主视图上所有像素坐标pref通过单应性变换映射到所有辅助视图上得到像素坐标集合{psrc1,psrc2,...,psrcn}。其中主视图中每个像素坐标在一个辅助视图上映射的坐标集合以{psrc|i,i=1,2,...,dk}表示,分别代表根据不同假设深度{depthi|i=1,2,...,dk}映射得到的坐标。其中,步骤704的实现过程还可以参考上文对图2所示采样点确定模块的介绍,在此不再赘述。[0138]采样点确定模块可以将确定的采样点的信息,例如采样点的坐标,输入到对极线池化模块。对极线池化模块可以执行步骤705,确定相邻采样点之间的间距。可以根据步骤704中获得的像素坐标集合{psrc|i,i=1,2,...,dk},计算相邻采样点坐标的间距,间距可以以{δpsrc|i,i=1,2,...,dk-1}表示。[0139]对极线池化模块还可以执行步骤706,以采样点坐标为中心,按照相邻采样点之间的间距,进行池化操作。具体而言,可以在每个辅助在每个辅助视图的对极线上,以采样点坐标{psrc|i,i=1,2,...,dk}为中心,根据步骤705计算得到的采样点间距{δpsrc|i,i=1,2,...,dk-1},设置动态池化核的大小,对采样点周围像素的特征进行动态池化操作,以将采样点周围像素的特征汇聚到采样点的特征上,实现信息聚合。具体可以参考上文对图2所示的对极线池化模块的功能的介绍。[0140]对极线池化模块还可以执行步骤707,根据池化操作结果以及主视图像素的特征,构建costvolume。具体而言,所有辅助视图在经过步骤706的处理后,可得到辅助视图的采样点特征集合{featsrc1,featsrc2,...,featsrcn},其中,每一个辅助视图的采样点特征可以用形状为hk*wk*dk的三维张量表示。将主视图的像素特征复制dk次后,也可得到形状同样为hk*wk*dk的三维特征张量。主视图的像素特征分别于每个辅助视图的采样点特征进行点积运算,得到对应的costvolume。[0141]对极线池化模块还可以执行步骤708,,将每个辅助视图与主视图生成的costvolume进行聚合操作(例如取均值、取最大值或加权求和等),得到最终的costvolume,其形状可为hk*wk*dk得三维张量。[0142]对极线池化模块还可以执行步骤709,输出聚合后的costvolume。[0143]对极线池化模块的功能还可以参考上文对图2所示的对极线池化模块的功能的介绍实现。[0144]对极线池化模块可以将聚合后的costvolume输出给正则模块,正则模块可以执行步骤710,对每个主视图的costvolume进行信息提取与平滑处理。例如可以采用3d卷积神经网络对每个主视图的costvolume进行信息提取与平滑处理。具体可以参考现有技术的介绍,在此不再赘述。[0145]继续参阅图7,深度预测模块可以获取每个主视图的costvolume,以及执行步骤711,根据主视图中像素的costvolume,确定该像素的probabilityvolume。具体而言,正则模块输出的n个主视图的costvolume在dk维度(dk个假设深度)上进行softmax激活函数运算,得到dk个假设深度{depthi|i=1,2,...,dk}处的归一化概率probabilityvolume,其形状为hk*wk*dk。[0146]深度预测模块还可以执行步骤712,根据假设深度以及probabilityvolume,确定预测深度。具体而言,根据dk个假设深度{depthi|i=1,2,...,dk}和probabilityvolume,计算期望深度(具体可以参考上文介绍),以得到各个像素的预测深度。一个主视图像素的预测深度形状为hk*wk。[0147]深度预测模块还可以执行步骤713,判断k是否等于p。p是预设值,表示多阶段深度预测的阶段数,也就是说第p个阶段是该多阶段深度预测的最后一个阶段。[0148]若k不等于p(即k小于p),深度预测模块713可以将probabilityvolume以及预测深度输入至区间调整模块。[0149]继续参阅图7,区间调整模块可以执行步骤714,可以根据主视图上一像素的probabilityvolume,计算该像素对应的熵值。具体可以根据上述所示的公式(4),对步骤711中确定的probabilityvolume(由dk个概率值构成,该dk个概率值和dk个假设深度一一对应)进行dk维度的熵计算,得到像素对应的熵值epixel,或者说像素粒度的熵值epixel,一个主视图上各像素的熵值构成形状为hk*wk的矩阵。具体可以参考上文对图2所示的区间大小调整单元的功能的介绍,在此不再赘述。[0150]区间调整模块还可以执行步骤715,根据像素的熵值,确定预测结果的不可信度。其中,可以根据上文所示的公式(5),对步骤714确定像素粒度的熵值epixel取均值后,作为当前阶段深度假设数量dk的指数,运算后得到当前阶段的深度结果的不可信度,可以以nonconfidencek表示。[0151]区间调整模块还可以执行步骤716,根据不可信度,确定缩小幅度。可以根据上文所示的公式(6)计算缩小幅度,以ratiok表示。[0152]区间调整模块还可以执行步骤717,根据缩小幅度,确定新的假设深度取值区间。可以将当前阶段的假设深度取值区间的大小,乘以缩小幅度ratiok,可以得到新的假设深度取值区间的大小areak+1。在确定了新的假设深度取值区间的大小后areak+1,可以将当前阶段的预测结果或者说预测深度,作为新的假设深度取值区间的中值,由此,可以确定新的假设深度取值区间。新的假设深度取值区间也可以称为下一阶段的假设深度取值区间,其用于下一阶段的图像深度预测。即下一阶段的图像深度预测所采用的假设深度在新的假设深度取值区间中取值。[0153]在一个例子中,当前阶段的假设深度取值区间的大小可以是当前阶段的最大假设深度减去最小假设深度得到的差值,由此,可以采用公式(7),计算新的假设深度取值区间的大小areak+1。[0154][0155]其中,步骤714-步骤717可以由区间调整模块中区间大小调整单元执行。[0156]区间调整模块可以将确定的新的假设深度取值区间输出至采样点确定模块,以使采样点确定模块在下一阶段从该新的假设深度取值区间中设置假设深度。[0157]继续参阅图7,若k=p,即当前阶段是多阶段深度预测的最后一个阶段,则可以在步骤718优化神经网络中模块的参数。[0158]具体而言,在k小于p的情况下,重复执行702-步骤717,直至所有预测阶段都输出每个主视图对应的预测深度图{depthpred|k,k=1,2,...,p}。若有n个主视图,则有n组预测深度图。分别根据n个主视图对应的真值深度图,计算预测深度图与真值深度图之间的差值作为损失(loss),通过梯度反传的机制更新本神经网络中模块(例如特征提取模块、正则模块)络参数。[0159]重复执行步骤702-步骤717,直至损失(loss)收敛,将神经模块的模块(例如特征提取模块和正则模块)的参数保存至服务器硬盘,供图像深度预测使用。[0160]图8示出了一种利用神经网络进行图像深度预测的架构。该架构中各功能模块的功能可以参考上文对图6所示实施例的介绍,在此不再赘述。其中,与神经网络的训练不同,在利用神经网络进行图像深度预测时,可以直接采用已训练好的参数(例如特征提取模块和正则模块的参数)进行图像深度预测。并且输入的数据不包括真值深度图,输入的数据可以包括一个视图组以及对应的相加参数组。当k=p时,即在多阶段深度预测中的最后一个阶段确定的预测深度图,可以作为最终的预测结果输出。[0161]综合以上,本技术实施例提供的图像深度预测方法,可以通过判断辅助视图对极线上采样点间距大小,采用适宜的动态池化核对采样点周围特征信息进行汇聚。在不改变后续costvolume形状的前提下,充分利用了辅助视图对极线上的像素特征,在提供高精度的同时保证高性能。由此,解决了在计算主视图与辅助视图的像素间匹配时,无法采样得到辅助视图的对极线上每个像素的特征,导致辅助视图中纹理变化剧烈的区域未被充分采样,可能遗漏真值,进而导致深度预测错误的问题。以及解决了采样间隔小时,costvolume大(采用间隔少,说明假设深度个数多,导致costvolume大),精度高但是计算耗时增长明显;采样间隔大时,costvolume小,耗时短但精度受损严重的问题。[0162]并且本技术实施例提供的图像深度预测方法,可以通过计算本阶段深度预测概率的熵,量化了深度预测结果的可信程度,从而可适应性地对下个阶段的深度假设区域大小做出调整,从而可以在不影响真实深度在调整后的假设深度取值区间内的概率的情况下,最大幅度缩小假设深度取值区间,可以提供深度预测的效率。并且解决了在人为设定缩小幅度的情况下,若上一阶段的预测结果不准确,真实深度可能被从缩小后的假设深度取值区间排除掉的问题。[0163]综合以上,本技术实施例提供了一种图像深度预测方法,该方法可以由电子设备执行。如图9所示,该方法包括如下步骤。[0164]步骤901,获取主视图和第一辅助视图,所述主视图和所述第一辅助视图是相机以不同角度面对第一物体时拍摄的图像,所述主视图包括第一像素,所述第一像素在第一假设深度下对应第二像素,所述第二像素位于所述第一辅助视图上;[0165]步骤902,根据第二像素的特征信息和至少一个第三像素的特征信息,更新所述第二像素的特征信息;所述至少一个第三像素位于所述第二像素和第四像素之间的连线上,所述第四像素是所述第一像素在第二假设深度下在所述第一辅助视图上对应的像素,所述第二假设深度和所述第一假设深度在预设的d个假设深度中相邻,d为大于1的正整数;[0166]步骤903,根据所述第一像素的特征信息和所述第二像素更新后的特征信息,得到所述第一假设深度的概率,所述第一假设深度的概率用于表示所述第一假设深度是所述第一像素的真实深度的可能性。[0167]在一些实施例中,所述方法还包括:根据所述第四像素的特征信息和至少一个第五像素的特征信息,更新所述第四像素的特征信息;所述至少一个第五像素位于所述第二像素和所述第四像素之间的连线上;根据所述第一像素的特征信息和所述第四像素更新后的特征信息,得到所述第二假设深度的概率,所述第二假设深度的概率用于表示所述第二假设深度是所述第一像素的真实深度的可能性。[0168]在这些实施例的一个示例中,所述至少一个第五像素和所述至少一个第三像素互不相同,所述至少一个第五像素比所述至少一个第三像素靠近所述第四像素;或者,包含于所述至少一个第五像素但不包含于所述至少一个第三像素的像素,比包含于所述至少一个第三像素但不包含于所述至少一个第五像素的像素,靠近所述第四像素。[0169]在这些实施例的一个示例中,所述至少一个第五像素和所述至少一个第三像素的并集包括所述第二像素和所述第四像素之间连线上的所有像素。[0170]在一些实施例中,所述方法还包括:缩小所述d个假设深度对应的取值区间的大小,得到第一区间的大小,所述第一区间用作所述第一像素深度再次预测时的假设深度的取值区间。[0171]在这些实施例的一个示例中,所述d个假设深度对应的取值区间缩小的幅度与所述第一像素在所述d个假设深度下的熵值负相关。[0172]在一些实施例中,所述方法还包括:缩小d′个假设深度对应的取值区间的大小,得到第二区间的大小,所述第二区间用作第六像素深度再次预测时的假设深度的取值区间;所述d′个假设深度对应的取值区间的缩小的幅度等于所述d个假设深度对应的取值区间的缩小的幅度;所述第六像素为所述主视图上的一个像素,且与所述第一像素不同;d′为大于1的正整数。[0173]在这些实施例的一个示例中,所述d个假设深度对应的取值区间缩小的幅度与所述第一像素在所述d个假设深度下的熵值负相关,且与所述第六像素在所述d′个假设深度下的熵值负相关。[0174]本技术实施例提供的图像深度预测方法,可以将对极线上非采样点的像素的特征汇聚到附近的采样点特征中,从而可以在无需设置更多数量的假设深度的情况下,利用对极线上更多像素的特征进行深度预测,可提高深度预测的准确率。[0175]参阅图10,本技术实施例提供了一种图像深度预测装置1000。装置1000包括:[0176]获取单元1010,用于获取主视图和第一辅助视图,所述主视图和所述第一辅助视图是相机以不同角度面对第一物体时拍摄的图像,所述主视图包括第一像素,所述第一像素在第一假设深度下对应第二像素,所述第二像素位于所述第一辅助视图上;[0177]更新单元1020,用于根据第二像素的特征信息和至少一个第三像素的特征信息,更新所述第二像素的特征信息;所述至少一个第三像素位于所述第二像素和第四像素之间的连线上,所述第四像素是所述第一像素在第二假设深度下在所述第一辅助视图上对应的像素,所述第二假设深度和所述第一假设深度在预设的d个假设深度中相邻,d为大于1的正整数;[0178]得到单元1030,用于根据所述第一像素的特征信息和所述第二像素更新后的特征信息,得到所述第一假设深度的概率,所述第一假设深度的概率用于表示所述第一假设深度是所述第一像素的真实深度的可能性。[0179]装置1000的各功能单元可以参考图2-图9所示的方法实施例实现,例如图9所示的方法实施例,在此不再赘述。[0180]上文主要从方法流程的角度对本技术实施例提供的装置进行了介绍。可以理解的是,各个终端为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。本领域技术人员应该很容易意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,本技术能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。[0181]参阅图11,本技术实施例提供了一种电子设备1100。电子设备1100可以执行图2-图9所示的各实施例中电子设备所执行的操作,例如图9所示。其中,电子设备1100可以包括处理器1110和存储器1120。存储器1120中存储有指令,该指令可被处理器1110执行。当该指令在被处理器1110执行时,电子设备1000可以执行上述各方法实施例中电子设备执行的操作,例如图9所示实施例中电子设备执行的操作。[0182]可以理解的是,本技术的实施例中的处理器可以是中央处理单元(centralprocessingunit,cpu),还可以是其他通用处理器、数字信号处理器(digitalsignalprocessor,dsp)、专用集成电路(applicationspecificintegratedcircuit,asic)、现场可编程门阵列(fieldprogrammablegatearray,fpga)或者其他可编程逻辑器件、晶体管逻辑器件,硬件部件或者其任意组合。通用处理器可以是微处理器,也可以是任何常规的处理器。[0183]本技术的实施例中的方法步骤可以通过硬件的方式来实现,也可以由处理器执行软件指令的方式来实现。软件指令可以由相应的软件模块组成,软件模块可以被存放于随机存取存储器(randomaccessmemory,ram)、闪存、只读存储器(read-onlymemory,rom)、可编程只读存储器(programmablerom,prom)、可擦除可编程只读存储器(erasableprom,eprom)、电可擦除可编程只读存储器(electricallyeprom,eeprom)、寄存器、硬盘、移动硬盘、cd-rom或者本领域熟知的任何其它形式的存储介质中。一种示例性的存储介质耦合至处理器,从而使处理器能够从该存储介质读取信息,且可向该存储介质写入信息。当然,存储介质也可以是处理器的组成部分。处理器和存储介质可以位于asic中。[0184]在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本技术实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者通过所述计算机可读存储介质进行传输。所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solidstatedisk,ssd))等。[0185]可以理解的是,在本技术的实施例中涉及的各种数字编号仅为描述方便进行的区分,并不用来限制本技术的实施例的范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1