一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

检测方法、装置、移动机器人及存储介质与流程

2022-07-10 15:33:03 来源:中国专利 TAG:


1.本技术实施例涉及计算机技术领域,尤其涉及一种检测方法、装置、移动机器人及存储介质。


背景技术:

2.随着人工智能技术的发展,移动机器人的应用也越来越广泛,移动机器人通常有测距需求。以扫地机器人为例,扫地机器人在作业环境中执行清扫任务时,需要对前进方向上的障碍物进行测距,以基于测距结果进行避障。
3.目前,移动机器人通常是采用激光测距仪进行测距,但是激光测距仪的硬件制作难度较大,测距成本较高,且激光测距仪对环境的要求比较苛刻,容易受环境影响导致测距准确度不够;利用双目立体视觉测量方法效率高精度合适,但算法较为复杂,对计算和部署资源要求较高。


技术实现要素:

4.本技术实施例提供一种检测方法、装置、移动机器人及存储介质,用于保证较好的测距准确度、降低了测距成本、算法较为简单以及对计算和部署资源要求较少。
5.第一方面,本技术实施例中提供了一种检测方法,包括:获取单目相机采集得到的第一单目图像,并识别第一单目图像中的目标对象;利用深度预测模型预测第一单目图像对应的第一深度图像;基于第一深度图像,确定目标对象与移动机器人之间的距离。
6.第二方面,本技术实施例中提供了一种检测方法,包括:利用单目相机对位于移动机器人标定距离处标定对象进行图像采集,获得第二单目图像;其中,标定距离已知;利用深度预测模型预测第二单目图像对应的第二深度图像;基于第二深度图像,确定标定对象与移动机器人之间的相对距离;基于标定对象与移动机器人之间的相对距离以及标定距离,获得尺度比例关系。
7.第三方面,本技术实施例中提供了一种检测装置,包括:第一获取模块,用于获取单目相机采集得到的第一单目图像,并识别第一单目图像中的目标对象;第一处理模块,用于利用深度预测模型预测第一单目图像对应的第一深度图像;第一处理模块,还用于基于第一深度图像,确定目标对象与移动机器人之间的距离。
8.第四方面,本技术实施例中提供了一种检测装置,包括:第二获取模块,用于利用单目相机对位于移动机器人标定距离处标定对象进行图像采集,获得第二单目图像;其中,标定距离已知;第二处理模块,用于利用深度预测模型预测第二单目图像对应的第二深度图像;第二处理模块,还用于基于第二深度图像,确定标定对象与移动机器人之间的相对距离;第二处理模块,还用于基于标定对象与移动机器人之间的相对距离以及标定距离,获得尺度比例关系。
9.第五方面,本技术实施例中提供了一种检测设备,包括:包括存储组件以及处理组件;
10.所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令用以被所述处理组件调用执行;
11.所述处理组件用于:获取单目相机采集得到的第一单目图像,并识别第一单目图像中的目标对象;利用深度预测模型预测所述第一单目图像对应的第一深度图像;基于所述第一深度图像,确定所述目标对象与所述移动机器人之间的距离。
12.第六方面,本技术实施例中提供了一种移动机器人,包括采集组件、存储组件以及处理组件;
13.其中,所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令被所述处理组件调用执行;
14.所述采集组件用于采集第一单目图像;
15.所述处理组件用于:
16.获取所述采集组件采集的所述第一单目图像,并识别所述第一单目图像中的目标对象;利用深度预测模型预测所述第一单目图像对应的第一深度图像;基于所述第一深度图像,确定所述目标对象与所述移动机器人之间的距离
17.第七方面,本技术实施例中提供了一种移动机器人,包括采集组件、存储组件以及处理组件;
18.其中,所述存储组件存储一个或多个计算机指令;所述一个或多个计算机指令被所述处理组件调用执行;
19.采集组件用于对位于移动机器人标定距离处标定对象进行图像采集,获得第二单目图像;其中,标定距离已知;
20.所述处理组件用于:
21.获取所述采集组件采集的第二单目图像;其中,标定距离已知;利用深度预测模型预测所述第二单目图像对应的第二深度图像;基于所述第二深度图像,确定所述标定对象与所述移动机器人之间的相对距离;基于所述标定对象与所述移动机器人之间的相对距离以及所述标定距离,获得尺度比例关系。
22.第八方面,本技术实施例中提供了一种计算机可读存储介质,存储有计算机程序,所述计算机程序被计算机执行时实现上述检测方法。
23.本技术实施例中,通过单目相机采集的包含目标对象的第一单目图像,便可实现测量目标对象与移动机器人之间的距离,只需移动机器人中设置有单目相机便可实现,测距成本低,测距结果受环境影响相对较小,保证了较好的测距准确度。同时,测距算法属于采用单目视觉技术进行测距的范畴,算法复杂度较低,对计算和部署资源要求不是很高,对计算资源的占用比较少,测距效率较高。
24.本技术的这些方面或其他方面在以下实施例的描述中会更加简明易懂。
附图说明
25.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
26.图1示出了本技术实施例提供的一种检测方法一个实施例的流程图;
27.图2示出了本技术实施例提供的一种检测系统一个实施例的结构示意图;
28.图3a示出了本技术实施例在一个实际应用中的标记点标注示意图;
29.图3b示出了本技术实施例在又一个实际应用中的标记点标注示意图;
30.图4示出了相机小孔成像原理图;
31.图5示出了本技术实施例提供的一种检测方法又一个实施例的流程图;
32.图6示出了本技术实施例在一个实际应用中的尺度标定示意图;
33.图7示出了本技术实施例提供的一种检测装置一个实施例的结构示意图;
34.图8示出了本技术实施例提供的一种检测设备一个实施例的结构示意图;
35.图9示出了本技术实施例提供的一种移动机器人一个实施例的结构示意图;
36.图10示出了本技术实施例提供的一种检测装置又一个实施例的结构示意图。
具体实施方式
37.为了使本技术领域的人员更好地理解本技术方案,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述。
38.在本技术的说明书和权利要求书及上述附图中的描述的一些流程中,包含了按照特定顺序出现的多个操作,但是应该清楚了解,这些操作可以不按照其在本文中出现的顺序来执行或并行执行,操作的序号如101、102等,仅仅是用于区分开各个不同的操作,序号本身不代表任何的执行顺序。另外,这些流程可以包括更多或更少的操作,并且这些操作可以按顺序执行或并行执行。需要说明的是,本文中的“第一”、“第二”等描述,是用于区分不同的消息、设备、模块等,不代表先后顺序,也不限定“第一”和“第二”是不同的类型。
39.本技术实施例的技术方案可以应用于需要感知作业环境中与对象的距离的各种移动机器人中,如扫地机器人、智能对话机器人、以及其它诸如用于物流配送、环境净化、智能客服等可以在作业环境中进行自主移动的机器人,移动方式例如可以采用轮式、履带式等等方式,本技术对此不进行限制。其中,本文中所述对象可以是指位于作业环境中的人、动物或者其它任意处于静态或动态物体等。
40.正如背景技术中所述,移动机器人通常具有测距需求,也即需要确定移动机器人与作业环境中的某些对象之间的距离信息,以基于距离信息进行相应处理,如避障、导航或者建图等,但是目前采用激光测距仪不仅成本较高,且存在测距结果受环境影响较大的风险。
41.发明人在实现本发明的过程中发现,虽然可以采用双目立体视觉(binocular stereo vision)测距方法来进行测距,但是,双目立体视觉测距方法的算法复杂度较高,会占用较大的计算资源。而移动机器人在移动过程中需要处理大量的数据,若测距占用大量的计算资源,会增大系统压力。
42.为了保证测距结果、降低测距成本以及降低测距复杂度,发明人经过进一步研究提出了本技术的技术方案,本技术实施例利用单目相机采集的单目图像即可以实现测距,与激光测距方式相比,能降低硬件制作难度和测距成本,测距结果受环境影响相对较小,保证了较好的测距准确度;与双目立体视觉测距方式相比,能够降低算法复杂度,减少对计算资源的占用。
43.下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本技术一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本技术保护的范围。
44.图1示出了本技术实施例提供的一种检测方法一个实施例的流程图,本实施例提供的检测方法可以由移动机器人执行,此外,由于实际应用中,移动机器人也可以与用户端建立连接,也可以与服务端建立连接以可以接收用户端或者服务端的相应指令而执行相应操作,因此本实施例提供的检测方法也可以由与移动机器人连接的用户端或服务端执行,本技术对此不进行具体限制。
45.其中,用户端可以配置在用户设备中,如手机、平板电脑等,服务端可以是云服务器等。参见图2,示出了本技术技术方案可能适用的一种检测系统,移动机器人201可以与用户端202、以及服务端203分别建立连接(为了便于理解和说明,图2中的移动机器人为扫地机器人,用户端以其所配置的用户设备形象表示,服务端以服务器形象表示),例如可以具体通过蓝牙、wifi(wireless fidelity,无线保真)等实现连接,连接建立方式与现有技术相同,在此不再赘述。
46.用户端202可以基于用户相应请求直接或者通过服务端203向移动机器人发送相应控制指令;当然,移动机器人201也可以设置相应控制面板以供用户触发相应控制指令,或者通过语音识别方式识别用户语音发出的相应控制指令等,本技术对此不进行具体限制。其中,移动机器人201可以基于控制指令而执行相应操作。
47.需要说明的是,图2仅是举例说明的本技术技术方案可以适用的一种系统。实际应用中,移动机器人也可以仅和用户端连接,也可以仅和服务端连接,或者为独立工作的设备。
48.可选地,由于移动机器人通常是一个集环境感知、动态决策与规划、行为控制与执行等多功能于一体的综合系统,可以自动执行工作。为了提高处理效率等,可以由移动机器人执行本实施例的技术方案。
49.参见图1,该方法可以包括以下几个步骤:
50.101:获取单目相机采集得到的第一单目图像,并识别第一单目图像中的目标对象。
51.具体的,单目相机可以是移动机器人中由一个摄像头组成的相机设备,也可以是移动机器人中多目相机中的一个单目相机。其中,多目相机可以看成是由多个摄像头组成的相机设备,即多目相机包括多个单目相机。例如,图2所示的扫地机器人设置了单目相机204时,通过该单目相机对作业环境进行图像采集。又例如,若扫地机器人设置了双目相机时,从双目相机中任选一个单目相机对作业环境进行图像采集。
52.可选地,第一单目图像可以是移动机器人利用单目相机采集的单目视频流中的任一个图像帧,因此步骤101可以具体是将单目相机采集获得的单目视频流中的任一图像帧作为第一单目图像。针对单目视频流中的每一图像帧均可以按照本实施例的技术方案进行处理。
53.另外,由于移动机器人并非一直存在测距需求,为了节省资源,可以是在移动机器人处于特定工作模式时执行步骤101的操作。对于扫地机器人,可以是在扫地机器人处于清
扫工作模式时,将单目相机采集获得的单目视频流中的任一图像帧作为第一单目图像。在清扫工作模式下,扫地机器人执行清扫任务,会在其作业环境中移动并可能进行路径规划等,因此需要进行避障,即需要识别目标对象并基于与目标对象之间距离以进行相应避障处理。
54.其中,移动机器人特定工作模式的切换可以响应于用户端基于用户切换操作而生成的切换指令实现,该切换指令可以直接发送至移动机器人,也可以是通过服务端发送至移动机器人。
55.本实施例技术方案由与移动机器人连接的用户端或者服务端执行时,移动机器人可以将其采集的第一单目图像实时上传至用户端或者服务端。
56.其中,对第一单目图像的识别可以利用图像识别技术实现,例如利用图像识别模型识别第一单目图像中的目标对象,图像识别模型可以预先基于标注了目标对象的样本图像训练获得。目标对象可以根据测距的实际应用场景而确定,其可以是指移动机器人作业环境中的各种静态目标或者动态目标等,如人、动物、以及家具等各种物体。
57.可以理解的是,对第一单目图像进行图像识别之前,还可能对第一单目图像进行诸如去噪处理、图像增强、灰度化、二值化、和/或边缘检测等一些必要的预处理操作,具体是对预处理后的第一单目图像进行目标检测,以识别第一单目图像中的目标对象,这些预处理操作与现有技术相同,在此不再赘述。
58.其中,本文所指的作业环境可以是指移动机器人的工作场所。
59.102:利用深度预测模型预测第一单目图像对应的第一深度图像。
60.具体的,第一单目图像为rgb彩色图像,其中,rgb即是代表红(r,red)、绿(g,green)、蓝(b,blue)三个通道的颜色。本实施例中,利用深度预测模型可以将rgb彩色图像转化为深度图像(英文:depth image),深度预测模型可以预测彩色图像中每个像素点的深度值。其中,深度图像也被称为距离影像(英文:range image),是指将从相机到真实三维空间中各点深度值作为像素值的图像,深度值也即为相机到真实三维空间中各点的距离。
61.其中,深度预测模型可以预先训练获得,其训练过程下文会进行相应介绍。
62.103:基于第一深度图像,确定目标对象与移动机器人之间的距离。
63.具体的,第一单目图像中每个对象在第一深度图像中都有其所对应的像素点。由于目标对象具有一定的尺寸,致使目标对象在第一深度图像中对应的像素点不止一个。
64.作为一种可能的实现方式,在从第一深度图像获取目标对象的深度值时,可以对其所对应的全部像素点的深度值进行累加并求平均值,将平均值作为目标对象的深度值。
65.作为另一种可能的实现方式,在从第一深度图像获取目标对象的深度值时,可以从对应的全部像素点中任选一个像素点,将选中的像素点的深度值作为目标对象的深度值。其中,任选的像素点例如为处于全部像素点中心位置的中心像素点;任选的像素点又例如为目标对象的下边沿上的任一像素点。其中,目标对象的下边沿是目标对象靠近或接触地面的边缘,目标对象的下边沿可以对目标对象在第一单目图像中的边缘进行检测得到。
66.由上述描述可知,深度图像中的各个深度值是相机到真实三维空间中各个点的距离。因此,目标对象的深度值可以理解为目标对象与单目相机之间的距离。
67.在一种应用场景中,针对设置了单目相机的移动机器人,往往将目标对象与单目相机之间的距离作为目标对象与移动机器人之间的距离。因此,目标对象的深度值即是目
标对象与单目相机之间的距离,又是目标对象与移动机器人之间的距离。
68.在另一种应用场景中,受限于单目相机在移动机器人中的设置位置,“目标对象与移动机器人之间的距离”与“目标对象与单目相机之间的距离”存在距离偏差。此时,需要对“目标对象与单目相机之间的距离”进行修正才可以得到“目标对象与移动机器人之间的距离”。此时,“目标对象与单目相机之间的距离”即目标对象的深度值,“目标对象与移动机器人之间的距离”为目标对象的深度值与距离偏差之和。距离偏差根据实际业务需求进行设置,距离偏差例如为1毫米。
69.因此,在该种应用场景中,可以是将基于第一深度图像获得的目标对象的深度值与该距离偏差求和,获得目标对象与移动机器人之间的距离。
70.本实施例中,通过单目相机采集的包含目标对象的第一单目图像,便可实现测量目标对象与移动机器人之间的距离,只需移动机器人中设置有单目相机便可实现,测距成本低,测距结果受环境影响相对较小,保证了较好的测距准确度。同时,测距算法属于采用单目视觉技术进行测距的范畴,算法复杂度较低,对计算和部署资源要求不是很高,对计算资源的占用比较少,测距效率较高。
71.由于第一深度图像是利用深度预测模型对第一单目图像进行预测获得,而第一单目图像是由单目相机采集获得的单张图像,无法确定目标对象的真实大小,因此基于第一单目图像预测得到的第一深度图像其包含的深度信息,并非距离移动机器人的实际距离,而是一种相对距离。
72.在某些实施例中,为了获得目标对象距离移动机器人的实际距离,提高测距准确度,采用传统对极几何方式算法复杂度较高,发明人想到,只要确定相对距离与实际距离的尺度比例关系,通过简单的尺度转换,基于相对距离即可以计算得到实际距离。
73.因此,作为一可选实现方式,步骤103具体是:基于第一深度图像确定目标对象与移动机器人之间的相对距离;基于相对距离及尺度比例关系,计算目标对象与移动机器人之间的距离。
74.其中,该尺度比例关系可以在移动机器人出厂之前设置并配置在移动机器人中,当然也可以是移动机器人在首次使用之前通过提示用户执行部署标定对象等操作而检测获得。
75.在一种可选实现方式中,在确定尺度比例关系时,可以利用单目相机对位于移动机器人标定距离处的标定对象进行图像采集,获得第二单目图像;其中,标定距离已知;利用深度预测模型预测第二单目图像对应的第二深度图像;基于第二深度图像,确定标定对象与移动机器人之间的相对距离;基于标定对象与移动机器人之间的相对距离以及标定距离,获得尺度比例关系。
76.其中,标定距离可以理解为标定对象与移动机器人之间的实际距离。由于尺度比例关系描述的是“标定对象与移动机器人之间的实际距离”与“标定对象与移动机器人之间的相对距离”之间的比例关系,因此,实际应用时,可以基于尺度比例关系对“目标对象与移动机器人之间的相对距离”进行尺度转换,得到“目标对象与移动机器人之间的实际距离”。
77.为了便于理解,可以假设标定距离为z2,假设标定对象与移动机器人之间的相对距离为d2,可以将z2/d2作为尺度比例关系scale。同时,假设基于第一深度图像确定目标对象与移动机器人之间的相对距离为d1,目标对象与移动机器人之间的距离为z1,则z1=d1×
scale。
78.其中,标定对象可以采用方便图像识别的具有特定形状、特定大小或特定颜色的对象,例如其可以为具有一定高度和宽度的矩形形状的挡板等,当然也可以是其它任意方便识别的物体,本技术对此不进行具体限制。
79.实际应用中,一些业务场景可能存在获取目标对象更多信息的需求。例如,在扫地机器人避障场景中,为了提高避障效果,以目标对象为沙发为例,沙发下边沿与地面之间通常会存在一定空间,若离地高度大于扫地机器人的机身高度,扫地机器人即可以不需要对沙发进行避障,可以对沙发覆盖的地面进行清扫,保证清扫效果。此外,若扫地机器获知沙发的宽度信息,还可以实现规划沙发周围区域的清扫路径。因此,扫地机器人进行避障处理时,除了可以基于其与目标对象之间的距离信息实现,还可以结合目标对象的下边沿距离地面的高度信息,此外,还可以结合目标对象的宽度信息等进行避障处理。
80.另外,实际应用中,有些目标对象相对于地面有悬空部分,例如镂空家具,而有些目标对象相对于地面没有悬空部分,例如普通家具。其中,目标对象相对于地面有悬空部分可以理解为目标对象的下边沿距离地面有一定的高度,目标对象相对于地面无悬空部分可以理解为目标对象的下边沿贴近地面。
81.因此,在某些实施例中,在获取目标对象更多信息之前,可以判断目标对象相对于地面是否有悬空部分,针对不同情形的目标对象采用不同策略获取目标对象更多信息。
82.实际应用中,针对目标对象相对于地面有悬空部分的情形,往往存在需要获取目标对象宽度信息以及距离地面的高度信息等信息的需求。
83.因此,作为一可选实现方式,若目标对象相对于地面有悬空部分,则可以检测目标对象在第一单目图像中靠近地面且不与地面接触的第一边界;识别第一边界映射至地面的第二边界;将第一边界及第二边界构成的区域中的任一对角线上的两个顶点像素点作为标记点;基于两个标记点在第一单目图像中的位置信息,确定目标对象的宽度信息以及距离地面的高度信息。
84.具体的,在检测第一边界时,可以对第一单目图像中的目标对象进行边缘检测,根据目标对象的边缘检测结果确定包围目标对象的边界框,将边界框中靠近地面且不与地面接触的边界作为第一边界。
85.第一边界可以即是指目标对象靠近地面的下边沿,实际应用中,可能存在目标对象下边沿为不规则曲线的情况,因此,可以选择下边沿中距离地面最近的像素点所在的水平线作为第一边界。
86.因此,作为一种可选实现方式,检测目标对象在第一单目图像中靠近地面且不与地面接触的第一边界具体是:对第一单目图像中的目标对象进行边缘检测;根据边缘结果确定目标对象靠近地面的下边沿;将下边沿中距离地面最近的像素点所在的水平线作为所述第一边界。
87.可以理解的是,在将下边沿中距离地面最近的像素点所在的水平线作为所述第一边界时,第一边界与地面平行,第一边界和第二边界构成的区域为矩形区域。
88.需要指出的是,若将形状不规则的下边沿作为第一边界时,这时第一边界和第二边界构成的区域是不规则区域,并不是矩形区域。
89.为了便于理解,参见图3a,示出了本技术实施例在一个实际应用中的标记点标注
示意图。图3a中的婴儿床可以认为是镂空家具,p1p4为婴儿床的下边沿,该下边沿距离地面有一定的高度。
90.在图3a中,目标对象为一个婴儿床,其下边沿与地面之间具有一定高度,p1p4线段即为识别获得的第一边界,p2p3为第二边界(第二边界在地面上)。可以将对角线上的p1、p3两个顶点像素点作为标记点,或者,也可以将对角线上的p4、p2两个顶点像素点作为标记点。
91.图4示出了相机小孔成像原理图。其中,p(x,y)为图像平面中的像素点的坐标,p(xc,yc,zc)目标对象在真实三维空间中的任意点,f为相机透镜焦距。根据小孔成像原理,可以得到可知:x=xc/zc×
f以及y=yc/zc×
f。由于尺度比例关系scale=zc/dc,在已知scale、dc、f、x、y时,可以计算出zc,进而计算出xc、yc。其中,dc即为基于第一深度图像获得的p点与移动机器人之间的相对距离,zc为目标距离,zc即p点与移动机器人之间的实际距离。
92.假设p1在图像平面中的图像位置信息为p1(x1,y1),按照上述计算方式,可以获知其在真实三维空间对应的点为p1(x1,y1,z1);假设p3在图像平面中的图像位置信息为p3(x3,y3),可以获知其在真实三维空间对应的点为p3(x3,y3,z3)。则图3a中床的宽度width=|x
1-x3|,图3a中床的高度height=|y
1-y3|。床与移动机器人之间的目标距离可以基于第一边界上的任一像素点,如p1确定,则床与移动机器人之间的目标距离即为z1。
93.由于实际应用中,移动机器人可以为扫地机器人,扫地机器人需要支持避障功能,因此,获得目标对象与移动机器人之间的距离、宽度信息及高度信息之后,在某些实施例中,该方法还可以包括:基于目标对象与移动机器人之间的距离、宽度信息及高度信息,对移动机器人进行避障处理。其中具体避障处理过程与现有技术相似,在此不再赘述。
94.实际应用中,针对目标对象相对于地面没有悬空部分的情形,往往存在需要获取目标对象宽度信息等信息的需求。
95.因此,作为一可选实现方式,若目标对象相对于地面没有悬空部分,则可以检测目标对象在第一单目图像中与地面接触的第一边界;将第一边界的两个端点像素点作为标记点;基于两个标记点在第一单目图像中的位置信息,确定目标对象的宽度信息。
96.第一边界可以即是指目标对象与地面接触的下边沿,实际应用中,可能存在目标对象下边沿为不规则曲线的情况,因此,可以选择下边沿中距离地面最近的像素点所在的水平线作为第一边界。
97.因此,作为一种可选实现方式,检测目标对象在第一单目图像中与地面接触的第一边界具体是:对第一单目图像中的目标对象进行边缘检测;根据边缘结果确定目标对象与地面接触的下边沿;将下边沿中距离地面最近的像素点所在的水平线作为所述第一边界。
98.可以理解的是,在将下边沿中距离地面最近的像素点所在的水平线作为第一边界时,第一边界与地面平行。
99.为了便于理解,参见图3b,示出了本技术实施例在又一个实际应用中的标记点标注示意图。图3b中的婴儿床可以认为是普通家具,其下边沿贴近地面,p5p6线段即为识别获得的第一边界,将p5、p6两个端点像素点作为标记点。假设p5在图像平面中的图像位置信息为p5(x5,y5),按照上述计算方式,可以获知其在真实三维空间对应的点为p5(x5,y5,z5);假设p6在图像平面中的图像位置信息为p6(x6,y6),可以获知其在真实三维空间对应的点为p6(x6,y6,z6)。则图3b中床的宽度width=|x
5-x6|。
100.由于实际应用中,移动机器人可以为扫地机器人,扫地机器人需要支持避障功能,因此,获得目标对象与移动机器人之间的距离及宽度信息之后,在某些实施例中,该方法还可以包括:基于目标对象与移动机器人之间的距离及宽度信息,对移动机器人进行避障处理。其中具体避障处理过程与现有技术相似,在此不再赘述。
101.在本技术一些实施例中,深度预测模型可以采用监督学习方式或者无监督学习方式训练获得,该深度预测模型例如可以采用但不限于:cnn(convolutional neural networks,卷积神经网络)、rnn(recurrent neural network,循环神经网络)、lstm(long short-term memory,长短期记忆人工神经网络)。
102.作为一种可选实现方式,深度预测模型可以按照如下方式预先训练获得:
103.获取样本图像及样本图像对应的深度图像;将样本图像作为模型输入,样本图像对应的深度图像作为训练标签,训练深度预测模型。
104.作为另一种可选实现方式,深度预测模型可以采用无监督学习方式训练获得,可以按照如下方式预先训练获得:
105.获取双目相机采集获得的第一图像和第二图像;将第一图像作为模型输入,及第二图像作为模型约束,训练深度预测模型。
106.可选地,可以将第一图像作为模型输入,输入深度预测模型获得第一待优化深度图;基于第一待优化深度图、第一图像及第二图像,获得第一误差信息;利用第一误差信息优化深度预测模型。
107.其中,可以首先将第一待优化深度图和第一图像进行差值运算,获得重建图像,再将该重建图像与第二图像进行差值运算,获得第一误差信息,利用该第一误差信息优化深度预测模型。
108.其中,第一图像可以是指双目相机采集获得的左视图,则第二图像即为右视图,或者第一图像可以为右视图,则第二图像即为左视图。
109.作为又一种可选实现方式,深度预测模型可以采用无监督学习方式训练获得,可以按照如下方式预先训练获得:
110.获取单目相机采集获得视频流中相邻的第一图像帧和第二图像帧;将第一图像帧作为模型输入,及第二图像帧作为模型约束,训练深度预测模型。
111.这种训练方式也即利用单目相机采集的视频流中相邻的两个图像帧进行模型训练。
112.具体的,可以是将第一图像帧作为模型输入,输入深度预测模型获得第二待优化深度图;基于第二待优化深度图、第一图像帧及第二图像帧,获得第二误差信息;利用第二误差信息优化深度预测模型。
113.可选地,可以首先获得第二待优化深度图的位姿信息,基于第二待优化深度图与第一图像帧的差值运算结果,再结合该位姿信息,获得第二重建图像,再将该第二重建图像与第二图像帧进行差值运算,获得第二误差信息,利用该第二误差信息优化深度预测模型。
114.由上文描述可知,尺度比例关系可以预先计算获得,如图5所示,为本技术实施例提供的一种检测方法又一个实施例的流程图,本实施例从尺度比例关系计算角度对本技术技术方案进行描述,本实施例的技术方案可以由移动机器人、用户端或者服务端执行,该方法可以包括以下几个步骤:
115.501:利用单目相机对位于移动机器人标定距离处标定对象进行图像采集,获得第二单目图像;其中,标定距离已知。
116.参见图6,示出了本技术实施例在一个实际应用中的进行尺度标定的示意图。扫地机器人601中可以设置单目相机602。需要说明的是,图6仅仅是以移动机器人为扫地机器人601为例进行说明,并不表示移动机器人仅限于扫地机器人601。
117.标定对象603设置在距离扫地机器人601标定距离处,记标定距离为z2。其中,标定对象603可以采用方便图像识别的具有特定形状、特定大小或特定颜色的对象,例如其可以为具有一定高度和宽度的矩形形状的挡板等,当然也可以是其它任意方便识别的物体,本技术对此不进行具体限制。
118.扫地机器人601在采集图像时,在距离标定对象603的z2处保持不动,通过其所设置的单目相机602采集包括标定对象的第二单目图像。
119.在采集到第二单目图像之后,需要对第二单目图像进行图像识别。其中,对第二单目图像的识别可以利用图像识别技术实现,例如利用图像识别模型识别第二单目图像中的标定对象,图像识别模型在训练过程中使用了标注了标定对象的样本图像进行训练,能够用于识别标定对象。当然,图像识别模型在训练过程中还使用了基于标注了目标对象的样本图像进行训练。目标对象可以根据测距的实际应用场景而确定,其可以是指移动机器人作业环境中的各种静态目标或者动态目标等,如人、动物、以及家具等各种物体。
120.对第二单目图像进行图像识别之前,还可能对第二单目图像进行诸如去噪处理、图像增强、灰度化、二值化、和/或边缘检测等一些必要的预处理操作,具体是对预处理后的第二单目图像进行目标检测,以识别第二单目图像中的标定对象,这些预处理操作与现有技术相同,在此不再赘述。
121.在第二单目图像中识别出标定对象之后,还可以结合标定对象的边缘检测结果,确定标定对象的边界框。其中,边界框中靠近地面的边界作为下边界,下边界可以即是指标定对象靠近地面的下边沿,实际应用中,可能存在标定对象的下边沿为不规则曲线的情况,因此,可以选择下边沿中距离地面最近的像素点所在的水平线作为下边界。
122.502:利用深度预测模型预测第二单目图像对应的第二深度图像。
123.其中,深度预测模型的功能和训练方式可以参见上述实施例的介绍,在此不再赘述。
124.503:基于第二深度图像,确定标定对象与移动机器人之间的相对距离。
125.实际应用中,由于标定对象具有一定的尺寸,致使标定对象在第二深度图像中对应的像素点不止一个。可以从第二深度图像中对应的像素点任选一个像素点对应的深度值作为标定对象的深度值,该任一个像素点可以选择标定对象的中心像素点,当然,也可以是标定对象的其他像素点。当然,还可以对标定对象的全部像素点的深度值进行累加并求平均值,将平均值作为标定对象的深度值。
126.可以理解的是,标定对象在第二单目图像中的图像位置的定位准确性,直接影响确定标定对象在第二深度图像对应的像素点的准确性。因此,为了提高确定标定对象在第二深度图像对应的像素点的准确性,可以结合标定对象的边缘检测结果,确定标定对象的边界框,可选的,边界框为矩形框。将边界框包围的图像区域在在第二深度图像对应的像素点作为标定对象在在第二深度图像对应的像素点。
127.若实际情形中,针对设置了单目相机的移动机器人,将对象与单目相机之间的距离作为对象与移动机器人之间的距离,则标定对象的深度值作为标定对象与移动机器人之间的相对距离。
128.若实际情形中,针对设置了单目相机的移动机器人,“对象与单目相机之间的距离”与“对象与移动机器人之间的距离”存在距离偏差,则将标定对象的深度值和距离偏差之和作为标定对象与移动机器人之间的相对距离。关于距离偏差可以参见上述实施例的介绍。
129.504:基于标定对象与移动机器人之间的相对距离以及标定距离,获得尺度比例关系。
130.其中,尺度比例关系用于对移动机器人采集得到的第一单目图像转换获得的第一深度图像中的距离信息进行尺度转换。尺度比例关系的具体应用可以详见图1所示实施例中,在此不再赘述。
131.其中,尺度比例关系的获取由用户端或服务端执行时,可以将尺度比例关系配置至在移动机器人中。
132.其中,在已知标定距离z2,以及预测出标定对象与移动机器人之间的相对距离d2之后,可以计算z2与d2的比值z2/d2,将z2/d2作为尺度比例关系scale。本实施例中,通过在移动机器人已知的标定距离处设置标定对象,并基于包括该标定对象的第二单目图像和深度预测模型确定标定对象与移动机器人之间的相对距离,并基于标定距离以及相对距离,获得尺度比例关系,尺度比例关系有利于提高测距结果的准确度。
133.本技术实施例的技术方案可以适用于不同类型的具有测距需求的移动机器人中,而检测获得的目标对象与移动机器人之间的距离,可以结合不同应用场景中进行相应处理,下面列举几个可能的应用场景,对本技术技术方案进行介绍:
134.应用场景1:
135.扫地机器人避障场景中,目标对象即是指障碍物,如作业环境中的家具等,扫地机器人上设置有单目相机,扫地机器人处于清扫工作模式下时,可以利用单目相机对其作业环境进行图像采集获得单目视频流,单目视频流中的图像帧作为待处理的第一单目图像,可以从中识别障碍物,并利用深度预测模型预测得到的第一单目图像对应的第一深度图像;基于第一深度图像,可以确定障碍物与扫地机器人之间的距离。扫地机器人即可以基于该距离,进行避障处理,例如通过进行路径规划绕开障碍物等。此外,还可以结合相机参数等,计算获得障碍物的高度和宽度信息,用于参与避障处理。
136.应用场景2:
137.移动机器人对某个室内空间进行测绘,以构建电子地图的场景,以空气净化机器人建图场景为例,目标对象可以是指作业环境中的墙壁、隔断、诸如沙发、床、桌子、椅子等家具、诸如冰箱、洗衣机等电器。在首次全屋净化之前,需要创建家居地图。空气净化机器人上设置单目相机,空气净化机器人在建图模式下,按照规划的路径遍历家居环境,在遍历家居环境的过程中通过单目相机进行图像采集获得单目视频流,单目视频流中的图像帧作为待处理的第一单目图像,可以从中识别目标对象,并利用深度预测模型预测得到的第一单目图像对应的第一深度图像;基于第一深度图像,可以确定目标对象与空气净化机器人之间的距离。需要指出的是,空气净化机器人在图像采集时,还记录自身的位置信息,这样,在
确定出目标对象与空气净化机器人之间的距离之后,结合空气净化机器人采集包括目标对象的图像帧时自身的位置信息,便可计算出目标对象在世界坐标下中的位置信息。基于家居环境中各个目标对象在世界坐标下中的位置信息创建出家居地图。
138.图7示出了本技术实施例提供的一种检测装置一个实施例的结构示意图,该装置可以包括:
139.第一获取模块701,用于获取单目相机采集得到的第一单目图像,并识别第一单目图像中的目标对象;
140.第一处理模块702,用于利用深度预测模型预测第一单目图像对应的第一深度图像;
141.第一处理模块702,还用于基于第一深度图像,确定目标对象与移动机器人之间的距离。
142.在某些实施例中,第一处理模块702基于第一深度图像,确定目标对象与移动机器人之间的距离具体是:
143.基于第一深度图像确定目标对象与移动机器人之间的相对距离;
144.基于相对距离及尺度比例关系,计算目标对象与移动机器人之间的距离。
145.在某些实施例中,第一处理模块702,还用于判断目标对象相对于地面是否有悬空部分。
146.在某些实施例中,第一处理模块702还用于:若目标对象相对于地面有悬空部分,则检测目标对象在第一单目图像中靠近地面且不与地面接触的第一边界;识别第一边界映射至地面的第二边界;将第一边界及第二边界构成的区域中的任一对角线上的两个顶点像素点作为标记点;基于两个标记点在第一单目图像中的位置信息,确定目标对象的宽度信息以及距离地面的高度信息。
147.在某些实施例中,第一处理模块702检测目标对象在第一单目图像中靠近地面且不与地面接触的第一边界具体是:
148.对第一单目图像中的目标对象进行边缘检测;
149.根据边缘结果确定目标对象靠近地面的下边沿;
150.将下边沿中距离地面最近的像素点所在的水平线作为第一边界。
151.在某些实施例中,第一处理模块702还用于:基于目标对象与移动机器人之间的距离、宽度信息及高度信息,对移动机器人进行避障处理。
152.在某些实施例中,第一处理模块702还用于:若目标对象相对于地面没有悬空部分,则检测目标对象在第一单目图像中与地面接触的第一边界;将第一边界的两个端点像素点作为标记点;基于两个标记点在第一单目图像中的位置信息,确定目标对象的宽度信息。在某些实施例中,第一处理模块702还用于:
153.基于目标对象与移动机器人之间的距离及宽度信息,对移动机器人进行避障处理。
154.在某些实施例中,移动机器人为扫地机器人;第一处理模块702获取单目相机采集得到的第一单目图像具体是:
155.在扫地机器人处于清扫工作模式,将单目相机采集获得的单目视频流中的任一图像帧作为第一单目图像。
156.在某些实施例中,尺度比例关系的确定方式为:
157.利用单目相机对位于移动机器人标定距离处的标定对象进行图像采集,获得第二单目图像;其中,标定距离已知;
158.利用深度预测模型预测第二单目图像对应的第二深度图像;
159.基于第二深度图像,确定标定对象与移动机器人之间的相对距离;
160.基于标定对象与移动机器人之间的相对距离以及标定距离,获得尺度比例关系。
161.图7的检测装置可以执行图1所示实施例的检测方法,其实现原理和技术效果不再赘述。对于上述实施例中的检测装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
162.在一个可能的设计中,图7所示实施例的检测装置可以实现为检测设备,如图8所示,该检测设备可以包括存储组件801以及处理组件802;
163.存储组件801存储一条或多条计算机指令,一个或多个计算机指令被处理组件调用执行。
164.处理组件802用于:
165.获取单目相机采集得到的第一单目图像,并识别第一单目图像中的目标对象;
166.利用深度预测模型预测第一单目图像对应的第一深度图像;
167.基于第一深度图像,确定目标对象与移动机器人之间的距离。
168.其中,处理组件802可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
169.存储组件801被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
170.当然,检测设备必然还可以包括其他部件,例如输入/输出接口、通信组件等。
171.输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备、采集组件等。
172.通信组件被配置为便于检测设备和其他设备之间有线或无线方式的通信等。
173.在一个可能的设计中,图7所示实施例的检测装置可以实现为移动机器人,如图9所示,该移动机器人可以包括采集组件903、存储组件901以及处理组件902;
174.其中,存储组件901存储一条或多条计算机指令,一个或多个计算机指令被处理组件调用执行。
175.采集组件903用于采集第一单目图像;
176.处理组件902用于:
177.获取采集组件903采集得到的第一单目图像,并识别第一单目图像中的目标对象;
178.利用深度预测模型预测第一单目图像对应的第一深度图像;
179.基于第一深度图像,确定目标对象与移动机器人之间的距离。
180.其中,采集组件903可以是单目相机。
181.其中,处理组件902可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
182.存储组件901被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
183.当然,移动机器人必然还可以包括其他部件,例如输入/输出接口、通信组件等。
184.输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备、采集组件等。
185.通信组件被配置为便于移动机器人和其他设备之间有线或无线方式的通信等。
186.本技术实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被计算机执行时可以实现上述图1所示实施例的检测方法。
187.图10示出了本技术实施例提供的一种检测装置又一个实施例的结构示意图,该装置可以包括:
188.第二获取模块1001,用于利用单目相机对位于移动机器人标定距离处标定对象进行图像采集,获得第二单目图像;其中,标定距离已知;
189.第二处理模块1002,用于利用深度预测模型预测第二单目图像对应的第二深度图像;
190.第二处理模块1002,还用于基于第二深度图像,确定标定对象与移动机器人之间的相对距离;
191.第二处理模块1002,还用于基于标定对象与移动机器人之间的相对距离以及标定距离,获得尺度比例关系。
192.图10的检测装置可以执行图5所示实施例的检测方法,其实现原理和技术效果不再赘述。对于上述实施例中的检测装置其中各个模块、单元执行操作的具体方式已经在有关该方法的实施例中进行了详细描述,此处将不做详细阐述说明。
193.在一个可能的设计中,图10所示实施例的检测装置可以实现为检测设备,该检测设备的结构和图8所示的检测设备的结构相同。
194.该检测设备包括存储组件以及处理组件;
195.存储组件存储一条或多条计算机指令,一个或多个计算机指令被处理组件调用;
196.其中,处理组件用于:
197.利用单目相机对位于移动机器人标定距离处标定对象进行图像采集,获得第二单目图像;其中,标定距离已知;
198.利用深度预测模型预测第二单目图像对应的第二深度图像;
199.基于第二深度图像,确定标定对象与移动机器人之间的相对距离;
200.基于标定对象与移动机器人之间的相对距离以及标定距离,获得尺度比例关系。
201.其中,处理组件可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(asic)、数
字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
202.存储组件被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
203.当然,检测设备必然还可以包括其他部件,例如输入/输出接口、通信组件等。
204.输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备、采集组件等。
205.通信组件被配置为便于检测设备和其他设备之间有线或无线方式的通信等。
206.在一个可能的设计中,图10所示实施例的检测装置可以实现为移动机器人,该移动机器人的结构和图9所示的移动机器人的结构相同。
207.具体的,该移动机器人可以包括采集组件、存储组件以及处理组件;
208.其中,存储组件存储一条或多条计算机指令,一个或多个计算机指令被处理组件调用执行。
209.采集组件用于对位于移动机器人标定距离处标定对象进行图像采集,获得第二单目图像;其中,标定距离已知;
210.处理组件用于:
211.获取采集组件采集的第二单目图像;其中,标定距离已知;
212.利用深度预测模型预测第二单目图像对应的第二深度图像;
213.基于第二深度图像,确定标定对象与移动机器人之间的相对距离;
214.基于标定对象与移动机器人之间的相对距离以及标定距离,获得尺度比例关系。
215.其中,采集组件可以是单目相机。
216.处理组件可以包括一个或多个处理器来执行计算机指令,以完成上述的方法中的全部或部分步骤。当然处理组件也可以为一个或多个应用专用集成电路(asic)、数字信号处理器(dsp)、数字信号处理设备(dspd)、可编程逻辑器件(pld)、现场可编程门阵列(fpga)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
217.存储组件被配置为存储各种类型的数据以支持在终端的操作。存储组件可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(sram),电可擦除可编程只读存储器(eeprom),可擦除可编程只读存储器(eprom),可编程只读存储器(prom),只读存储器(rom),磁存储器,快闪存储器,磁盘或光盘。
218.当然,移动机器人必然还可以包括其他部件,例如输入/输出接口、通信组件等。
219.输入/输出接口为处理组件和外围接口模块之间提供接口,上述外围接口模块可以是输出设备、输入设备、采集组件等。
220.通信组件被配置为便于移动机器人和其他设备之间有线或无线方式的通信等。
221.本技术实施例还提供了一种计算机可读存储介质,存储有计算机程序,计算机程序被计算机执行时可以实现上述图5所示实施例的检测方法。
222.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
223.以上所描述的装置实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
224.通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如rom/ram、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分的方法。
225.最后应说明的是:以上实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献