目标定位方法、装置、设备及计算机可读存储介质与流程

文档序号:21676882发布日期:2020-07-31 21:46阅读:150来源:国知局
目标定位方法、装置、设备及计算机可读存储介质与流程

本发明涉及视觉技术领域,尤其涉及一种目标定位方法、装置、设备及计算机可读存储介质。



背景技术:

近年来,随着物流行业的日益发展,仓储物流尤其是大宗中转物流中人力成本的问题日益突出。在商业物流中,大部分产品都是通过矩形纸箱进行包装,随着科技的发展,越来越多机器技术用于搬运物流包裹。

传统的用于搬运物流包裹的无视觉方案需要规定物流包裹的垛型,从而使得机器能够准确地抓取每个物流包裹。传统的视觉方案,则需要3d相机提供准确的物流包裹边缘,提取边界点数据集,然后通过hough变换拟合空间直线,利用矩形的约束条件从而定位矩形边界。这种方法过于依赖3d相机的精度,当矩形包裹密集排列时,包裹间的缝隙难以被3d相机识别,导致现有的视觉方案难以定位密集型的多矩形物流包裹,进而导致机器容易漏抓或者误抓物流包裹。

上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。



技术实现要素:

本发明的主要目的在于提供一种目标定位方法、装置、设备及计算机可读存储介质,旨在解决现有的视觉方案难以定位密集型的多矩形物流包裹的技术问题。

为实现上述目的,本发明提供一种目标定位方法,所述目标定位方法包括以下步骤:

若检测到待定位目标进入相机组的拍摄范围,则通过所述相机组采集所述待定位目标的2d图像和3d图像;

基于预设的图像处理函数,提取所述2d图像中的感兴趣区域得到感兴趣图像,并将所述感兴趣图像输入至预设的神经网络,得到目标定位结果;

基于所述3d图像,对所述3d图像进行平面分割,得到多个平面对应的点云数据;

基于所述点云数据和所述目标定位结果,确定所述各个平面的第一面积交并比;

若所述第一面积交并比大于第一预设阈值且小于第二预设阈值,则将所述目标定位结果输出至执行部件,以供所述执行部件基于所述目标定位结果对所述待定位目标进行抓取。

可选地,所述基于所述点云数据和所述目标定位结果,确定所述各个平面的第一面积交并比的步骤之后,还包括:

若所述第一面积交并比小于所述第一预设阈值或者大于所述第二预设阈值,则对所述感兴趣图像进行边缘检测,得到边缘图像;

基于所述目标定位结果中包含的长宽信息,生成多个矩形模板,并将各所述矩形模板分别与所述边缘图像进行匹配,得到各个平面对应的候选定位结果;

将所述候选定位结果输出至执行部件,以供所述执行部件基于所述候选定位结果对所述待定位目标进行抓取。

可选地,所述将所述候选定位结果输出至执行部件,以供所述执行部件基于所述候选定位结果对所述待定位目标进行抓取的步骤包括:

基于所述候选定位结果和所述目标定位结果,确定所述各个平面对应的第二面积交并比;

若所述第二面积交并比大于第二预设阈值且小于第三预设阈值,则将所述目标定位结果输出至执行部件,以供所述执行部件基于所述目标定位结果对所述待定位目标进行抓取。

可选地,所述基于所述点云数据和所述候选定位结果,确定所述各个平面对应的第二面积交并比的步骤之后,还包括:

若所述第二面积交并比大于第二预设阈值且小于第三预设阈值,则将所述候选定位结果、所述2d图像和所述3d图像打包成错误数据包,并将所述错误数据包存储至数据库。

可选地,所述若所述第二面积交并比大于第二预设阈值且小于第三预设阈值,则将所述目标定位结果、2d图像和3d图像打包成错误数据包,并将所述错误数据包存储至数据库的步骤之后,还包括:

记录所述错误数据包的数量;

若所述错误数据包的数量大于预设阈值,则基于所述错误数据包以及经验数据,对所述神经网络进行训练。

可选地,所述将所述目标定位结果输出至执行部件,以供所述执行部件基于所述目标定位结果对所述待定位目标进行抓取的步骤之后,还包括:

若检测到抓取所述待定位目标完成,则控制下一个待定位目标进入所述相机组的拍摄范围内,并执行所述通过所述相机组采集所述待定位目标的2d图像和3d图像的步骤。

可选地,所述若检测到待定位目标进入相机组的拍摄范围,则通过所述相机组采集所述待定位目标的2d图像和3d图像的步骤之前,还包括:

获取所述待定位目标的最大长度以及所述相机组的视场角;

基于所述最大长度以及所述视场角确定所述相机组与所述待定位目标之间的工作距离,并控制所述相机组移动至所述工作距离的位置。

此外,为实现上述目的,本发明还提供一种目标定位装置,所述目标定位装置包括:

采集模块,用于若检测到待定位目标进入相机组的拍摄范围,则通过所述相机组采集所述待定位目标的2d图像和3d图像;

提取模块,用于基于预设的图像处理函数,提取所述2d图像中的感兴趣区域得到感兴趣图像,并将所述感兴趣图像输入至预设的神经网络,得到目标定位结果;

分割模块,用于基于所述3d图像,对所述3d图像进行平面分割,得到多个平面对应的点云数据;

比较模块,用于基于所述点云数据和所述目标定位结果,确定所述各个平面的第一面积交并比;

输出模块,用于若所述第一面积交并比大于第一预设阈值且小于第二预设阈值,则将所述目标定位结果输出至执行部件,以供所述执行部件基于所述目标定位结果对所述待定位目标进行抓取。

此外,为实现上述目的,本发明还提供一种目标定位设备,所述目标定位设备包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的目标定位程序,所述目标定位程序被所述处理器执行时实现如上述的目标定位方法的步骤。

此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有目标定位程序,所述目标定位程序被处理器执行时实现如上述的目标定位方法的步骤。

本发明通过若检测到待定位目标进入相机组的拍摄范围,则通过所述相机组采集所述待定位目标的2d图像和3d图像;基于预设的图像处理函数,提取所述2d图像中的感兴趣区域得到感兴趣图像,并将所述感兴趣图像输入至预设的神经网络,得到各个平面对应目标定位结果;基于所述3d图像,对所述3d图像进行平面分割,得到各个平面对应的点云数据;基于所述点云数据和所述目标定位结果,确定所述各个平面的第一面积交并比;若所述第一面积交并比大于第一预设阈值且小于第二预设阈值,则将所述目标定位结果输出至执行部件,以供所述执行部件基于所述目标定位结果对所述待定位目标进行抓取。在本实施例中,根据点云数据和目标定位结果计算各个平面的第一面积交并比,从而将神经网络识别到的目标定位结果与3d相机识别的结果进行比较,保证神经网络正确识别待定位目标中的各个待定位子目标;通过预先训练好的神经网络,得到待定位目标所有可抓取目标的位置,从而配合执行部件进行抓取,一方面,替代人工完成对目标包裹的搬运,另一方面,当物流包裹密集排列时,可以准确识别包裹间的缝隙,使得可以准确定位密集型的多矩形物流包裹。

附图说明

图1是本发明实施例方案涉及的硬件运行环境的目标定位设备结构示意图;

图2为本发明目标定位方法第一实施例的流程示意图;

图3为本发明目标定位方法对应的目标定位系统的结构示意图;

图4为本发明目标定位方法对应的一种场景示意图。

本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。

具体实施方式

应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

如图1所示,图1是本发明实施例方案涉及的硬件运行环境的目标定位设备结构示意图。

本发明实施例目标定位设备可以是pc,也可以是智能手机、平板电脑、电子书阅读器、便携计算机等具有显示功能的可移动式终端设备。

如图1所示,该目标定位设备可以包括:处理器1001,例如cpu,网络接口1004,用户接口1003,存储器1005,通信总线1002。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(display)、输入单元比如键盘(keyboard),可选用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如wi-fi接口)。存储器1005可以是高速ram存储器,也可以是稳定的存储器(non-volatilememory),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。

可选地,目标定位设备还可以包括摄像头、rf(radiofrequency,射频)电路,传感器、音频电路、wifi模块等等。其中,传感器比如光传感器、运动传感器以及其他传感器。

本领域技术人员可以理解,图1中示出的目标定位设备结构并不构成对目标定位设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。

如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作系统、网络通信模块、用户接口模块以及目标定位程序。

在图1所示的目标定位设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的目标定位程序。

在本实施例中,目标定位设备包括:存储器1005、处理器1001及存储在所述存储器1005上并可在所述处理器1001上运行的目标定位程序,其中,处理器1001调用存储器1005中存储的目标定位程序时,并执行以下操作:

若检测到待定位目标进入相机组的拍摄范围,则通过所述相机组采集所述待定位目标的2d图像和3d图像;

基于预设的图像处理函数,提取所述2d图像中的感兴趣区域得到感兴趣图像,并将所述感兴趣图像输入至预设的神经网络,得到目标定位结果;

基于所述3d图像,对所述3d图像进行平面分割,得到多个平面对应的点云数据;

基于所述点云数据和所述目标定位结果,确定所述各个平面的第一面积交并比;

若所述第一面积交并比大于第一预设阈值且小于第二预设阈值,则将所述目标定位结果输出至执行部件,以供所述执行部件基于所述目标定位结果对所述待定位目标进行抓取。

进一步地,处理器1001可以调用存储器1005中存储的目标定位程序,还执行以下操作:

若所述第一面积交并比小于所述第一预设阈值或者大于所述第二预设阈值,则对所述感兴趣图像进行边缘检测,得到边缘图像;

基于所述目标定位结果中包含的长宽信息,生成多个矩形模板,并将各所述矩形模板分别与所述边缘图像进行匹配,得到各个平面对应的候选定位结果;

将所述候选定位结果输出至执行部件,以供所述执行部件基于所述候选定位结果对所述待定位目标进行抓取。

进一步地,处理器1001可以调用存储器1005中存储的目标定位程序,还执行以下操作:

基于所述候选定位结果和所述目标定位结果,确定所述各个平面对应的第二面积交并比;

若所述第二面积交并比大于第二预设阈值且小于第三预设阈值,则将所述目标定位结果输出至执行部件,以供所述执行部件基于所述目标定位结果对所述待定位目标进行抓取。

进一步地,处理器1001可以调用存储器1005中存储的目标定位程序,还执行以下操作:

若所述第二面积交并比大于第二预设阈值且小于第三预设阈值,则将所述候选定位结果、所述2d图像和所述3d图像打包成错误数据包,并将所述错误数据包存储至数据库。

进一步地,处理器1001可以调用存储器1005中存储的目标定位程序,还执行以下操作:

记录所述错误数据包的数量;

若所述错误数据包的数量大于预设阈值,则基于所述错误数据包以及经验数据,对所述神经网络进行训练。

进一步地,处理器1001可以调用存储器1005中存储的目标定位程序,还执行以下操作:

若检测到抓取所述待定位目标完成,则控制下一个待定位目标进入所述相机组的拍摄范围内,并执行所述通过所述相机组采集所述待定位目标的2d图像和3d图像的步骤。

进一步地,处理器1001可以调用存储器1005中存储的目标定位程序,还执行以下操作:

获取所述待定位目标的最大长度以及所述相机组的视场角;

基于所述最大长度以及所述视场角确定所述相机组与所述待定位目标之间的工作距离,并控制所述相机组移动至所述工作距离的位置。

本发明还提供一种目标定位方法,参照图2,图2为本发明目标定位方法第一实施例的流程示意图。

本发明所提出的目标定位方法,可以通过视觉定位,得到工作区域内所有可抓取目标的位置,从而配合执行部件进行抓取,替代人工完成对目标包裹的搬运;通过引入深度学习技术和经典目标检测技术,既增强了经典目标检测技术对不同检测目标的适应能力,又解决了深度学习技术在处理未知类别目标时处理能力不足的问题。经典目标检测技术作为深度学习技术在目标适应能力不足时候的补充,可以与深度学习结果做到很好的相互补充。进一步地,还可以将目标定位方法得到的目标定位结果转换为新的标注信息,反馈给神经网络进行再次迭代,改善网络性能,从而使得大大缩短设备上线的周期。实施人员只需要收集到现场的少量数据即可进入运行阶段,从而大大节省实施人员的部署时间。

本发明所提出的目标定位方法应用于一种系统架构,该系统架构即目标定位系统,参照图3,目标定位系统包括相机组、视觉工控机、光电传感器、执行部件和传送部件,其中,相机组、光电传感器、执行部件和传送部件分别与视觉工控机电连接,以使视觉工控机通过分别与相机组、光电传感器、执行部件和传送部件建立通信连接,控制相机组、光电传感器、执行部件和传送部件。

相机组包括2d相机和3d相机,为2d相机和3d相机的组合,相机组用于获取2d图像和3d图像,具体地,相机组中的2d相机用于获取2d图像,相机组中的3d相机用于获取3d图像。视觉工控机用于相机组、光电传感器、执行机构的通信以及处理相机组所获取的2d图像和3d图像。光电传感器在光电传感器的监测范围内存在目标时输出信号至视觉工控机,以供视觉工控机通知相机组进行拍摄获取图像。执行部件将所定位得到的目标从定位工作区移动到其他区域,执行部件包括但不限于机械臂,执行部件在本实施例中不做具体限定。

在本实施例中,该目标定位方法包括以下步骤:

步骤s10,若检测到待定位目标进入相机组的拍摄范围,则通过所述相机组采集所述待定位目标的2d图像和3d图像;

一实施例中,参考图3,相机组与视觉工控机连接,光电传感器与视觉工控机连接,传送部件与视觉工控机连接。当执行部件根据视觉工控机的指示将上一批待定位目标全部抓取至预设位置后,执行部件向视觉工控机发送抓取完成指令,视觉工控机接收到执行部件发送的抓取完成指令时,视觉工控机则向传送部件发送运行指令,以控制传送部件启动运行。当光电传感器检测到待定位目标时,检测到待定位目标进入相机组的拍摄范围,光电传感器向视觉工控机输出控制指令,以使视觉工控机控制传送部件停止运行以及控制相机组进行拍摄以采集待定位目标的2d图像和3d图像。其中,相机组包括2d相机和3d相机,具体地,通过相机组的2d相机采集待定位目标的2d图像,以及通过相机组中的3d相机采集3d图像。

步骤s20,基于预设的图像处理函数,提取所述2d图像中的感兴趣区域得到感兴趣图像,并将所述感兴趣图像输入至预设的神经网络,得到目标定位结果;

一实施例中,采集到2d图像和3d图像后,将2d图像和3d图像传输至视觉工控机,视觉工控机接收并对2d图像和3d图像进行处理。视觉工控机通过预设的图像处理函数提取2d图像中的感兴趣区域,即提取2d图像中的待定位目标所在的区域,而滤除2d图像中待定位目标之外的区域,避免待定位目标之外的区域在处理图像时对待定位目标产生影响。在提取感兴趣区域后的2d图像,得到仅包含感兴趣区域的感兴趣图像,并将感兴趣图像输入至训练完成的神经网络中,以使神经网络对感兴趣图像中的待定位目标进行识别,神经网络对感兴趣图像进行识别后输出结果,得到目标定位结果,其中,所输出的目标定位结果中包含神经网络识别到的各平面中各个待定位子目标的位置信息。

其中,图像处理函数为提取图像中感兴趣区域的函数,可以是opencv视觉图像处理中的感兴趣区域提取函数或者matlab中感兴趣区域提取函数,如cvsetimageroi函数。

步骤s30,基于所述3d图像,对所述3d图像进行平面分割,得到多个平面对应的点云数据;

一实施例中,采集到2d图像和3d图像后,将2d图像和3d图像传输至视觉工控机,视觉工控机接收并对2d图像和3d图像进行处理。视觉工控机通过平面分割技术在水平面上对3d图像中的待定位目标进行平面切割,得到多个平面,其中,每个平面以点云数据表示,从而得到各个平面对应的点云数据,一个平面对应于一组点云数据,对待定位目标进行切割,非待定位目标不作切割。其中,所计算得到点云数据中包含待定位目标的各平面中各个待定位子目标的位置信息。

其中,点云数据中的每个点包含图像中物体的3d位置信息即三维坐标,点云数据除了包含位置信息之外,还可以包括颜色信息或者强度信息,颜色信息通常是通过相机获取彩色影像,然后将对应位置的像素的颜色信息赋予点云中对应的点,强度信息的获取是激光扫描仪接收装置采集到的回波强度,强度信息与目标的表面材质、粗糙度、入射角方向,以及仪器的发射能量,激光波长有关。

步骤s40,基于所述点云数据和所述目标定位结果,确定所述各个平面的第一面积交并比;

一实施例中,得到多个平面对应的点云数据后,通过对点云数据对多个平面筛选,以依次选取各个平面对应的第一电云数据进行和目标定位结果进行比较,也就是将3d相机识别的结果和神经网络识别的结果进行比较。视觉工控机通过目标定位结果中包含的坐标数据计算各个目标定位区域在2d图像中所占区域的第一面积,以及通过点云数据计算各个3d识别区域在图像中所占区域的第二面积。将第一面积和第二面积进行比较得到3d相机识别的结果和神经网络识别的结果的第一面积交并比。其中,目标定位区域为神经网络识别的目标定位结果,3d识别区域为3d相机识别的结果即点云数据。

具体地,将第一面积rd和第二面积rm进行比较得到各个平面的3d识别区域与目标定位区域的第一面积交并比的步骤包括:计算各个平面的3d识别区域与目标定位区域的交集区域面积为ri_md=rm∩rd;计算各个平面的3d识别区域与目标定位区域的并集区域面积为rb_md=rm∪rd;计算各个平面的3d识别区域与目标定位区域的第一面积交并比为其中,记目标定位结果为d0,将目标定位结果d0在2d图像中所占区域的第一面积记为rd,将3d识别区域在图像中所占区域的第二面积记为rm。

步骤s50,若所述第一面积交并比大于第一预设阈值且小于第二预设阈值,则将所述目标定位结果输出至执行部件,以供所述执行部件基于所述目标定位结果对所述待定位目标进行抓取。

一实施例中,若视觉工控机计算得到第一面积交并比大于第一预设阈值且小于第二预设阈值,则神经网络对待定位目标的图像的处理结果有效,即神经网络得到的目标定位结果有效,从而将目标定位结果中的输出至执行部件,以供执行部件基于目标定位结果对待定位目标进行抓取。目标定位结果中包含各个待定位子目标的位置坐标,视觉工控机将目标定位结果中各个待定位子目标的位置坐标发送至执行部件,执行部件根据目标定位结果中各个待定位子目标的位置坐标,依次对待定位目标中的各个物件进行抓取,以依次将各个物件搬运至预设位置。其中,第一预设阈值一般为0.9,第二预设预设的范围一般为1.1,第一预设阈值和第二预设预设在本实施例中不作具体限定。

进一步地,一实施例中,所述步骤s60:将所述目标定位结果输出至执行部件,以供所述执行部件基于所述目标定位结果对所述待定位目标进行抓取之后,还包括:

步骤s60,若检测到抓取所述待定位目标完成,则控制下一个待定位目标进入所述相机组的拍摄范围内,并执行所述通过所述相机组采集所述待定位目标的2d图像和3d图像的步骤。

一实施例中,当执行部件根据视觉工控机的指示将待定位目标全部抓取至预设位置后,执行部件向视觉工控机发送抓取完成指令,视觉工控机接收到执行部件发送的抓取完成指令时,视觉工控机则向传送部件发送运行指令,以控制传送部件启动运行。当光电传感器检测到下一个待定位目标时,检测到下一个待定位目标进入相机组的拍摄范围,光电传感器向视觉工控机输出控制指令,以使视觉工控机控制传送部件停止运行以及控制相机组进行拍摄以采集下一个待定位目标的2d图像和3d图像,从而进一步再对下一个待定位目标进行识别与抓取。

进一步地,一实施例中,所述若检测到待定位目标进入相机组的拍摄范围,则通过所述相机组采集所述待定位目标的2d图像和3d图像的步骤之前,还包括:

步骤s11,获取所述待定位目标的最大长度以及所述相机组的视场角;

步骤s12,基于所述最大长度以及所述视场角确定所述相机组与所述待定位目标之间的工作距离,并控制所述相机组移动至所述工作距离的位置。

一实施例中,视觉工控机控制相机组进行移动以使待定位目标完全进入相机组的拍摄范围内。如图4所示,在待定位目标进入相机组的拍摄范围内后,相机组进行拍摄以获取待定位目标的最大长度,并根据相机组的视场角和待定位目标的最大长度计算相机组与待定位目标之间的最小工作距离,并在最小工作距离的基础上加上一段预设的距离得到相机组和待定位目标之间的工作距离。计算得到相机组的工作距离后,视觉工控机控制相机组移动到工作距离所指示的位置,以使待定位目标准确进入相机组的拍摄范围内,并使相机组所拍摄到的图像更适用于处理。其中,视场角为相机组的相机参数,视场角由2d相机的视场角参数、3d相机的视场角参数、2d相机和3d相机之间的距离计算得到。

本实施例提出的目标定位方法,通过若检测到待定位目标进入相机组的拍摄范围,则通过所述相机组采集所述待定位目标的2d图像和3d图像;基于预设的图像处理函数,提取所述2d图像中的感兴趣区域得到感兴趣图像,并将所述感兴趣图像输入至预设的神经网络,得到各个平面对应目标定位结果;基于所述3d图像,对所述3d图像进行平面分割,得到各个平面对应的点云数据;基于所述点云数据和所述目标定位结果,确定所述各个平面的第一面积交并比;若所述第一面积交并比大于第一预设阈值且小于第二预设阈值,则将所述目标定位结果输出至执行部件,以供所述执行部件基于所述目标定位结果对所述待定位目标进行抓取。在本实施例中,根据点云数据和目标定位结果计算各个平面的第一面积交并比,从而将神经网络识别到的目标定位结果与3d相机识别的结果进行比较,保证神经网络正确识别待定位目标中的各个待定位子目标;通过预先训练好的神经网络,得到待定位目标所有可抓取目标的位置,从而配合执行部件进行抓取,一方面,替代人工完成对目标包裹的搬运,另一方面,当物流包裹密集排列时,可以准确识别包裹间的缝隙,使得可以准确定位密集型的多矩形物流包裹。

基于第一实施例,提出本发明目标定位方法的第二实施例,在本实施例中,步骤s40之后,还包括:

步骤s41,若所述第一面积交并比小于所述第一预设阈值或者大于所述第二预设阈值,则对所述感兴趣图像进行边缘检测,得到边缘图像;

步骤s42,基于所述目标定位结果中包含的长宽信息,生成多个矩形模板,并将各所述矩形模板分别与所述边缘图像进行匹配,得到各个平面对应的候选定位结果;

步骤s43,将所述候选定位结果输出至执行部件,以供所述执行部件基于所述候选定位结果对所述待定位目标进行抓取。

一实施例中,若视觉工控机计算得到第一面积交并比小于第一预设阈值或者大于第二预设阈值,则神经网络对待定位目标的图像的处理结果无效,即神经网络得到的目标定位结果无效,从而通过边缘检测函数对感兴趣图像进行边缘检测,得到边缘图像,其中,边缘检测函数可以是canny算子,边缘检测函数在本实施例中不做具体限定。接着,通过神经网络深度学习获取的目标定位结果包含的各个子定位结果,生成所有可能的多组长宽信息,其中,各组长宽信息中长与宽一一对应。根据长宽信息生成多个矩形模板,并依次选取一个矩形模板分别与边缘图像进行匹配,匹配得到的结果为候选定位结果。

进一步地,一实施例中,所述将所述候选定位结果输出至执行部件,以供所述执行部件基于所述候选定位结果对所述待定位目标进行抓取的步骤包括:

步骤s431,基于所述候选定位结果和所述目标定位结果,确定所述各个平面对应的第二面积交并比;

步骤s432,若所述第二面积交并比大于第二预设阈值且小于第三预设阈值,则将所述目标定位结果输出至执行部件,以供所述执行部件基于所述目标定位结果对所述待定位目标进行抓取。

一实施例中,得到多个平面对应的候选定位结果后,通过候选定位结果对多个平面筛选,以依次选取各个平面对应的候选定位结果进行和目标定位结果进行比较,也就是将边缘识别的结果和神经网络识别的结果进行比较。视觉工控机通过目标定位结果中包含的坐标数据计算各个目标定位区域在2d图像中所占区域的第一面积,以及通过候选定位结果计算各个候选定位区域在图像中所占区域的第三面积。将第一面积和第三面积进行比较得到边缘识别的结果和神经网络识别的结果的第二面积交并比。其中,目标定位区域为神经网络识别的目标定位结果,候选识别区域为边缘识别的结果即候选定位结果对应的区域。

具体地,将第一面积rd和第三面积rx进行比较得到各个平面的候选目标区域与目标定位区域的第二面积交并比的步骤包括:计算各个平面的候选目标区域与目标定位区域的交集区域面积为ri_xd=rx∩rd;计算各个平面的候选目标区域与目标定位区域的并集区域面积为rb_xd=rx∪rd;计算各个平面的候选目标区域与目标定位区域的第二面积交并比为其中,记目标定位结果为d0,将目标定位结果d0在2d图像中所占区域的第一面积记为rd,将候选目标区域在图像中所占区域的第三面积记为rx。

进一步地,一实施例中,所述基于所述点云数据和所述候选定位结果,确定所述各个平面对应的第二面积交并比的步骤之后,还包括:

步骤s4311,若所述第二面积交并比大于第二预设阈值且小于第三预设阈值,则将所述候选定位结果、所述2d图像和所述3d图像打包成错误数据包,并将所述错误数据包存储至数据库。

步骤s4312,记录所述错误数据包的数量;

步骤s4313,若所述错误数据包的数量大于预设阈值,则基于所述错误数据包以及经验数据,对所述神经网络进行训练。

一实施例中,若第二面积交并比大于第二预设阈值且小于第三预设阈值,将该此相机组获取到的图像与候选定位结果打包存储入数据库,记为错误数据d,待目标定位系统进入迭代模式时使用。检查数据库中错误数据d的数量是否超过预设阈值,该值可以自行设计,若错误数据包的数量大于预设阈值,则提示进入再训练模式,将经验数据和错误数据包输入至神经网络,对神经网络进行训练,对神经网络中的模型参数进行更新。

具体地,若数据库中错误数据d的数量超过一定值,则进入再训练模式,再训练模式会将数据库中所有错误数据对应的定位结果转换为标注数据,并将所有标注数据与对应的图像导入训练器中训练。

本实施例提出的目标定位方法,通过若所述第一面积交并比小于所述第一预设阈值或者大于所述第二预设阈值,则对所述感兴趣图像进行边缘检测,得到边缘图像;基于所述目标定位结果中包含的长宽信息,生成多个矩形模板,并将各所述矩形模板分别与所述边缘图像进行匹配,得到各个平面对应的候选定位结果;将所述候选定位结果输出至执行部件,以供所述执行部件基于所述候选定位结果对所述待定位目标进行抓取。在本实施例中,当物流包裹密集排列时,可以准确识别包裹间的缝隙,使得可以准确定位密集型的多矩形物流包裹。

此外,本发明实施例还提出一种目标定位装置,所述目标定位装置包括:

采集模块,用于若检测到待定位目标进入相机组的拍摄范围,则通过所述相机组采集所述待定位目标的2d图像和3d图像;

提取模块,用于基于预设的图像处理函数,提取所述2d图像中的感兴趣区域得到感兴趣图像,并将所述感兴趣图像输入至预设的神经网络,得到目标定位结果;

分割模块,用于基于所述3d图像,对所述3d图像进行平面分割,得到多个平面对应的点云数据;

比较模块,用于基于所述点云数据和所述目标定位结果,确定所述各个平面的第一面积交并比;

输出模块,用于若所述第一面积交并比大于第一预设阈值且小于第二预设阈值,则将所述目标定位结果输出至执行部件,以供所述执行部件基于所述目标定位结果对所述待定位目标进行抓取。

可选地,所述比较模块,还用于:

若所述第一面积交并比小于所述第一预设阈值或者大于所述第二预设阈值,则对所述感兴趣图像进行边缘检测,得到边缘图像;

基于所述目标定位结果中包含的长宽信息,生成多个矩形模板,并将各所述矩形模板分别与所述边缘图像进行匹配,得到各个平面对应的候选定位结果;

将所述候选定位结果输出至执行部件,以供所述执行部件基于所述候选定位结果对所述待定位目标进行抓取。

可选地,所述比较模块,还用于:

基于所述候选定位结果和所述目标定位结果,确定所述各个平面对应的第二面积交并比;

若所述第二面积交并比大于第二预设阈值且小于第三预设阈值,则将所述目标定位结果输出至执行部件,以供所述执行部件基于所述目标定位结果对所述待定位目标进行抓取。

可选地,所述比较模块,还用于:

若所述第二面积交并比大于第二预设阈值且小于第三预设阈值,则将所述候选定位结果、所述2d图像和所述3d图像打包成错误数据包,并将所述错误数据包存储至数据库。

可选地,所述比较模块,还用于:

记录所述错误数据包的数量;

若所述错误数据包的数量大于预设阈值,则基于所述错误数据包以及经验数据,对所述神经网络进行训练。

可选地,所述采集模块,还用于:

若检测到抓取所述待定位目标完成,则控制下一个待定位目标进入所述相机组的拍摄范围内,并执行所述通过所述相机组采集所述待定位目标的2d图像和3d图像的步骤。

可选地,所述采集模块,还用于:

获取所述待定位目标的最大长度以及所述相机组的视场角;

基于所述最大长度以及所述视场角确定所述相机组与所述待定位目标之间的工作距离,并控制所述相机组移动至所述工作距离的位置。

此外,本发明实施例还提出一种计算机可读存储介质,所述计算机可读存储介质上存储有目标定位程序,所述目标定位程序被处理器执行时实现如上述中任一项所述的目标定位方法的步骤。

本发明计算机可读存储介质具体实施例与上述目标定位方法的各实施例基本相同,在此不再详细赘述。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。

通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如rom/ram、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

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