视觉里程计算方法、装置和计算机可读存储介质

文档序号:1568330 发布日期:2020-01-24 浏览:5次 >En<

阅读说明:本技术 视觉里程计算方法、装置和计算机可读存储介质 (Visual mileage calculation method, device and computer readable storage medium ) 是由 苏晓明 赵颖 刘殿超 于 2018-07-16 设计创作,主要内容包括:本发明实施例提供视觉里程计算方法、装置和计算机可读存储介质,其中所述方法包括:利用捕获设备捕获立体视频中的帧图像,得到所述帧图像的特征点及对应的视差图;根据所述视差图得到U视差图和V视差图;根据所述U视差图和V视差图获取第一运动对象区域;根据所获取的第一运动对象区域,在所述帧图像的特征点中去除所述第一运动对象区域上的特征点;利用所述帧图像中剩余的特征点进行位姿估计。(The embodiment of the invention provides a visual mileage calculation method, a device and a computer readable storage medium, wherein the method comprises the following steps: capturing frame images in a stereoscopic video by using capturing equipment to obtain feature points of the frame images and a corresponding disparity map; obtaining a U disparity map and a V disparity map according to the disparity map; acquiring a first moving object area according to the U disparity map and the V disparity map; according to the acquired first moving object area, removing characteristic points on the first moving object area from the characteristic points of the frame image; and performing pose estimation by using the residual feature points in the frame image.)

视觉里程计算方法、装置和计算机可读存储介质

技术领域

本申请涉及图像处理领域,尤其涉及一种视觉里程计算方法、装置和计算机可读存储介质。

背景技术

视觉里程计算方法已被广泛应用于机器人及车辆导航领域,如智能汽车、无人机等,这种方法能够根据视觉信息测算运动的距离和方向,避免了传统里程计算方法中因轮式里程计的车轮打滑造成的测量错误,也避免了因传感器精度降低等因素造成的运动参数测量误差,提高了测量精度。

在当前常用的视觉里程计算方法中,往往会对捕获的图像中所有的特征点均进行检测和匹配以进行位姿估计。但是,在实际的应用场景中,如果与位姿估计的对象之间产生了相对运动,则会导致特征点匹配错误和位姿估计失实的问题。

因此,需要一种能够准确进行视觉里程计算的方法。

发明内容

为解决上述技术问题,根据本发明的一个方面,提供了一种视觉里程计算方法,包括:利用捕获设备捕获立体视频中的帧图像,得到所述帧图像的特征点及对应的视差图;根据所述视差图得到U视差图和V视差图;根据所述U视差图和V视差图获取第一运动对象区域;根据所获取的第一运动对象区域,在所述帧图像的特征点中去除所述第一运动对象区域上的特征点;利用所述帧图像中剩余的特征点进行位姿估计。

根据本发明的另一个方面,提供了一种视觉里程计算装置,包括:获取单元,配置为利用捕获设备捕获立体视频中的帧图像,得到所述帧图像的特征点及对应的视差图;视差计算单元,配置为根据所述视差图得到U视差图和V视差图;第一运动对象区域获取单元,配置为根据所述U视差图和V视差图获取第一运动对象区域;特征点去除单元,配置为根据所获取的第一运动对象区域,在所述帧图像的特征点中去除所述第一运动对象区域上的特征点;位姿估计单元,配置为利用所述帧图像中剩余的特征点进行位姿估计。

根据本发明的另一个方面,提供一种视觉里程计算装置,包括:处理器;和存储器,在所述存储器中存储有计算机程序指令,其中,在所述计算机程序指令被所述处理器运行时,使得所述处理器执行以下步骤:利用捕获设备捕获立体视频中的帧图像,得到所述帧图像的特征点及对应的视差图;根据所述视差图得到U视差图和V视差图;根据所述U视差图和V视差图获取第一运动对象区域;根据所获取的第一运动对象区域,在所述帧图像的特征点中去除所述第一运动对象区域上的特征点;利用所述帧图像中剩余的特征点进行位姿估计。

根据本发明的另一个方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现以下步骤:利用捕获设备捕获立体视频中的帧图像,得到所述帧图像的特征点及对应的视差图;根据所述视差图得到U视差图和V视差图;根据所述U视差图和V视差图获取第一运动对象区域;根据所获取的第一运动对象区域,在所述帧图像的特征点中去除所述第一运动对象区域上的特征点;利用所述帧图像中剩余的特征点进行位姿估计。

根据本发明的上述视觉里程计算方法、装置和计算机可读存储介质,能够根据所捕获的帧图像中的视差图获取第一运动对象区域,并根据所获取的第一运动对象区域,在所述帧图像的特征点中去除相应的特征点以进行位姿估计。可见,根据本发明上述方法、装置和计算机可读存储介质进行的位姿估计能够去除所捕获的图像中的某些特定位置的特征点,以增加位姿估计的精确程度,实现准确且稳健的视觉里程计算。

附图说明

通过结合附图对本发明的实施例进行详细描述,本发明的上述和其它目的、特征、优点将会变得更加清楚。

图1示出根据本发明一个实施例的视觉里程计算方法的流程图;

图2示出根据本发明一个实施例的U视差图、V视差图和对应的深度图;

图3示出根据本发明一个实施例的边缘特征点的比较和更新的示例;

图4示出根据本发明一个实施例的帧图像上第一运动对象区域中特征点的示意图;

图5示出根据本发明一个实施例的视觉里程计算装置的框图;

图6示出根据本发明一个实施例的视觉里程计算装置的框图。

具体实施方式

下面将参照附图来描述根据本发明实施例的视觉里程计算方法、装置和计算机可读存储介质。在附图中,相同的参考标号自始至终表示相同的元件。应当理解:这里描述的实施例仅仅是说明性的,而不应被解释为限制本发明的范围。

下面将参照图1描述根据本发明实施例的视觉里程计算方法。图1示出该视觉里程计算方法100的流程图。

如图1所示,在步骤S101中,利用捕获设备捕获立体视频中的帧图像,得到所述帧图像的特征点及对应的视差图。

在本步骤中,可以通过能够捕获立体视频的捕获设备得到立体视频中的帧图像。例如,可以利用双目相机分别获得立体视频中某一帧的左图像或者右图像,并把所述左图像或右图像作为帧图像。在一个示例中,所述帧图像可以为左图像。

在捕获所述帧图像之后,可以对帧图像进行特征点检测,以得到帧图像的特征点。在一个示例中,特征点的检测方式可以包括例如SIFT特征、SURF特征、Harris角点等各种特征点检测方法。在检测特征点后,可以对所检测的特征点进行描述,其所采用的方法可以包括例如灰度特征、梯度特征、视差信息等各种用于特征描述的方法。

另外,在捕获立体视频后,还可以得到立体视频中帧图像对应的视差图。视差图(disparity map)是以任一幅图像为基准,其大小为该基准图像的大小,元素值为视差值的图像,视差图包含了场景的距离信息。视差图可以通过立体视频中某一帧的左图像和右图像共同计算得到。

在步骤S102中,根据所述视差图得到U视差图和V视差图。

本步骤中的U视差图可以视为视差图的俯视图,而V视差图可以视为视差图的侧视图。U视差图和V视差图可以从视差图中计算得到。具体地,普通二维视差图中的某点可以用(u,v,d)表示,其中u为横坐标,v为纵坐标,d表示由u,v限定的点处的视差。在此基础上,U视差图中任意一点(u,d)的灰度值是对应视差图的横坐标为u的列中视差值等于d的点的个数。U视差图中的U对应于(u,v)图像坐标系统中的水平坐标u。对于视差图中的一点(u,v,d),在U视差图中将投影到点(u,d)上。类似的,V视差图中任意一点(d,v)的灰度值是对应视差图的纵坐标为v的行中视差值等于d的点的个数。V视差图中的V对应于(u,v)图像坐标系统中的纵坐标v。对于视差图中的一点(u,v,d),在V视差图中将投影到点(v,d)。

在步骤S103中,根据所述U视差图和V视差图获取第一运动对象区域。

在实际应用中,可以首先针对立体视频中的帧图像的所有特征点的位姿计算的结果进行初步判断,从而确定是否需要根据U视差图和V视差图获取第一运动对象区域。具体地,可以利用所述帧图像的特征点和其相邻帧图像或其间隔帧图像的特征点进行位姿估计;将所述位姿估计的结果与所述捕获设备所在的第二运动对象(例如,可以为捕获设备所在的车辆)的运动信息(例如,可以为速度、yawrate偏航率等)进行比较;当所述比较结果超过预设估计阈值时,则确定根据所述U视差图和V视差图获取第一运动对象区域。在这一示例中,位姿估计的具体方式可以是根据帧图像的特征点和其相邻帧图像或其间隔帧图像的特征点形成的特征点匹配对计算运动估计矩阵,以计算所述第二运动对象的旋转和位移。这里所用的所述运动估计矩阵可以包括旋转矩阵R和位移矩阵T,运动估计方法可以是基于四元数、RANSAC的运动估计方法,也可以是常用的其他各种运动估计方法。另外,上述利用帧图像的特征点和其相邻帧图像或其间隔帧图像的特征点进行位姿估计的方式仅为示例,例如,在实际应用中,涉及本发明实施例中的位姿估计方法可以利用所述帧图像和其相邻帧,也可以利用所述帧图像和与其间隔一帧或数帧的间隔帧图像进行位姿估计,间隔的帧数在此也不做限制。

当根据帧图像的所有特征点进行第二运动对象的位姿估计的结果,和利用例如传感器/里程计所获取的第二运动对象的运动信息相比较,并发现偏差较大时,则意味着帧图像中存在着与第二运动对象之间的相对速度较大的物体(即第一运动对象)的特征点。当利用这些特征点进行特征点匹配并对第二运动对象进行位姿估计时,会对第二运动对象位姿估计的结果带来较大的误差,从而导致结果不够准确。(例如,在利用帧图像的特征点匹配对进行第二运动对象的位姿估计时,一般会默认图像中存在的其他参考对象都是静止的(例如道路、树木等等),但在实际应用场景中,第二运动对象旁边或对向的移动车辆等可能并非是静止的,并且有可能相对于第二移动对象的相对速度差距较大。所以在估计过程中,如果采用了足够数量的包含相对速度较大的车辆等的特征点,会严重影响实际的位姿估计的结果。因此,在本发明实施例中,考虑在帧图像的特征点中去除这一部分第一运动对象区域的特征点,以进一步提高对第二运动对象位姿估计的准确性。

具体地,根据本发明一个实施例,可以根据所述U视差图和V视差图中检测得到的物体的宽度、高度、宽高比中的至少一种,判断所述物体所在的区域是否为第一运动对象区域。在一个示例中,可以认为第一运动对象为在第二运动对象附近运动的车辆,在这种情况下,可以利用预先获取的与车辆尺寸对应的U视差图和V视差图中的宽度、高度、宽高比中的至少一种,来判断所述物体是否为车辆。如果根据上述判断结果,认为此物体是车辆,则确定其所在的区域即是第一运动对象区域。另外,例如,还可以根据所述帧图像对应的视差图和/或相应的深度图,来结合深度信息判断所述物体的宽度和/或高度的真实数值,更加精确地判断物体的属性,即其是否为第一运动对象。再例如,还可以根据所述帧图像和/或其对应的视差图(或进一步包括U视差图、V视差图等),来判断帧图像中的道路区域,并根据所述物体与道路区域的相对位置关系来确定物体的属性。可选地,当所述物***于道路区域内,或进一步满足一定宽度、高度和/或宽高比时,认为所述物体是第一运动对象;而当所述物***于道路区域之外时,认为所述物体不是第一运动对象。在一个示例中,可以在U视差图的每一列中选择具有特定灰度值的像素点,拟合为一条线段,并获取物体的宽度。类似地,也可以在V视差图的每一行中选择具有特定灰度值的像素点拟合为一条线段,并获取物体的高度。前述所获取的物体宽度与高度的比值,可以作为宽高比。在实际应用中,所述特定灰度值可以为灰度值小于某一阈值的灰度值。

在一个示例中,还可以根据所述U视差图判断所述帧图像是否具有在V视差图上被遮挡的物体;如果具有被遮挡物体,则根据所述被遮挡物体的宽度、高度、宽高比中的至少一种,判断所述被遮挡物体所在的区域是否为第一运动对象区域。图2示出根据本发明一个实施例的U视差图、V视差图和对应的深度图。如图2所示,U视差图和V视差图中的1和2分别代表一个物体,在V视差图的角度来看,物体1在V视差图上的高度完全被物体2所遮挡,因此,在V视差图上无法获知物体1的存在。而根据U视差图,可以看到图像中明显应该存在两个独立的物体。可见,可以根据所述U视差图判断所述帧图像是否具有在V视差图上被遮挡的物体,当判断存在被遮挡物体时,则可以例如从U视差图中获知该被遮挡物体的宽度和具***置,然后在深度图(或视差图)中迭代搜索相同的区域以获知所述被遮挡物体的高度。在获知所述物体的宽度和高度后,进一步地,可以利用前述方法(例如宽度、高度和/或宽高比,或结合深度信息、道路区域等因素)判断此被遮挡的物体的属性。

可选地,当通过U视差图和V视差图获取第一运动对象区域时,还可以对初始获取的第一运动对象区域进行优化。具体地,可以将所述第一运动对象区域边缘处的一个或多个边缘特征点和在第一运动对象区域上的与其相邻的一个或多个特征点进行灰度值和/或深度值比较;当所述比较结果满足预设比较阈值时,将被比较的与所述边缘特征点相邻的特征点更新为新的边缘特征点,并根据更新的边缘特征点优化所述第一运动对象区域。图3示出根据本发明一个实施例的边缘特征点的比较和更新的示例。图3中的两处箭头交叉处分别示出两个边缘特征点的位置。当将这两个边缘特征点分别与在第一运动对象区域上且相邻的浅色的特征点进行灰度值比较,并且发现比较结果显示灰度变化较小时,可以将被比较的这些浅色的特征点更新为新的边缘特征点,并将第一运动对象的区域局限在新的边缘特征点所限定的区域之内。在上述示例中,比较结果所满足的预设比较阈值可以为灰度值或深度值的预设范围,例如,可以为比较得到的灰度值的差小于30或50。进一步地,还可以对新的边缘特征点进行相类似的比较操作,并根据比较结果继续更新第一运动对象区域。例如,可以对箭头方向所指的浅色的特征点再次进行类似的比较操作,当不断迭代并更新到图3下部的黑色区域时,确定不再满足上述灰度值的预设比较阈值要求,从而将最后的黑色区域框定为第一运动对象区域,并不再更新。在确定了第一运动对象区域之后,可以将所述第一运动对象区域内部的特征点去除,以提高后续步骤位姿估计的准确性。图4示出根据本发明一个实施例的帧图像上第一运动对象区域中特征点的示意图。如图4所示,高速运动的车辆所在的此第一运动对象区域分布了多个特征点。其中,可以从例如第一运动对象区域的右上角开始进行边缘特征点比较,并逐渐更新边缘特征点以向区域中心,即车辆所在位置处移动。直到所更新的边缘特征点落在图4示出的车辆的边界线附近时,比较结果可能会不满足预设的比较阈值,并将最终的第一运动对象区域框定在车辆边缘区域范围内,以得到更加精确的第一运动对象区域的检测结果。上述将边缘特征点和与其相邻的特征点的比较方式仅为示例,在实际应用中,还可以将边缘特征点和其周围一定范围内的特征点进行比较,并不仅局限于相邻的特征点。

在步骤S104中,根据所获取的第一运动对象区域,在所述帧图像的特征点中去除所述第一运动对象区域上的特征点。

在本步骤中,为了尽量消除第一运动对象区域中的特征点对第二运动对象的位姿估计的影响,因此,可以在帧图像的特征点中去除所述第一运动对象区域上的特征点。例如,可以去除图4的高速运动的车辆所在区域中的所有特征点,仅保留帧图像中车辆***的特征点。

在步骤S105中,利用所述帧图像中剩余的特征点进行位姿估计。

本步骤中,在去除了第一运动对象区域中的特征点之后,可以仅采用帧图像中剩余的特征点进行位姿估计,以提高位姿估计的准确性。具体地,可以根据所述帧图像和其相邻帧图像或其间隔帧图像的特征点匹配对计算运动估计矩阵,所述运动估计矩阵包括旋转矩阵和位移矩阵。另外,如前所述,上述利用帧图像的特征点和其相邻帧图像或其间隔帧图像的特征点进行位姿估计的方式仅为示例,涉及本发明实施例中的位姿估计方法并不限于利用所述帧图像和其相邻帧,也可以利用所述帧图像和与其间隔一帧或数帧的间隔帧图像进行位姿估计,在此不做限制。这里所用的所述运动估计矩阵也可以包括旋转矩阵R和位移矩阵T等。例如,利用运动信息估计的旋转和位移矩阵(R,T)可以包含6个自由度(Degree ofFreedom,DOF):rx、ry、rz、tx、ty、tz。这里rx、ry、rz表示x、y、z三个方向的旋转自由度,而tx、ty、tz表示x、y、z三个方向的平移自由度。本发明实施例中的运动估计方法可以是基于四元数、RANSAC的运动估计方法,也可以是常用的其他各种运动估计方法。

在本发明一个示例中,在帧图像中去除特征点和利用所述帧图像中剩余的特征点进行位姿估计,可以是在特征点匹配之后进行的。也就是说,在这一示例中,所述获取立体视频图像中帧图像的特征点及对应的视差图还可以包括:利用所述帧图像的特征点和其相邻帧图像或其间隔帧图像的特征点进行特征点匹配,得到至少一个特征点匹配对。相应地,在已经针对帧图像的所有特征点与相邻帧(或间隔一帧或数帧的间隔帧)的帧图像匹配得到特征点匹配对之后,所述利用所述帧图像中剩余的特征点进行位姿估计就可以包括:利用所述帧图像中剩余的特征点所对应的特征点匹配对进行所述位姿估计。由此,可以在去除第一运动对象区域上所有特征点的同时,也去除掉所有相应的特征点匹配对,而仅利用剩余的特征点对应的特征点匹配对进行位姿估计,以提高位姿估计的准确性。

在本发明另一个示例中,也可以首先在帧图像中去除第一运动对象区域上的特征点,然后再进行特征点匹配和位姿估计。具体地,利用所述帧图像中剩余的特征点进行位姿估计可以包括:利用所述帧图像中剩余的特征点和其相邻帧图像或其间隔帧图像的特征点进行特征点匹配,利用匹配得到的至少一个特征点匹配对进行所述位姿估计。在这一示例中,可以不进行帧图像上所有特征点的特征点匹配,而首先去除掉第一运动对象区域上的特征点。在去除特征点之后,再利用剩余的特征点进行特征点匹配,以更进一步地提高计算效率,节约计算资源。

根据本发明实施例的视觉里程计算方法,能够根据所捕获的帧图像中的视差图获取第一运动对象区域,并根据所获取的第一运动对象区域,在所述帧图像的特征点中去除相应的特征点以进行位姿估计。可见,根据本发明上述方法进行的位姿估计能够去除所捕获的图像中的某些特定位置的特征点,以增加位姿估计的精确程度,实现准确且稳健的视觉里程计算。

下面,参照图5来描述根据本发明实施例的视觉里程计算装置。图5示出了根据本发明实施例的视觉里程计算装置500的框图。如图5所示,视觉里程计算装置500包括获取单元510、视差计算单元520、第一运动对象区域获取单元530、特征点去除单元540和位姿估计单元550。除了这些单元以外,视觉里程计算装置500还可以包括其他部件,然而,由于这些部件与本发明实施例的内容无关,因此在这里省略其图示和描述。此外,由于根据本发明实施例的视觉里程计算装置500执行的下述操作的具体细节与在上文中参照图1-图4描述的细节相同,因此在这里为了避免重复而省略对相同细节的重复描述。

图5中的视觉里程计算装置500的获取单元510配置为利用捕获设备捕获立体视频中的帧图像,得到所述帧图像的特征点及对应的视差图。

获取单元510可以通过能够捕获立体视频的捕获设备得到立体视频中的帧图像。例如,可以利用双目相机分别获得立体视频中某一帧的左图像或者右图像,并把所述左图像或右图像作为帧图像。在一个示例中,所述帧图像可以为左图像。

在捕获所述帧图像之后,获取单元510可以对帧图像进行特征点检测,以得到帧图像的特征点。在一个示例中,特征点的检测方式可以包括例如SIFT特征、SURF特征、Harris角点等各种特征点检测方法。在检测特征点后,可以对所检测的特征点进行描述,其所采用的方法可以包括例如灰度特征、梯度特征、视差信息等各种用于特征描述的方法。

另外,在捕获立体视频后,还可以得到立体视频中帧图像对应的视差图。视差图(disparity map)是以任一幅图像为基准,其大小为该基准图像的大小,元素值为视差值的图像,视差图包含了场景的距离信息。视差图可以通过立体视频中某一帧的左图像和右图像共同计算得到。

视差计算单元520根据所述视差图得到U视差图和V视差图。

视差计算单元520获取的U视差图可以视为视差图的俯视图,而V视差图可以视为视差图的侧视图。U视差图和V视差图可以从视差图中计算得到。具体地,普通二维视差图中的某点可以用(u,v,d)表示,其中u为横坐标,v为纵坐标,d表示由u,v限定的点处的视差。在此基础上,U视差图中任意一点(u,d)的灰度值是对应视差图的横坐标为u的列中视差值等于d的点的个数。U视差图中的U对应于(u,v)图像坐标系统中的水平坐标u。对于视差图中的一点(u,v,d),在U视差图中将投影到点(u,d)上。类似的,V视差图中任意一点(d,v)的灰度值是对应视差图的纵坐标为v的行中视差值等于d的点的个数。V视差图中的V对应于(u,v)图像坐标系统中的纵坐标v。对于视差图中的一点(u,v,d),在V视差图中将投影到点(v,d)。

第一运动对象区域获取单元530根据所述U视差图和V视差图获取第一运动对象区域。

在实际应用中,第一运动对象区域获取单元530可以首先针对立体视频中的帧图像的所有特征点的位姿计算的结果进行初步判断,从而确定是否需要根据U视差图和V视差图获取第一运动对象区域。具体地,可以利用所述帧图像的特征点和其相邻帧图像或其间隔帧图像的特征点进行位姿估计;将所述位姿估计的结果与所述捕获设备所在的第二运动对象(例如,可以为捕获设备所在的车辆)的运动信息(例如,可以为速度、yawrate偏航率等)进行比较;当所述比较结果超过预设估计阈值时,则确定根据所述U视差图和V视差图获取第一运动对象区域。在这一示例中,位姿估计的具体方式可以是根据帧图像的特征点和其相邻帧图像或其间隔帧图像的特征点形成的特征点匹配对计算运动估计矩阵,以计算所述第二运动对象的旋转和位移。这里所用的所述运动估计矩阵可以包括旋转矩阵R和位移矩阵T,运动估计方法可以是基于四元数、RANSAC的运动估计方法,也可以是常用的其他各种运动估计方法。另外,上述利用帧图像的特征点和其相邻帧图像或其间隔帧图像的特征点进行位姿估计的方式仅为示例,在实际应用中,涉及本发明实施例中的位姿估计方法可以利用所述帧图像和其相邻帧,也可以利用所述帧图像和与其间隔一帧或数帧的间隔帧图像进行位姿估计,所间隔的帧数在此不做限制。

当第一运动对象区域获取单元530根据帧图像的所有特征点进行第二运动对象的位姿估计的结果,和利用例如传感器/里程计所获取的第二运动对象的运动信息相比较,并发现偏差较大时,则意味着帧图像中存在着与第二运动对象之间的相对速度较大的物体(即第一运动对象)的特征点。当利用这些特征点进行特征点匹配并对第二运动对象进行位姿估计时,会对第二运动对象位姿估计的结果带来较大的误差,从而导致结果不够准确。例如,在利用帧图像的特征点匹配对进行第二运动对象的位姿估计时,一般会默认图像中存在的其他参考对象都是静止的(例如道路、树木等等),但在实际应用场景中,第二运动对象旁边或对向的移动车辆等可能并非是静止的,并且有可能相对于第二移动对象的相对速度差距较大。所以在估计过程中,如果采用了足够数量的包含相对速度较大的车辆等的特征点,会严重影响实际的位姿估计的结果。因此,在本发明实施例中,考虑在帧图像的特征点中去除这一部分第一运动对象区域的特征点,以进一步提高对第二运动对象位姿估计的准确性。

具体地,根据本发明一个实施例,第一运动对象区域获取单元530可以根据所述U视差图和V视差图中检测得到的物体的宽度、高度、宽高比中的至少一种,判断所述物体所在的区域是否为第一运动对象区域。在一个示例中,可以认为第一运动对象为在第二运动对象附近运动的车辆,在这种情况下,可以利用预先获取的与车辆尺寸对应的U视差图和V视差图中的宽度、高度、宽高比中的至少一种,来判断所述物体是否为车辆。如果根据上述判断结果,认为此物体是车辆,则确定其所在的区域即是第一运动对象区域。另外,例如,还可以根据所述帧图像对应的视差图和/或相应的深度图,来结合深度信息判断所述物体的宽度和/或高度的真实数值,更加精确地判断物体的属性,即其是否为第一运动对象。再例如,还可以根据所述帧图像和/或其对应的视差图(或进一步包括U视差图、V视差图等),来判断帧图像中的道路区域,并根据所述物体与道路区域的相对位置关系来确定物体的属性。可选地,当所述物***于道路区域内,或进一步满足一定宽度、高度和/或宽高比时,认为所述物体是第一运动对象;而当所述物***于道路区域之外时,认为所述物体不是第一运动对象。在一个示例中,可以在U视差图的每一列中选择具有特定灰度值的像素点,拟合为一条线段,并获取物体的宽度。类似地,也可以在V视差图的每一行中选择具有特定灰度值的像素点拟合为一条线段,并获取物体的高度。前述所获取的物体宽度与高度的比值,可以作为宽高比。在实际应用中,所述特定灰度值可以为灰度值小于某一阈值的灰度值。

在一个示例中,还可以根据所述U视差图判断所述帧图像是否具有在V视差图上被遮挡的物体;如果具有被遮挡物体,则根据所述被遮挡物体的宽度、高度、宽高比中的至少一种,判断所述被遮挡物体所在的区域是否为第一运动对象区域。图2示出根据本发明一个实施例的U视差图、V视差图和对应的深度图。如图2所示,U视差图和V视差图中的1和2分别代表一个物体,在V视差图的角度来看,物体1在V视差图上的高度完全被物体2所遮挡,因此,在V视差图上无法获知物体1的存在。而根据U视差图,可以看到图像中明显应该存在两个独立的物体。可见,可以根据所述U视差图判断所述帧图像是否具有在V视差图上被遮挡的物体,当判断存在被遮挡物体时,则可以例如从U视差图中获知该被遮挡物体的宽度和具***置,然后在深度图(或视差图)中迭代搜索相同的区域以获知所述被遮挡物体的高度。在获知所述物体的宽度和高度后,进一步地,可以利用前述方法(例如宽度、高度和/或宽高比,或结合深度信息、道路区域等因素)判断此被遮挡的物体的属性。

可选地,当通过U视差图和V视差图获取第一运动对象区域时,还可以对初始获取的第一运动对象区域进行优化。具体地,可以将所述第一运动对象区域边缘处的一个或多个边缘特征点和在第一运动对象区域上的与其相邻的一个或多个特征点进行灰度值和/或深度值比较;当所述比较结果满足预设比较阈值时,将被比较的与所述边缘特征点相邻的特征点更新为新的边缘特征点,并根据更新的边缘特征点优化所述第一运动对象区域。图3示出根据本发明一个实施例的边缘特征点的比较和更新的示例。图3中的两处箭头交叉处分别示出两个边缘特征点的位置。当将这两个边缘特征点分别与在第一运动对象区域上且相邻的浅色的特征点进行灰度值比较,并且发现比较结果显示灰度变化较小时,可以将被比较的这些浅色的特征点更新为新的边缘特征点,并将第一运动对象的区域局限在新的边缘特征点所限定的区域之内。在上述示例中,比较结果所满足的预设比较阈值可以为灰度值或深度值的预设范围,例如,可以为比较得到的灰度值的差小于30或50。进一步地,还可以对新的边缘特征点进行相类似的比较操作,并根据比较结果继续更新第一运动对象区域。例如,可以对箭头方向所指的浅色的特征点再次进行类似的比较操作,当不断迭代并更新到图3下部的黑色区域时,确定不再满足上述灰度值的预设比较阈值要求,从而将最后的黑色区域框定为第一运动对象区域,并不再更新。在确定了第一运动对象区域之后,可以将所述第一运动对象区域内部的特征点去除,以提高后续步骤位姿估计的准确性。图4示出根据本发明一个实施例的帧图像上第一运动对象区域中特征点的示意图。如图4所示,高速运动的车辆所在的此第一运动对象区域分布了多个特征点。其中,可以从例如第一运动对象区域的右上角开始进行边缘特征点比较,并逐渐更新边缘特征点以向区域中心,即车辆所在位置处移动。直到所更新的边缘特征点落在图4示出的车辆的边界线附近时,比较结果可能会不满足预设的比较阈值,并将最终的第一运动对象区域框定在车辆边缘区域范围内,以得到更加精确的第一运动对象区域的检测结果。上述将边缘特征点和与其相邻的特征点的比较方式仅为示例,在实际应用中,还可以将边缘特征点和其周围一定范围内的特征点进行比较,并不仅局限于相邻的特征点。

特征点去除单元540根据所获取的第一运动对象区域,在所述帧图像的特征点中去除所述第一运动对象区域上的特征点。

为了尽量消除第一运动对象区域中的特征点对第二运动对象的位姿估计的影响,特征点去除单元540可以在帧图像的特征点中去除所述第一运动对象区域上的特征点。例如,可以利用特征点去除单元540去除图4的高速运动的车辆所在区域中的所有特征点,仅保留帧图像中车辆***的特征点。

位姿估计单元550利用所述帧图像中剩余的特征点进行位姿估计。

在去除了第一运动对象区域中的特征点之后,位姿估计单元550可以仅采用帧图像中剩余的特征点进行位姿估计,以提高位姿估计的准确性。具体地,可以根据所述帧图像和其相邻帧图像或其间隔帧图像的特征点匹配对计算运动估计矩阵,所述运动估计矩阵包括旋转矩阵和位移矩阵。另外,如前所述,上述利用帧图像的特征点和其相邻帧图像或其间隔帧图像的特征点进行位姿估计的方式仅为示例,涉及本发明实施例中的位姿估计方法并不限于利用所述帧图像和其相邻帧,也可以利用所述帧图像和与其间隔一帧或数帧的间隔帧图像进行位姿估计,在此不做限制。这里所用的所述运动估计矩阵也可以包括旋转矩阵R和位移矩阵T等。例如,利用运动信息估计的旋转和位移矩阵(R,T)可以包含6个自由度(Degree of Freedom,DOF):rx、ry、rz、tx、ty、tz。这里rx、ry、rz表示x、y、z三个方向的旋转自由度,而tx、ty、tz表示x、y、z三个方向的平移自由度。本发明实施例中的运动估计方法可以是基于四元数、RANSAC的运动估计方法,也可以是常用的其他各种运动估计方法。

在本发明一个示例中,在帧图像中去除特征点和利用所述帧图像中剩余的特征点进行位姿估计,可以是在特征点匹配之后进行的。也就是说,在这一示例中,获取单元510还可以利用所述帧图像的特征点和其相邻帧图像或其间隔帧图像的特征点进行特征点匹配,得到至少一个特征点匹配对。相应地,在已经针对帧图像的所有特征点与相邻帧(或间隔一帧或数帧的间隔帧)的帧图像匹配得到特征点匹配对之后,位姿估计单元550就可以利用所述帧图像中剩余的特征点所对应的特征点匹配对进行所述位姿估计。由此,可以在去除第一运动对象区域上所有特征点的同时,也去除掉所有相应的特征点匹配对,而仅利用剩余的特征点对应的特征点匹配对进行位姿估计,以提高位姿估计的准确性。

在本发明另一个示例中,也可以首先在帧图像中去除第一运动对象区域上的特征点,然后再进行特征点匹配和位姿估计。具体地,位姿估计单元550可以利用所述帧图像中剩余的特征点和其相邻帧图像或其间隔帧图像的特征点进行特征点匹配,利用匹配得到的至少一个特征点匹配对进行所述位姿估计。在这一示例中,可以不进行帧图像上所有特征点的特征点匹配,而首先去除掉第一运动对象区域上的特征点。在去除特征点之后,再利用剩余的特征点进行特征点匹配,以更进一步地提高计算效率,节约计算资源。

根据本发明实施例的视觉里程计算装置,能够根据所捕获的帧图像中的视差图获取第一运动对象区域,并根据所获取的第一运动对象区域,在所述帧图像的特征点中去除相应的特征点以进行位姿估计。可见,根据本发明上述方法进行的位姿估计能够去除所捕获的图像中的某些特定位置的特征点,以增加位姿估计的精确程度,实现准确且稳健的视觉里程计算。

下面,参照图6来描述根据本发明实施例的视觉里程计算装置。图6示出了根据本发明实施例的视觉里程计算装置600的框图。如图6所示,该装置600可以是计算机或服务器。

如图6所示,视觉里程计算装置600包括一个或多个处理器610以及存储器620,当然,除此之外,视觉里程计算装置600还可能包括输入装置、输出装置(未示出)等,这些组件可以通过总线系统和/或其它形式的连接机构互连。应当注意,图6所示的视觉里程计算装置600的组件和结构只是示例性的,而非限制性的,根据需要,视觉里程计算装置600也可以具有其他组件和结构。

处理器610可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其它形式的处理单元,并且可以利用存储器620中所存储的计算机程序指令以执行期望的功能,可以包括:利用捕获设备捕获立体视频中的帧图像,得到所述帧图像的特征点及对应的视差图;根据所述视差图得到U视差图和V视差图;根据所述U视差图和V视差图获取第一运动对象区域;根据所获取的第一运动对象区域,在所述帧图像的特征点中去除所述第一运动对象区域上的特征点;利用所述帧图像中剩余的特征点进行位姿估计。

存储器620可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器610可以运行所述程序指令,以实现上文所述的本发明的实施例的视觉里程计算装置的功能以及/或者其它期望的功能,并且/或者可以执行根据本发明实施例的视觉里程计算方法。在所述计算机可读存储介质中还可以存储各种应用程序和各种数据。

下面,描述根据本发明实施例的计算机可读存储介质,其上存储有计算机程序指令,其中,所述计算机程序指令被处理器执行时实现以下步骤:利用捕获设备捕获立体视频中的帧图像,得到所述帧图像的特征点及对应的视差图;根据所述视差图得到U视差图和V视差图;根据所述U视差图和V视差图获取第一运动对象区域;根据所获取的第一运动对象区域,在所述帧图像的特征点中去除所述第一运动对象区域上的特征点;利用所述帧图像中剩余的特征点进行位姿估计。

当然,上述的具体实施例仅是例子而非限制,且本领域技术人员可以根据本发明的构思从上述分开描述的各个实施例中合并和组合一些步骤和装置来实现本发明的效果,这种合并和组合而成的实施例也被包括在本发明中,在此不一一描述这种合并和组合。

注意,在本发明中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本发明的各个实施例必须具备的。另外,上述发明的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本发明为必须采用上述具体的细节来实现。

本发明中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。

本发明中的步骤流程图以及以上方法描述仅作为例示性的例子并且不意图要求或暗示必须按照给出的顺序进行各个实施例的步骤。如本领域技术人员将认识到的,可以按任意顺序进行以上实施例中的步骤的顺序。诸如“其后”、“然后”、“接下来”等等的词语不意图限制步骤的顺序;这些词语仅用于引导读者通读这些方法的描述。此外,例如使用冠词“一个”、“一”或者“该”对于单数的要素的任何引用不被解释为将该要素限制为单数。

另外,本文中的各个实施例中的步骤和装置并非仅限定于某个实施例中实行,事实上,可以根据本发明的概念来结合本文中的各个实施例中相关的部分步骤和部分装置以构思新的实施例,而这些新的实施例也包括在本发明的范围内。

以上所述的方法的各个操作可以通过能够进行相应的功能的任何适当的手段而进行。该手段可以包括各种硬件和/或软件组件和/或模块,包括但不限于电路、专用集成电路(ASIC)或处理器。

可以利用被设计用于进行在此所述的功能的通用处理器、数字信号处理器(DSP)、ASIC、场可编程门阵列信号(FPGA)或其他可编程逻辑器件(PLD)、离散门或晶体管逻辑、离散的硬件组件或者其任意组合而实现或进行所述的各个例示的逻辑块、模块和电路。通用处理器可以是微处理器,但是作为替换,该处理器可以是任何商业上可获得的处理器、控制器、微控制器或状态机。处理器还可以实现为计算设备的组合,例如DSP和微处理器的组合,多个微处理器、与DSP核协作的一个或多个微处理器或任何其他这样的配置。

结合本发明描述的方法或算法的步骤可以直接嵌入在硬件中、处理器执行的软件模块中或者这两种的组合中。软件模块可以存在于任何形式的有形存储介质中。可以使用的存储介质的一些例子包括随机存取存储器(RAM)、只读存储器(ROM)、快闪存储器、EPROM存储器、EEPROM存储器、寄存器、硬碟、可移动碟、CD-ROM等。存储介质可以耦接到处理器以便该处理器可以从该存储介质读取信息以及向该存储介质写信息。在替换方式中,存储介质可以与处理器是整体的。软件模块可以是单个指令或者许多指令,并且可以分布在几个不同的代码段上、不同的程序之间以及跨过多个存储介质。

在此发明的方法包括用于实现所述的方法的一个或多个动作。方法和/或动作可以彼此互换而不脱离权利要求的范围。换句话说,除非指定了动作的具体顺序,否则可以修改具体动作的顺序和/或使用而不脱离权利要求的范围。

所述的功能可以按硬件、软件、固件或其任意组合而实现。如果以软件实现,功能可以作为一个或多个指令存储在切实的计算机可读介质上。存储介质可以是可以由计算机访问的任何可用的切实介质。通过例子而不是限制,这样的计算机可读介质可以包括RAM、ROM、EEPROM、CD-ROM或其他光碟存储、磁碟存储或其他磁存储器件或者可以用于携带或存储指令或数据结构形式的期望的程序代码并且可以由计算机访问的任何其他切实介质。如在此使用的,碟(disk)和盘(disc)包括紧凑盘(CD)、激光盘、光盘、数字通用盘(DVD)、软碟和蓝光盘,其中碟通常磁地再现数据,而盘利用激光光学地再现数据。

因此,计算机程序产品可以进行在此给出的操作。例如,这样的计算机程序产品可以是具有有形存储(和/或编码)在其上的指令的计算机可读的有形介质,该指令可由一个或多个处理器执行以进行在此所述的操作。计算机程序产品可以包括包装的材料。

软件或指令也可以通过传输介质而传输。例如,可以使用诸如同轴电缆、光纤光缆、双绞线、数字订户线(DSL)或诸如红外、无线电或微波的无线技术的传输介质从网站、服务器或者其他远程源传输软件。

此外,用于进行在此所述的方法和技术的模块和/或其他适当的手段可以在适当时由用户终端和/或基站下载和/或其他方式获得。例如,这样的设备可以耦接到服务器以促进用于进行在此所述的方法的手段的传送。或者,在此所述的各种方法可以经由存储部件(例如RAM、ROM、诸如CD或软碟等的物理存储介质)提供,以便用户终端和/或基站可以在耦接到该设备或者向该设备提供存储部件时获得各种方法。此外,可以利用用于将在此所述的方法和技术提供给设备的任何其他适当的技术。

其他例子和实现方式在本发明和所附权利要求的范围和精神内。例如,由于软件的本质,以上所述的功能可以使用由处理器、硬件、固件、硬连线或这些的任意的组合执行的软件实现。实现功能的特征也可以物理地位于各个位置,包括被分发以便功能的部分在不同的物理位置处实现。而且,如在此使用的,包括在权利要求中使用的,在以“至少一个”开始的项的列举中使用的“或”指示分离的列举,以便例如“A、B或C的至少一个”的列举意味着A或B或C,或AB或AC或BC,或ABC(即A和B和C)。此外,措辞“示例的”不意味着描述的例子是优选的或者比其他例子更好。

可以不脱离由所附权利要求定义的教导的技术而进行对在此所述的技术的各种改变、替换和更改。此外,本发明的权利要求的范围不限于以上所述的处理、机器、制造、事件的组成、手段、方法和动作的具体方面。可以利用与在此所述的相应方面进行基本相同的功能或者实现基本相同的结果的当前存在的或者稍后要开发的处理、机器、制造、事件的组成、手段、方法或动作。因而,所附权利要求包括在其范围内的这样的处理、机器、制造、事件的组成、手段、方法或动作。

提供所发明的方面的以上描述以使本领域的任何技术人员能够做出或者使用本发明。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本发明的范围。因此,本发明不意图被限制到在此示出的方面,而是按照与在此发明的原理和新颖的特征一致的最宽范围。

为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本发明的实施例限制到在此发明的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

18页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:定位建图方法及装置、定位方法、装置和系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!