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.为了更清楚地说明本技术实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍。
27.图1是本技术一实施例提供的一种定位方法的流程示意图;
28.图2是本技术一实施例提供的一种定位装置的结构示意图;
29.图3是本技术一实施例提供的机器人的结构示意图。
具体实施方式
30.以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本技术实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本技术。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本技术的描述。
31.应当理解,当在本技术说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
32.还应当理解,在本技术说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
33.另外,在本技术说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
34.在本技术说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本技术的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。即,在本说明书中
的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。
35.实施例一:
36.目前,机器人与人们通常在一定距离内再进行交互,而若仅根据机器人上安装的单目摄像头确定人体的位置信息,将导致确定的位置信息存在较大的误差。
37.为了能够准确确定出人体的位置信息,本技术实施例提供了一种定位方法,在该方法中,通过图像来识别出人体,再通过雷达数据来确定该人体的位置信息,由于图像数据能够准确反映出一个物体是否为人体,而雷达数据也能够得到准确的位置信息,因此,通过上述方法,能够提高得到的人体的位置信息的准确度。
38.下面结合附图对本技术实施例提供的定位方法进行描述。
39.图1示出了本技术实施例提供的一种定位方法的流程示意图,该定位方法应用于机器人,该机器人设置有摄像头和雷达,上述定位方法包括:
40.步骤s11,获取上述摄像头拍摄得到的至少一张图像。
41.在一些实施例中,将一个摄像头(单目摄像头)安装在机器人的上半部分,该单目摄像头用于拍摄该机器人前方,得到该机器人前方的物体的至少一张图像(或视频帧),并将得到的至少一张图像(或视频帧)发送给机器人。
42.步骤s12,检测上述图像是否包括第一人体特征。
43.其中,第一人体特征为能够表征物体为人体的一种特征,比如,该第一人体特征可以人体的人脸所对应的特征(此时,该第一人体特征称为人脸特征),也可以为人体的肩膀所对应的特征(此时,该第一人体特征称为肩膀特征)。
44.本实施例中,若第一人体特征为人脸特征,则可通过人脸检测算法检测图像中是否存在人脸特征。或者,预先采用包含第一人体特征的样本对第一神经网络模型进行训练,得到第二神经网络模型,在摄像头拍摄得到图像后,就可将该图像输入该第二神经网络模型,该第二神经网络模型能够识别出图像是否存在第一人体特征。
45.步骤s13,若存在上述第一人体特征,则根据上述第一人体特征计算人体的第一位置信息。
46.本实施例中,计算第一人体特征在图像中的大小,再结合相机成像原理,预估该第一人体特征在实际中的尺寸,最后预估该第一人体特征所对应的人体与机器人之间的距离,即根据相机的成像原理实现人体与机器人之间的距离的计算。由于机器人在世界坐标系中的位置信息是已知的,因此,根据计算的人体与机器人之间的距离能够计算人体在世界坐标系中的位置信息,得到上述的第一位置信息。
47.在一些实施例中,若第一人体特征没有位于图像的中心位置,即该第一人体特征没有过光心,该第一人体特征在光心的垂足与该光心的连线与主光轴具有一倾斜夹角,则根据上述方式预估出的距离还需要结合该倾斜夹角才能预估出人体与机器人之间的距离。由于在实际情况中,人体通常不在相机的主光轴上,因此,结合上述的倾斜夹角来预估人体与机器人之间的距离能够提高预估的距离的准确性。
48.例如,假设第一人体特征为人脸特征,则确定用于检测人脸特征的检测框的尺寸,该尺寸作为该人脸特征在图像中的大小。若人体在相机的主光轴上,则结合相机成像原理
所预估的距离作为预估的人体与机器人之间的距离,若人体不在相机的主光轴上,则结合相机成像原理所预估的距离还需要根据人脸特征在光心的垂足与该光心的连线与主光轴的倾斜夹角(该倾斜夹角可根据检测框与图像的中心确定)确定一个数值,该数值作为预估的人体与机器人之间的距离。
49.步骤s14,获取雷达扫描得到的至少一个点云信息。
50.本实施例中,通过雷达扫描机器人的前方,得到至少一个点云信息。
51.在一些实施例中,将雷达安装在机器人的下半部分,如将雷达设置在机器人的底盘。该雷达采用预设的扫描频率对机器人的前方进行扫描,得到该机器人前方的物体所对应的点云信息,并将得到的点云信息发送给机器人。
52.步骤s15,根据上述第一位置信息在上述点云信息中确定目标点云信息。
53.本实施例中,由于从点云信息中能够获取物体的位置信息、距离信息等信息,因此,在根据图像预测出第一位置信息后,可以在雷达扫描的各个点云信息中,查找与该第一位置信息对应的点云信息,查找到的点云信息作为上述的目标点云信息。
54.步骤s16,检测上述目标点云信息中是否包括第二人体特征。
55.其中,第二人体特征为能够表征物体为人体的一种特征,该第二人体特征为与第一人体特征不同的特征。
56.本实施例中,通过对目标点云信息进行处理,比如,识别这些目标点云信息所对应的物体的形状是否为人体(或人体某个部位)的形状来确定这些目标点云信息中是否包括第二人体特征。
57.步骤s17,若存在上述第二人体特征,则根据包括上述第二人体特征的上述目标点云信息确定上述人体的第二位置信息。
58.本实施例中,由于根据点云信息能够确定出准确的位置信息(根据单目摄像头拍摄得到的图像所计算出的第一位置信息是不够准确的),因此,若判断出目标点云信息中包括第二人体特征,则能够从包括这些第二人体特征的目标点云信息中确定对应的准确的位置信息。需要指出的是,若目标点云信息中存在没有包括第二人体特征的点云信息,则需要抛弃这些没有包括第二人体特征的点云信息,即只根据包括第二人体特征的目标点云信息进行位置信息的确定,有利于提高得到的位置信息的准确性。
59.本技术实施例中,首先通过分析图像中是否存在第一人体特征来判断该图像是否包括人体,若图像中包括人体,则根据该第一人体特征来计算人体的第一位置信息(此时,得到的第一位置信息是不够准确的),再根据得到的第一位置信息从雷达扫描得到的各个点云信息中确定出目标点云信息,若这些目标点云信息中包括第二人体特征,则根据包括第二人体特征的目标点云信息来确定第二位置信息(此时,得到的第二位置信息是准确的)。由于判断一个图像是否存在第一人体特征的判断结果的准确性较高,且从点云信息确定出的位置信息的准确性也较高,因此,先对图像进行识别,在识别出存在人体之后,再根据点云信息进行位置信息的确定,能够提高确定出的人体的位置信息(即第二位置信息)的准确性。
60.在一些实施例中,该定位方法,还包括:
61.将上述至少一张图像的获取时间和上述至少一个点云信息的获取时间进行对齐。
62.具体地,由于摄像头和雷达的通讯会存在延时,因此,会造成摄像头和雷达各自时
钟不一致。为了提高后续得到的位置信息的准确度,需要先在时间维度上对图像和点云信息进行对齐,即保证后续确定第一位置信息的图像和确定与该第一位置信息对应的第二位置信息的点云信息在获取时间上是相同的,从而保证时间上的同步。
63.在本实施例中,当雷达频率和图像帧率不同(即在获取相同数量的图像和点云信息时,图像的获取时间和点云信息的获取时间不同)时,以两者中的较低者为准进行对齐。例如,假设雷达频率为10hz,图像帧率为20hz,则对图像进行采样,以保证采样后的图像的图像帧率与雷达频率相同,即保证采样后的图像的图像帧率为10hz。由于以两者中的较低者(如以雷达频率)为准进行对齐,因此,能够保证每一个点云数据均能找到与其对应的图像,从而能够尽量保证数据的完整性,进而有利于提高后续得到的第二位置信息的准确性。
64.在一些实施例中,在步骤s11之前,还包括:
65.将摄像头的视野坐标系和雷达的点云坐标系同时映射到机器人本体的坐标系。
66.具体地,通过标定板,将摄像头的坐标系映射到机器人本体的坐标系,以及,将雷达的点云坐标系映射到该机器人本体的坐标系。这样,后续摄像头获取的图像中的物体的坐标系和点云信息中的物体的坐标系能够采用机器人本体的坐标系表示,进而能够保证后续得到的第二位置信息的准确性。
67.在一些实施例中,上述第一人体特征包括人脸特征和/或肩膀特征。和/或,上述第二人体特征包括腿部特征。
68.本技术实施例中,由于只检测图像中是否存在人脸特征,和/或,只检测图像中是否存在肩膀特征,而人脸特征和/或肩膀特征只是人体的部分特征,因此,与检测出人体的所有特征相比,只检测图像中是否存在人脸特征,和/或,只检测图像中是否存在人脸特征,能够极大提高检测速度。此外,由于摄像头只需要获取人体的上半身的特征即可,不需要进行全身的检测识别,因此,可将摄像头设置在机器人的头部,这样,能够降低摄像头的视野角度(fov)开角以及安装要求。
69.在一些实施例中,当第一人体特征包括人脸特征时,本技术实施例的定位方法还包括:
70.根据上述人脸特征确定人脸的朝向。
71.本实施例中,可从人脸特征中提取出两个眼睛(可取两个点代替,即为两眼点)所在的位置信息,根据该两眼点与中轴线的关系来确定人脸的朝向。比如,若两眼点均在人脸中轴线的左边,则判定人脸的朝向为向左。
72.对应地,上述步骤s15包括:
73.根据上述第一位置信息以及上述人脸的朝向在上述点云信息中确定目标点云信息。
74.本实施例中,在雷达扫描得到的各个点云信息中查找位置信息与第一位置信息相同,且角度信息与人脸的朝向相同的点云信息,查找到的点云信息作为目标点云信息。由于从点云信息中能够获取物体的位置信息和角度信息,因此,将位置信息与角度信息相结合来查找目标点云信息,能够提高查找到的目标点云信息的准确度。
75.在一些实施例中,当第二人体特征包括腿部特征时,上述步骤s16包括:
76.a1、对上述目标点云信息进行相邻点聚类,得到聚类结果。
77.本实施例中,相邻点聚类用于将位置相近的目标点云信息聚为一类。
78.a2、根据上述聚类结果检测上述目标点云信息所包括的物体的属性信息。
79.其中,物体的属性信息包括物体的形状和/或该物体的宽度等。
80.a3、若上述属性信息符合预定要求,则判定上述目标点云信息中存在腿部特征。
81.进一步地,若属性信息不符合预定要求,则判定上述目标点云信息中不存在上述腿部特征。
82.本实施例中,考虑到雷达通常用于避障,因此可将雷达设置在机器人的底盘(如足部的位置)上,这样,有利于得到更全面的地面上的点云信息。
83.在本实施例中,分析同一聚类结果的各个目标点云信息所对应的物体的属性信息,如分析物体的形状,基于该物体形状判断点云信息中是否存在腿部特征。
84.在一些实施例中,属性信息包括形状和宽度,上述步骤a3包括:
85.若上述目标点云信息所包括的物体的形状为两个圆柱形,且两个圆柱形中每个圆柱形的宽度满足预设的宽度要求,则判定属性信息符合预定要求,即判定上述目标点云信息中存在腿部特征。
86.由于人体的腿部的截面是接近圆柱形的形状,且每一条腿部均具有一定的宽度,因此,根据目标点云信息确定其所包括的物体的形状,再判断该物体的形状是否为两个圆柱形,若为两个圆柱形,且两个圆柱形中每个圆柱形的宽度均满足预设的宽度要求,比如,每一个圆柱形的宽度均在预设的宽度范围内,则判定这些目标点云信息中存在腿部特征,能够保证得到的判断结果的准确性。即,根据上述判断方式,能够准确判断出目标点云信息中是否存在腿部特征。
87.在一些实施例中,在上述步骤s17之后,包括:
88.基于上述第二位置信息跟随上述人体。
89.本实施例中,由于第二位置信息是根据点云信息确定,即该第二位置信息为人体的准确的位置信息,因此,根据该第二位置信息对人体进行跟随时,能够使得机器人更准确地对人体进行跟随。
90.在一些实施例中,上述基于上述第二位置信息跟随上述人体,包括:
91.b1、确定上述机器人与上述人体之间的距离。
92.本实施例中,可先确定第二人体特征所在的平面与机器人所在的平面之间的距离,确定的距离将作为该人体与该机器人之间的距离。比如,当第二人体特征为人体的腿部时,可将腿部与机器人之间的距离作为人体与该机器人之间的距离。
93.b2、基于上述距离跟随上述人体。
94.具体地,由于机器人与人体过近,则可能给人带来压迫感,而机器人与人体过远,则又可能导致交互不顺畅,因此,机器人可根据其与人体的距离来对人体进行跟随。比如,当机器人与人体的距离等于预设的距离阈值时,则停止跟随人体,当机器人与人体的距离大于预设是距离阈值时,则继续跟随该人体,这样,能够避免机器人与人体之间时远时近,从而能够实现对人体的精准跟踪。
95.在一些实施例中,上述b2包括:
96.b21、判断上述距离是否大于预设的距离阈值。
97.b22、若上述距离大于上述距离阈值,则采用目标速度跟随上述人体,上述目标速度与上述距离正相关。
98.b23、若上述距离不大于上述距离阈值,则停止跟随上述人体。
99.本实施例中,由于目标速度与距离是正相关的关系,即在机器人与人体的距离较大时,目标速度也较大,而在机器人与人体的距离较小时,目标速度也较小,因此,采样上述目标速度跟随人体时,能够保证在机器人与人体的距离较大时,该机器人能够尽快缩短与人体的距离,而在机器人与人体的距离较小时,该机器人即使缓慢移动也能够缩短与人体的距离,且在机器人与人体的距离较小时,机器人也缓慢移动,将能够避免对人体造成的惊扰,从而极大提高了被跟随的人体的良好体验。
100.应理解,上述实施例中各步骤的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本技术实施例的实施过程构成任何限定。
101.实施例二:
102.对应于上文实施例的定位方法,图2示出了本技术实施例提供的一种定位装置的结构示意图。便于说明,仅示出了与本技术实施例相关的部分。
103.该定位装置2应用于机器人,该机器人设置有摄像头和雷达。该定位装置2包括:图像获取模块21、第一人体特征检测模块22、第一位置信息确定模块23、点云信息获取模块24、目标点云信息确定模块25、第二人体特征检测模块26、第二位置信息确定模块27。其中:
104.图像获取模块21,用于获取上述摄像头拍摄得到的至少一张图像。
105.在一些实施例中,将一个摄像头(单目摄像头)安装在机器人的上半部分,该单目摄像头用于拍摄该机器人前方,得到该机器人前方的物体的图像(或视频帧),并将得到的图像(或视频帧)发送给机器人。
106.第一人体特征检测模块22,用于检测上述图像是否包括第一人体特征。
107.其中,第一人体特征为能够表征物体为人体的一种特征,比如,该第一人体特征可以人体的人脸所对应的特征(此时,该第一人体特征称为人脸特征),也可以为人体的肩膀所对应的特征。
108.第一位置信息确定模块23,用于若存在上述第一人体特征,则根据上述第一人体特征计算人体的第一位置信息。
109.本实施例中,计算第一人体特征在图像中的大小,再结合相机成像原理,预估该第一人体特征在实际中的尺寸,最后预估该第一人体特征所对应的人体与机器人之间的距离,即根据相机的成像原理实现人体与机器人之间的距离的计算。由于机器人在世界坐标系中的位置信息是已知的,因此,根据计算的人体与机器人之间的距离能够计算人体在世界坐标系中的位置信息,得到上述的第一位置信息。
110.在一些实施例中,若第一人体特征没有位于图像的中心位置,即该第一人体特征没有过光心,该第一人体特征在光心的垂足与该光心的连线与主光轴具有一倾斜夹角,则根据上述方式预估出的距离还需要结合该倾斜夹角才能预估出人体与机器人之间的距离。由于在实际情况中,人体通常不在相机的主光轴上,因此,结合上述的倾斜夹角来预估人体与机器人之间的距离能够提高预估的距离的准确性。
111.点云信息获取模块24,用于获取雷达扫描得到的至少一个点云信息。
112.在一些实施例中,将雷达安装在机器人的下半部分,如将雷达设置在机器人的底盘。该雷达采用预设的扫描频率对机器人的前方进行扫描,得到该机器人前方的物体所对
应的点云信息,并将得到的点云信息发送给机器人。
113.目标点云信息确定模块25,用于根据上述第一位置信息在上述点云信息中确定目标点云信息。
114.第二人体特征检测模块26,用于检测上述目标点云信息中是否包括第二人体特征。
115.第二位置信息确定模块27,用于若存在上述第二人体特征,则根据包括上述第二人体特征的上述目标点云信息确定上述人体的第二位置信息。
116.本实施例中,由于根据点云信息能够确定出准确的位置信息(根据单目摄像头拍摄得到的图像所计算出的第一位置信息是不够准确的),因此,若判断出目标点云信息中包括第二人体特征,则能够从包括这些第二人体特征的目标点云信息中确定对应的准确的位置信息。需要指出的是,若目标点云信息中存在没有包括第二人体特征的点云信息,则需要抛弃这些没有包括第二人体特征的点云信息,即只根据包括第二人体特征的目标点云信息进行位置信息的确定,有利于提高得到的位置信息的准确性。
117.本技术实施例中,首先通过分析图像中是否存在第一人体特征来判断该图像是否包括人体,若图像中包括人体,则根据该第一人体特征来计算人体的第一位置信息(此时,得到的第一位置信息是不够准确的),再根据得到的第一位置信息从雷达扫描得到的各个点云信息中确定出目标点云信息,若这些目标点云信息中包括第二人体特征,则根据包括第二人体特征的目标点云信息来确定第二位置信息(此时,得到的第二位置信息是准确的)。由于判断一个图像是否存在第一人体特征的判断结果的准确性较高,且从点云信息确定出的位置信息的准确性也较高,因此,先对图像进行识别,在识别出存在人体之后,再根据点云信息进行位置信息的确定,能够提高确定出的人体的位置信息(即第二位置信息)的准确性。
118.在一些实施例中,该定位装置2还包括:
119.时间对齐模块,用于将上述至少一张图像的获取时间和上述至少一个点云信息的获取时间进行对齐。
120.具体地,由于摄像头和雷达的通讯会存在延时,因此,会造成摄像头和雷达各自时钟不一致。为了提高后续得到的位置信息的准确度,需要先在时间维度上对图像和点云信息进行对齐,即保证后续进行处理的图像和点云信息在获取时间上是相同的,从而保证时间上的同步。
121.在本实施例中,当雷达频率和图像帧率不同(即在获取相同数量的图像和点云信息时,图像的获取时间和点云信息的获取时间不同)时,以两者中的较低者为准进行对齐。例如,假设雷达频率为10hz,图像帧率为20hz,则对图像进行采样,以保证采样后的图像的图像帧率与雷达频率相同,即保证采样后的图像的图像帧率为10hz。由于以两者中的较低者(如以雷达频率)为准进行对齐,因此,能够保证每一个点云数据均能找到与其对应的图像,从而能够尽量保证数据的完整性,进而有利于提高后续得到的第二位置信息的准确性。
122.在一些实施例中,该定位装置2还包括:
123.空间对齐模块,用于将摄像头的视野坐标系和雷达的点云坐标系同时映射到机器人本体的坐标系。
124.具体地,通过标定板,将摄像头的坐标系映射到机器人本体的坐标系,以及,将雷
达的点云坐标系映射到该机器人本体的坐标系。这样,后续摄像头获取的图像中的物体的坐标系和点云信息的坐标系能够采用机器人本体的坐标系表示,进而能够保证后续得到的第二位置信息的准确性。
125.在一些实施例中,第一人体特征包括人脸特征和/或肩膀特征;和/或,所述第二人体特征包括腿部特征。
126.本技术实施例中,由于第一特征可以是人脸特征,和/或,肩膀特征,也即,摄像头只需要获取人体的上半身的特征即可,不需要进行全身的检测识别,因此,可将摄像头设置在机器人的头部,这样,能够降低摄像头的视野角度(fov)开角以及安装要求。
127.在一些实施例中,当第一人体特征包括人脸特征时,上述的定位装置2还包括:
128.人脸的朝向确定模块,用于根据上述人脸特征确定人脸的朝向。
129.本实施例中,可从人脸特征中提取出两个眼睛(可去两个点代替,即为两眼点)所在的位置信息,根据该两眼点与中轴线的关系来确定人脸的朝向。比如,若两眼点均在人脸中轴线的左边,则判定人脸的朝向为向左。
130.对应地,上述目标点云信息确定模块25具体用于:
131.根据上述第一位置信息以及上述人脸的朝向在上述点云信息中确定目标点云信息。
132.本实施例中,在雷达扫描得到的各个点云信息中查找位置信息与第一位置信息相同,且角度信息与人脸的朝向相同的点云信息,查找到的点云信息作为目标点云信息。由于从点云信息中能够获取物体的位置信息和角度信息,因此,将位置信息与角度信息相结合来查找目标点云信息,能够提高查找到的目标点云信息的准确度。
133.在一些实施例中,当所述第二人体特征包括腿部特征时,上述第二人体特征检测模块26包括:
134.聚类结果确定单元,用于对上述目标点云信息进行相邻点聚类,得到聚类结果。
135.属性信息检测单元,用于根据上述聚类结果检测上述目标点云信息所包括的物体的属性信息。
136.腿部特征存在判定单元,用于若上述属性信息符合预定要求,则判定上述目标点云信息中存在腿部特征。
137.进一步地,若属性信息不符合预定要求,则判定上述目标点云信息中不存在腿部特征。
138.在一些实施例中,属性信息包括形状和宽度,上述腿部特征存在判定单元具体用于:
139.若上述目标点云信息所包括的物体的形状为两个圆柱形,且两个圆柱形中每个圆柱形的宽度满足预设的宽度要求,则判定属性信息符合预定要求,即判定上述目标点云信息中存在腿部特征。
140.由于人体的腿部的截面是接近圆柱形的形状,且每一条腿部均具有一定的宽度,因此,在本技术实施例中,根据目标点云信息确定其所包括的物体的形状,再判断该物体的形状是否为两个圆柱形,若为两个圆柱形,且两个圆柱形中每个圆柱形的宽度均满足预设的宽度要求(比如,每一个圆柱形的宽度均在预设的宽度范围内),则判定这些目标点云信息中存在腿部特征,能够保证得到的判断结果的准确性。即,根据上述判断方式,能够准确
判断出目标点云信息中是否存在腿部特征。
141.在一些实施例中,上述的定位装置2还包括:
142.跟随模块,用于基于上述第二位置信息跟随上述人体。
143.本实施例中,由于第二位置信息是根据点云信息确定,即该第二位置信息为人体的准确的位置信息,因此,根据该第二位置信息对人体进行跟随时,能够使得机器人更准确地对人体进行跟随。
144.在一些实施例中,上述跟随模块具体包括:
145.距离确定单元,用于确定上述机器人与上述人体之间的距离。
146.本实施例中,可先确定第二人体特征所在的平面与机器人所在的平面之间的距离,确定的距离将作为该人体与该机器人之间的距离。比如,当第二人体特征为人体的腿部时,可将腿部与机器人之间的距离作为人体与该机器人之间的距离。
147.跟踪单元,用于基于上述距离跟随上述人体。
148.具体地,由于机器人与人体过近,则可能给人带来压迫感,而机器人与人体过远,则又可能导致交互不顺畅,因此,机器人可根据其与人体的距离来对人体进行跟随。比如,当机器人与人体的距离等于预设的距离阈值时,则停止跟随人体,当机器人与人体的距离大于预设是距离阈值时,则继续跟随该人体,这样,能够避免机器人与人体之间时远时近,从而能够实现对人体的精准跟踪。
149.在一些实施例中,上述跟踪单元包括:
150.距离比较单元,用于判断上述距离是否大于预设的距离阈值。
151.继续跟踪单元,用于若上述距离大于上述距离阈值,则采用目标速度跟随上述人体,上述目标速度与上述距离正相关。通过跟随人体,以缩短与上述人体的距离。
152.停止跟踪单元,用于若上述距离不大于上述距离阈值,则停止跟随上述人体。由于停止跟随人体,因此能够保持与上述人体的距离。
153.本实施例中,由于目标速度与距离是正相关的关系,即在机器人与人体的距离较大时,目标速度也较大,而在机器人与人体的距离较小时,目标速度也较小,因此,采样上述目标速度跟随人体时,能够保证在机器人与人体的距离较大时,该机器人能够尽快缩短与人体的距离,而在机器人与人体的距离较小时,该机器人即使缓慢移动也能够缩短与人体的距离,且在机器人与人体的距离较小时,机器人也缓慢移动,将能够避免对人体造成的惊扰,从而极大提高了被跟随的人体的良好体验。
154.需要说明的是,上述装置/单元之间的信息交互、执行过程等内容,由于与本技术方法实施例基于同一构思,其具体功能及带来的技术效果,具体可参见方法实施例部分,此处不再赘述。
155.实施例三:
156.图3为本技术一实施例提供的机器人的结构示意图。如图3所示,该实施例的机器人3包括:至少一个处理器30(图3中仅示出一个处理器)、存储器31以及存储在存储器31中并可在至少一个处理器30上运行的计算机程序32,处理器30执行计算机程序32时实现上述任意方法实施例一中的步骤。
157.机器人3可以是类人形的机器人(如具有头部、手部和足部的机器人),也可以是只具有头部和手部的机器人。该机器人可包括,但不仅限于,处理器30、存储器31。本领域技术
人员可以理解,图3仅仅是机器人3的举例,并不构成对机器人3的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,在一种场景中还可以包括输入输出设备、网络接入设备等。
158.所称处理器30可以是中央处理单元(central processing unit,cpu),该处理器30还可以是其他通用处理器、数字信号处理器(digital signal processor,dsp)、专用集成电路(application specific integrated circuit,asic)、现场可编程门阵列(field-programmable gate array,fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。
159.存储器31在一些实施例中可以是机器人3的内部存储单元,例如机器人3的硬盘或内存。存储器31在另一些实施例中也可以是机器人3的外部存储设备,例如机器人3上配备的插接式硬盘,智能存储卡(smart media card,smc),安全数字(secure digital,sd)卡,闪存卡(flash card)等。进一步地,存储器31还可以既包括机器人3的内部存储单元也包括外部存储设备。存储器31用于存储操作系统、应用程序、引导装载程序(bootloader)、数据以及其他程序等,例如计算机程序的程序代码等。存储器31还可以用于暂时地存储已经输出或者将要输出的数据。
160.所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能单元、模块完成,即将所述装置的内部结构划分成不同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模块的具体名称也只是为了便于相互区分,并不用于限制本技术的保护范围。上述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
161.本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现可实现上述各个方法实施例中的步骤。
162.本技术实施例提供了一种计算机程序产品,当计算机程序产品在机器人上运行时,使得机器人执行时实现可实现上述各个方法实施例中的步骤。
163.所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实现上述实施例方法中的全部或部分流程,可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质至少可以包括:能够将计算机程序代码携带到拍照装置/终端设备的任何实体或装置、记录介质、计算机存储器、只读存储器(rom,read-only memory)、随机存取存储器(ram,random access memory)、电载波信号、电信信号以及软件分发介质。例如u盘、移动硬盘、磁碟或者光盘等。在某些司法管辖区,根据立法和专利实践,计算机可读介质不可以是电载波信号和
电信信号。
164.在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述或记载的部分,可以参见其它实施例的相关描述。
165.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
166.在本技术所提供的实施例中,应该理解到,所揭露的装置/网络设备和方法,可以通过其它的方式实现。例如,以上所描述的装置/网络设备实施例仅仅是示意性的,例如,所述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通讯连接可以是通过一些接口,装置或单元的间接耦合或通讯连接,可以是电性,机械或其它的形式。
167.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
168.以上所述实施例仅用以说明本技术的技术方案,而非对其限制;尽管参照前述实施例对本技术进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本技术各实施例技术方案的精神和范围,均应包含在本技术的保护范围之内。
技术特征:
1.一种定位方法,其特征在于,应用于机器人,所述机器人设置有摄像头和雷达,所述定位方法包括:获取所述摄像头拍摄得到的至少一张图像;检测所述图像是否包括第一人体特征;若存在所述第一人体特征,则根据所述第一人体特征计算人体的第一位置信息;获取所述雷达扫描得到的至少一个点云信息;根据所述第一位置信息在所述点云信息中确定目标点云信息;检测所述目标点云信息中是否包括第二人体特征;若存在所述第二人体特征,则根据包括所述第二人体特征的所述目标点云信息确定所述人体的第二位置信息。2.如权利要求1所述的定位方法,其特征在于,所述第一人体特征包括人脸特征和/或肩膀特征;和/或,所述第二人体特征包括腿部特征。3.如权利要求2所述的定位方法,其特征在于,当所述第一人体特征包括人脸特征时,所述方法还包括:根据所述人脸特征确定人脸的朝向;所述根据所述第一位置信息在所述点云信息中确定目标点云信息,包括:根据所述第一位置信息以及所述人脸的朝向在所述点云信息中确定目标点云信息。4.如权利要求2或3所述的定位方法,其特征在于,当所述第二人体特征包括腿部特征时,所述检测所述目标点云信息中是否包括第二人体特征,包括:对所述目标点云信息进行相邻点聚类,得到聚类结果;根据所述聚类结果检测所述目标点云信息所包括的物体的属性信息;若所述属性信息符合预定要求,则判定所述目标点云信息中存在腿部特征。5.如权利要求1至3任一项所述的定位方法,其特征在于,该方法还包括:基于所述第二位置信息跟随所述人体。6.如权利要求5所述的定位方法,其特征在于,所述基于所述第二位置信息跟随所述人体,包括:确定所述机器人与所述人体之间的距离;基于所述距离跟随所述人体。7.如权利要求6所述的定位方法,其特征在于,所述基于所述距离跟随所述人体,包括:判断所述距离是否大于预设的距离阈值;若所述距离大于所述距离阈值,则采用目标速度跟随所述人体,所述目标速度与所述距离正相关;若所述距离不大于所述距离阈值,则停止跟随所述人体。8.如权利要求1至3任一项所述的定位方法,其特征在于,所述定位方法还包括:将所述至少一张图像的获取时间和所述至少一个点云信息的获取时间进行对齐。9.如权利要求1至3任一项所述的定位方法,其特征在于,在所述获取所述摄像头拍摄得到的至少一张图像之前,包括:将所摄像头的视野坐标系和所述雷达的点云坐标系同时映射到机器人本体的坐标系。
10.一种定位装置,其特征在于,应用于机器人,所述机器人设置有摄像头和雷达,所述定位装置包括:图像获取模块,用于获取所述摄像头拍摄得到的至少一张图像;第一人体特征检测模块,用于检测所述图像是否包括第一人体特征;第一位置信息确定模块,用于若存在所述第一人体特征,则根据所述第一人体特征计算人体的第一位置信息;点云信息获取模块,用于获取所述雷达扫描得到的至少一个点云信息;目标点云信息确定模块,用于根据所述第一位置信息在所述点云信息中确定目标点云信息;第二人体特征检测模块,用于检测所述目标点云信息中是否包括第二人体特征;第二位置信息确定模块,用于若存在所述第二人体特征,则根据包括所述第二人体特征的所述目标点云信息确定所述人体的第二位置信息。11.一种机器人,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1至9任一项所述的方法。12.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1至9任一项所述的方法。
技术总结
本申请适用于计算机视觉及运动控制的技术领域,提供了定位方法、装置、机器人及计算机可读存储介质。所述定位方法包括:获取摄像头拍摄得到的至少一张图像;检测所述图像是否包括第一人体特征;若存在所述第一人体特征,则根据所述第一人体特征计算人体的第一位置信息;获取雷达扫描得到的至少一个点云信息;根据所述第一位置信息在所述点云信息中确定目标点云信息;检测所述目标点云信息中是否包括第二人体特征;若存在所述第二人体特征,则根据包括所述第二人体特征的所述目标点云信息确定所述人体的第二位置信息。通过上述方法,能够提高得到的人体的位置信息的准确性。能够提高得到的人体的位置信息的准确性。能够提高得到的人体的位置信息的准确性。
技术研发人员:夹磊 吴泽霖 奉飞飞 唐剑
受保护的技术使用者:美的集团(上海)有限公司
技术研发日:2021.12.07
技术公布日:2022/3/8