用于确定工程机械设备的旋转角度的方法和装置与流程

文档序号:17941038发布日期:2019-06-18 23:05阅读:364来源:国知局
用于确定工程机械设备的旋转角度的方法和装置与流程

本申请实施例涉及计算机技术领域,具体涉及工程机械设备领域,尤其涉及用于确定工程机械设备的旋转角度的方法和装置。



背景技术:

无人工程机械设备是通过各种传感器感知作业操作的对象、规划操作行为并执行操作指令的智能化工程设备。无人工程机械设备在执行工程任务中,需要旋转车身或机械臂等旋转部件至目标区域,因此需要精准快速地确定旋转角度。目前的方案是在工程机械设备旋转轴安装角度传感器,依靠传感器的实时读数来确定工程机械设备的旋转角度。



技术实现要素:

本申请实施例提出了用于确定工程机械设备的旋转角度的方法、装置、电子设备和计算机可读介质。

第一方面,本公开的实施例提供了一种用于确定工程机械设备的旋转角度的方法,包括:获取工程机械设备的旋转部旋转过程中设置于所述工程机械设备的旋转部的双目相机采集的深度图像序列;将所述深度图像序列转换为三维点云序列;确定所述三维点云序列中的三维点云帧之间的匹配点,基于所述三维点云帧之间的匹配点确定所述双目相机在工程机械设备的旋转部旋转过程中的旋转角度,作为所述工程机械设备的旋转角度。

在一些实施例中,上述方法还包括:获取工程机械设备的旋转部旋转过程中设置于所述工程机械设备的旋转部的旋转轴上的角度传感器采集的旋转角传感数据;上述基于所述三维点云帧之间的匹配点确定所述双目相机在工程机械设备的旋转部旋转过程中的旋转角度,包括:将与所述三维点云帧对应的旋转角传感数据作为所述三维点云帧对应的旋转角的初始估计范围,在所述初始估计范围内,基于所述三维点云帧之间的匹配点确定所述双目相机在工程机械设备的旋转部旋转过程中的旋转角度。

在一些实施例中,上述确定所述三维点云序列中的三维点云帧之间的匹配点,包括:对于所述三维点云序列中的每一个当前三维点云帧,确定所述当前三维点云帧与当前三维点云帧的上一三维点云帧间的匹配点;以及上述基于所述三维点云帧之间的匹配点确定所述双目相机在工程机械设备的旋转部旋转过程中的旋转角度,作为所述工程机械设备的旋转角度,包括:对于所述三维点云序列中的每一个当前三维点云帧,基于所述当前三维点云帧与当前三维点云帧的上一三维点云帧间的匹配点在所述当前三维点云帧和所述当前三维点云帧的上一三维点云帧中的三维坐标,估算所述当前三维点云帧和所述当前三维点云帧的上一三维点云帧对应的深度图像帧之间的旋转角;依据对应的深度图像在所述深度图像序列中的位置,依次累加所述三维点云序列中各相邻三维点云帧对应的深度图像帧之间的旋转角,得到所述双目相机在采集所述深度图像序列中的第一帧图像和最后一帧图像之间的相对旋转角度,作为所述工程机械设备的旋转角度。

在一些实施例中,上述确定所述三维点云序列中的三维点云帧之间的匹配点,包括:对所述三维点云序列中的三维点云帧进行采样,得到采样序列,所述采样序列包括所述三维点云序列中的第一个三维点云帧和最后一个三维点云帧;对所述采样序列中由各相邻三维点云帧组成的各三维点云帧对,确定三维点云帧对中的两个三维点云帧之间的匹配点;以及上述基于所述三维点云帧之间的匹配点确定所述双目相机在工程机械设备的旋转部旋转过程中的旋转角度,作为所述工程机械设备的旋转角度,包括:基于所述三维点云帧对中的两个三维点云帧之间的匹配点的三维坐标,估算所述三维点云帧对中的两个三维点云帧对应的深度图像帧之间的旋转角;依据对应的深度图像在所述深度图像序列中的位置,依次累加各三维点云帧对中的两个三维点云帧对应的深度图像帧之间的旋转角,得到所述双目相机在采集所述深度图像序列中的第一帧图像和最后一帧图像之间的相对旋转角度,作为所述工程机械设备的旋转角度。

在一些实施例中,上述确定所述三维点云序列中的三维点云帧之间的匹配点,包括:对所述三维点云进行特征点提取;对提取出的两个三维点云帧的特征点进行匹配,得到所述两个三维点云帧之间的匹配点。

第二方面,本公开的实施例提供了一种用于确定工程机械设备的旋转角度的装置,包括:第一获取单元,被配置为获取工程机械设备的旋转部旋转过程中设置于所述工程机械设备的旋转部的双目相机采集的深度图像序列;转换单元,被配置为将所述深度图像序列转换为三维点云序列;确定单元,被配置为确定所述三维点云序列中的三维点云帧之间的匹配点,基于所述三维点云帧之间的匹配点确定所述双目相机在工程机械设备的旋转部旋转过程中的旋转角度,作为所述工程机械设备的旋转角度。

在一些实施例中,上述装置还包括:第二获取单元,被配置为获取工程机械设备的旋转部旋转过程中设置于所述工程机械设备的旋转部的旋转轴上的角度传感器采集的旋转角传感数据;上述确定单元进一步被配置为按照如下方式确定所述双目相机在工程机械设备的旋转部旋转过程中的旋转角度:将与所述三维点云帧对应的旋转角传感数据作为所述三维点云帧对应的旋转角的初始估计范围,在所述初始估计范围内,基于所述三维点云帧之间的匹配点确定所述双目相机的旋转角度。

在一些实施例中,上述确定单元进一步被配置为按照如下方式确定所述三维点云序列中的三维点云帧之间的匹配点:对于所述三维点云序列中的每一个当前三维点云帧,确定所述当前三维点云帧与当前三维点云帧的上一三维点云帧间的匹配点;以及上述确定单元进一步被配置为基于所述三维点云帧之间的匹配点,按照如下方式确定所述双目相机的旋转角度,作为所述工程机械设备的旋转角度:对于所述三维点云序列中的每一个当前三维点云帧,基于所述当前三维点云帧与当前三维点云帧的上一三维点云帧间的匹配点在所述当前三维点云帧和所述当前三维点云帧的上一三维点云帧中的三维坐标,估算所述当前三维点云帧和所述当前三维点云帧的上一三维点云帧对应的深度图像帧之间的旋转角;依据对应的深度图像在所述深度图像序列中的位置,依次累加所述三维点云序列中各相邻三维点云帧对应的深度图像帧之间的旋转角,得到所述双目相机在采集所述深度图像序列中的第一帧图像和最后一帧图像之间的相对旋转角度,作为所述工程机械设备的旋转角度。

在一些实施例中,上述确定单元进一步被配置为按照如下方式确定所述三维点云序列中的三维点云帧之间的匹配点:对所述三维点云序列中的三维点云帧进行采样,得到采样序列,所述采样序列包括所述三维点云序列中的第一个三维点云帧和最后一个三维点云帧;对所述采样序列中由各相邻三维点云帧组成的各三维点云帧对,确定三维点云帧对中的两个三维点云帧之间的匹配点;以及上述确定单元进一步被配置为基于所述三维点云帧之间的匹配点,按照如下方式确定所述双目相机的旋转角度,作为所述工程机械设备的旋转角度:基于所述三维点云帧对中的两个三维点云帧之间的匹配点的三维坐标,估算所述三维点云帧对中的两个三维点云帧对应的深度图像帧之间的旋转角;依据对应的深度图像在所述深度图像序列中的位置,依次累加各三维点云帧对中的两个三维点云帧对应的深度图像帧之间的旋转角,得到所述双目相机在采集所述深度图像序列中的第一帧图像和最后一帧图像之间的相对旋转角度,作为所述工程机械设备的旋转角度。

在一些实施例中,上述确定单元进一步被配置为按照如下方式确定所述三维点云序列中的三维点云帧之间的匹配点:对所述三维点云进行特征点提取;对提取出的两个三维点云帧的特征点进行匹配,得到所述两个三维点云帧之间的匹配点。

第三方面,本公开的实施例提供了一种电子设备,包括:一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面提供的用于确定工程机械设备的旋转角度的方法。

第四方面,本公开的实施例提供了一种计算机可读介质,其上存储有计算机程序,其中,程序被处理器执行时实现第一方面提供的用于确定工程机械设备的旋转角度的方法。

本申请上述实施例的用于确定工程机械设备的旋转角度的方法和装置,通过获取工程机械设备的旋转部旋转过程中设置于工程机械设备的旋转部的双目相机采集的深度图像序列,将深度图像序列转换为三维点云序列,确定三维点云序列中的三维点云帧之间的匹配点,基于三维点云帧之间的匹配点确定双目相机在工程机械设备的旋转部旋转过程中的旋转角度,作为工程机械设备的旋转角度,实现了工程机械设备旋转角的精准计算。

附图说明

通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:

图1是本申请实施例可以应用于其中的示例性系统架构图;

图2是根据本申请的用于确定工程机械设备的旋转角度的方法的一个实施例的流程图;

图3是根据本申请的用于确定工程机械设备的旋转角度的方法的另一个实施例的流程图;

图4是本申请的用于确定工程机械设备的旋转角度的装置的一个实施例的结构示意图;

图5是适于用来实现本申请实施例的电子设备的计算机系统的结构示意图。

具体实施方式

下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。

图1示出了可以应用本申请的用于确定工程机械设备的旋转角度的方法或用于确定工程机械设备的旋转角度的装置的示例性系统架构。

如图1所示,系统架构100中可以包括工程机械设备101、设置于工程机械设备上的相机102、网络103和服务器104。网络103用以在工程机械设备101、相机102和服务器104之间提供通信链路的介质。网络103可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。

工程机械设备101可以是无人自主挖掘机、无人自主吊车等智能化的工程机械设备,工程机械设备101上可以设置有角度传感器、力学传感器、图像传感器等各类传感器。工程机械设备101上的各类传感器可以感知包含作业对象、道路环境等的环境信息。在一些场景中,工程机械设备101上还可以设置有数据处理部件,例如cpu、gpu等处理器,以及存储部件。数据处理部件可以获取传感器感知的数据并进行处理,存储部件可以存储传感器感知到的数据,以及存储数据处理部件执行数据处理任务所需要调用的数据。

相机102可以是双目相机,可以是安装在工程机械设备101上的图像传感器,其可以拍摄工程机械设备所在场景中的深度图像。双目相机102可以安装在工程机械设备的旋转部上,例如可以安装在挖掘机车身的正面或侧面。双目相机102可以在旋转部旋转的过程中拍摄深度图像。

服务器104可以是提供各种服务的服务器,例如,工程机械设备机的后台服务器。工程机械设备的后台服务器可以对从相机102获取到的深度图像序列进行图像分析、关键信息提取等处理,并基于处理结果(例如工程机械设备的位姿信息)控制工程机械设备101作业。

需要说明的是,服务器104可以是硬件,也可以是软件。当服务器104为硬件时,可以实现成多个服务器组成的分布式服务器集群,也可以实现成单个服务器。当服务器104为软件时,可以实现成多个软件或软件模块(例如用来提供分布式服务的多个软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。

需要说明的是,本申请实施例所提供的用于确定工程机械设备的旋转角度的方法可以由设置于工程机械设备101的数据处理部件或服务器104执行,相应地,用于确定工程机械设备的旋转角度的装置可以设置于工程机械设备101的数据处理部件或服务器104中。

应该理解,图1中的工程机械设备、相机、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的工程机械设备、相机、网络和服务器。

继续参考图2,其示出了根据本申请的用于确定工程机械设备的旋转角度的方法的一个实施例的流程200。该用于确定工程机械设备的旋转角度的方法,包括以下步骤:

步骤201,获取工程机械设备的旋转部旋转过程中设置于工程机械设备的旋转部的双目相机采集的深度图像序列。

在本实施例中,用于确定工程机械设备的旋转角度的方法的执行主体可以与设置于工程机械设备的旋转部的双目相机连接,获取双目相机在工程机械设备的旋转部旋转过程中采集到的深度图像序列。

上述工程机械设备可以是铲土机械设备、挖掘机械设备、起重机械设备、压实机械设备、桩工机械设备等工程机械中所使用的重工设备,例如挖掘机、吊车等。本实施例中的工程机械设备包含旋转部。旋转部可以绕工程机械设备上的旋转轴进行旋转。旋转部可例如为挖掘机的车身,吊车的吊臂、操作室等。工程机械设备的旋转部设有双目相机。双目相机与工程机械设备的旋转部的相对位置固定。工程机械设备在执行工程任务时,需要旋转其旋转部以移动至任务位置,例如挖掘机需要旋转车身以移动至物料堆并从物料堆挖掘物料后运送至目标位置并旋转车身以卸载物料。在工程机械设备的旋转部旋转时,上述双目相机随之旋转,旋转部的旋转角度与双目相机的旋转角度一致。双目相机在旋转过程中以变化的相对位姿采集工程场景的图像。

双目相机可以采集包含深度信息的图像,即深度图像。上述双目相机可以由两个已标定相对位置关系的摄像头组成。在一些实施例中,上述双目相机还可以包含用于融合两个摄像头采集的平面图像来形成深度图像的处理部件。

在实践中,远程服务器或设置于工程机械设备上的处理部件在发出指示工程机械设备的旋转部旋转的指令时,可以启动双目相机来采集工程机械设备的旋转部旋转过程中的深度图像序列。双目相机采集到深度图像后可以实时地传输至上述执行主体(即上述远程服务器或设置于工程机械设备上的处理部件)。

步骤202,将深度图像序列转换为三维点云序列。

在本实施例中,对于深度图像序列中的深度图像,可以基于双目相机的内部参数矩阵将深度图像中的图像信息映射至三维空间中得到对应的三维点云。具体地,对于深度图像中的每个像素点p(u,v),对应的深度值为zc,对应的三维点云中的点的世界坐标为(xw,yw,zw),具有如下关系:

其中,u,v为像素点p的二维图像坐标,u0,v0分别为图像的中心坐标,rs,ts分别是双目相机的外参矩阵中的旋转矩阵和平移矩阵,dx,dy为相机的像元尺寸,f为相机焦距。

在这里,相机原点与世界坐标系的原点重合,所以,

并且,相机坐标系下点的深度与世界坐标系下点的深度相同,所以zw=zc。

由此,可以基于图像中各像素点的图像坐标计算得出对应的三维点的三维空间坐标,从而将深度图像映射至三维空间中,得到对应的三维点云。

可以对深度图像序列中的每一帧深度图像执行上述操作,则可以得到由与深度图像序列中的深度图像一一对应的三维点云帧形成的三维点云序列。

步骤203,确定三维点云序列中的三维点云帧之间的匹配点,基于三维点云帧之间的匹配点确定双目相机在工程机械设备的旋转部旋转过程中的旋转角度,作为工程机械设备的旋转角度。

在本实施例中,可以基于三维点云序列中的三维点云帧之间的匹配点,计算相机在采集不同三维点云帧对应的不同深度图像帧时的位姿差异。其中,两个三维点云帧之前的匹配点可以表征物理空间的同一点。

具体地,可以首先提取三维点云帧之间的匹配点。可以根据三维点云帧中各点的空间坐标、以及各点的反射强度或颜色信息对不同三维点云帧中的点进行匹配,提取出匹配点。例如,两个三维点云帧的匹配点集合分别记为x=x1,x2,x3,…,xm和y=y1,y2,y3,…,ym,其中m为正整数,可以是两个点云帧中所有匹配点的总数;xi与yi为一对匹配点,i=1,2,3,…,m。

可选地,可以按照如下方式确定三维点云序列中的三维点云帧之间的匹配点:采用各种三维特征提取方法对三维点云进行特征点提取,然后对提取出的两个三维点云帧的特征点进行匹配,得到两个三维点云帧之间的匹配点。在匹配特征点时可以计算二者的相对距离,判断是否在预设的距离范围内,或者可以比对二者的颜色或反射强度信息,还可以结合特征点与同一三维点云帧中其他特征点之间的相对位置关系进行两个三维点云帧之间特征点的匹配。

之后可以采用icp(iterativeclosestpoint,迭代最近点)算法对三维点云序列中的三维点云帧依次进行配准,确定三维点云帧之间的转换关系。在这里,转换关系可以包括旋转矩阵r和平移矩阵t表示。则可以通过最小化如下均方误差e(x,y)来得出旋转矩阵r和平移矩阵t:

在这里,xi与yi可以表示对应匹配点的三维坐标。

通过初始化旋转矩阵r和平移矩阵t,并不断迭代更新旋转矩阵r和平移矩阵t来减小均方误差e(x,y),使得均方误差达到一定的收敛条件时停止迭代,可以得到估算出的旋转矩阵r和平移矩阵t。进而,根据旋转矩阵对应于各坐标轴的旋转角得到双目相机在采集这两个三维点云帧对应的深度图像时的相对旋转角。

可以依次对上述三维点云序列中的相邻三维点云帧执行上述旋转角估算操作,累加上述每相邻两帧对应的旋转角得到相机在工程机械设备的旋转部旋转过程中的旋转角。也可以针对三维点云序列中的第一个三维点云帧和最后一个三维点云帧采用icp算法进行旋转角估算,得到相机在工程机械设备的旋转部旋转过程中的旋转角。

在本实施例的一些可选的实现方式中,步骤203中两个三维点云帧对应的深度图像帧之间的旋转角可以按照如下方式计算:确定初始的旋转矩阵r和平移矩阵t,然后对于三维点云帧x中的每一个点xi,基于当前的旋转矩阵r和平移矩阵t在三维点云帧y中寻找最近的点yi,作为匹配点。之后计算上述均方误差e(x,y)。可以采用反向传播方法迭代更新旋转矩阵r和平移矩阵t,将均方误差反向传播旋转矩阵r和平移矩阵t之中,执行多次基于当前的旋转矩阵r和平移矩阵t在三维点云帧y中寻找最近的点yi作为匹配点、之后计算均方误差e(x,y)的步骤,在均方误差小于预设的阈值或迭代次数达到预设次数后停止迭代,得到估算出的两个三维点云帧对应的深度图像帧之间的旋转角。这样,可以在迭代更新旋转矩阵r和平移矩阵t的过程中寻找匹配点,避免预先确定的匹配点不准确影响旋转矩阵r和平移矩阵t的精度。

传统的基于角度传感器获取工程机械设备传感器的方法中,角度传感器的精度容易受到作业环境中的灰尘、工程机械设备震动的影响。本申请上述实施例的用于确定工程机械设备的旋转角度的方法,通过获取工程机械设备的旋转部旋转过程中设置于工程机械设备的旋转部的双目相机采集的深度图像序列,将深度图像序列转换为三维点云序列,确定三维点云序列中的三维点云帧之间的匹配点,基于三维点云帧之间的匹配点确定双目相机在工程机械设备的旋转部旋转过程中的旋转角度,作为工程机械设备的旋转角度,避免了工程机械设备环境灰尘和设备震动对旋转角精度计算的影响,实现了工程机械设备旋转角的精准计算。

继续参考图3,其示出了根据本申请的用于确定工程机械设备的旋转角度的方法的另一个实施例的流程示意图。如图3所示,本实施例的用于确定工程机械设备的旋转角度的方法的流程300,包括以下步骤:

步骤301,获取工程机械设备的旋转部旋转过程中设置于工程机械设备的旋转部的双目相机采集的深度图像序列。

在本实施例中,上述用于确定工程机械设备的旋转角度的方法的执行主体可以与设置于工程机械设备的旋转部的双目相机连接,获取双目相机在工程机械设备的旋转部旋转过程中采集到的深度图像序列。在这里,工程机械设备可以是由远程服务器或设置于工程机械设备内的处理部件执行控制操作的无人自主工程机械设备。双目相机设置于工程机械设备的旋转部,可以随旋转部一起旋转。在旋转过程中,双目相机可以采集其视场范围内的深度图像序列,所采集到的深度图像可以是作业场景中作业对象的深度图像。

步骤302,将深度图像序列转换为三维点云序列。

可以将深度图像序列中的每一帧深度图像转换为对应的三维点云帧,得到深度图像序列对应的三维点云序列。具体地,可以将深度图像中每个像素点,根据相机的内部参数将像素点的二维坐标和深度值转换为三维空间的三维坐标。

本实施例的步骤301和步骤302分别与前述实施例的步骤201、步骤202一致,步骤301和步骤302的具体实施方式可以分别参考前述对步骤201、步骤202的描述,此处不再赘述。

步骤303,获取工程机械设备的旋转部旋转过程中设置于工程机械设备的旋转部的旋转轴上的角度传感器采集的旋转角传感数据。

在本实施例中,工程机械设备的旋转部的旋转轴上可以设置有角度传感器。工程机械设备的旋转部可以绕该旋转轴旋转。在工程机械设备的旋转部旋转时,设置于旋转轴上的角度传感器可以感应旋转轴的旋转角度,生成旋转角传感数据。

在这里,角度传感器可以以一定的频率采集数据,例如频率为100hz,得到的旋转角传感数据可以是旋转过程中的不同时刻的旋转角感应值形成的序列。

需要说明的是,本实施例中,上述步骤301和步骤302与步骤303的执行顺序可以相互交换,步骤303也可以与步骤301或步骤302同时执行。即可以先执行步骤301和步骤302,之后执行步骤303;也可以先执行步骤303获取角度传感器生成的旋转角传感数据,之后执行步骤301和步骤302获取三维点云序列;还可以同时执行步骤301和步骤303,即同时获取旋转角传感数据和深度图像序列。

步骤304,确定三维点云序列中的三维点云帧之间的匹配点,将与三维点云帧对应的旋转角传感数据作为三维点云帧对应的旋转角的初始估计范围,在初始估计范围内,基于三维点云帧之间的匹配点确定双目相机在工程机械设备的旋转部旋转过程中的旋转角度,作为工程机械设备的旋转角度。

在本实施例中,可以首先根据三维点云帧中各点的空间坐标、以及各点的反射强度或颜色信息对不同三维点云帧中的点进行匹配,提取出匹配点。

可选地,可以按照如下方式确定三维点云序列中的三维点云帧之间的匹配点:可以采用各种三维特征提取方法对三维点云进行特征点提取,然后对提取出的两个三维点云帧的特征点进行匹配,得到两个三维点云帧之间的匹配点。在匹配特征点时可以计算二者的相对距离,判断是否在预设的距离范围内,可以比对二者的颜色或反射强度信息,还可以结合特征点与同一三维点云帧中其他特征点之间的相对位置关系进行两个三维点云帧之间特征点的匹配。

然后,可以基于步骤303获得的旋转角传感数据确定各三维点云帧对应的旋转角的初始估计范围。在这里,三维点云帧对应的旋转角可以是相机在采集两个三维点云帧对应的两幅图像的时刻所处角度的差值。

双目相机通常以一定的频率采集图像,该频率即为采集到的深度图像序列中相邻两幅图像的采集时间之差。上述角度传感器也以一定的频率生成旋转角传感数据。可以根据双目相机的图像采集频率和角度传感器的角度传感频率确定各深度图像帧对应的旋转角传感数据,作为对应的三维点云帧对应的旋转角传感数据。在这里,可以设定双目相机采集第一个深度图像帧时的旋转角传感数据为0。或者可以根据图像采集和角度传感器分别采集图像和旋转角传感数据的时间确定两个图像帧对应的旋转角传感数据的差值,作为由两个图像帧转换得到的两个三维点云帧对应的旋转角传感数据。

在本实施例中,可以将旋转角数据附近的一个数值范围确定为旋转角的初始估计范围,例如可以设定估计范围的区间长度,选择满足该区间长度且包含上述旋转角传感数据的区间作为旋转角的初始估计范围。可选地,可以根据将角度传感器的误差叠加在三维点云帧对应的旋转角传感数据上,得到对应的三维点云帧对应的旋转角的初始估计范围。例如,旋转角传感数据为a(在这里a可以是一组表征空间三个坐标轴的旋转角分量的值),其误差为δ,则初始估计范围可以为[a-δ,a+δ]。

之后,可以在该初始估计范围内,采用步骤203所描述的确定双目相机的旋转角度的方法来估算双目相机的旋转角度。例如可以在初始估计范围内随机地选择一组旋转角的值,作为旋转矩阵r的初始值,基于对应的两个三维点云帧之间的匹配点的坐标对旋转矩阵r进行迭代更新,得到两个三维点云帧对应的旋转角。之后对三维点云序列中的三维点云帧依次执行上述估算三维点云帧对应的深度图像帧之间的旋转角的方法,得到双目相机的旋转角的估计值,作为工程机械设备的旋转部的旋转角。

本实施例的用于确定工程机械设备的旋转角度的方法的流程300,通过增加的获取工程机械设备的旋转部旋转过程中设置于工程机械设备的旋转部的旋转轴上的角度传感器采集的旋转角传感数据的步骤,将旋转角传感数据作为三维点云帧对应的旋转角的初始估计范围进行旋转角估计,有效缩小了旋转角估计的范围,能够减少旋转角估计中的迭代更新次数,提升旋转角估计的速度。

在上述结合图2和图3描述的实施例的一些可选的实现方式中,可以逐帧计算深度相机在采集一个三维点云帧对应的深度图像与采集上一三维点云帧对应的深度图像时的旋转角差异。具体地,上述步骤203或步骤304中的确定三维点云序列中的三维点云帧之间的匹配点可以包括:对于三维点云序列中的每一个当前三维点云帧,确定当前三维点云帧与当前三维点云帧的上一三维点云帧间的匹配点。也就是说,可以逐帧确定每一个当前三维点云帧与当前三维点云帧的上一个三维点云帧之间的匹配点。

这时,可以基于三维点云帧之间的匹配点,按照如下方式确定双目相机的旋转角度,作为工程机械设备的旋转角度:

首先,对于三维点云序列中的每一个当前三维点云帧,基于当前三维点云帧与当前三维点云帧的上一三维点云帧间的匹配点在当前三维点云帧和当前三维点云帧的上一三维点云帧中的三维坐标,估算当前三维点云帧和当前三维点云帧的上一三维点云帧对应的深度图像帧之间的旋转角。

具体的估算方式为初始化表征相机在相邻两个三维点云帧对应的深度图像帧之间的旋转参数和平移参数的旋转矩阵r和平移矩阵t,采用步骤203所描述的icp算法迭代更新旋转矩阵r和平移矩阵t。由此,可以得到每相邻两个三维点云帧对应的深度图像帧之间的旋转角。

之后,可以依据对应的深度图像在深度图像序列中的位置,依次累加三维点云序列中各相邻三维点云帧对应的深度图像帧之间的旋转角,得到双目相机在采集深度图像序列中的第一帧图像和最后一帧图像之间的相对旋转角度,作为工程机械设备的旋转角度。例如,深度图像序列包括i1、i2、i3、…、in共n个图像帧(n为正整数),其中,估算出i1、i2对应的点云为c1、c2,对应的旋转角为α1;i2、i3对应的点云为c2、c3,对应的旋转角为α2;i3、i4对应的点云为c3、c4,对应的旋转角为α3,….,in-1、in对应的点云为cn-1、cn,对应的旋转角为α(n-1),则相机在采集i1和in之间的相对旋转角度为α1+α2+α3+…+α(n-1)。

由于相邻图像帧之间的采集时间间隔较短,相机旋转角度较小,所以相邻的三维点云帧中的匹配点数量较多。通过逐帧计算图像采集当前三维点云帧对应的图像与采集上一三维点云帧对应的图像之间的旋转角,并依次累加计算出的相邻帧对应的旋转角得到相机在工程机械设备的旋转部旋转过程中的旋转角,能够利用相邻两帧之间的大量匹配点准确计算出相邻两帧对应的旋转角,保证计算得出的相机在工程机械设备的旋转部旋转过程中的旋转角的准确性。

在上述结合图2和图3描述的实施例的另一些可选的实现方式中,可以首先对三维点云序列进行降采样,对降采样后的三维点云序列进行处理。具体地,上述步骤203或步骤304中确定三维点云序列中的三维点云帧之间的匹配点,可以包括:对三维点云序列中的三维点云帧进行采样,得到采样序列,其中采样序列包括三维点云序列中的第一个三维点云帧和最后一个三维点云帧;对采样序列中由各相邻三维点云帧组成的各三维点云帧对,确定三维点云帧对中的两个三维点云帧之间的匹配点。具体可以对三维点云序列进行采样得到采样序列,对采样序列中的每两个相邻三维点云帧,基于三维点的坐标、以及颜色或深度信息确定出匹配点。

这时,上述步骤203或步骤304中,基于三维点云帧之间的匹配点确定双目相机在工程机械设备的旋转部旋转过程中的旋转角度,作为工程机械设备的旋转角度,可以包括:基于三维点云帧对中的两个三维点云帧之间的匹配点的三维坐标,估算三维点云帧对中的两个三维点云帧对应的深度图像帧之间的旋转角;依据对应的深度图像在深度图像序列中的位置,依次累加各三维点云帧对中的两个三维点云帧帧之间的旋转角,得到双目相机在采集深度图像序列中的第一帧图像和最后一帧图像之间的相对旋转角度,作为工程机械设备的旋转角度。

在采样序列中,相邻的两个三维点云帧组成一个三维点云帧对,具体地,第一帧与第二帧组成一个三维点云帧对,第二帧与第三帧组成一个三维点云帧对,第三帧与第四帧组成一个三维点云帧对,依此类推。对于每一个三维点云帧对,可以采用上述步骤203描述的方法计算相机采集三维点云帧对中的两个图像帧之间的相对旋转角。然后,依次累加各三维点云帧对对应的旋转角,得到工程机械设备的旋转部的旋转角。

通过对三维点云帧序列进行采样得到采样序列,基于采样序列中的三维点云帧间的匹配点计算对应的旋转角,能够有效减少计算量,提升工程机械设备的旋转部旋转角的估算速度。并且在采样时将深度图像序列中的第一个图像帧和最后一个图像帧对应的三维点云帧保留在采样序列中,保证了步骤203和步骤304得出的工程机械设备的旋转部的旋转角是从相机开始图像采集的时刻到结束图像采集的时刻之间的旋转角,从而保证工程机械设备的旋转部旋转角计算结果的精准性。

进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种用于确定工程机械设备的旋转角度的装置的一个实施例,该装置实施例与图2和图3所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。

如图4所示,本实施例的用于确定工程机械设备的旋转角度的装置400包括:获取单元401、转换单元402以及确定单元403。其中获取单元401被配置为获取工程机械设备的旋转部旋转过程中设置于工程机械设备的旋转部的双目相机采集的深度图像序列;转换单元402被配置为将深度图像序列转换为三维点云序列;确定单元403被配置为确定三维点云序列中的三维点云帧之间的匹配点,基于三维点云帧之间的匹配点确定双目相机在工程机械设备的旋转部旋转过程中的旋转角度,作为工程机械设备的旋转角度。

在一些实施例中,上述装置400还可以包括:第二获取单元,被配置为获取工程机械设备的旋转部旋转过程中设置于工程机械设备的旋转部的旋转轴上的角度传感器采集的旋转角传感数据。这时,上述确定单元403可以进一步被配置为按照如下方式确定双目相机的旋转角度:将与三维点云帧对应的旋转角传感数据作为三维点云帧对应的旋转角的初始估计范围,在初始估计范围内,基于三维点云帧之间的匹配点确定双目相机的旋转角度。

在一些实施例中,上述确定单元403可以进一步被配置为按照如下方式确定三维点云序列中的三维点云帧之间的匹配点:对于三维点云序列中的每一个当前三维点云帧,确定当前三维点云帧与当前三维点云帧的上一三维点云帧间的匹配点;以及上述确定单元403可以进一步被配置为基于三维点云帧之间的匹配点,按照如下方式确定双目相机的旋转角度,作为工程机械设备的旋转角度:对于三维点云序列中的每一个当前三维点云帧,基于当前三维点云帧与当前三维点云帧的上一三维点云帧间的匹配点在当前三维点云帧和当前三维点云帧的上一三维点云帧中的三维坐标,估算当前三维点云帧和当前三维点云帧的上一三维点云帧对应的深度图像帧之间的旋转角;依据对应的深度图像在深度图像序列中的位置,依次累加三维点云序列中各相邻三维点云帧对应的深度图像帧之间的旋转角,得到双目相机在采集深度图像序列中的第一帧图像和最后一帧图像之间的相对旋转角度,作为工程机械设备的旋转角度。

在一些实施例中,上述确定单元403可以进一步被配置为按照如下方式确定三维点云序列中的三维点云帧之间的匹配点:对三维点云序列中的三维点云帧进行采样,得到采样序列,采样序列包括三维点云序列中的第一个三维点云帧和最后一个三维点云帧;对采样序列中由各相邻三维点云帧组成的各三维点云帧对,确定三维点云帧对中的两个三维点云帧之间的匹配点;以及上述确定单元403可以进一步被配置为基于三维点云帧之间的匹配点,按照如下方式确定双目相机的旋转角度,作为工程机械设备的旋转角度:基于三维点云帧对中的两个三维点云帧之间的匹配点的三维坐标,估算三维点云帧对中的两个三维点云帧对应的深度图像帧之间的旋转角;依据对应的深度图像在深度图像序列中的位置,依次累加各三维点云帧对中的两个三维点云帧对应的深度图像帧之间的旋转角,得到双目相机在采集深度图像序列中的第一帧图像和最后一帧图像之间的相对旋转角度,作为工程机械设备的旋转角度。

在一些实施例中,上述确定单元403可以进一步被配置为按照如下方式确定三维点云序列中的三维点云帧之间的匹配点:对三维点云进行特征点提取;对提取出的两个三维点云帧的特征点进行匹配,得到两个三维点云帧之间的匹配点。

应当理解,装置400中记载的诸单元与参考图2和图3描述的方法中的各个步骤相对应。由此,上文针对方法描述的操作和特征同样适用于装置400及其中包含的单元,在此不再赘述。

本申请上述实施例的用于确定工程机械设备的旋转角度的装置400,通过获取工程机械设备的旋转部旋转过程中设置于工程机械设备的旋转部的双目相机采集的深度图像序列,将深度图像序列转换为三维点云序列,确定三维点云序列中的三维点云帧之间的匹配点,基于三维点云帧之间的匹配点确定双目相机在工程机械设备的旋转部旋转过程中的旋转角度,作为工程机械设备的旋转角度,实现了工程机械设备旋转角的精准计算。

下面参考图5,其示出了适于用来实现本公开的实施例的电子设备(例如图1中的服务器)500的结构示意图。图5示出的服务器仅仅是一个示例,不应对本公开的实施例的功能和使用范围带来任何限制。

如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(rom)502中的程序或者从存储装置508加载到随机访问存储器(ram)503中的程序而执行各种适当的动作和处理。在ram503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接口505也连接至总线504。

通常,以下装置可以连接至i/o接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(lcd)、扬声器、振动器等的输出装置507;包括例如硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。图5中示出的每个方框可以代表一个装置,也可以根据需要代表多个装置。

特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从rom502被安装。在该计算机程序被处理装置501执行时,执行本公开的实施例的方法中限定的上述功能。需要说明的是,本公开的实施例所描述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(ram)、只读存储器(rom)、可擦式可编程只读存储器(eprom或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开的实施例中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开的实施例中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、rf(射频)等等,或者上述的任意合适的组合。

上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取工程机械设备的旋转部旋转过程中设置于工程机械设备的旋转部的双目相机采集的深度图像序列;将深度图像序列转换为三维点云序列;确定三维点云序列中的三维点云帧之间的匹配点,基于三维点云帧之间的匹配点确定双目相机在工程机械设备的旋转部旋转过程中的旋转角度,作为工程机械设备的旋转角度。

可以以一种或多种程序设计语言或其组合来编写用于执行本公开的实施例的操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言—诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)——连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。

附图中的流程图和框图,图示了按照本申请各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本申请实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的单元也可以设置在处理器中,例如,可以描述为:一种处理器包括获取单元、转换单元和确定单元。其中,这些单元的名称在某种情况下并不构成对该单元本身的限定,例如,获取单元还可以被描述为“获取工程机械设备的旋转部旋转过程中设置于工程机械设备的旋转部的双目相机采集的深度图像序列的单元”。

以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1