基于深度学习的水稻精量穴播排种系统设计与测试
2022-12-10杜龙龙朱景建王荣扬陆学斌
杜龙龙, 朱景建, 王荣扬, 陆学斌, 于 斌
(1.湖州职业技术学院,浙江湖州 313000; 2.湖州市机器人系统集成与智能装备重点实验室,浙江湖州 313000;3.哈尔滨理工大学,黑龙江哈尔滨 150000)
水稻是我国重要的粮食作物,我国有将近60%的人口把种粒当成主食,水稻的产量关系到国民生计,而先进的播种技术是水稻稳产增收的保证。精量穴直播技术是近年来水稻机械化精量播种的热点研究方向之一,排种系统作为水稻穴播机关键部件,其性能对水稻播种质量具有重要意义。区别于欧美国家的宽幅条播和飞机撒播,我国专家学者针对国内种植面积较小的国情,对水稻精量排种机制进行了研究。
罗锡文院士等对不同的型孔进行排种试验,设计出了一种瓢型型孔排种系统;王在满等运用高速摄像技术对瓢型型孔排种系统进行优化,使系统漏播率减低,成穴率进一步提高[1]。田立权等运用Matlab分析了稻种在螺旋槽内运动速度和槽角度的内在关系,设计了一种螺旋槽排种系统[2];张国忠等在原有气力式穴播机上安装了一个导向型搅拌结构,提升了排种精度[3];邢赫等设计了一种分层充种室的结构,减小了种间的摩擦力,增强了种子的流动性,有效提高了气力式排种系统的播种精度[4]。赵湛等采用湍流模型和气固两相流模型对排种器吸种过程进行了仿真,获取了盘吸式排种系统的最佳吸种位置,提高了播种精度[5]。为同时满足杂交稻和常规稻的播种要求,张明华等设计了一种型孔轮壳、孔轮、调节器的组合型孔排种器,提升了排种系统的通用性[6]。臧英等针对气力式穴播器“飞种”现象,设计出一种挡种结构,试验表明,这种结构可以有效降低“飞种”现象[7]。朱德泉等运用仿真软件获取水稻种子在排种轮不同转速下的运动规律,设计了一种滑片式孔轮排种系统[8]。上述研究对国内水稻穴播技术做了卓有成效的探索,为后续的改良提供了借鉴,但是这些研究大多基于稻种的运动规律从机械模具上进行改进从而提升排种精度和播种效率。如何运用智能检测技术对排种器的实时播种状态进行准确监测,根据反馈结果使排种系统进行自我修正,形成实时的闭环反馈是需要进一步研究的问题。
综上所述,笔者所在研究组针对当前绝大多数水稻穴播机缺乏实时监测和自我调节的功能弊端,以穴播机排种系统作为研究对象,探索深度学习技术对稻种识别计数的工作机制,研究基于PID技术实时调节稻种排种速率的方法,在轮式穴播机的基础上创新设计了一种基于深度学习的水稻精量穴播排种系统,以提升水稻的播种效率和播种质量,实现精准播种。
1 精量穴播排种系统总体设计
为对水稻穴播机排种器进行智能化改良,本设计提出利用YOLOv5+DeepSORT的神经网络框架对稻种进行计数识别训练。笔者所在研究组采用自制的水稻图片和视频数据集,包含深度双目相机拍摄的采摘前后的水稻图像9 673张。将图像统一缩放成680×680输入检测器进行训练,通过增加YOLOv5的检测尺度和初始锚定框的数量改进检测器对小目标稻种的检测能力,解决以往深度学习对小目标对象检测不准的缺陷,将YOLOv5训练好的输出结果作为后续DeepSORT算法追踪计数模型的输入。利用高速相机实时采样排种过程中的稻种图像,将采样生成的图像信息送入训练好的计数模型,结合稻种在排种过程中的运动信息和外观信息实现端到端的准确计数识别检测,将最终检测模型输出的稻种数量反馈给排种器的智能控制端,通过PID控制技术实时调节振送器的送种速率,实现水稻穴播机的自我调节机制,实时调控智能排种(图1)。
2 精密排种系统设计
2.1 排种系统机械结构设计及工作原理
排种系统机械结构见图2,由种箱、播种箱体、控制单片机、振送器控制器、种群分离装置、振送器、护种结构、复合式播种结构、漏斗、驱动电机等部分构成。种箱位于整机上方,通过穴播机行进过程中的抖动对种群分离装置及时补种;单片机安装于样机后侧挡板,通过脉宽调制调节振送器振动频率改变送种速率,控制驱动电机转速满足播种穴距指标;种群分离装置内部通过多层隔弊结构防止种子相互挤压破裂,漏弊结构将稻种在进入播种机构前从单元种箱分离出来;复合式播种结构由柔性皮带(取种带)和2个直径不同的皮带轮组成,小直径为排种轮,大直径为储种轮,小直径排种轮可以提高种粒的成穴性,柔性皮带表面有窝眼以供种粒进穴,排种轮和储种轮之间有缓冲斜面,可以防止未进穴孔的种粒误掉落。
播种时,机具在前进时产生抖动带动种箱,使稻种进入种群分离装置的单元种箱内,振送器此时通过一定的振动频率将稻种通过漏弊网口送入储种轮,储种轮向前转动时带动种粒依次进入取种带穴孔、排种轮完成第一阶段排种。此时高速相机对取种带每个穴孔的种粒数量进行采样并将特征图像信息传送到深度学习检测器中进行识别计数,将检测的结果值反馈给机具内部的单片机,单片机根据检测结果与实际需求进行比对并计算出种粒数量偏差,依据数值偏差调整振送器送种速率达到闭环控制的效果,从而实现水稻排种系统自我调节机制[9]。
2.2 水稻种粒YOLOv5识别模型
2.2.1 试验数据采集及数据集制作 试验园位于浙江省湖州市东林镇水稻基地(120°05′E,30°40′N),以当地种植的水稻(南粳46号)为采样对象,在2021年8月6日至8月10日对研究对象进行图像和视频的数据采集。笔者所在研究组以大疆M600PRO飞行器为移动采样系统,并搭载双目深度相机T265对水稻数据进行获取。为尽可能获得多姿态的水稻特征信息,笔者所在研究组从09:00到16:00间隔2 h控制飞行器悬停于不同高度对研究对象进行数据采集,共拍摄未采摘的水稻样本照片1 687张,图像分辨率为1 280×720。同时拍摄水稻穴播机播种视频20个,视频分辨率为1 280×720,帧数为 30 帧/s。为保证样本的多样性,辅以手机和相机(手机型号为魅族note8,相机型号为索尼zv1)采样手段获取采摘后的稻种照片988张,像素分别为 4 000×3 000和3 840×5 120。
2.2.2 YOLOv5水稻识别模型
2.2.2.1 YOLOv5算法简介 YOLOv5网络结构按照处理阶段分为 Input、Backbone、Neck、Prediction 4个部分(图3),Input输入端包含Mosaic数据增强、输入图片自适应缩放和锚框计算等模块。其中Mosaic增强提升了小目标对象的识别精度,适用于本次识别对象水稻种粒的检测。YOLOv5主干网络沿用了YOLOv4的CSPNet的模型,算法中设计了2种CSPNet结构,分别记做CSP1、CSP2。CSP1存在于Backbone中用于提取特征信息,CSP2存在于Neck中用于融合特征信息。Backbone中新增了Focus模块,对输入图像进行切片操作变成320×320×12特征图像,再进行一次卷积操作得到320×320×32的特征图像,使特征图像从原本的RGB三通道扩充了4倍并保证了特征信息不损失。Focus层在增强了水稻特征信息感受野的同时,保证了特征信息丢失的最小化,提升了检测精度。Neck由FPN+PAN结构组成,FPN通过上采样的方式将特征信息进行融合,PAN则通过下采样的方式传递语义信息,二者互补实现了不同尺度的特征融合。输出端用NMS加权系数可以有效解决检测对象被遮挡等问题,适宜于本次任务中运动中的种粒检测[10-11]。
2.3 针对种粒检测YOLOv5算法的改进
YOLOv5在目前主流的识别算法中对于开源数据集具有高效性和精准性的优势,但是对于运动中的颗粒状种粒的检测还需要进一步改进。
2.3.1 小目标对象多尺度测量的改进 YOLOv5网络模型在公共数据集上如VOC、COCO进行测试可以取得较好的识别效果,但是这些数据集检测目标对象往往较大,而排种系统中检测的对象是颗粒状的种粒,相对来说检测目标较小,在提取目标对象图像特征时,经过多重卷积运算后更容易丢失特征信息,造成检测精度的下降。为加强模型多尺度检测的精度,提高小目标对象的检测性能,研究组将模型输出由原本的三尺度检测增加为四尺度检测,当输入图像大小为640×640时,在输出端增加1层160×160检测层。同时为进一步增强各层的感受野,加强不同层级的特征信息融合,减少小目标对象检测中特征信息的丢失,将原本的2次上采样改进为多次上采样组合的方式以提升排种过程中种粒的识别精度[12]。改进后的网络模型见图4。
2.3.2 YOLOv5初始锚框参数改进 YOLOv5在自适应计算锚框的过程中会根据检测对象的大小预先内部生成初始预测框,运用聚类算法和遗传算法将输出的预测框和实际值进行比较,计算预测框与实际值的差值,进行反向迭代不断更新,直到满足适应检测对象锚定框的收敛条件。COCO数据集上,YOLOv5针对最小的特征图像初始预测框尺寸为(10,13)、(16,30)、(33,23),并不能满足四尺度的检测需求。与真值相差过大的初始预测框会增加遗传算法中迭代更新的次数从而增加计算量,影响模型输出的实时性,本设计针对160×160种粒颗粒检测层设置初始预测框(5,6)、(8,12)、(12,10)以增加种粒检测的效率[13]。
2.4 种粒追踪计数算法DeepSORT
本设计研究的对象为颗粒状的种粒,在排种过程中排种轮的快速转动会影响种粒的运动姿态造成视觉错位和互相遮挡,导致计数结果漏检、错检,因此需要对检测区域内的每一个种粒进行目标追踪。DeepSORT算法包含基于卡尔曼滤波器的预测模块和匈牙利算法的匹配模块,相较于原有SORT算法融合了运动信息和外观信息作为关联变量,采用深度卷积网络ReID模型对特征变量进行提取,ReID模型有效解决了检测目标被遮挡后跟踪丢失的问题,增强了多目标跟踪算法的鲁棒性[14]。
d(1)(i,j)=(dj-yi)TS-1(dj-yj)
。
(1)
式中:dj和yi表示种粒的第j个实际检测结果和追踪器对种粒第i个预测结果的状态向量,S为表示检测到的种粒实际结果和平均追踪结果的协方差矩阵。设定一个适当的阈值,当经过数值计算得到的距离d小于阈值则判定为关联成功。
(2)
设定一最小阈值,当获取的最小余弦值小于阈值时,则关联成功。此时,通过将马氏距离对种粒短时运动状态的预测信息与余弦距离对种粒被遮挡后ID重新恢复后的预测信息进行加权,使二者的预测模式优势互补。
ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j)
。
(3)
当度量值为二者预测模型的交集中,则认为追踪的种粒与实际位置精确关联。参数λ为2种预测模型对最终结果影响比例的大小[15]。
3 排种系统性能测试
为验证本研究设计的深度学习水稻精量穴播机排种系统的性能,试验组于2022年3月12日至3月22日在东林镇水稻种植基地进行性能测试。试验从以下几个方面对排种系统进行测试:改进后的YOLOv5种粒识别模型可靠性测试、种粒跟踪计数性能测试、排种系统排种性能测试。试验环境平台运行在Ubuntu18.04操作系统下,搭载Intel Core i7-4770 处理器,32 G内存,配备英伟达GeForce RTX 2080显卡。模型训练基于pytorch 1.8框架,编程平台为Python 3.7,采用CUDA11.0和CUDN 7.4为GPU加速。
3.1 YOLOv5种粒识别模型可靠性测试
为验证改进后的YOLOv5种粒识别模型的可靠性,训练前将自制数据集统一仿照VOC数据格式,大小调整为680×680,防止异常样本造成训练偏差。初始学习率设置为0.001,动量因子设置为0.99,每次输入样本数量为28,最大训练次数为 5 000(图5)。模型在迭代次数4 000左右时趋于稳定,损失值在0.25左右波动,种粒识别模型软件参数设置合理,训练效果良好。
为进一步对改进后的识别模型有效性进行分析,本设计采用准确率(Precision)、召回率(Recall)、平均精度(AP)、检测速度(FPS)进行定量对比分析。
。
(4)
式中:Tp表示模型中被判定正确的正样本;FN表示识别中预测结果为负,而实际为正的样本;FP表示识别中预测结果为正,而实际是负的样本。AP为 P-R 曲线积分所得的面积,AP曲线下方面积越大代表模型性能越好。测试引入主流的识别模型Faster-RCNN、YOLOv4、原版YOLOv5作为对照组,在相同的测试集下,对比结果见图6和表1。
从图6可以看出,相较于YOLOv4,原版YOLOv5新增了Focus结构,增大信息通道的同时减少了有效信息的丢失,使得小目标识别得到有效提升;本研究提出的YOLOv5改进算法增加了原版算法检测尺度并根据种粒的实际尺寸对YOLOv5初始锚框进行了一系列的优化,相较于原版算法,准确率提升了3.0%, 召回率提升了3.6%,平均精度提升了3.2%,说明多尺度的检测层的增加,增强了模型对种粒特征信息的提取,加强了模型内部各层的感受野;实时性方面,YOLOv5相较于YOLOv4在体量上进行了精简,实时性得到了加强,本研究提出的稻种识别模型对初始锚框的修正加强了算法的收敛性,从96帧/s提升到112帧/s。因此,通过对YOLOv5的改进,对种粒目标检测性能指标均有明显提升。
表1 改进后的 YOLOv5水稻种粒识别模型准确率、召回率平均精度和FPS
3.2 种粒跟踪计数识别性能测试
为验证YOLOv5+DeepSORT算法框架的种粒跟踪计数模型的可行性、精准性,选取4个水稻穴播机播种视频作为测试,视频参数为30帧/s,尺寸为1 280×720像素。
从图7可以看出,在图7-a、图7-b中,种粒1、2、4、7在取种带转动过程中没有被遮挡,种粒的ID没有发生改变,处于持续追踪状态;在图7-c、图7-d中, 在排种过程中种粒6因为长时间被其他种粒遮挡,在16帧中ID被算法剔除不再跟踪,在20帧中遮挡物因为滚动发生移位种粒6又重新出现,算法将原有ID和它进行匹配重新跟踪。说明算法提取了追踪目标外观信息后,在被追踪目标长时间被遮挡状态下仍能保持追踪。
为研究排种轮转速对排种系统对种子计数识别性能的影响,研究组将不同转速下的测试视频进行人工计数,以此作为种粒数量的真实值,计数人员对视频逐帧播放直至播放结束,计数结果经过多次采样做均值处理。为更为直观地检测改进算法的识别效果,本研究运用目标切换次数(IDs)、跟踪准确率(MOTA)、跟踪精度(MOTP)评测识别模型追踪性能,并引入原版YOLOv5算法作为对照组同时试验,试验结果见表2。
表2 排种轮在不同转速条件下的性能指标
从表2数据可知,排种轮在不同转速下改进后的种粒追踪计数算法相较于原始算法在核心指标上更有优势,10 r/min转速下准确率、精度分别比原始算法高出4.0、4.1百分点,20 r/min转速下准确率、精度分别比原始算法高出6.0、4.2百分点,在30 r/min转速下准确率、精度分别比原始算法高出4.5、6.5百分点,在40 r/min转速下准确率、精度分别比原始算法高出4.3、4.0百分点,其他指标也有较大的提升;而从整体上看,识别模型在转速 20 r/min 以内识别性能较为稳定,精确率较高;转速上升后出现漏检现象明显增多,原因一方面是排种轮高速运转下稻种的无规则运动导致跟踪算法无法及时准确跟踪,另一方面是取种带在高转速下没有足够的时间从储种轮处及时取种,稻种不能及时进入穴孔,因此导致了指标的下降。因此可以看出,改进后的YOLOv5+DeepSORT识别模型对种子的跟踪计数整体识别精度较高,在10~20 r/min转速之间系统有较高的计数精度。
3.3 排种系统排种性能测试
笔者所在研究组选取南粳46号水稻种子作为试验对象,种粒外形尺寸均值为长宽厚为7.26 mm×3.08 mm×2.26 mm,千粒质量27.8 g,按照DG/T 083—2021《水稻直播机》[16]对本设计排种系统测试各项参数指标。笔者所在研究组在播种试验区内取共 20 行,每隔5 m统计穴数及每穴的种粒数,重复3次,结果取3次测量的平均值。根据文献[16]要求,设定空穴率、穴粒数合格率作为排种器性能评价指标:
(5)
(6)
式中:K为空穴率,mk为所测空穴的个数,M为总共的穴数,S为穴粒数合格率,z为穴粒数合格的穴数,由文献可知穴粒数合格的穴数为农艺要求穴粒数±2。
为减少其他干扰因素对试验结果的影响,试验设定农艺要求穴粒数为2,排种轮转速为20 r/min,机具以0.75 m/s的作业速度进行播种,设置4组重复试验,组A、B、C为对照组,A组为没有进行深度学习反馈的穴播机机具,B组为加入了YOLOv4识别反馈的排种系统,C组为原版YOLOv5的排种系统,D组为研究组设计的引入了YOLOv5改进后的稻米识别反馈排种系统。试验结果见图8。
从图8可以看出,在一段时间内D组2项指标均较高,A组各项指标均较低,可以看出缺少实时反馈机制对排种系统的性能指标影响较大;B、C 2组空穴率较接近,但是穴粒数合格率C组明显要高出B组很多,原因是YOLOv4的小目标识别能力较弱,种粒在动态的取种带上漏检率较高,造成反馈给PID输入的偏差值往往大于实际值,引起补偿送种数量过多,最终造成穴粒数比农艺要求要多,所以合格率较低;D组空穴率为1.33%,穴粒数合格率为95.6%,相较于未引入深度学习反馈机制的普通样机穴粒合格率高出8.73百分点,空穴率降低了2.12百分点,同时也和其他2组指标相差较大,符合水稻直播机的国家标准穴粒数合格率大于85%,旱直播空穴率小于4%的要求;说明将普通的穴播机引入了深度学习的反馈机制,可以在一段时间根据穴粒数的偏差值进行实时纠错修正提升排种系统的指标性能,而增强深度学习小目标对象的检测能力可以更加精准地获取稻种的偏差数量对水稻精量穴播指标影响较大。
4 结论
本研究针对当前水稻穴播机的不足,提出基于深度学习的精量穴播排种系统设计,以改进后的YOLOv5+DeepSORT算法作为稻种的识别计数模型,对排种过程中的种粒进行精确计数,将模型的输出结果输入PID反馈调节模型修正送种速率,实现精准排种。研究结果表明,(1)通过增加YOLOv5的检测尺度增加上采样的次数可以有效增加各层的感受野,减少小目标检测对象特征信息的丢失,通过增加小目标对象的预设锚定框可以优化模型的实时性,相较于原版YOLOv5算法准确率提升了3.0百分点,召回率提升了3.6百分点,平均精度提升了3.2百分点,各方面检测性能都有了提高。(2)将改进后的YOLOv5稻种检测器输入到DeepSORT模型中训练,通过对稻种运动信息和外观信息的协同检测,可以对穴播机排种过程中动态的稻种有效跟踪计数,计数精度和排种轮的转速有相关性。当排种轮的转速在10~20 r/min之间时计数精度较高,当转速高于30 r/min时,精算精度开始下降,排种轮的转速与稻种计数精度的内在数学关系可以做深入分析研究。(3)深度学习水稻穴播排钟系统进行了田间对比测试,结果表明,机具在相同作业速度下,经优化后的排种系统各项指标均优于对照组,空穴率为1.33%,相较于未引入深度学习的普通穴播排种系统下降了2.12百分点,穴粒数合格率为95.6%,较普通排钟系统提升了8.73百分点。根据DG/T 083—2021《水稻直播机》既定标准,本设计水稻排种系统符合排种性能核心指标要求,进一步提升深度学习对稻种颗粒等小颗粒目标的识别精度,对排种系统适应复杂作业环境、提升核心指标有重要意义。