一种栈板识别处理方法及装置
技术领域
本发明涉及图像处理领域,具体而言,涉及一种栈板识别处理方法及装置。
背景技术
自动化物流和仓储系统是未来的发展趋势,而智能叉车在其中起到了重要的作用。智能叉车除了需要自主导航外,还需要动态识别安放货物的栈板,同时确定栈板的姿态和位置,精准完成自动搬运任务。
目前栈板的识别没有非常通用和成熟的技术,目前一方面的方法需要给栈板添加人工标签,但是该方法需要对栈板做改造,人工成本高;目前另一方面的方法中,通过单目、双目或深度摄像头基于图像识别栈板,但该方法受到了应用环境的限制(例如受光线的影响大),并且由于程序运算量大而无法得出实时处理图像的效果。
相关技术中提出基于ToF成像系统,获取关于待识别的栈板的栈板点云数据;从所述栈板点云数据中分离出地面成分和物体成分;基于点云区域增长算法,从对应所述物体成分的点云数据中分割出栈板前端面;根据所分割出的栈板前端面的几何特征信息,识别所述栈板的姿态和空间位置。由此,不需要额外的人工标签标注,降低了人工成本,并且能够同时防止光线、噪音等因素的干扰,可较为精确地计算出栈板的姿态和位置。
上述方案,对栈板的属性认知不足,假设栈板前端面为平面,而真实情况下存在非平面栈板面;未考虑TOF数据特性以及实际运行环境,采用区域生成算法,依赖地面标定结果。由于栈板上方会存在货物遮挡,车体倾斜等情况,标定的地面方程精度会在不同区域变化,同时TOF点云精度较差以及局部遮挡,区域生长存在一定的失败概率,最终导致整体识别率下降。
针对相关技术中采用区域生成算法,依赖地面标定结果,导致栈板的整体识别率下降的问题,尚未提出解决方案。
发明内容
本发明实施例提供了一种栈板识别处理方法及装置,以至少解决相关技术中采用区域生成算法,依赖地面标定结果,导致栈板的整体识别率下降的问题。
根据本发明的一个实施例,提供了一种栈板识别处理方法,包括:
基于TOF成像系统,获取待识别的目标栈板的点云数据,并提取所述点云数据的点云特征;
从预先建立的栈板数据库中获取所述点云特征对应的相邻点云特征,其中,所述栈板数据库中存储有具有对应关系的栈板的点云特征、栈板法向量、栈板中心点;
根据所述点云特征与所述相邻点云特征确定目标旋转矩阵与目标平移矩阵;
根据所述目标旋转矩阵与所述目标平移矩阵分别对应所述点云数据库中所述相邻点云特征对应的栈板法向量、栈板中心点进行旋转与平移处理,得到所述点云数据中所述目标栈板的方向与位置信息。
可选地,根据所述点云特征与所述相邻点云特征确定目标旋转矩阵与目标平移矩阵包括:
构建所述点云特征的初始特征点集与所述相邻点云特征的相邻特征点集的特征点对;
根据所述特征点对确定初始旋转矩阵与初始平移矩阵;
根据所述初始旋转矩阵与所述初始平移矩阵对所述初始特征点集进行旋转和平移处理,得到目标特征点集;
确定所述目标特征点集与所述相邻特征点集的平均距离;
将小于所述预设阈值的所述平均距离对应的旋转矩阵确定为目标旋转矩阵,所述平均距离对应的平移矩阵为目标平移矩阵。
可选地,根据所述特征点对确定初始旋转矩阵与初始平移矩阵包括:
从所述特征点对中随机选取四个特征点对;
根据所述四个特征点对确定初始旋转矩阵与初始平移矩阵。
可选地,根据所述至少四个特征点对确定初始旋转矩阵与初始平移矩阵包括:
初始化旋转矩阵与平移矩阵为全零矩阵;
基于所述全零矩阵,根据所述四个特征点对确定第一旋转矩阵与第一平移矩阵;
根据所述特征点对中除选取的特征点对之外的目标特征点对验证所述第一旋转矩阵与所述第一平移矩阵;
在所述目标特征点对中满足预定条件的特征点对数量大于或等于预定数量的情况下,确定所述第一旋转矩阵为所述初始旋转矩阵,所述第一平移矩阵为所述初始平移矩阵;
在所述目标特征点对中验证通过的特征点对数量小于预定数量的情况下,重复从所述特征点对中重新随机选取四个特征点对,根据重新选取的四个特征点对确定第二旋转矩阵与第二平移矩阵,直到所述目标特征点对中满足预定条件的特征点对数量大于或等于预定数量,确定所述第二旋转矩阵为所述初始旋转矩阵,所述第二平移矩阵为所述初始平移矩阵。
可选地,所述方法还包括:
通过以下方式根据所述特征点对中除选取的特征点对之外的目标特征点对验证所述第一旋转矩阵与所述第一平移矩阵:
Q=(R1T1)P,其中,{P,Q}为所述特征点对,R1为所述第一旋转矩阵,T1为所述第一平移矩阵,P为所述初始特征点集,Q为所述相邻特征点集;
通过以下方式根据所述初始旋转矩阵与所述初始平移矩阵对所述初始特征点集进行旋转和平移处理,得到目标特征点集:
P'=RP+T,其中,P'为所述目标特征点集,R为所述初始旋转矩阵,T为所述初始平移矩阵。
可选地,将小于所述预设阈值的所述平均距离对应的旋转矩阵确定为目标旋转矩阵,所述平均距离对应的平移矩阵为目标平移矩阵包括:
判断所述平均距离是否小于预设阈值;
在判断结果为是的情况下,将所述平均距离对应的旋转矩阵确定为目标旋转矩阵,所述平均距离对应的平移矩阵为目标平移矩阵;
在判断结果为否的情况下,重复调整所述初始旋转矩阵与所述初始平移矩阵,直到所述平均距离小于所述预设阈值,将所述平均距离对应的旋转矩阵确定为目标旋转矩阵,所述平均距离对应的平移矩阵为目标平移矩阵。
可选地,确定所述目标特征点集与所述相邻特征点集的平均距离包括:
分别确定所述目标特征点集的所有特征点与所述相邻特征点集中对应的相邻特征点的距离;
将所述目标特征点集中所有特征点与所述相邻特征点集中对应的相邻特征点的距离的平均值确定为所述平均距离。
根据本发明的另一个实施例,还提供了一种栈板识别处理装置,包括:
提取模块,用于基于TOF成像系统,获取待识别的目标栈板的点云数据,并提取所述点云数据的点云特征;
获取模块,用于从预先建立的栈板数据库中获取所述点云特征对应的相邻点云特征,其中,所述栈板数据库中存储有具有对应关系的栈板的点云特征、栈板法向量、栈板中心点;
确定模块,用于根据所述点云特征与所述相邻点云特征确定目标旋转矩阵与目标平移矩阵;
处理模块,用于根据所述目标旋转矩阵与所述目标平移矩阵分别对应所述点云数据库中所述相邻点云特征对应的栈板法向量、栈板中心点进行旋转与平移处理,得到所述点云数据中所述目标栈板的方向与位置信息。
可选地,所述确定模块包括:
构建子模块,用于构建所述点云特征的初始特征点集与所述相邻点云特征的相邻特征点集的特征点对;
第一确定子模块,用于根据所述特征点对确定初始旋转矩阵与初始平移矩阵;
处理子模块,用于根据所述初始旋转矩阵与所述初始平移矩阵对所述初始特征点集进行旋转和平移处理,得到目标特征点集;
第二确定子模块,用于确定所述目标特征点集与所述相邻特征点集的平均距离;
第三确定子模块,用于将小于所述预设阈值的所述平均距离对应的旋转矩阵确定为目标旋转矩阵,所述平均距离对应的平移矩阵为目标平移矩阵。
可选地,所述第一确定子模块包括:
随机选取单元,用于从所述特征点对中随机选取四个特征点对;
第一确定单元,用于根据所述四个特征点对确定初始旋转矩阵与初始平移矩阵。
可选地,所述第一确定单元包括:
初始化子单元,用于初始化旋转矩阵与平移矩阵为全零矩阵;
第一确定子单元,用于基于所述全零矩阵,根据所述四个特征点对确定第一旋转矩阵与第一平移矩阵;
验证子单元,用于根据所述特征点对中除选取的特征点对之外的目标特征点对验证所述第一旋转矩阵与所述第一平移矩阵;
第二确定子单元,用于在所述目标特征点对中满足预定条件的特征点对数量大于或等于预定数量的情况下,确定所述第一旋转矩阵为所述初始旋转矩阵,所述第一平移矩阵为所述初始平移矩阵;
第三确定子单元,用于在所述目标特征点对中验证通过的特征点对数量小于预定数量的情况下,重复从所述特征点对中重新随机选取四个特征点对,根据重新选取的四个特征点对确定第二旋转矩阵与第二平移矩阵,直到所述目标特征点对中满足预定条件的特征点对数量大于或等于预定数量,确定所述第二旋转矩阵为所述初始旋转矩阵,所述第二平移矩阵为所述初始平移矩阵。
可选地,所述装置还包括:
所述验证子单元,用于通过以下方式根据所述特征点对中除选取的特征点对之外的目标特征点对验证所述第一旋转矩阵与所述第一平移矩阵:
Q=(R1T1)P,其中,{P,Q}为所述特征点对,R1为所述第一旋转矩阵,T1为所述第一平移矩阵,P为所述初始特征点集,Q为所述相邻特征点集;
所述处理子模块,用于通过以下方式根据所述初始旋转矩阵与所述初始平移矩阵对所述初始特征点集进行旋转和平移处理,得到目标特征点集:
P'=RP+T,其中,P'为所述目标特征点集,R为所述初始旋转矩阵,T为所述初始平移矩阵。
可选地,所述第三确定子模块包括:
判断单元,用于判断所述平均距离是否小于预设阈值;
第二确定单元,用于在判断结果为是的情况下,将所述平均距离对应的旋转矩阵确定为目标旋转矩阵,所述平均距离对应的平移矩阵为目标平移矩阵;
重复单元,用于在判断结果为否的情况下,重复调整所述初始旋转矩阵与所述初始平移矩阵,直到所述平均距离小于所述预设阈值,将所述平均距离对应的旋转矩阵确定为目标旋转矩阵,所述平均距离对应的平移矩阵为目标平移矩阵。
可选地,所述第二确定子模块包括:
第三确定单元,用于分别确定所述目标特征点集的所有特征点与所述相邻特征点集中对应的相邻特征点的距离;
第四确定单元,用于将所述目标特征点集中所有特征点与所述相邻特征点集中对应的相邻特征点的距离的平均值确定为所述平均距离。
根据本发明的又一个实施例,还提供了一种计算机可读的存储介质,所述存储介质中存储有计算机程序,其中,所述计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
根据本发明的又一个实施例,还提供了一种电子装置,包括存储器和处理器,所述存储器中存储有计算机程序,所述处理器被设置为运行所述计算机程序以执行上述任一项方法实施例中的步骤。
通过本发明,基于TOF成像系统,获取待识别的目标栈板的点云数据,并提取所述点云数据的点云特征;从预先建立的栈板数据库中获取所述点云特征对应的相邻点云特征,其中,所述栈板数据库中存储有具有对应关系的栈板的点云特征、栈板法向量、栈板中心点;根据所述点云特征与所述相邻点云特征确定目标旋转矩阵与目标平移矩阵;根据所述目标旋转矩阵与所述目标平移矩阵分别对应所述点云数据库中所述相邻点云特征对应的栈板法向量、栈板中心点进行旋转与平移处理,得到所述点云数据中所述目标栈板的方向与位置信息,可以解决相关技术中采用区域生成算法,依赖地面标定结果,导致栈板的整体识别率下降的问题,通过从栈板数据库中获取与点云特征的相似度最大的相邻点云特征,以确定目标旋转矩阵与目标平移矩阵,基进而识别栈板,由于加入栈板数据库策略,优先评估栈板属性对栈板识别结果的影响,使在栈板数据不完整的情况下,也能够较好的识别栈板。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
图1是本发明实施例的栈板识别处理方法的移动终端的硬件结构框图;
图2是根据本发明实施例的栈板识别处理方法的流程图;
图3是根据本发明实施例的基于TOF的栈板识别的流程图;
图4是根据本发明实施例的栈板识别处理装置的框图。
具体实施方式
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
实施例1
本申请实施例一所提供的方法实施例可以在移动终端、计算机终端或者类似的运算装置中执行。以运行在移动终端上为例,图1是本发明实施例的栈板识别处理方法的移动终端的硬件结构框图,如图1所示,移动终端可以包括一个或多个(图1中仅示出一个)处理器102(处理器102可以包括但不限于微处理器MCU或可编程逻辑器件FPGA等的处理装置)和用于存储数据的存储器104,可选地,上述移动终端还可以包括用于通信功能的传输设备106以及输入输出设备108。本领域普通技术人员可以理解,图1所示的结构仅为示意,其并不对上述移动终端的结构造成限定。例如,移动终端还可包括比图1中所示更多或者更少的组件,或者具有与图1所示不同的配置。
存储器104可用于存储计算机程序,例如,应用软件的软件程序以及模块,如本发明实施例中的栈板识别处理方法对应的计算机程序,处理器102通过运行存储在存储器104内的计算机程序,从而执行各种功能应用以及数据处理,即实现上述的方法。存储器104可包括高速随机存储器,还可包括非易失性存储器,如一个或者多个磁性存储装置、闪存、或者其他非易失性固态存储器。在一些实例中,存储器104可进一步包括相对于处理器102远程设置的存储器,这些远程存储器可以通过网络连接至移动终端。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
传输装置106用于经由一个网络接收或者发送数据。上述的网络具体实例可包括移动终端的通信供应商提供的无线网络。在一个实例中,传输装置106包括一个网络适配器(Network Interface Controller,简称为NIC),其可通过基站与其他网络设备相连从而可与互联网进行通讯。在一个实例中,传输装置106可以为射频(Radio Frequency,简称为RF)模块,其用于通过无线方式与互联网进行通讯。
在本实施例中提供了一种运行于上述移动终端或网络架构的栈板识别处理方法,图2是根据本发明实施例的栈板识别处理方法的流程图,如图2所示,该流程包括如下步骤:
步骤S202,基于TOF成像系统,获取待识别的目标栈板的点云数据,并提取所述点云数据的点云特征;
步骤S204,从预先建立的栈板数据库中获取所述点云特征对应的相邻点云特征,其中,所述栈板数据库中存储有具有对应关系的栈板的点云特征、栈板法向量、栈板中心点;
步骤S206,根据所述点云特征与所述相邻点云特征确定目标旋转矩阵与目标平移矩阵;
步骤S208,根据所述目标旋转矩阵与所述目标平移矩阵分别对应所述点云数据库中所述相邻点云特征对应的栈板法向量、栈板中心点进行旋转与平移处理,得到所述点云数据中所述目标栈板的方向与位置信息。
通过上述步骤S202至S208,可以解决相关技术中采用区域生成算法,依赖地面标定结果,导致栈板的整体识别率下降的问题,通过从栈板数据库中获取与点云特征的相似度最大的相邻点云特征,以确定目标旋转矩阵与目标平移矩阵,基进而识别栈板,由于加入栈板数据库策略,优先评估栈板属性对栈板识别结果的影响,使在栈板数据不完整的情况下,也能够较好的识别栈板。
本发明实施例中,上述步骤S206具体可以包括:
S2061,构建所述点云特征的初始特征点集与所述相邻点云特征的相邻特征点集的特征点对;
S2062,根据所述特征点对确定初始旋转矩阵与初始平移矩阵;
进一步地,上述步骤S2062具体可以包括:
从所述特征点对中随机选取四个特征点对;根据所述四个特征点对确定初始旋转矩阵与初始平移矩阵。具体地,初始化旋转矩阵与平移矩阵为全零矩阵;
基于所述全零矩阵,根据所述四个特征点对确定第一旋转矩阵与第一平移矩阵;
根据所述特征点对中除选取的特征点对之外的目标特征点对验证所述第一旋转矩阵与所述第一平移矩阵;具体的,通过以下方式验证所述第一旋转矩阵与所述第一平移矩阵:Q=(R1T1)P,其中,{P,Q}为所述特征点对,R1为所述第一旋转矩阵,T1为所述第一平移矩阵,P为所述初始特征点集,Q为所述相邻特征点集,判断验证是否通过的条件为:若一个目标点满足上述公式,则说明该目标特征点对第一旋转矩阵与第一平移矩阵的验证通过,若不满足,则说明验证不通过,若所有目标点中验证通过的目标点数大于或等于预定数量,则说明第一旋转矩阵与第一平移矩阵合理。对应的,在所述目标特征点对中满足预定条件的特征点对数量大于或等于预定数量的情况下,确定所述第一旋转矩阵为所述初始旋转矩阵,所述第一平移矩阵为所述初始平移矩阵;在所述目标特征点对中验证通过的特征点对数量小于预定数量的情况下,重复从所述特征点对中重新随机选取四个特征点对,根据重新选取的四个特征点对确定第二旋转矩阵与第二平移矩阵,直到所述目标特征点对中满足预定条件的特征点对数量大于或等于预定数量,确定所述第二旋转矩阵为所述初始旋转矩阵,所述第二平移矩阵为所述初始平移矩阵。
S2063,根据所述初始旋转矩阵与所述初始平移矩阵对所述初始特征点集进行旋转和平移处理,得到目标特征点集;具体的,通过以下方式得到目标特征点集:P'=RP+T,其中,P'为所述目标特征点集,R为所述初始旋转矩阵,T为所述初始平移矩阵,P为所述初始特征点集。
S2064,确定所述目标特征点集与所述相邻特征点集的平均距离;
进一步地,上述步骤S2064具体可以包括:分别确定所述目标特征点集的所有特征点与所述相邻特征点集中对应的相邻特征点的距离;将所述目标特征点集中所有特征点与所述相邻特征点集中对应的相邻特征点的距离的平均值确定为所述平均距离。
S2065,将小于所述预设阈值的所述平均距离对应的旋转矩阵确定为目标旋转矩阵,所述平均距离对应的平移矩阵为目标平移矩阵。
进一步的,上述步骤S2065具体可以包括:判断所述平均距离是否小于预设阈值;在判断结果为是的情况下,将所述平均距离对应的旋转矩阵确定为目标旋转矩阵,所述平均距离对应的平移矩阵为目标平移矩阵;在判断结果为否的情况下,重复调整所述初始旋转矩阵与所述初始平移矩阵,直到所述平均距离小于所述预设阈值,将所述平均距离对应的旋转矩阵确定为目标旋转矩阵,所述平均距离对应的平移矩阵为目标平移矩阵。
图3是根据本发明实施例的基于TOF的栈板识别的流程图,如图3所示,包括:
步骤S301,栈板数据库建立;
软件加载相机数据,在可视化界面中框选包括地面区域、栈板区域,分别计算地面方程、栈板区域的点云特征、栈板法向量、栈板中心点。
步骤S302,获取TOF相机点云数据,并进行特征提取;
常见的点云特征描述子包括点云法向量、点云特征直方图PFH(Fast Point ofHistogram),快速点云特征直方图PFH,视点特征直方图VFH,shot特征。考虑特征的旋转平移不变性,抗密度干扰性,噪声稳定性,本专利采用shot特征。SHOT(Signature ofHistogram of Orientation)是一种基于局部特征的描述子,在特征点处建立局部坐标系,将邻域点的空间位置信息和几何特征统计信息结合起来描述特征点。基本步骤如下:
Step1:根据特征点的球邻域建立局部参考坐标系LRF,特征点的球邻域分别沿径向(内外球)、经度(时区)和纬度方向(南北半球)进行区域划分。通常径向划分为2,经度划分为8,纬度划分为2,总共32个小区域。
Step2:分别统计每个小区域内的法向量夹角余弦值分布情况,法向量划分为11个bin。最终SHOT的长度为:32x11=352。
步骤S303,特征初始匹配;
特征初始匹配采用RANSAC算法,通过构建的特征点云数据库与当前帧的点云特征,计算初始的RT旋转平移矩阵,具体包括:
Step1:初始化RT矩阵为全零矩阵;
Step2:遍历当前帧的点云特征,查询并计算数据库中的最近邻特征,针对当前帧点云特征Fi,计算与数据库中点云特征Fj的特征距离Fd:
遍历数据库中点云,计算得到特征距离,选择最小距离作为最近邻特征,构建特征点对{P,Q};
Step3:随机选择四点对,计算当前RT矩阵,以当前RT统计所有特征针对当前RT的内外点数量;
构建如下方程:
共构建12个方程计算12个变量。
Step4:循环指定次数,选择内点最多的RT矩阵作为初始化矩阵。
步骤S304,特征高精度匹配;
特征高精度匹配采用ICP算法。基本流程如下:
Step1:以步骤三中的RT作为初始变量;
Step2:对pi使用上一步求得的旋转矩阵R和平移矩阵t进行旋转和平移变换,得到新的对应点集pi’={pi’=Rpi+t,pi∈P};
Step4:计算pi’与对应点集qi的平均距离d;
Step5:如果d小于某一给定的阈值或者大于预设的最大迭代次数(经验值),则停止迭代计算。
否则返回Step2,直到满足收敛条件为止。
步骤S505,匹配后处理,输出栈板的方向和位置信息;
使用优化后的RT矩阵,处理当前数据库的法向量和栈板中心点信息,将转化后的信息作为当前帧栈板的方向和位置信息输出到叉车进行后续的自动化对接工作。
通过本发明实施例,加入栈板数据库策略,通过算法和软件配合调整的方式,优先评估栈板属性对栈板信息计算结果的影响;去除地面标定和区域生长在识别过程中的作用,主要采用匹配的方式来计算栈板信息,即使在栈板数据不完整的情况下,也能够较好的识别栈板。
实施例2
根据本发明的另一个实施例,还提供了一种栈板识别处理装置,图4是根据本发明实施例的栈板识别处理装置的框图,如图4所示,包括:
提取模块42,用于基于TOF成像系统,获取待识别的目标栈板的点云数据,并提取所述点云数据的点云特征;
获取模块44,用于从预先建立的栈板数据库中获取所述点云特征对应的相邻点云特征,其中,所述栈板数据库中存储有具有对应关系的栈板的点云特征、栈板法向量、栈板中心点;
确定模块46,用于根据所述点云特征与所述相邻点云特征确定目标旋转矩阵与目标平移矩阵;
处理模块48,用于根据所述目标旋转矩阵与所述目标平移矩阵分别对应所述点云数据库中所述相邻点云特征对应的栈板法向量、栈板中心点进行旋转与平移处理,得到所述点云数据中所述目标栈板的方向与位置信息。
可选地,所述确定模块46包括:
构建子模块,用于构建所述点云特征的初始特征点集与所述相邻点云特征的相邻特征点集的特征点对;
第一确定子模块,用于根据所述特征点对确定初始旋转矩阵与初始平移矩阵;
处理子模块,用于根据所述初始旋转矩阵与所述初始平移矩阵对所述初始特征点集进行旋转和平移处理,得到目标特征点集;
第二确定子模块,用于确定所述目标特征点集与所述相邻特征点集的平均距离;
第三确定子模块,用于将小于所述预设阈值的所述平均距离对应的旋转矩阵确定为目标旋转矩阵,所述平均距离对应的平移矩阵为目标平移矩阵。
可选地,所述第一确定子模块包括:
随机选取单元,用于从所述特征点对中随机选取四个特征点对;
第一确定单元,用于根据所述四个特征点对确定初始旋转矩阵与初始平移矩阵。
可选地,所述第一确定单元包括:
初始化子单元,用于初始化旋转矩阵与平移矩阵为全零矩阵;
第一确定子单元,用于基于所述全零矩阵,根据所述四个特征点对确定第一旋转矩阵与第一平移矩阵;
验证子单元,用于根据所述特征点对中除选取的特征点对之外的目标特征点对验证所述第一旋转矩阵与所述第一平移矩阵;
第二确定子单元,用于在所述目标特征点对中满足预定条件的特征点对数量大于或等于预定数量的情况下,确定所述第一旋转矩阵为所述初始旋转矩阵,所述第一平移矩阵为所述初始平移矩阵;
第三确定子单元,用于在所述目标特征点对中验证通过的特征点对数量小于预定数量的情况下,重复从所述特征点对中重新随机选取四个特征点对,根据重新选取的四个特征点对确定第二旋转矩阵与第二平移矩阵,直到所述目标特征点对中满足预定条件的特征点对数量大于或等于预定数量,确定所述第二旋转矩阵为所述初始旋转矩阵,所述第二平移矩阵为所述初始平移矩阵。
可选地,所述装置还包括:
所述验证子单元,用于通过以下方式根据所述特征点对中除选取的特征点对之外的目标特征点对验证所述第一旋转矩阵与所述第一平移矩阵:
Q=(R1T1)P,其中,{P,Q}为所述特征点对,R1为所述第一旋转矩阵,T1为所述第一平移矩阵,P为所述初始特征点集,Q为所述相邻特征点集;
所述处理子模块,用于通过以下方式根据所述初始旋转矩阵与所述初始平移矩阵对所述初始特征点集进行旋转和平移处理,得到目标特征点集:
P'=RP+T,其中,P'为所述目标特征点集,R为所述初始旋转矩阵,T为所述初始平移矩阵。
可选地,所述第三确定子模块包括:
判断单元,用于判断所述平均距离是否小于预设阈值;
第二确定单元,用于在判断结果为是的情况下,将所述平均距离对应的旋转矩阵确定为目标旋转矩阵,所述平均距离对应的平移矩阵为目标平移矩阵;
重复单元,用于在判断结果为否的情况下,重复调整所述初始旋转矩阵与所述初始平移矩阵,直到所述平均距离小于所述预设阈值,将所述平均距离对应的旋转矩阵确定为目标旋转矩阵,所述平均距离对应的平移矩阵为目标平移矩阵。
可选地,所述第二确定子模块包括:
第三确定单元,用于分别确定所述目标特征点集的所有特征点与所述相邻特征点集中对应的相邻特征点的距离;
第四确定单元,用于将所述目标特征点集中所有特征点与所述相邻特征点集中对应的相邻特征点的距离的平均值确定为所述平均距离。
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述各个模块以任意组合的形式分别位于不同的处理器中。
实施例3
本发明的实施例还提供了一种计算机可读的存储介质,该存储介质中存储有计算机程序,其中,该计算机程序被设置为运行时执行上述任一项方法实施例中的步骤。
可选地,在本实施例中,上述存储介质可以被设置为存储用于执行以下步骤的计算机程序:
S1,基于TOF成像系统,获取待识别的目标栈板的点云数据,并提取所述点云数据的点云特征;
S2,从预先建立的栈板数据库中获取所述点云特征对应的相邻点云特征,其中,所述栈板数据库中存储有具有对应关系的栈板的点云特征、栈板法向量、栈板中心点;
S3,根据所述点云特征与所述相邻点云特征确定目标旋转矩阵与目标平移矩阵;
S4,根据所述目标旋转矩阵与所述目标平移矩阵分别对应所述点云数据库中所述相邻点云特征对应的栈板法向量、栈板中心点进行旋转与平移处理,得到所述点云数据中所述目标栈板的方向与位置信息。
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(Read-Only Memory,简称为ROM)、随机存取存储器(Random Access Memory,简称为RAM)、移动硬盘、磁碟或者光盘等各种可以存储计算机程序的介质。
实施例4
本发明的实施例还提供了一种电子装置,包括存储器和处理器,该存储器中存储有计算机程序,该处理器被设置为运行计算机程序以执行上述任一项方法实施例中的步骤。
可选地,上述电子装置还可以包括传输设备以及输入输出设备,其中,该传输设备和上述处理器连接,该输入输出设备和上述处理器连接。
可选地,在本实施例中,上述处理器可以被设置为通过计算机程序执行以下步骤:
S1,基于TOF成像系统,获取待识别的目标栈板的点云数据,并提取所述点云数据的点云特征;
S2,从预先建立的栈板数据库中获取所述点云特征对应的相邻点云特征,其中,所述栈板数据库中存储有具有对应关系的栈板的点云特征、栈板法向量、栈板中心点;
S3,根据所述点云特征与所述相邻点云特征确定目标旋转矩阵与目标平移矩阵;
S4,根据所述目标旋转矩阵与所述目标平移矩阵分别对应所述点云数据库中所述相邻点云特征对应的栈板法向量、栈板中心点进行旋转与平移处理,得到所述点云数据中所述目标栈板的方向与位置信息。
可选地,本实施例中的具体示例可以参考上述实施例及可选实施方式中所描述的示例,本实施例在此不再赘述。
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。