掌桥专利:专业的专利平台
掌桥专利
首页

机器人避障方法、终端设备及计算机可读存储介质

文献发布时间:2024-04-29 00:47:01


机器人避障方法、终端设备及计算机可读存储介质

技术领域

本申请属于图像处理技术领域,尤其涉及一种机器人避障方法、终端设备及计算机可读存储介质。

背景技术

近年来,随着机器人产业的发展,机器人的应用越来越广泛。例如,移动机器人可以用于送餐、送货、物流等领域。对于移动机器人而言,如何精准避障是保证其稳定运行的一个关键问题。

目前的避障方法中,通过安装在机器人上的相机采集机器人前方环境的图像,然后检测采集图像中的障碍物,以此辅助机器人进行避障。但这种方式,无法获得障碍物的空间位置,可能导致机器人无法实现避障。

发明内容

本申请实施例提供了一种机器人避障方法、终端设备及计算机可读存储介质,可以定位障碍物的空间位置,利于机器人实现避障。

第一方面,本申请实施例提供了一种机器人避障方法,包括:

对通过深度相机拍摄到的第一图像进行图像检测,得到所述第一图像中目标障碍物的第一平面位置和第一预测深度;

若所述深度相机未检测到所述目标障碍物的第一深度信息,则根据所述第一平面位置和所述第一预测深度确定所述目标障碍物的运动姿态;

根据所述目标障碍物的运动姿态控制所述机器人避障。

本申请实施例中,当深度相机无法检测到目标障碍物的深度信息时,可以通过对相机拍摄到的图像进行图像检测,来预测目标障碍物的深度信息。通过这种方式,能够保证定位到障碍物的空间位置,从而利于机器人实现避障。

在第一方面的一种可能的实现方式中,所述对通过深度相机拍摄到的第一图像进行图像检测,得到所述第一图像中目标障碍物的第一平面位置和第一预测深度,包括:

对所述第一图像进行图像检测,得到检测出的每个物体的第一分割图像、第二平面位置和第二预测深度;

获取第二图像中所述目标障碍物的第二分割图像,其中,所述第二图像为通过所述深度相机拍摄到的、所述第一图像的前一帧图像;

根据所述第一分割图像和所述第二分割图像之间的相似度,从检测出的物体中确定出所述目标障碍物;

将所述目标障碍物对应的第二平面位置确定为第一平面位置,将所述目标障碍物对应的第二预测深度确定为所述第一预测深度。

本申请实施例中,通过前后两帧图像中分割图像的对比,能够较准确地检测出目标障碍物,从而利于机器人实现避障。

在第一方面的一种可能的实现方式中,所述对所述第一图像进行图像检测,得到检测出的每个物体的第一分割图像、第二平面位置和第二预测深度,包括:

获取训练后的多任务模型,其中,所述多任务模型用于对输入图像进行语义分割处理以及预测像素点的深度值;

将所述第一图像输入所述多任务模型,得到检测出的每个物体的第一分割图像、第二平面位置和第二预测深度。

本申请实施例中,在控制机器人避障之前,先对多任务模型进行训练,得到训练后的多任务模型,利用训练后的多任务模型进行图像检测,不仅能够提高检测精度,还利于提高检测效率。

在第一方面的一种可能的实现方式中,所述方法还包括:

获取多组样本数据,其中,每组所述样本数据包括一张样本图像和所述样本图像对应的深度图,所述样本图像对应的深度图通过激光雷达获得;

根据所述样本数据训练所述多任务模型,直到所述多任务模型的检测精度达到预设精度,得到训练后的所述多任务模型。

本申请实施例中,在多任务模型的训练过程中,采用激光雷达获得的深度图进行训练,由于激光雷达的探测精度较高,且能够更准确地探测到黑色物体的深度,因此,上述训练方式有利于提高多任务模型的训练精度。

在第一方面的一种可能的实现方式中,所述根据所述第一平面位置和所述第一预测深度确定所述目标障碍物的运动姿态,包括:

根据所述第一平面位置和所述第一预测深度确定所述第一图像中所述目标障碍物对应的第一空间位置;

根据所述第二图像中所述目标障碍物的第三平面位置和第三预测深度确定所述第二图像中所述目标障碍物对应的第二空间位置;

根据所述第一空间位置和所述第二空间位置确定所述目标障碍物的运动姿态。

本申请实施例中,通过前后两帧图像各自对应的空间位置确定目标障碍物的运动姿态,为后续的避障提供了可靠的数据基础。

在第一方面的一种可能的实现方式中,所述根据所述第一平面位置和所述第一预测深度确定所述第一图像中所述目标障碍物对应的第一空间位置,包括:

根据所述第一平面位置和所述第一预测深度计算所述目标障碍物的三维坐标;

将所述三维坐标转换到世界坐标系下,得到所述第一空间位置。

本申请实施例中,将相机坐标系下的三维坐标转换到世界坐标系下,这样在后续避障控制过程中,可以将世界坐标系下的空间位置与机器人的位置进行比较,这种方式较为便捷,利于提高控制效率。

在第一方面的一种可能的实现方式中,所述根据所述第一空间位置和所述第二空间位置确定所述目标障碍物的运动姿态,包括:

根据所述第一空间位置和所述第二空间位置确定所述目标障碍物的运动方向;

根据所述第一空间位置与所述第二空间位置之间的距离、以及所述第一图像与所述第二图像之间的采样时间间隔,计算所述目标障碍物的运动速度;

根据所述目标障碍物的运动方向、所述目标障碍物的运动速度以及所述第一空间位置,确定所述目标障碍物的运动姿态。

本申请实施例中,通过运动方向、运动速度和空间位置,能够有效区分静物和运动物体,对于运动物体,还可以明确其移动的方向和速度。通过上述方式,为后续的避障提供了可靠的数据基础。

在第一方面的一种可能的实现方式中,所述方法还包括:

若所述深度相机检测到所述目标障碍物的第一深度信息,则根据所述第一平面位置和所述第一深度信息确定所述目标障碍物的运动姿态;

根据所述目标障碍物的运动姿态控制所述机器人避障。

本申请实施例中,当深度相机无法检测到目标障碍物的深度信息时,可以通过对相机拍摄到的图像进行图像检测,来预测目标障碍物的深度信息。当深度相机能够检测到目标障碍物的深度信息时,利用深度相机获取到的深度信息进行后续处理。通过这种方式,能够保证定位到障碍物的空间位置,从而利于机器人实现避障。

第二方面,本申请实施例提供了一种机器人避障装置,包括:

检测单元,用于对通过深度相机拍摄到的第一图像进行图像检测,得到所述第一图像中目标障碍物的第一平面位置和第一预测深度;

确定单元,用于若所述深度相机未检测到所述第一障碍物的第一深度信息,则根据所述第一平面位置和所述第一预测深度确定所述目标障碍物的运动姿态;

控制单元,用于根据所述目标障碍物的运动姿态控制所述机器人避障。

第三方面,本申请实施例提供了一种终端设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面中任一项所述的机器人避障方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述第一方面中任一项所述的机器人避障方法。

第五方面,本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行上述第一方面中任一项所述的机器人避障方法。

可以理解的是,上述第二方面至第五方面的有益效果可以参见上述第一方面中的相关描述,在此不再赘述。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1是本申请实施例提供的机器人避障方法的流程示意图;

图2是本申请实施例提供的图像检测流程的示意图;

图3是本申请实施例提供的多任务模型的示意图;

图4是本申请另一实施例提供的机器人避障方法的流程示意图;

图5是本申请实施例提供的机器人避障装置的结构框图;

图6是本申请实施例提供的终端设备的结构示意图。

具体实施方式

以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。

应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。

还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。

如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。

另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。

近年来,随着机器人产业的发展,机器人的应用越来越广泛。例如,移动机器人可以用于送餐、送货、物流等领域。对于移动机器人而言,如何精准避障是保证其稳定运行的一个关键问题。

目前的避障方法中,通过安装在机器人上的相机采集机器人前方环境的图像,然后检测采集图像中的障碍物,以此辅助机器人进行避障。但这种方式,无法获得障碍物的空间位置,可能导致机器人无法实现避障。

一些实现方式中,可以利用RGBD相机获取机器人周围环境的图像和深度,通过RGBD相机感知到的深度信息辅助检测障碍物的位置。但在一些应用场景中,RGBD相机可能无法感知到物体的存在。例如,对于悬空的桌子,RGBD相机可能无法感知桌子的悬空部分,容易产生错误的检测结果,使得机器人仍按照原有路线移动,可能导致机器人与桌子上方部分的碰撞。在另一些应用场景中,RGBD相机检测到的深度信息可能不准确。例如,对于一些黑色物体,RGBD相机对黑色物体检测到的深度信息存在较大的噪声,容易产生错误的检测结果,从而对机器人避障造成较大影响。

基于此,本申请实施例提供一种机器人避障方法。本申请实施例中,当深度相机无法检测到目标障碍物的深度信息时,可以通过对相机拍摄到的图像进行图像检测,来预测目标障碍物的深度信息。通过这种方式,能够保证定位到障碍物的空间位置,从而利于机器人实现避障。

参见图1,是本申请实施例提供的机器人避障方法的流程示意图,作为示例而非限定,所述方法可以包括以下步骤:

S101,对通过深度相机拍摄到的第一图像进行图像检测,得到所述第一图像中目标障碍物的第一平面位置和第一预测深度。

本申请实施例中,深度相机可以为RGBD相机。

在一些实施例中,步骤S101可以包括:对第一图像进行图像检测,得到检测出的每个物体的第一分割图像、第二平面位置和第二预测深度;根据每个物体的第一分割图像进行图像识别,得到每个物体所属的类别;根据每个物体所属的类别从检测出的物体中确定出目标障碍物;将所述目标障碍物对应的第二平面位置确定为第一平面位置,将所述目标障碍物对应的第二预测深度确定为所述第一预测深度。

上述实施例中,相当于仅利用当前采集的图像识别障碍物。若机器人前方的物体为静物,则上述方式能够较准确地识别出障碍物;但机器人前方的物体为运动物体,则上述方式可能无法准确地识别出障碍物,且无法获取运动物体的运动姿态,不利于实现机器人避障。

为了解决上述问题,在一些实施例中,参见图2,是本申请实施例提供的图像检测流程的示意图。作为示例而非限定,如图2所示,步骤S101可以包括:

S201,对所述第一图像进行图像检测,得到检测出的每个物体的第一分割图像、第二平面位置和第二预测深度。

一些实现方式中,步骤S201可以包括:将第一图像输入到图像分割模型中,得到检测出的每个物体的第一分割图像和第二平面位置;将第一图像输入深度预测模型,得到第一图像中每个像素点的第二预测深度。

上述方式中,相当于将图像分割任务和深度预测任务分离开来。由于两个任务分开执行,图像分割模型和深度预测模型无法共用图像的特征信息,所以两个模型需要各自对第一图像进行特征提取,这种方式将会增加模型的复杂度和数据处理量;另外,若要获得第一分割图像对应的第二预测深度,还需要对两个任务的结果进行关联,进一步增加了算法复杂度、降低了处理效率。

另一些实现方式中,步骤S201可以包括:

获取训练后的多任务模型;

将所述第一图像输入所述多任务模型,得到检测出的每个物体的第一分割图像、第二平面位置和第二预测深度。

本申请实施例中,多任务模型用于对输入图像进行语义分割处理以及预测像素点的深度值。通过多任务模型,相当于将图像分割任务和深度预测任务合并在一起执行。这种方式能够有效降低模型的复杂度和数据处理量,利于提高处理效率。

一些示例中,参见图3,是本申请实施例提供的多任务模型的示意图。作为示例而非限定,如图3所示,多任务模型可以包括骨干网络31、中间网络32和检测网络33。其中,骨干网络31用于对输入图像进行特征提取;中间网络32用于聚合和细化骨干网络提取的特征,如可以用于增强模型的特征表达能力和感受野;检测网络33用于根据提取的特征进行检测,得到检测结果。如图3所示,检测网络33可以包括图像检测子网络331和深度预测子网络332。

在图像处理过程中,将待处理图像输入上述多任务模型;骨干网络31先对待处理图像进行特征提取;中间网络32对骨干网络31提取出的特征进行聚合和细化,得到处理后的特征信息,并将处理后的特征信息分别输入到图像检测子网络331和深度预测子网络332;图像检测子网络331根据处理后的特征信息检测图像中的物体,得到每个物体的分割图像和相应的平面位置;深度预测子网络332根据处理后的特征信息检测图像中每个物体对应的预测深度。

由上述示例可见,检测网络中的不同子网络共用一组特征信息,实现了特征共享。这种方式下,前面的骨干网络和中间网络只需执行一次特征提取过程,利于提高处理效率。

本申请实施例中,在控制机器人避障之前,先对多任务模型进行训练,得到训练后的多任务模型,利用训练后的多任务模型进行图像检测,不仅能够提高检测精度,还利于提高检测效率。

一些实现方式中,训练多任务模型的过程可以包括:

获取多组样本数据,其中,每组所述样本数据包括一张样本图像和所述样本图像对应的深度图,所述样本图像对应的深度图通过激光雷达获得;

根据所述样本数据训练所述多任务模型,直到所述多任务模型的检测精度达到预设精度,得到训练后的所述多任务模型。

本申请实施例中,在多任务模型的训练过程中,采用激光雷达获得的深度图进行训练,由于激光雷达的探测精度较高,且能够更准确地探测到黑色物体的深度,因此,上述训练方式有利于提高多任务模型的训练精度。

其中,样本图像携带有语义分割的真实标识,如表示物体类别的标签信息等。

训练模型的一个示例中,将样本数据输入到多任务模型中,输出样本图像中每个物体的分割图像的置信度和预测深度,其中,置信度表示分割图像所属类别的可信程度;计算预测深度与该样本图像对应的深度图之间的第一损失值,根据每个物体的分割图像所属类别为其对应的真实标识的置信度计算第二损失值;根据第一损失值和第二损失值计算总损失;若总损失大于或等于预设阈值,则根据总损失更新多任务模型的模型参数;继续根据样本数据训练更新后的多任务模型,直到总损失小于预设阈值,得到训练后的多任务模型。

需要说明的是,上述只是训练模型的一个示例,实际应用中,还可以采用其他训练方式,如控制迭代次数等,本申请实施例对训练模型的过程不做具体限定。另外,只要能够实现多任务的模型均可应用于本申请实施例,本申请实施例对多任务模型的具体模型结构不做具体限定。

S202,获取第二图像中所述目标障碍物的第二分割图像,其中,所述第二图像为通过所述深度相机拍摄到的、所述第一图像的前一帧图像。

对于第二图像的图像检测方法,与第一图像的图像检测方法相同,具体可参见步骤S201实施例中的描述,在此不再赘述。

S203,根据所述第一分割图像和所述第二分割图像之间的相似度,从检测出的物体中确定出所述目标障碍物。

多任务模型检测出的每个物体的分割图像,会携带有其所属类别的标识。例如,一帧图像中识别出物体A、物体B和物体C,物体A的标识为00,物体B的标识为01,物体C的标识为02。即标识可以是对物体的编号或ID。再例如,物体A的标识为桌子,物体B的标识为椅子,物体C的标识为墙壁。即标识可以是物体的类别。

步骤S203的一些实现方式中,计算第二分割图像与每个第一分割图像之间的相似度;将最大的相似度对应的第一分割图像所表示的物体即为目标障碍物;将目标障碍物的标识记为第二分割图像的标识。

通过这种方式,可以持续地对目标障碍物进行跟踪,以便于获取移动的障碍物的运动姿态。

计算相似度的一种方式为,可以计算第一分割图像和第二分割图像之间的交并比,将交并比记为两者之间的相似度。其中,交并比指两个图像之间交集与并集之比。

需要说明的是,还可以采用其他目标跟踪算法对目标障碍物进行跟踪,例如,使用ByteTrack等多目标跟踪算法。本申请实施例对目标障碍物的确定方式不做具体限定。

S204,将所述目标障碍物对应的第二平面位置确定为第一平面位置,将所述目标障碍物对应的第二预测深度确定为所述第一预测深度。

步骤S201-S204所述实施例中,通过前后两帧图像中分割图像的对比,能够较准确地检测出目标障碍物,从而利于机器人实现避障。

S102,若所述深度相机未检测到所述目标障碍物的第一深度信息,则根据所述第一平面位置和所述第一预测深度确定所述目标障碍物的运动姿态。

深度相机未检测到目标障碍物的第一深度信息,可以包括以下情况:深度相机未检测到任何深度信息;或者,深度相机检测到深度信息,但检测到的深度信息中不包含目标障碍物对应的深度信息;或者,深度相机检测到目标障碍物对应的深度信息,但该深度信息中包含了较多的无效数据,如超出阈值的数据或噪声数据等。

本申请实施例中,当深度相机无法检测到目标障碍物的深度信息时,可以通过对相机拍摄到的图像进行图像检测,来预测目标障碍物的深度信息。通过这种方式,能够保证定位到障碍物的空间位置,从而利于机器人实现避障。

在一些实施例中,步骤S102可以包括:

S301,根据所述第一平面位置和所述第一预测深度确定所述第一图像中所述目标障碍物对应的第一空间位置。

确定第一空间位置的一种实现方式中,根据所述第一平面位置和所述第一预测深度计算所述目标障碍物的三维坐标;将该三维坐标确定为第一空间位置。

由于深度相机获取到的平面位置和预测深度都是基于相机坐标系的,确定出的三维坐标也是基于相机坐标系的,若直接将三维坐标确定为第一空间位置,则在后续避障控制过程中,每个控制时刻都需要将机器人的位置转换到相机坐标系下、与三维坐标进行比较,这种方式较为繁琐,容易影响控制效率。

确定第一空间位置的一种实现方式为:根据所述第一平面位置和所述第一预测深度计算所述目标障碍物的三维坐标;将所述三维坐标转换到世界坐标系下,得到所述第一空间位置。

其中,三维坐标转换到世界坐标系下,相当于将相机坐标系下的坐标转换到世界坐标系下。一些实现方式中,在使用深度相机拍摄之前,先对深度相机进行标定,以获得深度相机的相机坐标系与世界坐标系之间的转换矩阵。在后续应用中,利用标定的转换矩阵将所述三维坐标转换到世界坐标系下。相机的标定方式可以采用棋盘格标定法等,本申请实施例对相机的标定方式不做具体限定。

本申请实施例中,将相机坐标系下的三维坐标转换到世界坐标系下,这样在后续避障控制过程中,可以将世界坐标系下的空间位置与机器人的位置进行比较,这种方式较为便捷,利于提高控制效率。

S302,根据所述第二图像中所述目标障碍物的第三平面位置和第三预测深度确定所述第二图像中所述目标障碍物对应的第二空间位置。

确定第二空间位置的方式与确定第一空间位置的方式相同,具体可参见步骤S301实施例中的描述,在此不再赘述。

S303,根据所述第一空间位置和所述第二空间位置确定所述目标障碍物的运动姿态。

可选的,运动姿态可以包括位置、运动方向和速度。

相应的,步骤S303的一种实现方式为:

I、根据所述第一空间位置和所述第二空间位置确定所述目标障碍物的运动方向。

一个示例中,将第二空间位置到第一空间位置的矢量方向确定为目标障碍物的运动方向。例如,矢量方向为右前方60°,则目标障碍物的运动方向为右前方60°。另一个示例中,计算第二空间位置到第一空间位置的矢量方向,根据该矢量方向对应的角度范围确定目标障碍物的运动方向。例如,矢量方向为右前方60°,其对应的角度范围为[45°,135°],该角度范围对应的方向为前方,则目标障碍物的运动方向为前方。

II、根据所述第一空间位置与所述第二空间位置之间的距离、以及所述第一图像与所述第二图像之间的采样时间间隔,计算所述目标障碍物的运动速度。

一个示例中,将第一空间位置与所述第二空间位置之间的距离,除以所述第一图像与所述第二图像之间的采样时间间隔,得到目标障碍物的运动速度。

III、根据所述目标障碍物的运动方向、所述目标障碍物的运动速度以及所述第一空间位置,确定所述目标障碍物的运动姿态。

一些实现方式中,若物体为静物,则运动姿态包括第一姿态标识和第一空间位置。若物体为运动物体,则运动姿态包括第二姿态标识、运动方向、运动速度和第一空间位置。其中,第一姿态标识用于表示物体为静物,第二姿态表示用于表示物体为运动物体。

示例性的,若运动方向不变、且运动速度为0,则判定目标障碍物为静物,该目标障碍物的运动姿态包括第一姿态标识和第一空间位置;若运动方向变化、且运动速度不为0,则判定目标障碍物为运动物体,目标障碍物的运动姿态包括第二姿态标识、运动方向、运动速度和第一空间位置。

上述步骤I-III所述实施例中,通过运动方向、运动速度和空间位置,能够有效区分静物和运动物体,对于运动物体,还可以明确其移动的方向和速度。通过上述方式,为后续的避障提供了可靠的数据基础。

需要说明的是,在其他实施例中,目标障碍物的运动姿态还可以包括其他数据,例如,对于物体,运动姿态还可以包括旋转角度;对于人体,运动姿态还可以包括站立、行走等姿态类型。当然,运动姿态还可以只包括运动方向、或运动速度或第一空间位置。本申请实施例对运动姿态中所包含的数据不做具体限定。

S103,根据所述目标障碍物的运动姿态控制所述机器人避障。

如上述步骤I-III实施例中所述,目标障碍物可以分为静物和运动物体。

一些实现方式中,对于静物,如桌子、椅子等,可以规划一条不经过目标障碍物的路径,然后控制机器人根据该路径移动,从而实现避障。

对于运动物体,如用户或其他机器人,可以根据其运动姿态规划路径和/或移动速度,然后控制机器人根据该路径和/或移动速度移动,从而实现避障。

例如,若目标障碍物的运动方向与移动机器人当前的运动方向相同,且根据运动速度判定两者可能发生碰撞,此情况下,可以控制移动机器人停止移动,以使目标障碍物优先通行,并可以控制机器人的运动速度,以防止移动机器人和目标障碍物再次相遇。若目标障碍物的运动方向与移动机器人当前的运动方向冲突,且根据目标障碍物的运动速度与移动机器人当前的运动速度判定两者将会发生碰撞,可以重新规划路径、或者调整移动机器人的运动速度,以使移动机器人和目标障碍物错开。

本申请实施例中,当深度相机无法检测到目标障碍物的深度信息时,可以通过对相机拍摄到的图像进行图像检测,来预测目标障碍物的深度信息。通过这种方式,能够保证定位到障碍物的空间位置,从而利于机器人实现避障。

在一些实施例中,参见图4,是本申请另一实施例提供的机器人避障方法的流程示意图。作为示例而非限定,如图4所示,所述方法还包括:

S401,对通过深度相机拍摄到的第一图像进行图像检测,得到所述第一图像中目标障碍物的第一平面位置和第一预测深度。

若深度相机未检测到目标障碍物的第一深度信息,执行步骤S402和S404。

若深度相机检测到目标障碍物的第一深度信息,执行步骤S403-S404。

S402,若所述深度相机未检测到所述目标障碍物的第一深度信息,则根据所述第一平面位置和所述第一预测深度确定所述目标障碍物的运动姿态。

步骤S401-S402以及步骤S404与上述步骤S101-S103相同,具体可参见步骤S101-S103实施例中的描述,在此不再赘述。

S403,若所述深度相机检测到所述目标障碍物的第一深度信息,则根据所述第一平面位置和所述第一深度信息确定所述目标障碍物的运动姿态。

步骤S403的实现方式与上述步骤S102的实现方式相同,具体可参见上述S102实施例中的描述,在此不再赘述。

S404,根据所述目标障碍物的运动姿态控制所述机器人避障。

本申请实施例中,当深度相机无法检测到目标障碍物的深度信息时,可以通过对相机拍摄到的图像进行图像检测,来预测目标障碍物的深度信息。当深度相机能够检测到目标障碍物的深度信息时,利用深度相机获取到的深度信息进行后续处理。通过这种方式,能够保证定位到障碍物的空间位置,从而利于机器人实现避障。

应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。

对应于上文实施例所述的机器人避障方法,图5是本申请实施例提供的机器人避障装置的结构框图,为了便于说明,仅示出了与本申请实施例相关的部分。

参照图5,该装置5包括:

检测单元51,用于对通过深度相机拍摄到的第一图像进行图像检测,得到所述第一图像中目标障碍物的第一平面位置和第一预测深度。

确定单元52,用于若所述深度相机未检测到所述第一障碍物的第一深度信息,则根据所述第一平面位置和所述第一预测深度确定所述目标障碍物的运动姿态。

控制单元53,用于根据所述目标障碍物的运动姿态控制所述机器人避障。

可选的,检测单元51还用于:

对所述第一图像进行图像检测,得到检测出的每个物体的第一分割图像、第二平面位置和第二预测深度;

获取第二图像中所述目标障碍物的第二分割图像,其中,所述第二图像为通过所述深度相机拍摄到的、所述第一图像的前一帧图像;

根据所述第一分割图像和所述第二分割图像之间的相似度,从检测出的物体中确定出所述目标障碍物;

将所述目标障碍物对应的第二平面位置确定为第一平面位置,将所述目标障碍物对应的第二预测深度确定为所述第一预测深度。

可选的,检测单元51还用于:

获取训练后的多任务模型,其中,所述多任务模型用于对输入图像进行语义分割处理以及预测像素点的深度值;

将所述第一图像输入所述多任务模型,得到检测出的每个物体的第一分割图像、第二平面位置和第二预测深度。

可选的,检测单元51还用于:

获取多组样本数据,其中,每组所述样本数据包括一张样本图像和所述样本图像对应的深度图,所述样本图像对应的深度图通过激光雷达获得;

根据所述样本数据训练所述多任务模型,直到所述多任务模型的检测精度达到预设精度,得到训练后的所述多任务模型。

可选的,确定单元52还用于:

根据所述第一平面位置和所述第一预测深度确定所述第一图像中所述目标障碍物对应的第一空间位置;

根据所述第二图像中所述目标障碍物的第三平面位置和第三预测深度确定所述第二图像中所述目标障碍物对应的第二空间位置;

根据所述第一空间位置和所述第二空间位置确定所述目标障碍物的运动姿态。

可选的,确定单元52还用于:

根据所述第一平面位置和所述第一预测深度计算所述目标障碍物的三维坐标;

将所述三维坐标转换到世界坐标系下,得到所述第一空间位置。

可选的,确定单元52还用于:

根据所述第一空间位置和所述第二空间位置确定所述目标障碍物的运动方向;

根据所述第一空间位置与所述第二空间位置之间的距离、以及所述第一图像与所述第二图像之间的采样时间间隔,计算所述目标障碍物的运动速度。

根据所述目标障碍物的运动方向、所述目标障碍物的运动速度以及所述第一空间位置,确定所述目标障碍物的运动姿态。

可选的,确定单元52还用于:

若所述深度相机检测到所述第一障碍物的第一深度信息,则根据所述第一平面位置和所述第一深度信息确定所述第一障碍物的运动姿态。

需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本申请方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。

另外,图5所示的机器人避障装置可以是内置于现有的终端设备内的软件单元、硬件单元、或软硬结合的单元,也可以作为独立的挂件集成到所述终端设备中,还可以作为独立的终端设备存在。

所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

图6是本申请实施例提供的终端设备的结构示意图。如图6所示,该实施例的终端设备6包括:至少一个处理器60(图6中仅示出一个)处理器、存储器61以及存储在所述存储器61中并可在所述至少一个处理器60上运行的计算机程序62,所述处理器60执行所述计算机程序62时实现上述任意各个机器人避障方法实施例中的步骤。

所述终端设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。该终端设备可包括,但不仅限于,处理器、存储器。本领域技术人员可以理解,图6仅仅是终端设备6的举例,并不构成对终端设备6的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如还可以包括输入输出设备、网络接入设备等。

所述处理器60可以是中央处理单元(Central Processing Unit,CPU),该处理器60还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

所述存储器61在一些实施例中可以是所述终端设备6的内部存储单元,例如终端设备6的硬盘或内存。所述存储器61在另一些实施例中也可以是所述终端设备6的外部存储设备,例如所述终端设备6上配备的插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)等。进一步地,所述存储器61还可以既包括所述终端设备6的内部存储单元也包括外部存储设备。所述存储器61用于存储操作系统、应用程序、引导装载程序(BootLoader)、数据以及其他程序等,例如所述计算机程序的程序代码等。所述存储器61还可以用于暂时地存储已经输出或者将要输出的数据。

本申请实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时可实现上述各个方法实施例中的步骤。

本申请实施例提供了一种计算机程序产品,当计算机程序产品在终端设备上运行时,使得终端设备执行时可实现上述各个方法实施例中的步骤。

所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random AccessMemory)、电载波信号、电信信号以及软件分发介质。例如U盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和电信信号。

在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

相关技术
  • 终端设备控制方法、终端设备及计算机可读存储介质
  • 终端设备的告警方法、终端设备和计算机可读存储介质
  • 一种存储管理方法、计算机可读存储介质及终端设备
  • 一种机器人避障控制方法、装置、存储介质及机器人
  • 机器人避障方法、装置、计算机可读存储介质及机器人
  • 移动机器人避障方法、移动机器人和计算机可读存储介质
技术分类

06120116593928