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

一种遮挡检测的方法及装置

文献发布时间:2023-06-19 09:23:00


一种遮挡检测的方法及装置

技术领域

本发明涉及计算机及通信技术领域,特别涉及一种遮挡检测的方法及装置。

背景技术

随着人工智能技术的发展,机器人和机械臂技术发展迅速。机械臂可以较好的模拟人类行为,代替人类完成一些工作。摄像头相当于机械臂的眼睛,机械臂在工作过程中要依赖摄像头拍摄到的图像。但是,机械臂在运动过程中可能遮挡住摄像头,导致摄像头拍摄不到目标物体,影响机械臂的操作。因此,如何检测机械臂是否遮挡摄像头,是亟待解决的问题。

发明内容

本发明提供一种遮挡检测的方法及装置,用以实现检测机械臂是否遮挡目标物体。

本发明提供一种遮挡检测的方法,包括:

获取机械臂的关节参数信息;

根据所述关节参数信息和预设的坐标系,获得机械臂各关节的坐标信息;

根据所述坐标信息,生成机械臂的空间分布信息;

在预先构建的正投影模型中,根据已知的拍摄点和所述空间分布信息,获得遮挡区域;

根据所述遮挡区域和已知的目标物体所在区域,获得遮挡信息。

本发明的实施例提供的技术方案可以包括以下有益效果:本实施例构建了机械臂与拍摄点的投影关系,从而得出针对目标物体的遮挡信息,有助于确定目标物体是否被遮挡,并为后续处理提供信息依据,处理过程简单快捷。

可选的,所述根据所述关节参数信息和预设的坐标系,获得机械臂各关节的坐标信息,包括:

根据所述关节参数信息,确定机械臂各关节的参考点;

根据所述关节参数信息和预设的坐标系,获得所述参考点的坐标信息。

本发明的实施例提供的技术方案可以包括以下有益效果:本实施例将机械臂抽象成参考点,便于后续的计算处理。

可选的,所述根据所述关节参数信息,确定机械臂各关节的参考点,包括:

根据所述关节参数信息,将机械臂各关节的连接处确定为参考点;

根据所述关节参数信息,将机械臂的两个端点确定为参考点;

根据所述关节参数信息中的宽度参数信息,在相邻两个参考点之间插入参考点。

本发明的实施例提供的技术方案可以包括以下有益效果:本实施例通过若干个参考点来表征机械臂,便于后续的计算处理。

可选的,所述根据所述坐标信息,生成机械臂的空间分布信息,包括:

在所述坐标信息处填充预设的三维单元模型,生成机械臂的空间分布信息。

本发明的实施例提供的技术方案可以包括以下有益效果:本实施例通过三维单元模型填充方式,可以快速模拟出机械臂的空间分布。

可选的,所述三维单元模型的宽度与所述关节参数信息中的宽度参数信息一致。

本发明的实施例提供的技术方案可以包括以下有益效果:本实施例通过三维单元模型可以比较近似的模拟出机械臂的空间分布。

可选的,所述方法还包括:

将所述遮挡信息与预设的遮挡阈值进行比较;

在所述遮挡信息低于所述遮挡阈值时,获取所述拍摄点拍摄到的图像;

在所述遮挡信息不低于所述遮挡阈值时,放弃所述拍摄点拍摄到的图像。

本发明的实施例提供的技术方案可以包括以下有益效果:本实施例通过遮挡信息较快捷的实现了对拍摄图像的质量评价,节省了图像识别过程。

可选的,所述方法还包括:

根据所述遮挡信息,规划机械臂运动路径,以降低所述遮挡信息。

本发明的实施例提供的技术方案可以包括以下有益效果:本实施例实现了基于遮挡信息对机械臂的运动路径的重新规划,以便得到更优的运动路径。

可选的,所述方法还包括:

获取针对所述目标物体的多个拍摄点的遮挡信息,获取遮挡信息最低的拍摄点拍摄到的图像。

本发明的实施例提供的技术方案可以包括以下有益效果:本实施例基于遮挡信息可选取质量较好的图像,节省了图像识别过程。

本发明提供一种遮挡检测的装置,包括:

第一获取模块,用于获取机械臂的关节参数信息;

坐标模块,用于根据所述关节参数信息和预设的坐标系,获得机械臂各关节的坐标信息;

空间模块,用于根据所述坐标信息,生成机械臂的空间分布信息;

投影模块,用于在预先构建的正投影模型中,根据已知的拍摄点和所述空间分布信息,获得遮挡区域;

遮挡模块,用于根据所述遮挡区域和已知的目标物体所在区域,获得遮挡信息。

可选的,所述坐标模块包括:

参考点子模块,用于根据所述关节参数信息,确定机械臂各关节的参考点;

坐标子模块,用于根据所述关节参数信息和预设的坐标系,获得所述参考点的坐标信息。

可选的,所述参考点子模块根据所述关节参数信息,将机械臂各关节的连接处确定为参考点;根据所述关节参数信息,将机械臂的两个端点确定为参考点;根据所述关节参数信息中的宽度参数信息,在相邻两个参考点之间插入参考点。

可选的,所述空间模块包括:

空间子模块,用于在所述坐标信息处填充预设的三维单元模型,生成机械臂的空间分布信息。

可选的,所述三维单元模型的宽度与所述关节参数信息中的宽度参数信息一致。

可选的,所述装置还包括:

比较模块,用于将所述遮挡信息与预设的遮挡阈值进行比较;

图像模块,用于在所述遮挡信息低于所述遮挡阈值时,获取所述拍摄点拍摄到的图像;

放弃模块,用于在所述遮挡信息不低于所述遮挡阈值时,放弃所述拍摄点拍摄到的图像。

可选的,所述装置还包括:

规划模块,用于根据所述遮挡信息,规划机械臂运动路径,以降低所述遮挡信息。

可选的,所述装置还包括:

第二获取模块,用于获取针对所述目标物体的多个拍摄点的遮挡信息,获取遮挡信息最低的拍摄点拍摄到的图像。

本发明提供一种遮挡检测的装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

获取机械臂的关节参数信息;

根据所述关节参数信息和预设的坐标系,获得机械臂各关节的坐标信息;

根据所述坐标信息,生成机械臂的空间分布信息;

在预先构建的正投影模型中,根据已知的拍摄点和所述空间分布信息,获得遮挡区域;

根据所述遮挡区域和已知的目标物体所在区域,获得遮挡信息。

本发明提供一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现所述方法的步骤。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。

附图说明

附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。在附图中:

图1为本发明实施例中遮挡检测的方法流程图;

图2为本发明实施例中投影的示意图;

图3为本发明实施例中空间分布的示意图;

图4为本发明实施例中遮挡检测的方法流程图;

图5为本发明实施例中遮挡检测的方法流程图;

图6为本发明实施例中遮挡检测的装置结构图;

图7为本发明实施例中坐标模块的结构图;

图8为本发明实施例中空间模块的结构图;

图9为本发明实施例中遮挡检测的装置结构图;

图10为本发明实施例中遮挡检测的装置结构图;

图11为本发明实施例中遮挡检测的装置结构图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

相关技术中,摄像头相当于机械臂的眼睛,机械臂在工作过程中要依赖摄像头拍摄到的图像。但是,机械臂在运动过程中可能遮挡住摄像头,导致摄像头拍摄不到目标物体,影响机械臂的操作。因此,如何检测机械臂是否遮挡摄像头,是亟待解决的问题。一种可能的方案是,对拍摄到的图像进行图像识别,来判断目标物体是否被遮挡。另一种可能的方案是,利用多个摄像头进行拍摄,将多个摄像头拍摄到的图像进行图像融合,以解决单一摄像头被遮挡的问题。图像识别和图像融合技术,都处理较复杂,过程较慢。

为解决上述问题,本实施例生成机械臂的空间分布信息,构建出拍摄点与机械臂的投影关系,从而得到针对目标物体的遮挡信息。该过程处理简单快捷。

参见图1,本实施例中遮挡检测的方法包括:

步骤101:获取机械臂的关节参数信息。

步骤102:根据所述关节参数信息和预设的坐标系,获得机械臂各关节的坐标信息。

步骤103:根据所述坐标信息,生成机械臂的空间分布信息。

步骤104:在预先构建的正投影模型中,根据已知的拍摄点和所述空间分布信息,获得遮挡区域。

步骤105:根据所述遮挡区域和已知的目标物体所在区域,获得遮挡信息。

本实施例中可以由机械臂控制系统实现。机械臂的底座固定安装在某位置,因此机械臂底座在预设的坐标系中的坐标信息已知。拍摄点处的拍摄装置也是固定安装,因此拍摄点在预设的坐标系中的坐标信息已知。本实施例在机械臂运动之前,可以提前规划机械臂的运动路径,因此,在机械臂运动之前和运动过程中,均可以实施本实施例。

在步骤101中,可以按照预设的采样频率获取运动路径上每个节点的机械臂的关节参数信息。采样频率可以是预设的采样时长,也可以是预设的采样距离等。一般情况下,拍摄装置拍摄图像的频率慢于机械臂控制系统对关节参数信息的采样频率,鉴于本实施例要检测对拍摄点的遮挡,所以可以根据拍摄点的拍摄装置的拍摄频率,获取机械臂的关节参数信息。关节参数信息又称dh参数信息,包括机械臂关节的长度、宽度(机械臂的横截面可以是圆形,所以可以用半径表示)、旋转角度(两个相邻关节轴的夹角)、偏距、关节角(两相邻连杆绕公共轴线的夹角)等信息。

由于已知机械臂底座的坐标信息,又知道机械臂各关节的关节参数信息,根据机械臂运动学正解算法,便可以得到机械臂各关节的坐标信息。

坐标信息可以反映出点信息,机械臂是一种三维结构,是立体图形,因此本实施例根据坐标信息生成空间分布信息,该空间分布信息可表征机械臂的三维结构。即,可知机械臂占用的三维空间。

如图2所示,将拍摄点的位置P作为投影的起始点,将拍摄方向作为投影方向。圆Q表示点P到机械臂的投影,圆K表示点P到目标物体距离的投影,即遮挡区域,圆J表示目标物体所在区域。圆K与圆J的重叠情况,就是遮挡信息。遮挡信息可以包括重叠比例、重叠面积和重叠区域的坐标等信息。

其中,可以预先知道目标物体所在区域,也就可以知道目标物体所在区域到点P的距离,因此可以得到圆K。

其中,目标物体所在区域可能是比较宽泛的区域,不够精准,机械臂在对目标物体进行操作时,需要知道目标物体的精准位置,所以要依赖拍摄到的图像来获得精准位置,这时图像能否清晰完整的拍摄到目标物体,是本实施例关心问题。目标物体所在区域也可能是比较窄的范围,是比较具体的位置,但是该位置可能不准确,可能发生变化,所以在机械臂接触到目标物体之前,可能需要多次获得目标物体的精准位置,所以要依赖拍摄到的图像来获得精准位置,这时图像能否清晰完整的拍摄到目标物体,是本实施例关心问题。

本实施例通过构建投影模型获得了机械臂与目标物体的遮挡情况,不需要进行图像识别和分析,处理过程简便快捷,适合实时检测遮挡情况。

本实施例中可以有n个拍摄点和m个机械臂,可以针对每个拍摄点和每个机械臂进行遮挡检测,相当于进行n×m次遮挡检测。

可选的,所述步骤102包括:步骤A1-步骤A2。

步骤A1:根据所述关节参数信息,确定机械臂各关节的参考点。

步骤A2:根据所述关节参数信息和预设的坐标系,获得所述参考点的坐标信息。

本实施例将机械臂的各关节抽象成若干个参考点,用参考点来表征机械臂各关节,可简化机械臂的模型结构,也大幅度降低了后续的计算量。

可选的,所述步骤A1包括:步骤A11-步骤A13。

步骤A11:根据所述关节参数信息,将机械臂各关节的连接处确定为参考点。

步骤A12:根据所述关节参数信息,将机械臂的两个端点确定为参考点。

步骤A13:根据所述关节参数信息中的宽度参数信息,在相邻两个参考点之间插入参考点。

其中,步骤A11与步骤A12可以同步进行。

例如,机械臂包括6个关节,那么存在5个关节连接处,即连接轴,该链接处也是机械臂位置和方向的拐点。机械臂的两个端点为机械臂的底座和末端夹爪。将上述7个点作为参考点,可以较准确的标记出机械臂各关节的关键位置,然后通过插值方式在相邻两个参考点之间插入参考点,可以较准确的表征机械臂。

在插入参考点时,可以采用中点插入,按照预设步长插入等。本实施例根据所述关节参数信息中的宽度参数信息插入参考点,是便于后续的三维单元模型的建立,可以设置较为简单的三维单元模型。相邻两个参考点的距离与机械臂宽度一致,三维单元模型的宽度也与机械臂宽度一致,那么三维单元模型的长宽可以相等,那么三维单元模型可以采用正方体、球形等结构简单且规则的模型,有助于降低计算量。

可选的,所述步骤103包括:步骤B1。

步骤B1:在所述坐标信息处填充预设的三维单元模型,生成机械臂的空间分布信息。

本实施例中,机械臂是一种三维结构,仅用参考点来表征机械臂可能不够准确,所以本实施例构建了机械臂的空间模型。鉴于机械臂本身外形的复杂性,不同型号的机械臂的外形也可能不同,如果获取机械臂的真实外形结构,会大幅度增加计算量。本实施例在坐标信息处(即参考点处)填充三维单元模型,相当于用若干规则的三维单元模型来模拟机械臂外形,既实现了三维结构,又降低了计算量。

三维单元模型可以依据机械臂的外形来设置。例如,如图3所示,机械臂的横截面为圆形,则三维单元模型可以采用球形。用球心和半径来表征三维单元模型。球心坐标与参考点坐标一致。球形半径可以根据经验设置,使三维单元模型的宽度与机械臂的关节的宽度接近即可。在参考点处填充球形模型,得到球包围树,球包围树在正投影模型中可对应得到圆K。

可选的,所述三维单元模型的宽度与所述关节参数信息中的宽度参数信息一致。

当三维单元模型为球形时,三维单元模型的宽度为球形的直径。所述三维单元模型的宽度与所述关节参数信息中的宽度参数信息一致时,通过三维单元模型模拟出的机械臂的外形与机械臂的真实外形更接近。

机械臂各关节的宽度可能不同,相应位置上的三维单元模型的半径也可以相应的变化。使三维单元模型可以更准确的模拟出机械臂。

可选的,所述方法还包括:步骤C1-步骤C3。

步骤C1:将所述遮挡信息与预设的遮挡阈值进行比较。

步骤C2:在所述遮挡信息低于所述遮挡阈值时,获取所述拍摄点拍摄到的图像。

步骤C3:在所述遮挡信息不低于所述遮挡阈值时,放弃所述拍摄点拍摄到的图像。

本实施例中遮挡阈值可以配置为50%左右。遮挡信息可以是遮挡比例。本实施例通过遮挡信息与遮挡阈值的比较,可以较快捷的评估拍摄的图像是否可用,不需要进行图像识别。

在图像可用时,可以对图像进行识别,获取目标物体的精确位置。在图像不可用时,可以重新规划机械臂的运动路径,或者采用其它的机械臂,或者采用其它拍摄点拍摄的图像。

可选的,所述方法还包括:步骤D1。

步骤D1:根据所述遮挡信息,规划机械臂运动路径,以降低所述遮挡信息。

本实施例可以无论遮挡比例达到多少,都可以根据遮挡的范围重新规划机械臂运动路径,以减少遮挡。

可选的,所述方法还包括:步骤E1。

步骤E1:获取针对所述目标物体的多个拍摄点的遮挡信息,获取遮挡信息最低的拍摄点拍摄到的图像。

本实施例可以在不做图像识别和融合的情况下,选择高质量的图像。其中,本实施例中遮挡信息越低表示遮挡面积越小,图像质量越高。

下面通过几个实施例详细介绍实现过程。

参见图4,本实施例中遮挡检测的方法包括:

步骤401:获取机械臂的关节参数信息。

步骤402:根据所述关节参数信息,确定机械臂各关节的参考点。

步骤403:根据所述关节参数信息和预设的坐标系,获得所述参考点的坐标信息。

步骤404:在所述参考点处填充预设的三维单元模型,生成机械臂的空间分布信息。

步骤405:在预先构建的正投影模型中,根据已知的拍摄点和所述空间分布信息,获得遮挡区域。

步骤406:根据所述遮挡区域和已知的目标物体所在区域,获得遮挡信息。

参见图5,本实施例中遮挡检测的方法包括:

步骤501:获取机械臂的关节参数信息。

步骤502:根据所述关节参数信息和预设的坐标系,获得机械臂各关节的坐标信息。

步骤503:根据所述坐标信息,生成机械臂的空间分布信息。

步骤504:在预先构建的正投影模型中,根据已知的拍摄点和所述空间分布信息,获得遮挡区域。

步骤505:根据所述遮挡区域和已知的目标物体所在区域,获得遮挡信息。

步骤506:将所述遮挡信息与预设的遮挡阈值进行比较。在所述遮挡信息低于所述遮挡阈值时,继续步骤507;在所述遮挡信息不低于所述遮挡阈值时,继续步骤508。

步骤507:获取所述拍摄点拍摄到的图像。

步骤508:放弃所述拍摄点拍摄到的图像。

上述实施例可根据实际需要进行自由组合。

通过以上描述介绍了遮挡检测的实现过程,该过程可由装置实现,下面对该装置的内部结构和功能进行介绍。

参见图6,本实施例中遮挡检测的装置包括:第一获取模块601、坐标模块602、空间模块603、投影模块604和遮挡模块605。

第一获取模块601,用于获取机械臂的关节参数信息。

坐标模块602,用于根据所述关节参数信息和预设的坐标系,获得机械臂各关节的坐标信息。

空间模块603,用于根据所述坐标信息,生成机械臂的空间分布信息。

投影模块604,用于在预先构建的正投影模型中,根据已知的拍摄点和所述空间分布信息,获得遮挡区域。

遮挡模块605,用于根据所述遮挡区域和已知的目标物体所在区域,获得遮挡信息。

可选的,如图7所示,所述坐标模块602包括:参考点子模块701和坐标子模块702。

参考点子模块701,用于根据所述关节参数信息,确定机械臂各关节的参考点。

坐标子模块702,用于根据所述关节参数信息和预设的坐标系,获得所述参考点的坐标信息。

可选的,所述参考点子模块701根据所述关节参数信息,将机械臂各关节的连接处确定为参考点;根据所述关节参数信息,将机械臂的两个端点确定为参考点;根据所述关节参数信息中的宽度参数信息,在相邻两个参考点之间插入参考点。

可选的,如图8所示,所述空间模块603包括:空间子模块801。

空间子模块801,用于在所述坐标信息处填充预设的三维单元模型,生成机械臂的空间分布信息。

可选的,所述三维单元模型的宽度与所述关节参数信息中的宽度参数信息一致。

可选的,如图9所示,所述装置还包括:比较模块901、图像模块902和放弃模块903。

比较模块901,用于将所述遮挡信息与预设的遮挡阈值进行比较。

图像模块902,用于在所述遮挡信息低于所述遮挡阈值时,获取所述拍摄点拍摄到的图像。

放弃模块903,用于在所述遮挡信息不低于所述遮挡阈值时,放弃所述拍摄点拍摄到的图像。

可选的,如图10所示,所述装置还包括:规划模块1001。

规划模块1001,用于根据所述遮挡信息,规划机械臂运动路径,以降低所述遮挡信息。

可选的,如图11所示,所述装置还包括:第二获取模块1101。

第二获取模块1101,用于获取针对所述目标物体的多个拍摄点的遮挡信息,获取遮挡信息最低的拍摄点拍摄到的图像。

一种遮挡检测的装置,包括:

处理器;

用于存储处理器可执行指令的存储器;

其中,所述处理器被配置为:

获取机械臂的关节参数信息;

根据所述关节参数信息和预设的坐标系,获得机械臂各关节的坐标信息;

根据所述坐标信息,生成机械臂的空间分布信息;

在预先构建的正投影模型中,根据已知的拍摄点和所述空间分布信息,获得遮挡区域;

根据所述遮挡区域和已知的目标物体所在区域,获得遮挡信息。

一种计算机可读存储介质,其上存储有计算机指令,所述指令被处理器执行时实现所述方法的步骤。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

技术分类

06120112148723