一种计算单目图像的深度次序的方法和装置与流程

文档序号:14327508阅读:154来源:国知局

本发明涉及计算机技术领域,特别是涉及一种计算单目图像的深度次序的方法和装置。



背景技术:

在自动驾驶技术、无人机技术等智能应用技术中,可以通过摄像头获取所处场景的单目图像,进而可以根据单目图像计算车辆或无人机所处场景的深度次序,最终基于深度次序进行场景分析,以实现车辆的自动驾驶或者控制无人机运动。其中,计算单目图像的深度次序主要分为两步:生成遮挡轮廓图和根据遮挡轮廓图,计算深度次序。对单目图像提生成的遮挡轮廓图越准确,计算出的深度次序就越准确。

具体的,生成单目图像的遮挡轮廓图的过程为:

第一步,使用预设的过分割算法对单目图像进行分割处理,生成多个过分割区域以及相邻过分割区域之间的边界。

第二步,提取所有过分割区域的颜色、纹理特征,以及由索贝尔sobel滤波器生成的边缘1维特征,得到每一个过分割区域对应的54维的特征。

第三步,根据过分割区域对应的54维特征做逐元素减法,生成相邻过分割区域之间边界的遮挡特征。

第四步,将生成的遮挡特征输入训练好的adaboost分类器,生成单目图像的遮挡轮廓图。

但是,由于预设的过分割算法中的分割阈值是由人工确定的,因此,上述提取图像的遮挡轮廓的方法无法根据图像的实际情况进行灵活分割,导致生成的遮挡轮廓图中的遮挡轮廓可能不完整,也就是说,遮挡轮廓中可能存在缺失的像素点,从而影响计算出的深度次序的准确性。



技术实现要素:

本发明实施例的目的在于提供计算单目图像的深度次序的方法和装置,以实现准确计算单目图像的深度次序。具体技术方案如下:

本发明实施例提供了一种计算单目图像的深度次序的方法,所述方法包括:

使用预设的过分割算法和预设的分类器依次对单目图像进行处理,生成所述单目图像的遮挡轮廓图;

使用预设的卷积核遍历所述遮挡轮廓图中的各像素点,生成各像素点对应的卷积值;

在所述各像素点对应的卷积值中,将卷积值为预设值的像素点确定为间断点,所述间断点为所述遮挡轮廓图中位于缺失的像素点两端的像素点;

将相邻的间断点之间的最短路径,确定为所述相邻的间断点之间的待填充轮廓;

沿着所述待填充轮廓,填充相邻的间断点之间缺失的像素点,生成填充后的遮挡轮廓图;

根据所述填充后的遮挡轮廓图,计算所述单目图像的深度次序。

可选的,在所述将卷积值为预设值的像素点确定为间断点的步骤之后,所述方法还包括:

计算两个相邻的间断点之间的距离;

当两个相邻的间断点之间的距离小于预设的第一距离阈值且大于预设的第二距离阈值时,执行所述将相邻的间断点之间的最短路径,确定为所述相邻的间断点之间的待填充轮廓的步骤。

可选的,所述将相邻的间断点之间的最短路径,确定为所述相邻的间断点之间的待填充轮廓的步骤,包括:

使用迪杰斯特拉算法确定两个相邻的间断点之间的最短路径,并将所述最短路径确定为所述两个间断点之间的待填充轮廓。

可选的,在所述计算两个相邻的间断点之间的距离的步骤之后,所述方法还包括:

当两个相邻的间断点之间的距离等于所述第二距离阈值时,使用预设的膨胀腐蚀方法,填充相邻的间断点之间缺失的像素点。

可选的,所述使用预设的膨胀腐蚀方法,填充相邻的间断点之间缺失的像素点的步骤,包括:

根据预设的膨胀矩阵,分别以两个相邻的间断点以及与两个相邻的间断点邻近的像素点的位置为中心进行膨胀处理,以填充膨胀区域内的像素点;

根据预设的腐蚀矩阵,分别以两个相邻的间断点以及与两个相邻的间断点邻近的像素点的位置为中心进行腐蚀处理,以去除腐蚀区域内的像素点。

可选的,所述两个相邻的间断点之间的距离包括两个相邻的间断点之间的二范式距离。

可选的,所述根据所述填充后的遮挡轮廓图,计算所述单目图像的深度次序的步骤,包括:

从所述填充后的遮挡轮廓图中提取局部slc边界特征、t型角点特征和区域显著性特征,所述局部边界特征包括凸性c边界特征;

判断所述c边界特征表征的遮挡轮廓图中各区域之间的第一前后关系,与所述t型角点特征表征的遮挡轮廓图中各区域之间的第二前后关系是否一致;

当目标第一前后关系与目标第二前后关系不一致时,将所述目标第二前后关系对应的t型角点特征确定为错误t型角点特征,并根据所述目标第一前后关系,对所述错误t型角点特征进行修正;

根据所述slc边界特征、修正后的t型角点特征以及所述区域显著性特征,计算所述单目图像的深度次序。

可选的,根据所述slc边界特征、修正后的t型角点特征以及所述区域显著性特征,计算所述单目图像的深度次序的步骤,包括:

根据所述slc边界特征、修正后的t型角点特征以及所述区域显著性特征,生成初始的混合能量函数,所述初始的混合能量函数包括所述填充后的遮挡轮廓图中各区域的前后顺序标签,所述初始的混合能量函数中的前后顺序标签是随机产生的;

使用模拟退火算法,对所述混合能量函数进行最小化训练,得到训练后的混合能量函数;

根据所述训练后的混合能量函数中的前后顺序标签,确定所述单目图像的深度次序。

本发明实施例还提供了一种计算单目图像的深度次序的装置,所述装置包括:

第一生成单元,用于使用预设的过分割算法和预设的分类器依次对单目图像进行处理,生成所述单目图像的遮挡轮廓图;

第二生成单元,用于使用预设的卷积核遍历所述遮挡轮廓图中的各像素点,生成各像素点对应的卷积值;

第一确定单元,用于在所述各像素点对应的卷积值中,将卷积值为预设值的像素点确定为间断点,所述间断点为所述遮挡轮廓图中位于缺失的像素点两端的像素点;

第二确定单元,用于将相邻的间断点之间的最短路径,确定为所述相邻的间断点之间的待填充轮廓;

第三生成单元,用于沿着所述待填充轮廓,填充相邻的间断点之间缺失的像素点,生成填充后的遮挡轮廓图;

第一计算单元,用于根据所述填充后的遮挡轮廓图,计算所述单目图像的深度次序。

可选的,装置还包括:

第二计算单元,用于计算两个相邻的间断点之间的距离;

触发单元,用于当两个相邻的间断点之间的距离小于预设的第一距离阈值且大于预设的第二距离阈值时,触发第二确定单元。

可选的,第二确定单元,具体用于使用迪杰斯特拉算法确定两个相邻的间断点之间的最短路径,将最短路径确定为两个间断点之间的待填充轮廓。

可选的,装置还包括:

填充单元,用于当两个相邻的间断点之间的距离等于第二距离阈值时,使用预设的膨胀腐蚀方法,填充相邻的间断点之间缺失的像素点。

可选的,填充单元,具体用于根据预设的膨胀矩阵,分别以两个相邻的间断点以及与两个相邻的间断点邻近的像素点的位置为中心进行膨胀处理,以填充膨胀区域内的像素点;根据预设的腐蚀矩阵,分别以两个相邻的间断点以及与两个相邻的间断点邻近的像素点的位置为中心进行腐蚀处理,以去除腐蚀区域内的像素点。

可选的,两个相邻的间断点之间的距离包括两个相邻的间断点之间的二范式距离。

可选的,第一计算单元,具体用于从填充后的遮挡轮廓图中提取局部slc边界特征、t型角点特征和区域显著性特征,局部边界特征包括凸性c边界特征;判断c边界特征表征的遮挡轮廓图中各区域之间的第一前后关系,与t型角点特征表征的遮挡轮廓图中各区域之间的第二前后关系是否一致;当目标第一前后关系与目标第二前后关系不一致时,将目标第二前后关系对应的t型角点特征确定为错误t型角点特征,并根据目标第一前后关系,对错误t型角点特征进行修正;根据slc边界特征、修正后的t型角点特征以及区域显著性特征,计算单目图像的深度次序。

可选的,第一计算单元,具体用于根据slc边界特征、修正后的t型角点特征以及区域显著性特征,生成初始的混合能量函数,初始的混合能量函数包括填充后的遮挡轮廓图中各区域的前后顺序标签,初始的混合能量函数中的前后顺序标签是随机产生的;使用模拟退火算法,对混合能量函数进行最小化训练,得到训练后的混合能量函数;根据训练后的混合能量函数中的前后顺序标签,确定单目图像的深度次序。

本发明实施例再提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;

存储器,用于存放计算机程序;

处理器,用于执行存储器上所存放的程序时,实现上述任一所述的计算单目图像的深度次序的方法。

本发明实施例再提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述任一所述的计算单目图像的深度次序的方法。

本发明实施例再提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的计算单目图像的深度次序的方法。

本发明实施例提供的一种计算单目图像的深度次序的方法和装置,首先,使用预设的过分割算法和预设的分类器依次对单目图像进行处理,生成单目图像的遮挡轮廓图;然后,使用预设的卷积核遍历遮挡轮廓图中的各像素点,生成各像素点对应的卷积值;在各像素点对应的卷积值中,将卷积值为预设值的像素点确定为间断点,间断点为遮挡轮廓图中位于缺失的像素点两端的像素点;接下来,根据单目图像的过分割区域的边界信息,确定相邻的间断点之间的待填充轮廓,过分割区域的边界信息是使用过分割算法对单目图像进行分割处理后生成的;沿着待填充轮廓,填充相邻的间断点之间缺失的像素点,生成填充后的遮挡轮廓图;最后,根据填充后的遮挡轮廓图,计算单目图像的深度次序。

这样,可以针对由过分割算法和分类器生成的遮挡轮廓图中缺失的像素点进行填充处理,保证遮挡轮廓的完整性,进而提高计算出的单目图像的深度次序的准确性。当然,实施本发明的任一产品或方法必不一定需要同时达到以上所述的所有优点。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。

图1为本发明实施例的计算单目图像的深度次序的方法的一种流程图;

图2为本发明实施例的计算单目图像的深度次序的方法的又一种流程图;

图3为本发明实施例中的膨胀处理的一种示意图;

图4为本发明实施例中的膨胀矩阵的一种示意图;

图5为本发明实施例中的膨胀处理的又一种示意图;

图6为本发明实施例中的腐蚀矩阵的一种示意图;

图7为本发明实施例中的膨胀处理的另一种示意图;

图8为本发明实施例中的膨胀处理的再一种示意图;

图9为本发明实施例中的相邻间断点之间的最短路径的一种示意图;

图10为本发明实施例中的相邻间断点之间的最短路径的又一种示意图;

图11为本发明实施例中步骤208的一种具体流程图;

图12为本发明实施例中步骤208的又一种具体流程图;

图13为本发明实施例的遮挡轮廓图的一种示意图;

图14为本发明实施例中步骤211的一种具体流程图;

图15为本发明实施例的计算单目图像的深度次序的装置的结构图;

图16为本发明实施例的电子设备的示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行描述。

在自动驾驶技术、无人机技术等智能应用技术中,可以通过摄像头获取所处场景的单目图像,进而可以根据单目图像计算车辆或无人机所处场景的深度次序,最终基于深度次序进行场景分析,以实现车辆的自动驾驶或者控制无人机运动。其中,计算单目图像的深度次序主要分为两步:生成遮挡轮廓图和根据遮挡轮廓图,计算深度次序。对单目图像提生成的遮挡轮廓图越准确,计算出的深度次序就越准确。

具体的,生成单目图像的遮挡轮廓图的过程为:

第一步,使用预设的过分割算法对单目图像进行分割处理,生成多个过分割区域以及相邻过分割区域之间的边界。

第二步,提取所有过分割区域的颜色、纹理特征,以及由索贝尔sobel滤波器生成的边缘1维特征,得到每一个过分割区域对应的54维的特征。

第三步,根据过分割区域对应的54维特征做逐元素减法,生成相邻过分割区域之间边界的遮挡特征。

第四步,将生成的遮挡特征输入训练好的adaboost分类器,生成单目图像的遮挡轮廓图。

但是,由于预设的过分割算法中的分割阈值是由人工确定的,因此,上述提取图像的遮挡轮廓的方法无法根据图像的实际情况进行灵活分割,导致生成的遮挡轮廓图中的遮挡轮廓可能不完整,也就是说,遮挡轮廓中可能存在缺失的像素点,从而影响计算出的深度次序的准确性。

为了解决上述问题,本发明实施例提供了一种计算单目图像的深度次序的方法和装置,可以针对由过分割算法和分类器生成的遮挡轮廓图中缺失的像素点进行填充处理,保证遮挡轮廓的完整性,进而提高计算出的单目图像的深度次序的准确性。

本发明实施例提供了一种计算单目图像的深度次序的方法。参见图1,图1为本发明实施例的计算单目图像的深度次序的方法的一种流程图,包括如下步骤:

步骤101,使用预设的过分割算法和预设的分类器依次对单目图像进行处理,生成单目图像的遮挡轮廓图。

在本步骤中,第一步,可以使用预设的过分割算法对单目图像进行分割处理,生成多个过分割区域以及相邻过分割区域之间的边界。

其中,预设的过分割算法可以为gpb-owt-ucm分割算法,当然,也可以使用其他过分割算法。

第二步,提取所有过分割区域的颜色、纹理特征,以及由索贝尔sobel滤波器生成的边缘1维特征,得到每一个过分割区域对应的54维的特征。

第三步,根据过分割区域对应的54维特征做逐元素减法,生成相邻过分割区域之间边界的遮挡特征。

第四步,将生成的遮挡特征输入训练好的adaboost分类器,生成单目图像的遮挡轮廓图。

其中,adaboost分类器是预先训练好的。

adaboost分类器的具体训练过程如下:

首先,可以使用gpb-owt-ucm分割算法对训练集的输入图像进行过分割处理,将n个输入图像分割成若干过分割区域,并得到任意两个过分割区域之间的边界。

然后,再提取所有过分割区域的颜色,比如,在hsv颜色空间中,h平均分为16维,s、v分别平均分为4维和4维,并且根据颜色贡献度colornaming将rgb图像分为11维,这样,提取的过分割区域的颜色共有35维;以及提取所有过分割区域的纹理特征,比如,灰度梯度的共生矩阵glgc为15维,图像纹理的粗糙度、对比度、方向性共3维,这样,提取的过分割区域的纹理特征共有18维;以及提取sobel滤波器生成的边缘1维特征;这样,最终可以以54维的特征来表示每一个过分割区域。

接下来,将相邻的过分割区域的54维特征做逐元素减法来表示相邻的过分割区域之间边界的遮挡特征。

最后,整合提取到的所有训练图像的特征,生成一个54×n维的特征,并将54×n维的特征放入初始的adaboost分类器,经过训练,就可以得到训练好的adaboost分类器。

需要说明的是,上述步骤的详细处理过程均可以参考现有技术,在此不再赘述。

步骤102,使用预设的卷积核遍历遮挡轮廓图中的各像素点,生成各像素点对应的卷积值。

在本步骤中,可以使用预设的卷积核,遍历遮挡轮廓图中的每一个像素点,生成各像素点对应的卷积值,以便根据卷积值,从遮挡轮廓图中区分出间断点。其中,间断点为遮挡轮廓图中位于缺失的像素点两端的像素点。

其中,预设的卷积核θ的具体形式可以如公式(1)所示。

步骤103,在各像素点对应的卷积值中,将卷积值为预设值的像素点确定为间断点。

在本步骤中,在步骤102计算出遮挡轮廓图中的各像素点对应的卷积值后,可以将卷积值为预设值的像素点确定为间断点,以便进一步对间断点附近缺失的像素点进行填充,其中,卷积值的预设值包括272、144、80、48、24、20、18和17。

具体的,当遮挡轮廓图中的像素点为间断点时,在3×3像素点的区域内只可能存在一个中心点和中心点以外的一个点,因此,当卷积值为24+28=272、24+27=144、24+26=80、24+25=48、24+23=24、24+22=20、24+21=18、24+20=17中的任一个时,就可以认为该卷积值对应的像素点为间断点。

步骤104,将相邻的间断点之间的最短距离短路径,确定为相邻的间断点之间的待填充轮廓。

在本步骤中,在步骤103中区分出间断点之后,由于在原始的过分割图像中存在遮挡轮廓的先验信息,并且消失的间断点可以在过分割图像中找到,所以可以用过分割图像本来存在的边的概率值计算出相邻的两个间断点之间的最短距离,将该最短距离确定为该相邻的两个间断点之间的待填充轮廓,这样,就能够沿该待填充轮廓填充像素点,以补全遮挡轮廓图。

步骤105,沿着待填充轮廓,填充相邻的间断点之间缺失的像素点,生成填充后的遮挡轮廓图。

在本步骤中,可以沿步骤104确定的待填充轮廓,填充相邻的两个像素点之间缺失的像素点,得到填充后的完整的遮挡轮廓图。

步骤106,根据填充后的遮挡轮廓图,计算单目图像的深度次序。

在本步骤中,可以根据填充后的完整的遮挡轮廓图,计算单目图像的深度次序。由于步骤105生成的填充后的遮挡轮廓图为完整的遮挡轮廓图,因此,计算出的单目图像的深度次序也较为准确。

可见,本发明实施例提供的计算单目图像的深度次序的方法,可以通过填充由过分割算法和分类器生成的遮挡轮廓图中缺失的像素点,保证遮挡轮廓的完整性,进而提高计算出的单目图像的深度次序的准确性。

本发明实施例又提供了一种计算单目图像的深度次序的方法。参见图2,图2为本发明实施例的计算单目图像的深度次序的方法的又一种流程图,包括如下步骤:

步骤201,使用预设的过分割算法和预设的分类器依次对单目图像进行处理,生成单目图像的遮挡轮廓图。

本步骤的详细过程和技术效果可以参考图1所示的计算单目图像的深度次序的方法中的步骤101,在此不再赘述。

步骤202,使用预设的卷积核遍历遮挡轮廓图中的各像素点,生成各像素点对应的卷积值。

本步骤的详细过程和技术效果可以参考图1所示的计算单目图像的深度次序的方法中的步骤102,在此不再赘述。

步骤203,在各像素点对应的卷积值中,将卷积值为预设值的像素点确定为间断点。

其中,间断点为遮挡轮廓图中位于缺失的像素点两端的像素点。

本步骤的详细过程和技术效果可以参考图1所示的计算单目图像的深度次序的方法中的步骤103,在此不再赘述。

步骤204,计算两个相邻的间断点之间的距离;当两个相邻的间断点之间的距离小于预设的第一距离阈值且大于预设的第二距离阈值时,执行步骤205;当两个相邻的间断点之间的距离等于第二距离阈值时,执行步骤206。

在本步骤中,可以计算两个相邻的间断点之间的距离,进而根据两个相邻的间断点之间的距离,确定填补方式;具体的,当两个相邻的间断点之间的距离小于预设的第一距离阈值且大于预设的第二距离阈值时,可以认为两个相邻的间断点之间存在边缺失,也即缺失的像素点较多,需要填充较多的像素点;当两个相邻的间断点之间的距离等于第二距离阈值时,可以认为两个相邻的间断点之间存在点缺失,也即仅缺失单个像素点,仅需要填充单个像素点。

需要说明的是,为了提高处理效率,可以先判断两个相邻的间断点之间的距离小于预设的第一距离阈值且大于预设的第二距离阈值的情况,再判断两个相邻的间断点之间的距离等于第二距离阈值的情况;对应的,可以先填充遮挡轮廓中的边缺失,再填充遮挡轮廓中的点缺失。当然,也可以先判断两个相邻的间断点之间的距离等于第二距离阈值的情况,再判断两个相邻的间断点之间的距离小于预设的第一距离阈值且大于预设的第二距离阈值的情况,本发明对此不加以限制。

一种实现方式中,两个相邻的间断点之间的距离包括两个相邻的间断点之间的二范式距离。

具体的,两个相邻的间断点之间的距离可以为二范式距离,其中,预设的第一距离阈值可以为二范式距离50,预设的第二距离阈值可以为二范式距离

步骤205,使用迪杰斯特拉算法确定两个相邻的间断点之间的最短路径,将最短路径确定为两个间断点之间的待填充轮廓,执行步骤207。

在本步骤中,当两个相邻的间断点之间的距离小于预设的第一距离阈值且大于预设的第二距离阈值时,可以使用迪杰斯特拉dijkstra算法来计算两个相邻的间断点之间的最短路径,以便能够根据最短路径对遮挡轮廓进行填充。

需要说明的是,使用dijkstra算法来计算两个相邻的间断点之间的最短路径的具体方法可以参考现有技术,在此不再赘述。

步骤206,使用预设的膨胀腐蚀方法,填充相邻的间断点之间缺失的像素点,执行步骤208。

在本步骤中,当两个相邻的间断点之间的距离等于第二距离阈值时,可以认为两个相邻的间断点之间存在点缺失,可以使用预设的膨胀腐蚀方法,填充相邻的间断点之间缺失的像素点,以得到完整的遮挡轮廓图。

一种实现方式中,步骤206可以包括:

根据预设的膨胀矩阵,分别以两个相邻的间断点以及与两个相邻的间断点邻近的像素点的位置为中心进行膨胀处理,以填充膨胀区域内的像素点;

根据预设的腐蚀矩阵,分别以两个相邻的间断点以及与两个相邻的间断点邻近的像素点的位置为中心进行腐蚀处理,以去除腐蚀区域内的像素点。

具体的,首先,可以根据预设的膨胀矩阵,分别以两个相邻的间断点和邻近间断点的像素点为中心进行膨胀处理,来填充膨胀区域内的像素点;然后,再根据预设的腐蚀矩阵,分别以两个相邻的间断点以及与两个相邻的间断点邻近的像素点的位置为中心进行腐蚀处理,来去除腐蚀区域内的像素点,实现填充存在点缺失的遮挡轮廓。

举例说明,可以参考图3至图8,图3为本发明实施例中的膨胀处理的一种示意图,图4为本发明实施例中的膨胀矩阵的一种示意图,图5为本发明实施例中的膨胀处理的又一种示意图,图6为本发明实施例中的腐蚀矩阵的一种示意图,图7为本发明实施例中的膨胀处理的另一种示意图,图8为本发明实施例中的膨胀处理的再一种示意图。

如图3所示,在存在点缺失的遮挡轮廓图中,点a和点b为两个相邻的间断点,需要对点a和点b之间缺失的像素点进行填充。首先,按照如图4所示的膨胀矩阵的结构,对图3所示的遮挡轮廓进行膨胀处理;膨胀处理后的遮挡轮廓如图5所示,在图5中,空心圆为膨胀处理后填充的像素点;接下来,按照如图6所示的腐蚀矩阵,对图5中膨胀处理后的遮挡轮廓进行腐蚀处理,参考图7,图7中虚线的空心圆为腐蚀处理后去除的像素点;最终,得到的膨胀腐蚀处理后的遮挡轮廓如图8所示,从图8可以看出,点a和点b之间缺失的像素点已被填充,图3中存在点缺失的遮挡轮廓经过膨胀处理后,得到的遮挡轮廓完整准确。

在具体实施中,在先判断两个相邻的间断点之间的距离小于预设的第一距离阈值且大于预设的第二距离阈值的情况,再判断两个相邻的间断点之间的距离等于第二距离阈值的情况下,可以先填充遮挡轮廓中的边缺失,此时,遮挡轮廓中大部分缺失的像素点已经被填充了,此时,再填充遮挡轮廓中的点缺失,可以进一步完善遮挡轮廓图,使得根据遮挡轮廓图计算出的深度次序更加准确。

步骤207,沿着待填充轮廓,填充相邻的间断点之间缺失的像素点,生成填充后的遮挡轮廓图,执行步骤208。

在本步骤中,当步骤205确定待填充轮廓之后,可以沿该待填充轮廓,填充相邻的间断点之间缺失的像素点,生成填充后的完整的遮挡轮廓图,以便根据完整的遮挡轮廓图计算出准确的深度次序。

举例说明,如图9和图10所示,图9为本发明实施例中的相邻间断点之间的最短路径的一种示意图,图10为本发明实施例中的相邻间断点之间的最短路径的又一种示意图。在图9中,遮挡轮廓图中被圆圈标注的部分存在缺失的像素点,位于缺失的像素点两端的像素点为相邻的两个间断点,分别为点a和点b。在图10中,由步骤205计算出图9所示的点a和点b之间的最短路径,并由步骤207进行填充处理后,由原本存在缺失像素点的遮挡轮廓得到完整的遮挡轮廓。

步骤208,从填充后的遮挡轮廓图中提取局部边界特征、t型角点特征和区域显著性特征。

其中,局部(sizelowerregionconvexity,slc)边界特征包括尺寸s边界特征、低区域lr边界特征和凸性c边界特征。

在本步骤中,为了得到单目图像的深度次序,需要从填充后的遮挡轮廓图中提取相应的slc边界特征、t型角特征和区域显著特征。

一种实现方式中,从填充后的遮挡轮廓图中提取slc边界特征的步骤可以包括如下子步骤,参见图11,图11为本发明实施例中步骤208的一种具体流程图:

子步骤11,根据预设的采样间隔距离,在填充后的遮挡轮廓图中各区域之间的边界上进行采样,得到多个采样点。

在本步骤中,首先,将遮挡轮廓图中的n个过分割区域标记为r={r1,r2,...,rn},各过分割区域之间的m条边界记为e={e1,e2,..,em},s个角点标记为t={t1,t2,..,ts}。

然后,在遮挡轮廓图中的各边界上,根据预设的采样间隔距离进行采样,得到多个采样点,其中,预设的采样间隔距离可以为边界长度的5%。

子步骤12,分别以各采样点为圆心,以预设的第一半径长度为半径画第一圆。

其中,第一圆包括被边界分割后的两个第一半圆。

在本步骤中,分别以子步骤11得到的各采样点为圆心,以预设的第一半径长度为半径画第一圆,以便计算slc边界特征。

子步骤13,根据两个第一半圆的面积,计算填充后的遮挡轮廓图的s边界特征。

在本步骤,可以根据子步骤12得到的两个第一半圆,通过两个第一半圆的面积来计算填充后的遮挡轮廓图的s边界特征。具体的,两个第一半圆中,面积较大的区域可以被认为是相对靠前的区域。

子步骤14,根据两个第一半圆的重心,计算填充后的遮挡轮廓图的lr边界特征。

在本步骤,可以根据子步骤12得到的两个第一半圆,通过两个第一半圆的重心来计算填充后的遮挡轮廓图的lr边界特征。具体的,可以使用两个第一半圆的重心,记为φ(a)和φ(b),比较φ(a)和φ(b)与垂直方向的夹角的余弦值,若则可以认为区域a是相对靠前的区域。

子步骤15,根据边界的凹凸性,计算填充后的遮挡轮廓图的c边界特征。

在本步骤,可以根据子步骤12得到的两个第一半圆,通过两个第一半圆的边界的凹凸性来计算填充后的遮挡轮廓图的c边界特征。具体的,可以认为边界为凸的区域是相对靠前的区域。

需要说明的是,用于提取slc边界特征的子步骤11至子步骤15的详细处理方法可以参考现有技术,在此不再赘述。

这样,就可以根据填充后的遮挡轮廓图的边界信息,提取相应的slc边界特征,slc边界特征包括的s边界特征、lr边界特征和c边界特征均能体现对应的区域之间的前后顺序。

又一种实现方式中,从填充后的遮挡轮廓图中提取t型角点特征的步骤可以包括如下子步骤,参见图12,图12为本发明实施例中步骤208的又一种具体流程图:

子步骤21,分别以填充后的遮挡轮廓图中的各角点为圆心,以预设的第二半径长度为半径画第二圆。

其中,角点为填充后的遮挡轮廓图中各区域之间的至少两条边界的交点,第二圆包括被至少两条边界分割后的至少三个第二部分圆。

在本步骤中,可以以填充后的遮挡轮廓图中的各角点为圆心,以预设的第二半径长度为半径画第二圆。其中,预设的第二半径长度可以为10像素。

子步骤22,根据至少三个第二部分圆的面积,计算填充后的遮挡轮廓图的t型角点特征。

在本步骤中,可以根据子步骤21生成的包括至少三个第二部分圆的面积,计算填充后的遮挡轮廓图的t型角点特征。具体的,可以将面积最大的第二部分圆的区域认为是相对靠前的区域。

需要说明的是,用于提取t型角点特征的子步骤21和子步骤22的详细处理方法可以参考现有技术,在此不再赘述。

这样,就可以根据填充后的遮挡轮廓图的角点信息,提取相应的t型角点特征,每个角点对应的t型角点特征均能够体现对应的区域之间的前后顺序。

再一种实现方式中,从填充后的遮挡轮廓图中提取区域显著特征的步骤可以包括:

首先,利用基于图的图像分割方法,将填充后的遮挡轮廓图分隔成若干区域,然后为每个区域建立颜色直方图,测量每个区域与图像其他区域的颜色对比度来计算它的显著性值;具体的,计算显著性值的公式如公式(2)所示:

在公式(2)中,ri和rk表示将填充后的遮挡轮廓图分隔成若干区域中的任意两个区域;s(rk)表示区域k的显著性值;w(ri)是区域i对应的空间距离远近的度量,与ri和rk之间的距离大小成正比;dr(rk,ri)是区域k的区域i之间颜色距离的度量。

需要说明的是,从填充后的遮挡轮廓图中提取区域显著特征的详细处理方法可以参考现有技术,在此不再赘述。

步骤209,判断c边界特征表征的遮挡轮廓图中各区域之间的第一前后关系,与t型角点特征表征的遮挡轮廓图中各区域之间的第二前后关系是否一致;当目标第一前后关系与目标第二前后关系不一致时,执行步骤210。

在本步骤中,由于slc边界特征和t型角点特征均能够表征遮挡轮廓图中各区域之间的前后关系,当针对某两个区域之间的前后关系,slc边界特征中的c边界特征与t型角点特征所表征的该两个区域之间的前后关系出现矛盾时,将c边界特征表征的该两个区域之间的前后关系记为目标第一前后关系,将t型角点特征所表征的该两个区域之间的前后关系记为目标第二前后关系,这种情况下,可以以c边界特征所表征的目标第一前后关系为准,并对错误的t型角点特征进行修正,以保证计算出的深度次序的准确性。

举例说明,参考图13,图13为本发明实施例的遮挡轮廓图的一种示意图。图13中,a,b,c,d为遮挡轮廓图中的区域,e1,e2,..,e5为边界,α,β,γ,δ为角点。角点α对应的t型角点特征可以表征区域d在区域c前面,区域d在区域b前面,且δ角点对应的t型角点特征可以表征区域a在区域b前面,区域a在区域d前面,而边界e1对应的c边界特征可以表征区域b在区域d前面。那么,对于区域b和区域d之间的前后关系,c边界特征与t型角点特征的表征出现矛盾,此时,以c边界特征表征的区域b与区域d之间的前后顺序为准,并且,可以认为角点α对应的t型角点特征为错误的t型角点特征。

步骤210,将目标第二前后关系对应的t型角点特征确定为错误t型角点特征,并根据目标第一前后关系,对所述错误t型角点特征进行修正。

在本步骤中,当c边界特征与t型角点特征所表征的两个区域之间的前后关系出现矛盾时,以c边界特征所表征的目标第一前后关系为准,并且将所述目标第二前后关系对应的t型角点特征确定为错误t型角点特征,并根据所述目标第一前后关系,对所述错误t型角点特征进行修正,以保证计算出的深度次序的准确性。

步骤211,根据局部边界特征、修正后的t型角点特征以及区域显著性特征,计算单目图像的深度次序。

在本步骤中,可以根据slc边界特征、修正后的t型角点特征和区域显著性特征,计算单目图像的深度次序。由于t型角点特征为修正后的t型角点特征,因此,相比未经修正的t型角点特征,本发明实施例计算出的单目图像的深度次序较为准确。

一种实现方式中,步骤211可以包括如下子步骤,参见图14,图14为本发明实施例中步骤211的一种具体流程图:

子步骤31,根据slc边界特征、修正后的t型角点特征以及区域显著性特征,生成初始的混合能量函数。

其中,初始的混合能量函数包括填充后的遮挡轮廓图中各区域的前后顺序标签,初始的混合能量函数中的前后顺序标签是随机产生的。

在本步骤中,可以根据slc边界特征、修正后的t型角点特征以及区域显著性特征,生成初始的混合能量函数,以便通过训练该初始的混合能力函数,得到最佳的深度次序。

具体的,初始的混合能量函数如公式(3)所示:

在公式(3)中,ey是区域显著性特征函数,eb是slc边界特征函数,et是t型角点特征函数;ωy、ωb和ωt为区域显著性特征函数、slc边界特征函数和t型角点特征函数所占的比重,且ωt>ωy=ωb;因为t型角点特征函数经过了优化,所以其所占比重会稍微大一些;表示随机产生的遮挡轮廓图中各区域的前后顺序标签。

子步骤32,使用模拟退火算法,对初始的混合能量函数进行最小化训练,得到训练后的混合能量函数。

在本步骤中,可以使用包含遗传变异信息的模拟退火算法,对初始的混合能量函数进行最小化训练,得到训练后的最小混合能量函数,以便根据训练后的混合能量函数,确定最佳的深度次序。

需要说明的是,子步骤32的详细过程可以参考现有技术,在此不再赘述。

子步骤33,根据训练后的混合能量函数中的前后顺序标签,确定单目图像的深度次序。

在本步骤中,可以根据训练后的混合能量函数中的前后顺序标签,确定单目图像的深度次序;具体的,在训练后得到的最小混合能量函数中的参数所表征的遮挡轮廓图中各区域的前后顺序即为单目图像的深度次序。

可见,本发明实施例提供的计算单目图像的深度次序的方法,可以通过填充由过分割算法和分类器生成的遮挡轮廓图中缺失的像素点,得到填充后的完整的遮挡轮廓图,并且,还对从填充后的遮挡轮廓图中提取的t型角点特征进行修正,保证用于计算深度次序的t型角点特征的正确性,以进一步提高计算出的深度次序的准确性。

本发明实施例还提供了一种计算单目图像的深度次序的装置。参见图15,图15为本发明实施例的计算单目图像的深度次序的装置的结构图,该装置包括:

第一生成单元1501,用于使用预设的过分割算法和预设的分类器依次对单目图像进行处理,生成单目图像的遮挡轮廓图;

第二生成单元1502,用于使用预设的卷积核遍历遮挡轮廓图中的各像素点,生成各像素点对应的卷积值;

第一确定单元1503,用于在各像素点对应的卷积值中,将卷积值为预设值的像素点确定为间断点,间断点为遮挡轮廓图中位于缺失的像素点两端的像素点;

第二确定单元1504,用于将相邻的间断点之间的最短路径,确定为相邻的间断点之间的待填充轮廓;

第三生成单元1505,用于沿着待填充轮廓,填充相邻的间断点之间缺失的像素点,生成填充后的遮挡轮廓图;

第一计算单元1506,用于根据填充后的遮挡轮廓图,计算单目图像的深度次序。

可选的,装置还包括:

第二计算单元,用于计算两个相邻的间断点之间的距离;

触发单元,用于当两个相邻的间断点之间的距离小于预设的第一距离阈值且大于预设的第二距离阈值时,触发第二确定单元1504。

可选的,第二确定单元1504,具体用于使用迪杰斯特拉算法确定两个相邻的间断点之间的最短路径,将最短路径确定为两个间断点之间的待填充轮廓。

可选的,装置还包括:

填充单元,用于当两个相邻的间断点之间的距离等于第二距离阈值时,使用预设的膨胀腐蚀方法,填充相邻的间断点之间缺失的像素点。

可选的,填充单元,具体用于根据预设的膨胀矩阵,分别以两个相邻的间断点以及与两个相邻的间断点邻近的像素点的位置为中心进行膨胀处理,以填充膨胀区域内的像素点;根据预设的腐蚀矩阵,分别以两个相邻的间断点以及与两个相邻的间断点邻近的像素点的位置为中心进行腐蚀处理,以去除腐蚀区域内的像素点。

可选的,两个相邻的间断点之间的距离包括两个相邻的间断点之间的二范式距离。

可选的,第一计算单元1506,具体用于从填充后的遮挡轮廓图中提取局部slc边界特征、t型角点特征和区域显著性特征,局部边界特征包括凸性c边界特征;判断c边界特征表征的遮挡轮廓图中各区域之间的第一前后关系,与t型角点特征表征的遮挡轮廓图中各区域之间的第二前后关系是否一致;当目标第一前后关系与目标第二前后关系不一致时,将目标第二前后关系对应的t型角点特征确定为错误t型角点特征,并根据目标第一前后关系,对错误t型角点特征进行修正;根据slc边界特征、修正后的t型角点特征以及区域显著性特征,计算单目图像的深度次序。

可选的,第一计算单元1506,具体用于根据slc边界特征、修正后的t型角点特征以及区域显著性特征,生成初始的混合能量函数,初始的混合能量函数包括填充后的遮挡轮廓图中各区域的前后顺序标签,初始的混合能量函数中的前后顺序标签是随机产生的;使用模拟退火算法,对混合能量函数进行最小化训练,得到训练后的混合能量函数;根据训练后的混合能量函数中的前后顺序标签,确定单目图像的深度次序。

可见,本发明实施例提供的计算单目图像的深度次序的装置,可以通过填充由过分割算法和分类器生成的遮挡轮廓图中缺失的像素点,保证遮挡轮廓的完整性,进而提高计算出的单目图像的深度次序的准确性。

本发明实施例还提供了一种电子设备,参考图16,图16为本发明实施例的电子设备的示意图,如图16所示,电子设备包括处理器1601、通信接口1602、存储器1603和通信总线1604,其中,处理器1601,通信接口1602,存储器1603通过通信总线1604完成相互间的通信,

存储器1603,用于存放计算机程序;

处理器1601,用于执行存储器1603上所存放的程序时,实现如下步骤:

使用预设的过分割算法和预设的分类器依次对单目图像进行处理,生成单目图像的遮挡轮廓图;

使用预设的卷积核遍历遮挡轮廓图中的各像素点,生成各像素点对应的卷积值;

在各像素点对应的卷积值中,将卷积值为预设值的像素点确定为间断点,间断点为遮挡轮廓图中位于缺失的像素点两端的像素点;

将相邻的间断点之间的最短路径,确定为相邻的间断点之间的待填充轮廓;

沿着待填充轮廓,填充相邻的间断点之间缺失的像素点,生成填充后的遮挡轮廓图;

根据填充后的遮挡轮廓图,计算单目图像的深度次序。

上述电子设备提到的通信总线可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

通信接口用于上述电子设备与其他设备之间的通信。

存储器可以包括随机存取存储器(randomaccessmemory,简称ram),也可以包括非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。

上述的处理器可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(digitalsignalprocessing,简称dsp)、专用集成电路(applicationspecificintegratedcircuit,简称asic)、现场可编程门阵列(field-programmablegatearray,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。

在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的计算单目图像的深度次序的方法。

在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一所述的计算单目图像的深度次序的方法。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘solidstatedisk(ssd))等。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1