RGBD相机障碍物检测方法、装置系统及移动工具与流程

文档序号:33247495发布日期:2023-02-17 23:44阅读:66来源:国知局
RGBD相机障碍物检测方法、装置系统及移动工具与流程
rgbd相机障碍物检测方法、装置系统及移动工具
技术领域
1.本发明涉及障碍物检测技术领域,尤其涉及一种rgbd(rgb+depth map,rgb即为red green blue)相机障碍物检测方法、装置、系统及移动工具。


背景技术:

2.近年来随着服务贸易行业的快速发展,涌现出了各式各样的机器人产品,比如清扫机器人、仓储机器人等。这些机器人旨在提高作业效率,减轻人力负担。机器人只有正确检测到环境中的障碍物,才能安全有效地进行作业,因此,障碍物检测是环境感知中的重要一环,而如何保证成本的前提下尽可能多的覆盖环境感知范围和提高感知精度,一直是业界在不断探索且亟待解决的问题。
3.目前机器人常用的传感器包括激光雷达、摄像头、超声波雷达等。激光雷达的检测原理是主动发射激光光束,通过发射与接收的激光飞行时间(time of flight,tof)计算障碍物的位置距离,检测精度非常高。
4.激光雷达在现有市场上多分为单线、多线和固态这几种,使用上主要在检测范围和检测距离上有差异,且激光雷达的价格目前处在一个较高的水平,单线激光雷达价格稍便宜,但是只能覆盖一个平面,该平面以外的区域感知不到。由于图像信息本身非常丰富,所以摄像头的用途很广,可以用来做视觉检测和行车记录,但是在弱光环境下效果差,且对于检测精度要求日益严格的机器人,视觉检测难以在短时间内将整体检测精度提升到厘米级水平。超声波雷达利用声波在空气中的反射特性来检测障碍物,在某些特殊场景比如透明玻璃等,有其独特的价值优势,但是超声波雷达只能返回前方某一扇形范围内障碍物的检测距离值,信息量非常有限,只能作为障碍物检测功能的一种补充。


技术实现要素:

5.本发明实施例的目的是提供一种rgbd相机障碍物检测方法、装置、系统及移动工具,以解决现有技术中所存在的问题。
6.第一方面,本发明提供了一种rgbd相机障碍物检测方法,所述方法包括:
7.获取rgbd相机的深度图像;
8.对所述深度图像进行处理,得到第一坐标系的第一深度点云;
9.对所述第一深度点云进行坐标转换,得到第二坐标系的第二深度点云;
10.对所述第二深度点云进行处理确定背景点和前景点;所述背景点为地面点,所述前景点为非地面点;
11.对所述前景点进行聚类处理得到障碍物信息。
12.优选的,所述对所述第二深度点云进行处理确定背景点和前景点,具体包括:
13.确定第二深度点云中的噪声点,并删除所述噪声点之后得到第三深度点云,所述噪声点包括无效点、与rgbd相机距离大于预置距离阈值的点;
14.对所述第三深度点云所在的区域进行栅格处理,得到三维栅格图;
15.针对三维栅格图中的每个栅格,对位于该栅格内的点云按照高度进行排序,并删除高度位于预置高度范围之外的点,得到每个栅格对应的目标点云;
16.将三维栅格地图中目标点云小于预置数量阈值的栅格删除,根据其他栅格中的目标点云拟合地平面;
17.将目标点云中位于所述地平面的点确定为背景点,将目标点云中的其他点确定为前景点。
18.优选的,根据其他栅格中的目标点云拟合地平面,具体包括:
19.采用ransac算法,对其他栅格中的目标点云进行地平面拟合,得到地平面。
20.优选的,所述对所述前景点进行聚类处理得到障碍物信息,具体包括:
21.将所述前景点投影在所述地平面上,构建二维栅格图;
22.针对二维栅格图中的每个栅格,根据位于所述栅格内的前景点的投影点,确定所述栅格的取值;
23.将取值表示存在障碍物的栅格,按照预置的n邻域算法进行填充,得到至少一个连通区域;
24.根据所述连通区域确定障碍物。
25.优选的,根据所述连通区域确定障碍物,具体包括:
26.当所述连通区域为多个,且相邻连通区域存在重叠时,合并存在重叠的连通区域;
27.判断各连通区域的面积是否大于预设面积阈值,若是则确定所述连通区域为障碍物;若否则删除所述连通区域。
28.第二方面,本发明提供了一种rgbd相机障碍物检测装置,所述装置包括:
29.获取模块,所述获取模块用于获取rgbd相机的深度图像;
30.第一处理模块,所述处理模块用于对所述深度图像进行处理,得到第一坐标系的第一深度点云;
31.坐标转换模块,所述坐标转换模块用于对所述第一深度点云进行坐标转换,得到第二坐标系的第二深度点云;
32.第二处理模块,所述第二处理模块用于对所述第二深度点云进行处理确定背景点和前景点;所述背景点为地面点,所述前景点为非地面点;
33.聚类模块,所述聚类模块用于对所述前景点进行聚类处理得到障碍物信息。
34.优选的,所述第二处理模块对所述第二深度点云进行处理确定背景点和前景点,具体包括:
35.确定第二深度点云中的噪声点,并删除所述噪声点之后得到第三深度点云,所述噪声点包括无效点、与rgbd相机距离大于预置距离阈值的点;
36.对所述第三深度点云所在的区域进行栅格处理,得到三维栅格图;
37.针对三维栅格图中的每个栅格,对位于该栅格内的点云按照高度进行排序,并删除高度位于预置高度范围之外的点,得到每个栅格对应的目标点云;
38.将三维栅格地图中目标点云小于预置数量阈值的栅格删除,根据其他栅格中的目标点云拟合地平面;
39.将目标点云中位于所述地平面的点确定为背景点,将目标点云中的其他点确定为前景点。
40.优选的,所述第二处理模块根据其他栅格中的目标点云拟合地平面,具体包括:
41.采用ransac算法,对其他栅格中的目标点云进行地平面拟合,得到地平面。
42.优选的,所述聚类模块对前景点进行聚类处理得到障碍物信息,具体包括:
43.将所述前景点投影在所述地平面上,构建二维栅格图;
44.针对二维栅格图中的每个栅格,根据位于所述栅格内的前景点的投影点,确定所述栅格的取值;
45.将取值表示存在障碍物的栅格,按照预置的n邻域算法进行填充,得到至少一个连通区域;
46.根据所述连通区域确定障碍物。
47.优选的,所述聚类模块根据所述连通区域确定障碍物,具体包括:
48.当所述连通区域为多个,且相邻连通区域存在重叠时,合并存在重叠的连通区域;
49.判断各连通区域的面积是否大于预设面积阈值,若是则确定所述连通区域为障碍物;若否则删除所述连通区域。
50.第三方面,本发明提供了一种计算机服务器,包括:存储器、处理器和收发器;
51.所述处理器用于与所述存储器耦合,读取并执行所述存储器中的指令,以实现第一方面任一项所述的rgbd相机进行障碍物检测的方法;
52.所述收发器与所述处理器耦合,由所述处理器控制所述收发器进行消息收发。
53.第四方面,本发明提供了一种芯片系统,包括处理器,所述处理器与存储器的耦合,所述存储器存储有程序指令,当所述存储器存储的程序指令被所述处理器执行时实现第一方面任一项所述的rgbd相机进行障碍物检测的方法。
54.第五方面,本发明提供了一种计算机系统,包括存储器,以及与所述存储器通信连接的一个或多个处理器;
55.所述存储器中存储有可被所述一个或多个处理器执行的指令,所述指令被所述一个或多个处理器执行,以使所述一个或多个处理器实现如第一方面任一项所述的rgbd相机进行障碍物检测的方法。
56.第六方面,本发明提供了一种移动工具,包括上述第二方面所述的计算机服务器。
57.应用本发明提供的基于rgbd相机进行障碍物检测的方法,通过rgbd相机进行检测,检测精度高,成本低,可广泛应用于各类机器人的障碍物检测。
附图说明
58.图1为本发明实施例提供的rgbd相机障碍物检测方法流程示意图;
59.图2为图1中步骤140的流程示意图;
60.图3为图1中步骤150的流程示意图;
61.图4为图3中步骤154的流程示意图;
62.图5为本发明实施例提供的rgbd相机障碍物检测装置结构示意图。
具体实施方式
63.下面结合附图和实施例对本技术作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为便
于描述,附图中仅示出了与有关发明相关的部分。
64.需要说明的是,在不冲突的情况下,本技术中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本技术。
65.实施例一
66.图1为本发明实施例提供的rgbd相机障碍物检测方法流程示意图。该方法可以应用在机器人中,比如智能清扫车、智能洗地车、智能吸尘车、物流小车、乘用车、环卫车等。当将该方法应用于车辆中时,执行主体可以为车辆控制单元。如图1所示,该方法包括以下步骤:
67.步骤110,获取rgbd相机的深度图像;
68.具体的,rgbd相机可以安装在机器人的前方或顶部等。深度图像中包括多个像素点,每个像素点表示在rgbd相机的视野中,在特定(x,y)坐标处的物体到rgbd相机之间的距离。
69.步骤120,对深度图像进行处理,得到第一坐标系的第一深度点云;
70.其中,第一坐标系可以为rgbd相机坐标系,可以将深度图像通过坐标系转换,转换为第一深度点云,第一深度点云可以包括点在相机坐标系下的三维位置信息包括经纬度数据和高度数据。
71.步骤130,对第一深度点云进行坐标转换,得到第二坐标系的第二深度点云;
72.其中,第二坐标系根据rgbd相机所装载的载体来确定,在载体为车辆时,所述第二坐标系可以为车辆坐标系,当载体为清扫机器人时,第二坐标系为清扫机器人坐标系;本技术不对载体做严格限定。
73.具体的,rgbd相机装配在车辆或者机器人上后,需要预先进行外参标定,本技术中的标定工作是在执行步骤130之前已经完成了的,为预处理操作。外参分别为α-横滚角,β-俯仰角,γ-航向角,以及距离第二坐标系原点的距离δx,δy,δz。目标点p在第一坐标系下的坐标为(xc,y
x
,zc),通过坐标变换后在第二坐标系下的坐标为(xv,yv,zv),则有:
[0074][0075]
步骤140,对第二深度点云进行处理确定背景点和前景点;背景点为地面点,前景点为非地面点;
[0076]
在一个可选实施例中,前述步骤140可通过如图2所示的流程实现,步骤140包括以下步骤:
[0077]
步骤141,确定第二深度点云中的噪声点,并删除噪声点之后得到第三深度点云,噪声点可包括无效点、与rgbd相机距离大于预置距离阈值的点;
[0078]
其中,rgbd相机在接收空间中某点时距离太远,大于预置距离阈值的点,或者物体表面反射导致无效点、或者感兴趣区域(region of interest,roi)以外的无效点,这些都称为噪声点,将第二深度点云中的噪声点删除后,最终得到第三深度点云。
[0079]
其中,roi是以相机所在位置为中心点,预置尺寸的方框、圆、椭圆、不规则多边形等方式勾勒出需要处理的区域。
[0080]
步骤142,对第三深度点云所在的区域进行栅格处理,得到三维栅格图;
[0081]
其中,将第三深度点云所在的区域进行栅格处理后,第三深度点云处于三维栅格图中;
[0082]
具体的,可以将区域分割为一定尺寸,比如0.7*0.7*0.7的三维栅格,第三深度点云分布在该三维栅格中。
[0083]
步骤143,针对三维栅格图中的每个栅格,对位于该栅格内的点云按照高度进行排序,并删除高度位于预置高度范围之外的点,得到每个栅格对应的目标点云;
[0084]
具体的,可以根据高度过滤三维栅格,比如,对高度z处于预设阈值区间,比如5%-95%的保留,处于0-5%和95%-100%之间的三维栅格进行删除。
[0085]
步骤144,将三维栅格地图中目标点云小于预置数量阈值的栅格删除,根据其他栅格中的目标点云拟合地平面;
[0086]
具体的,在根据高度对三维栅格进行删除后,继续根据目标点云数量过滤三维栅格,删除目标点云数量小于第一数量,比如删除目标点云的数量小于5的三维栅格。
[0087]
在过滤后,可以使用随机抽样一致算法(random sample consensus,ransac)计算地平面方程。也可以采用其他算法来拟合地平面方程,比如最小二乘法,本技术对拟合得到地平面方程的具体算法并不限定。
[0088]
步骤145,将目标点云中位于地平面的点确定为背景点,将目标点云中的其他点确定为前景点。
[0089]
步骤150,对前景点进行聚类处理得到障碍物信息。
[0090]
在一个可选的实施例中,所述步骤150可通过图3所示的流程实现,步骤150包括如下步骤151-步骤154,其中:
[0091]
步骤151,将前景点投影在地平面上,构建二维栅格图;
[0092]
具体的,可以将前景点在地平面进行投影,以创建二维栅格图。
[0093]
步骤152,针对二维栅格图中的每个栅格,根据位于栅格内的前景点的投影点,确定栅格的取值;
[0094]
其中,将前景点云投影到地平面,构建二维栅格地图,每个栅格可以通过取值表示该栅格是否存在障碍物,比如,可以以“0”和“1”两种状态对栅格是否存在障碍物进行表示,0代表没有,1代表有。当然表示是否有障碍物的标签可以不限定于1和0,还可以是其他标记,例如
±
1之类的,也可以,本技术对此并不限定。
[0095]
步骤153,将取值表示存在障碍物的栅格,按照预置的n邻域算法进行填充,得到至少一个连通区域;
[0096]
其中,对二维栅格地图做n邻域算法进行增长操作,比如8邻域算法,即对每个值为1的栅格周围的8个相邻栅格进行填充,从而得到至少一个连通区域。此处,也可以是4邻域算法,本技术对此并不限定。
[0097]
步骤154,根据连通区域确定障碍物。
[0098]
在一个可选的实施例中,步骤154具体可通过如图4所示的流程实现,步骤154包括步骤1541和步骤1542,其中:
[0099]
步骤1541,当连通区域为多个,且相邻连通区域存在重叠时,合并存在重叠的连通区域;
[0100]
其中,可以合并重叠的障碍物区域,从而得到最终的障碍物信息,包括障碍物尺寸
和位置。
[0101]
步骤1542,判断各连通区域的面积是否大于预设面积阈值,若是则确定连通区域为障碍物;若否则删除连通区域。
[0102]
其中,二维栅格图中相连的值为1的区域为一个连通区域,假设每一个连通区域为一个障碍物。判断每个连通区域的尺寸是否大于预设面积阈值,若是,则确定该连通区域为障碍物,若否,则确定该连通区域并非障碍物,可以将该连通区域删除,然后继续执行步骤110。
[0103]
其中,此处的障碍物信息包括障碍物尺寸和位置。
[0104]
应用本发明提供的基于rgbd相机进行障碍物检测的方法,检测精度高,成本低,可广泛应用于各类机器人的障碍物检测。
[0105]
实施例二
[0106]
本发明实施例二提供了一种rgbd相机障碍物检测装置,如图5所示,该rgbd相机障碍物检测装置包括:
[0107]
获取模块51,用于获取rgbd相机的深度图像;
[0108]
第一处理模块52,用于对深度图像进行处理,得到第一坐标系的第一深度点云;
[0109]
坐标转换模块53,用于对第一深度点云进行坐标转换,得到第二坐标系的第二深度点云;
[0110]
第二处理模块54还用于对第二深度点云进行处理确定背景点和前景点;背景点为地面点,前景点为非地面点;
[0111]
聚类模块54用于对前景点进行聚类处理得到障碍物信息。
[0112]
获取模块51与实施例一步骤110实现相同的功能,具体实现请参见实施例一对步骤110的相关描述,在此不再赘述。
[0113]
第一处理模块52与实施例一步骤120实现相同的功能,具体实现请参见实施例一对步骤120的相关描述,在此不再赘述。
[0114]
坐标转换模块53与实施例一步骤130实现相同的功能,具体实现请参见实施例一对步骤110的相关描述,在此不再赘述。
[0115]
第二处理模块54确定背景点和前景点,具体包括:确定第二深度点云中的噪声点,并删除所述噪声点之后得到第三深度点云,所述噪声点包括无效点、与rgbd相机距离大于预置距离阈值的点;对所述第三深度点云所在的区域进行栅格处理,得到三维栅格图;针对三维栅格图中的每个栅格,对位于该栅格内的点云按照高度进行排序,并删除高度位于预置高度范围之外的点,得到每个栅格对应的目标点云;将三维栅格地图中目标点云小于预置数量阈值的栅格删除,根据其他栅格中的目标点云拟合地平面;将目标点云中位于所述地平面的点确定为背景点,将目标点云中的其他点确定为前景点。
[0116]
前述第二处理模块54根据其他栅格中的目标点云拟合地平面,具体包括:采用ransac算法,对其他栅格中的目标点云进行地平面拟合,得到地平面。
[0117]
具体可参见实施例一中的步骤140,在此不再赘述。
[0118]
聚类模块55对前景点进行聚类处理得到障碍物信息,具体包括:将所述前景点投影在所述地平面上,构建二维栅格图;针对二维栅格图中的每个栅格,根据位于所述栅格内的前景点的投影点,确定所述栅格的取值;将取值表示存在障碍物的栅格,按照预置的n邻
域算法进行填充,得到至少一个连通区域;根据所述连通区域确定障碍物。
[0119]
聚类模块55根据所述连通区域确定障碍物,具体包括:
[0120]
当所述连通区域为多个,且相邻连通区域存在重叠时,合并存在重叠的连通区域;判断各连通区域的面积是否大于预设面积阈值,若是则确定所述连通区域为障碍物;若否则删除所述连通区域。
[0121]
具体可参见实施例一中的步骤150,在此不再赘述。
[0122]
需要说明的是,应理解以上装置的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,确定模块可以为单独设立的处理元件,也可以集成在上述装置的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述装置的存储器中,由上述装置的某一个处理元件调用并执行以上确定模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所描述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
[0123]
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(application specific integrated circuit,asic),或,一个或多个微处理器(digital signal processor,dsp),或,一个或者多个现场可编程门阵列(field programmable gate array,fpga)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(central processing unit,cpu)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(system-on-a-chip,soc)的形式实现。
[0124]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机程序指令时,全部或部分地产生按照本技术实施例所描述的流程或功能。上述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。上述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,上述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线路((digital subscriber line,dsl))或无线(例如红外、无线、蓝牙、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。上述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。上述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如固态硬盘(solid state disk,ssd))等。
[0125]
实施例三
[0126]
本发明实施例三提供了一种计算机服务器,包括:存储器、处理器和收发器;
[0127]
处理器用于与存储器耦合,读取并执行存储器中的指令,以实现上述实施例一提供的任意一种rgbd相机障碍物检测方法;
[0128]
收发器与处理器耦合,由处理器控制收发器进行消息收发。
[0129]
实施例四
[0130]
本发明实施例四供了一种芯片系统,包括处理器,处理器与存储器的耦合,存储器存储有程序指令,当存储器存储的程序指令被处理器执行时实现如实施例一提供的任意一种rgbd相机障碍物检测方法。
[0131]
实施例五
[0132]
本发明实施例五提供了一种计算机系统,包括存储器,以及与存储器通信连接的一个或多个处理器;
[0133]
存储器中存储有可被一个或多个处理器执行的指令,指令被一个或多个处理器执行,以使一个或多个处理器实现如实施例一提供的任意一种rgbd相机障碍物检测方法。
[0134]
实施例六
[0135]
本发明实施例六提供一种计算机可读存储介质,包括程序或指令,当程序或指令在计算机上运行时,实现如实施例一提供的任意一种rgbd相机障碍物检测方法。
[0136]
实施例七
[0137]
实施例七提供一种包含指令的计算机程序产品,当计算机程序产品在计算机上运行时,使得计算机执行如实施例一提供的任意一种rgbd相机障碍物检测方法。
[0138]
实施例八
[0139]
本发明实施例八提供了一种移动工具,包括上述的计算机服务器。
[0140]
移动工具可以是任何可以移动的工具,例如车辆(例如吸尘车、清扫车、洗地车、物流小车、乘用车、环卫车、公交车、大巴车、厢式货车、卡车、载重车、挂车、甩挂车、吊车、挖掘机、铲土机、公路列车、扫地车、洒水车、垃圾车、工程车、救援车、agv(automated guided vehicle,自动导引运输车)等)、摩托车、自行车、三轮车、手推车、机器人、扫地机、平衡车等,本技术对于移动工具的类型不做严格限定,在此不再穷举。
[0141]
专业人员应该还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0142]
结合本文中所公开的实施例描述的方法或算法的步骤可以用硬件、处理器执行的软件模块,或者二者的结合来实施。软件模块可以置于随机存储器(ram)、内存、只读存储器(rom)、电可编程rom、电可擦除可编程rom、寄存器、硬盘、可移动磁盘、cd-rom、或技术领域内所公知的任意其它形式的存储介质中。
[0143]
以上的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1