本发明涉及农业,具体是一种漏苗检测和定位的方法、设备及存储介质。
背景技术:
1、水稻种植通常需要这样的步骤:选种、育苗、插秧、田间管理、收割和加工,其中插秧目前很多地方都是使用插秧机自动插秧,但是机器会出现漏插的现象,针对这样的漏插现象,在插秧机上安装相机进行图像检测,得到漏苗率以及漏苗位置,从而人工插秧。
技术实现思路
1、本发明的目的在于提供一种漏苗检测和定位的方法、设备及存储介质,利用图像深度学习技术对水稻苗进行实时监控检测,计算水稻苗漏苗比例以及漏苗所在位置,从而可以人工补苗。
2、本发明的目的可以通过以下技术方案实现:
3、本技术提供了一种漏苗检测和定位的方法,包括如下步骤:
4、s1:标注样本,人工标注水稻苗在田里的样本,获取水稻苗在图像中的位置;
5、s2:训练检测模型,收集大量人工标注的样本后,使用阈值二值化或深度学习的分割算法训练一个分割模型,模型能够准确地分割出水稻苗在图像中的位置;
6、s3:位置标定,在插秧机上搭载能看到刚插入秧苗的相机设备与rtk或gps设备,事先标定相机内参与相机到rtk设备之间的相对位置关系,确保相机高度预设好,并标定好变换关系将目标在图像的像素位置转换为世界坐标系位置;
7、s4:使用过程,通过相机采集的图像,使用训练好的分割模型检测水稻苗的像素位置,结合标定参数、相机与rtk的变换关系以及rtk获取的位置信息,将水稻苗的像素位置转换为世界坐标系下的位置;
8、s5:计算漏苗率,根据预设的直线和间隔,在世界坐标系下对直线进行采样,并将采样点与水稻苗的位置进行距离计算,通过判断距离小于一定阈值的采样点是否存在,来判断漏苗情况,最终计算出漏苗率;
9、s6:结果输出,根据漏苗率的计算结果,将漏苗的区域显示出来,以便进行人工补苗操作。
10、作为优选的,根据步骤s1所述的标注样本,使用二值化分割或深度学习的分割方法,包括:
11、图像预处理,对采集到的相机图像进行预处理;
12、阈值分割,选择阈值,将图像转换为二值图像,通过设定阈值,将水稻苗与背景分离开来,形成明显的黑白对比;
13、连通区域分析,对二值图像进行连通区域分析,识别水稻苗所在的连通区域;
14、获取位置信息,根据连通区域的位置和大小特征,确定水稻苗在图像中的位置。
15、作为优选的,根据步骤s2所述的检测模型,采用阈值二值化或deeplab v3算法,进行数据准备,收集大量人工标注样本,包含水稻苗的图像以及对应的像素级标注;再进行模型训练,使用标注好的样本数据对深度学习的分割模型进行训练,通过学习图像特征和像素级标注之间的关系,使模型能够准确地分割出水稻苗的区域;最后进行模型推理,将预处理后的图像输入已训练好的深度学习分割模型,通过前向传播得到水稻苗的像素级分割结果。
16、作为优选的,根据步骤s3所述的标定相机内参与相机到rtk设备之间的相对位置关系,在相机坐标系下,设定三维点p=[x,y,z]被投影到图像平面上的像素点p=[u,v,1],其中u和v是像素坐标,1表示齐次坐标;
17、定义相机内参矩阵k为:
18、k=[[fx,0,cx],
19、[0,fy,cy],
20、[0,0,1]]
21、其中,fx和fy分别是水平和垂直方向的焦距,(cx,cy)是主点坐标;
22、根据相机的成像原理,得到以下关系:
23、s*u=fx*x/z+cx;
24、s*v=fy*y/z+cy;
25、其中,s是像素的尺度因子,得到:
26、u=(fx*x/z+cx)/s
27、v=(fy*y/z+cy)/s
28、将相机内参矩阵k带入上述等式,得到最终的相机模型:
29、u=(fx*x/z+cx)/s
30、v=(fy*y/z+cy)/s。
31、作为优选的,所述标定好变换关系,收集已知世界坐标系下的点,并同时获取这些点在相机图像中的像素位置和rtk设备获取的对应位置信息;
32、利用相机标定技术,得到相机的内参矩阵k,包括焦距和主点坐标;使用相机内参矩阵k将图像上的像素位置(u,v)转换为相机坐标系下的坐标(xc,yc,zc),具体为,
33、xc=(u-cx)*z/fx
34、yc=(v-cy)*z/fy
35、zc=z
36、其中,(cx,cy)是主点坐标,fx和fy分别是水平和垂直方向的焦距,z是已知的世界坐标系下的点的深度或距离;
37、再根据已知的世界坐标系下的点的位置信息和rtk设备获取的对应位置信息,计算相机到rtk设备之间的旋转矩阵r和平移向量t,通过解算以下公式得到:
38、s*[u'v'1]'=k*[r t]*[xc yc zc 1]'
39、其中,(u',v')是rtk设备获取的对应位置信息在图像中的像素位置,[r t]表示相机到rtk设备的外参矩阵,[xc yc zc 1]'是相机坐标系下的坐标;
40、利用相机到rtk设备的旋转矩阵r和平移向量t以及已知的相机坐标系下的坐标(xc,yc,zc),将相机坐标系下的坐标转换为rtk设备坐标系下的坐标(xr,yr,zr),通过以下公式实现:
41、[xr yr zr 1]'=[r t]*[xc yc zc 1]'
42、其中,[xr yr zr 1]'是目标在rtk设备坐标系下的坐标。
43、作为优选的,根据步骤s5所述的计算出漏苗率,包括如下步骤:
44、s51:使用模型对相机采集的图像进行检测,得到水稻苗在图像的像素位置;
45、s52:取水稻苗在图像上的位置,根据事先标定的图像像素与相机内参关系、相机与rtk的变换关系、rtk获取自身在世界坐标系的位置,从而得到水稻苗在世界坐标系的位置pw;
46、s53:相机相对插秧机位置固定,而插秧机在田里基本是走直线,所以在图像上预设了直线,用户随时调整直线位置;
47、s54:将步骤s53中的直线转换到世界坐标系,并按照相对插秧机由近到远间隔采点的方式对直线采样,其中的间隔大小和插秧机插秧间隔有关,且为已知的;
48、s55:根据步骤s54得到的点q,遍历每一个点qi去和步骤s52中检测的水稻苗在世界坐标系的位置pw计算在世界坐标系下的距离;
49、s56:判断距离小于阈值则说明qi位置有苗,如果大于预设的阈值则说明qi位置漏苗,其中阈值根据插秧机的插秧间隔预设。
50、作为优选的,根据步骤s51-s56,漏苗率的计算,是由q中与检测水稻苗结果大于阈值的点作为漏苗个数,除以q的总数得到漏苗率,计算公式为:
51、漏苗率=漏苗个数/|q|
52、其中,|q|表示点集q的总数。
53、一种漏苗检测和定位的设备,包括至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现上述所述的方法。
54、一种存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现上述所述的方法。
55、本发明的有益效果为:
56、(1)利用深度学习技术和相机设备,对水稻苗进行实时检测和定位,通过标注样本并训练检测模型,可以准确地检测水稻苗在图像中的位置,包括关键点、矩形框或分割结果,通过相机采集的图像,结合事先标定的相机内参和相机与rtk设备的变换关系,可以将水稻苗的像素位置转换为世界坐标系下的位置;
57、(2)根据预设的直线和间隔,在世界坐标系下对直线进行采样,并将采样点与水稻苗的位置进行距离计算,通过比较距离与阈值的大小,可以判断是否漏苗,统计漏苗的数量,并计算出漏苗率,这样可以及时了解水稻苗的生长情况,提供补苗等决策支持。
1.一种漏苗检测和定位的方法,其特征在于:包括如下步骤:
2.根据权利要求1所述的一种漏苗检测和定位的方法,其特征在于:根据步骤s1所述的标注样本,使用二值化分割或深度学习的分割方法,包括:
3.根据权利要求1所述的一种漏苗检测和定位的方法,其特征在于:根据步骤s2所述的检测模型,采用阈值二值化或deeplab v3算法,进行数据准备,收集大量人工标注样本,包含水稻苗的图像以及对应的像素级标注;再进行模型训练,使用标注好的样本数据对深度学习的分割模型进行训练,通过学习图像特征和像素级标注之间的关系,使模型能够准确地分割出水稻苗的区域;最后进行模型推理,将预处理后的图像输入已训练好的深度学习分割模型,通过前向传播得到水稻苗的像素级分割结果。
4.根据权利要求1所述的一种漏苗检测和定位的方法,其特征在于:根据步骤s3所述的标定相机内参与相机到rtk设备之间的相对位置关系,在相机坐标系下,设定三维点p=[x,y,z]被投影到图像平面上的像素点p=[u,v,1],其中u和v是像素坐标,1表示齐次坐标;
5.根据权利要求1所述的一种漏苗检测和定位的方法,其特征在于:所述标定好变换关系,收集已知世界坐标系下的点,并同时获取这些点在相机图像中的像素位置和rtk设备获取的对应位置信息;
6.根据权利要求1所述的一种漏苗检测和定位的方法,其特征在于:根据步骤s5所述的计算出漏苗率,包括如下步骤:
7.根据权利要求6所述的一种漏苗检测和定位的方法,其特征在于:根据步骤s51-s56,漏苗率的计算,是由q中与检测水稻苗结果大于阈值的点作为漏苗个数,除以q的总数得到漏苗率,计算公式为:
8.一种漏苗检测和定位的设备,其特征在于:包括至少一个处理器、至少一个存储器以及存储在存储器中的计算机程序指令,当计算机程序指令被处理器执行时实现上述所述的方法。
9.一种存储介质,其上存储有计算机程序指令,其特征在于:当计算机程序指令被处理器执行时实现上述所述的方法。