一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种栈板识别定位方法、储存介质和电子设备与流程

2022-03-23 02:16:29 来源:中国专利 TAG:


1.本发明属于识别与定位领域,具体涉及一种栈板识别定位方法、储存介质和电子设备。


背景技术:

2.近年来,随着科学技术的不断进步,货物搬运的方式也由以往的人工搬运方式升级为当今的自主导航agv或者激光叉车的自动搬运方式,其中的激光叉车广泛应用于自动化生产线及仓储物流。
3.仓库或者生产线的货物一般放置在栈板上,这种栈板的双孔结构,便于叉车的双臂叉取和搬运。在实际应用中,叉车将放有货物的栈板从一个地方移动到另一个地方,从而实现了货物的搬运。激光叉车要叉取栈板,首先要识别栈板,获取的栈板插孔的准确位置,然后才能进行叉取动作。
4.目前栈板识别没有非常通用和成熟的技术,主要是用深度相机获取栈板点云或者深度图的方式来识别栈板。但是深度相机价格昂贵,使用成本较高;而且通过获取点云来进行特征匹配的栈板识别方法,使用局限性较大,且鲁棒性不高,检测时对栈板距离范围和摆放角度要求严格,放远了一点或者放歪了一点都有可能无法识别。


技术实现要素:

5.本发明的目的在于克服现有技术的不足,提供一种具有低成本和高鲁棒性特点的深度学习的栈板识别定位方法、储存介质和电子设备。
6.为了达到上述目的,本发明采用以下技术方案:
7.一种栈板识别定位方法,包括以下步骤:
8.通过双目照相机获取栈板图片。
9.使用模型对栈板图片进行分析,确定所述栈板图片中的关键点的二维坐标信息,其中,所述模型为使用多组数据通过机器学习训练得出,所述多组数据中的每组数据均包括:栈板图片和标识该栈板图片关键点二位坐标信息的标识。
10.将所述栈板图片的二位坐标信息转换为三维坐标信息。
11.根据三维坐标的信息求解栈板摆放角度α。
12.根据所述三维坐标信息和摆放角度α,定位栈板位姿。
13.与现有技术相比,本发明的栈板识别及定位方法,仅需使用普通双目相机和深度学习算法来仅需目标识别与检测,相比现有采用获取点云数据的深度相机具有较好的低成本和高鲁棒性的特点。
14.进一步的,所述关键点的二位坐标信息包括:左边缘点坐标信息、右边缘点坐标和中心点坐标信息。
15.进一步的,所述栈板图片包括左相机栈板图片和右相机栈板图片;左相机栈板图片关键点的二位坐标信息包括左相机图像中的中心坐标p0(x0,y0),左边缘坐标p1(x1,
y1),右边缘坐标p2(x2,y2);右相机栈板图片关键点的二位坐标信息包括右相机图像中的中心坐标p0’(x0’,y0’),左边缘坐标p1’(x1’,y1’),右边缘坐标p2’(x2’,y2’)。
16.进一步的,对所述双目照相机作棋盘格标定,输出左相机和右相机的相机矩阵、畸变矩阵、旋转向量和平移向量;获取左相机栈板原始图片并结合所述左相机的相机矩阵、畸变矩阵、旋转向量和平移向量参数,输出所述左相机栈板图片;获取右相机栈板原始图片并结合所述右相机的相机矩阵、畸变矩阵、旋转向量和平移向量参数,输出所述右相机栈板图片。
17.进一步的,所述多组数据为500-1000张栈板图片,所述模型通过yolov3框架进行深度学习训练。
18.进一步的,求p0与p0’对应的3维坐标q0,p1与p1’对应的3维坐标q1,p2与p2’对应的3维坐标q2,将左相机的旋转向量、平移向量和左右相机的相机矩阵通过矩阵变换分别得到最小二乘a矩阵和b矩阵,然后采用svd最小二乘法求解对应点的3维坐标,得到以左相机中心为原点的深度信息:中心坐标q0(x0,y0,z0),左边缘坐标q1(x1,y1,z1),右边缘坐标q2(x2,y2,z2)。
19.进一步的,将输出的左边缘坐标u1(x1,z1)和右边缘坐标u2(x2,z2)两点连线,计算出这条直线的斜率k=(z2-z1)/(x2-x1),角度α=arctan((z2-z1)/(x2-x1))。
20.一种存储介质,所述存储介质上存储有所述的栈板识别定位方法。
21.一种电子设备,包括处理器和存储器,所述处理器和所述存储器之间相互通信,所述存储器用于存放可执行的指令,使所述处理器执行该指令时实现所述栈板识别定位方法。
附图说明
22.图1为发明的栈板识别及定位方法的原理图
23.图2为本发明步骤f的示意图
24.图3为本发明步骤h的示意图
具体实施方式
25.以下结合附图说明本发明的技术方案:
26.实施例一:
27.参见图1至图3,本发明的栈板识别及定位方法,包括以下过程和步骤:
28.a.相机标定,包括步骤a1至a4。
29.a1.用相机从不同距离和角度拍摄预设尺寸的棋盘格标定板,得到棋盘格标定板的若干张原始图片s1,用作标定的图片数据集。
30.a2.获取标定板原始图片s1中的棋盘格各个格子的角点:用opencv的角点检测函数findchessboardcorners逐一检测步骤a1采集的原始图片s1,获取对应原始图片s1数据集中每一张图片棋盘格的角点坐标,将各张原始图片s1的角点坐标依次存储在一个2维点(point2f)数组a中;将各张原始图片s1中角点的实际物理坐标依次存储在一个3维点(point3f)数组b中。
31.a3.获取相机的相机矩阵和畸变矩阵:以a2输出的数组a和数组b作为参数,调用
opencv的标定函数calibratecamera,输出该相机的相机矩阵、畸变矩阵、旋转向量和平移向量。
32.a4.重复以上步骤a1至a3,分别对左右两个相机进行标定,得到左右两个相机对应的相机矩阵、畸变矩阵、旋转向量和平移向量,将这些数据进行保存,从而完成相机标定。
33.b.采集栈板训练及图片数据,包括步骤b1和b2。
34.b1.拍摄若干张栈板图片t0:分别用双目相机的左摄像头和右摄像头从不同角度和距离拍摄栈板正面的图片,栈板图片t0包括左相机栈板图片和右相机栈板图片,以步骤a4得到的左摄像头和右摄像头的内参矩阵、畸变矩阵和采集到的图片作为参数,调用opencv的矫正畸变函数undistort,输出矫正后的栈板图片t1,进行保存。在该步骤中,拍摄的若干张栈板图片t0,可以是在叉车现场环境中拍摄的若干张栈板图片为图片数据集来训练,也可以是在不同场景和不同光线场景下采集栈板图片作为图片数据集来训练,以提高模型鲁棒性。
35.b2.重复步骤b1,拍摄保存多组矫正后栈板图片t1的数据,完成栈板训练集图片数据数据集准备,多组数据为例如是500至1000张矫正后栈板图片t1等。
36.c.上一步骤准备好了用于训练模型的数据集,进而用labelimg读入数据集图片,再用labelimg的工具在矫正后的栈板图片t1中准确框选栈板,然后设置标签生成并保存xml标签文件,使数据集的每一张矫正后的栈板图片t1都标注完成,以备下一步骤训练时使用。
37.d.使用yolov3的深度学习框架来训练模型,首先设置cfg配置文件,将filters设置为18;batch设置为64;subdivisions设置为16;max_batches设置为5000,设置后进行保存,并使用yolov3的深度学习框架来训练模型,训练完成后,得到最终的栈板模型权重文件。
38.e.使用yolov3框架来实现检测和识别功能,需要设置cfg配置文件,因只有一个类,filters设置为18;batch设置为1;subdivisions设置为1;max_batches设置为5000,设置好后保存文件;检测时使用上一步训练得到的栈板模型权重文件,具体包括步骤e1至e3。
39.e1.叉车上的双目相机采集栈板图片r0,分别用双目相机的左摄像头和右摄像头从不同角度和距离拍摄栈板正面的图片,以步骤a4得到的左摄像头和右摄像头的内参矩阵、畸变矩阵和采集到的图片作为参数,调用opencv的矫正畸变函数undistort的方式矫正栈板图片r0,输出消除畸变后的栈板图片r1。栈板图片r1包括左相机栈板图片和右相机栈板图片,其中左相机栈板图片关键点的二位坐标信息包括左相机图像中的中心坐标p0(x0,y0),左边缘坐标p1(x1,y1),右边缘坐标p2(x2,y2);右相机栈板图片关键点的二位坐标信息包括右相机图像中的中心坐标p0’(x0’,y0’),左边缘坐标p1’(x1’,y1’),右边缘坐标p2’(x2’,y2’)。
40.e2.设置cfg配置文件,将filters设置为18;batch设置为1;subdivisions设置为1;max_batches设置为5000,并准备好步骤d训练得到的栈板模型权重文件,输入步骤e1栈板图片r1的图像信息,运行yolov3框架检测程序,输出检测到的栈板前侧的中心坐标、左边缘坐标和右边缘坐标,并在被测图像中框出栈板。
41.e3.重复步骤e1和e2,分别获取到目标栈板在左相机图像中的中心坐标p0(x0,y0),左边缘坐标p1(x1,y1),右边缘坐标p2(x2,y2);和右相机图像中的中心坐标p0’(x0’,
y0’),左边缘坐标p1’(x1’,y1’),右边缘坐标p2’(x2’,y2’)。
42.f.将同一空间点在双目相机成像后各自的图像坐标转为空间的3维坐标,即求p0与p0’对应的3维坐标q0,p1与p1’对应的3维坐标q1,p2与p2’对应的3维坐标q2,本方案采用了最小二乘算法来实现这一功能。将左相机的旋转向量、平移向量和左右相机的相机矩阵通过矩阵变换分别得到最小二乘a矩阵和b矩阵,然后采用svd(opencv的solve函数)最小二乘法求解对应点的3维坐标,实现相机坐标系的坐标转为世界坐标系的坐标。按照此步骤分别对栈板的前侧的中心坐标、左边缘坐标和右边缘坐标求解,得到以左相机中心为原点的深度信息:中心坐标q0(x0,y0,z0),左边缘坐标q1(x1,y1,z1),右边缘坐标q2(x2,y2,z2)。
43.g.计算栈板的摆放角度,以地面作为平面,将步骤f输出的左边缘坐标u1(x1,z1)和右边缘坐标u2(x2,z2)两点连线,计算出这条直线的斜率k=(z2-z1)/(x2-x1),角度α=arctan((z2-z1)/(x2-x1))。
44.h.叉车根据栈板的中心坐标q0(x0,y0,z0)和摆放角度α,调节叉臂角度和路径,准确叉取栈板。
45.在步骤a中,本发明的方案不仅仅是识别栈板,还需要更为重要的精确定位这一功能,要实现精确定位,需要对相机进行标定。因相机镜头的特性决定了拍摄的原始图像有畸变和误差,这种畸变降低了检测的精度,所以原始图像需要消除畸变,以保证图像信息的可靠性。同时,图像中的关键点(即要获取的点)坐标也需要转换为世界坐标系的3维坐标,所述关键点的二位坐标信息包括:左边缘点坐标信息、右边缘点坐标和中心点坐标信息,所述栈板图片包括左相机栈板图片和右相机栈板图片,其中左相机栈板图片关键点的二位坐标信息包括左相机图像中的中心坐标p0(x0,y0),左边缘坐标p1(x1,y1),右边缘坐标p2(x2,y2);右相机栈板图片关键点的二位坐标信息包括右相机图像中的中心坐标p0’(x0’,y0’),左边缘坐标p1’(x1’,y1’),右边缘坐标p2’(x2’,y2’)。因不论是矫正图像还是坐标转换都需要使用相机参数,所以需要对相机进行标定,以获取相机参数(旋转矩阵,平移矩阵,相机矩阵,畸变矩阵)。因使用的是双目相机,所以需要对两个相机分别进行标定,获取左右两个相机参数。本方案采用的是目前最为通用的相机标定方法
‑‑
棋盘格标定法。
46.与现有技术相比,本发明的栈板识别及定位方法,仅需使用普通双目相机和深度学习算法来仅需目标识别与检测,相比现有采用获取点云数据的深度相机具有较好的低成本和高鲁棒性的特点。
47.在一种实施例中,在步骤d中,训练时使用训练权重文件darknet53.conv.74缩短训练时间,训练完成后,得到最终的栈板模型权重文件;通过这样设置,有效地缩短模型训练时间,提高运算效率。
48.本发明的栈板识别及定位方法,用于无人全自动物流搬运系统激光叉车中的栈板识别和定位,激光叉车根据识别到的栈板位姿实现对栈板精确定位,从而预先调节自身的角度和行走路径,使其叉臂精准叉取栈板。,其包括以下工作过程:
49.1.用双目相机从不同距离和角度拍摄棋盘格标定板,得到棋盘格标定板的若干张图片,分别利用左右相机各自拍摄得到图像标定出各自的相机参数。
50.2.用双目相机拍摄栈板,输出消除畸变的栈板图像,并将图像文件保存在指定文件夹。按照此方法从不同角度和方向拍摄栈板,得到1000张消除畸变的栈板图像文件,作为训练用的数据集(包括训练集和验证集,并设置不同的文件路径)。
51.3.利用labelimg工具对上一步得到的图像数据集进行栈板标注,并生成和保存xml文件。
52.4.本方案使用yolov3算法框架训练栈板模型,准备好了数据集和标注文件,利用预训练权重进行模型训练,训练完成后得到一个栈板模型权重文件。
53.5.利用拍摄到的图片及上一步得到的权重文件,运行目标检测程序,输出栈板在图像中的一组坐标,坐标包括栈板的中心坐标、左侧边和右侧边坐标;需要对左右相机拍摄到的图像分别检测,获取左右两组坐标。
54.6.用最小二乘算法对两组坐标进行求解,输出栈板相对于左相机的一组三维坐标,即栈板中心,左侧边和右侧边的空间位置。
55.7.根据上一步得到的左右两侧边缘的三维坐标的x和z,利用两点直线斜率计算出栈板前侧的摆放角度。
56.8.激光叉车根据第6步获取的栈板中心位置和第7步获取的栈板摆放角度,调整车身位置,实现对栈板的精准叉取。
57.实施例二:
58.本发明的存储介质,所述存储介质上存储有实施例一种的所述栈板识别定位方法。
59.与现有技术相比,本发明的存储介质,仅需使用普通双目相机和深度学习算法来仅需目标识别与检测,相比现有采用获取点云数据的深度相机具有较好的低成本和高鲁棒性的特点。
60.实施例三:
61.本发明的电子设备,包括处理器和存储器,所述处理器和所述存储器之间相互通信,所述存储器用于存放可执行的指令,使所述处理器执行该指令时实现实施例一种所述栈板识别定位方法。
62.与现有技术相比,本发明的电子设备,仅需使用普通双目相机和深度学习算法来仅需目标识别与检测,相比现有采用获取点云数据的深度相机具有较好的低成本和高鲁棒性的特点。
63.根据上述说明书的揭示和教导,本发明所属领域的技术人员还可以对上述实施方式进行变更和修改。因此,本发明并不局限于上面揭示和描述的具体实施方式,对本发明的一些修改和变更也应当落入本发明的权利要求的保护范围内。此外,尽管本说明书中使用了一些特定的术语,但这些术语只是为了方便说明,并不对本发明构成任何限制。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献