基于图像识别的自走式田间导航车
2023-08-04河北农业大学韩艺铭马志凯杨舒雅赵旭东冯志立
河北农业大学 韩艺铭 马志凯 杨舒雅 赵旭东 冯志立
前言
随着农业现代化的发展,农机自动导航技术成了提高农业生产效率和质量的重要手段。农田机械自主导航技术先后经历了农田触杆导航、引线电缆导航、地磁导航、无线电导航和激光导航等多种方式[1]。目前,常用的农机自动导航技术有基于北斗卫星的导航技术和基于图像识别的导航技术[2]。
基于北斗的导航技术是利用卫星信号来确定农机的位置和方向,再通过控制器来调节农机的行驶轨迹。需要多个卫星定位,成本较高。且当遇到复杂地形,如被树木、高大建筑物遮挡时,导航精度和可靠性大大降低。
基于图像识别技术的导航技术是利用相机传感器采集田间图像信息,然后通过图像处理、分析和理解算法提取图像中的特征信息,如颜色、纹理、形状等[3],并根据这些特征信息来判断农机的位置和方向以及田间地头的位置和形状。这种技术具有成本低廉、不受信号干扰、对田间地头识别能力强等优点,但也存在一些缺点,如光照条件、作物类型、生长期等因素会影响图像质量和稳定性,因此需要设计复杂的算法来处理多样化且噪声大的图像数据。
本文旨在设计一种基于图像识别并结合地头路标识别的田间导航车。
1 国内外研究现状
国外的科学家很早便开始了对机器视觉与农用机械结合的相关试验及设计。机器视觉理论由美国的Marr 教授创立[4],伴随着计算机应用领域的扩大,机器视觉逐渐在多个领域得到应用。Gerrish 和Fehr 等利用作物与土壤颜色的差别在拖拉机上完成了玉米秧苗行视觉导航实验[5]。
我国的视觉导航技术发展迅速,并得到了广泛应用。王荣本等设计了一套基于机器视觉的玉米施肥智能机器系统,该系统通过彩色CCD 摄像机系统对拖拉机实现了视觉导航[6]。许国瑞等对农业机器人行走方向识别进行了研究,采用视觉传感技术对农业智能机器人在田间垄沟环境下自主行走的方向及角度进行识别,并运用图像处理及回归分析拟合的方法指导机器人运动[7]。
2 结构组成及硬件设计
基于图像识别的自走式田间导航车主要由图像识别系统、田间垄线保持系统、动力驱动系统和自动刹车辅助系统组成。当采集到图片信息时,图像采集系统与图像处理模块同时运行进行判断并输出相应信息给驱动电机,驱动车轮做出相应的动作。小车基本结构如图1 所示。
图1 小车整车结构
2.1 图像识别系统
图像识别系统通过相机传感器模块实现采集田间实时图像数据;图像处理模块实现将采集到的图像数据进行预处理和特征提取;图像分析模块实现对提取到的特征信息进行分类和匹配;图像理解模块实现根据分析结果生成可视化地图,并判断当前位置和方向。
基于导航车实现的功能及操作难度,选用K210 开发板作为图像处理系统,实现低功耗执行卷积神经网络计算。芯片针对边缘推理场景设计,用于图像识别任务。内置64 位400MHz 双核RISC-V 处理器,运算速度快,特性优秀且可捕获快速移动的物体,获取目标大小、坐标和种类信息。可完成对地头路标进行检测分类的任务。
2.2 田间垄线保持系统
田间垄线保持系统采用红外循迹模块,便于程序的编写及控制。该模块使用红外探头,寿命更长,稳定性更高。多达4 路传感器,能提前探测大角度转弯的垄线,可以较好完成设计需求,且I2C 输出不占用I0 口。
2.3 动力驱动系统
能源动力采用两节18650 电池,该电池容量大,单个容量达到1200mAh,使用寿命长,充放电次数约500次、安全性能高、标准电压3.7V,充满电后的电压约为4.7V 对比其它电池的电压较高,没有记忆效应,因此不需要把电量放空后再充电,随充随用,十分方便。驱动系统采用的减速电机配有霍尔测速码盘,可判断小车轮胎正反转及速度参数。该电机减速比为1:42,扭矩2.3N·m 性能较好,可使小车行驶平稳,转向灵活。
2.4 自动刹车辅助
为了控制的简洁化,在不影响功能的情况下,自动刹车辅助系统采用超声波模块作为前车距离检测装置,该模块工作频率为40KHz,测量角度为15 度,可探测前方20cm~400cm 物体,距离较远,完全符合本次设计,需求通信方式为IIC 通信。
3 图像识别系统设计
在图像识别中,构建模型十分重要。模型的内容,除了核心识别引擎,也包括各种配置参数。成熟的识别引擎,核心内容不能经常改变,为达到准确识别这一目标,需要进行配置参数调整。对于不同的输入配置不同参数值,最后在结果统计取一个各方比较均衡、识别率较高的一组参数值。这组参数值,就是训练后的结果。
3.1 数据收集
基于图像识别的田间导航车需要大量数据得到较为精准模型,可通过手机、K210 采集、爬虫爬取等途径获取图片进行训练。通过实践,爬虫爬取图片虽然速度极快,但会混入大量无用数据,因此需要进行筛选。开发板采集图片无须调整,但像素较低,会影响模型精度。手机虽然需要用Image_tool 改动格式为224*224 大小,但是拍照照片质量极佳,训练模型精度较好。本设计采用了手机获得数据集,训练标识采用圆形图标,2000 张图片,训练100 轮。从而保证训练模型精确,数据量足够大,训练次数足够多。
3.2 数据集标注
数据标注是向训练数据集添加元数据的过程。这种元数据通常采用标签的形式,可以添加到任何类型的数据中,包括文本、图像和视频。数据标注是数据预处理中不可缺少的阶段,因为监督式机器学习模型可以学习识别标注数据中重复出现的模式。当一个算法处理了大量的标注数据后,算法可以在新的、未标记数据出现时识别相同的模式。
本次设计只需要在获得数据中标记出机器需要辨识的目标,不需要判断目标图像的位置,属于物体分类,其标注方法是较为简单快捷的图像标注方法,仅将一个标签应用于一张图像,不用考虑目标处于视野范围的位置,既符合需求又较为简单。本次设计数据标注使用labelImg 工具进行标注,该工具使用比较方便。图片标注如图2 所示。
图2 使用labelImg 标注数据集
3.3 模型训练测试
选用直行、停止、左转、右转以及调头作为分类类别。将处理完成的数据和标注成的xml 文件分别放入相应的文件夹进行模型训练。为实现训练好的模型能在机器未见过的数据上表现较好,将可用数据分割成3部分。第一部分是较大的数据子集,用作训练集,第二部分是较小的子集,用作测试集。第三部分为验证集。利用训练集建立预测模型,将训练好的模型应用于测试集进行预测。根据模型在测试集上的表现来选择最佳模型,并进行超参数优化。该模型训练使用Mx-yolov3进行模型训练,实现准确识别不同的路标信息并进行分类。模型准确度经过实机检测,将模型由yolov2.tflite模型文件转化为kmodel 模型文件,将模型、固件以及检测程序烧录进开发板,实机检测后,得到较为准确的识别结果。
4 工作原理及性能分析
4.1 工作原理
图像处理系统利用摄像机收集田间地头路标图片并把收集后的数据送到开发板, 再利用开发板上的KPU 上跑YOLO 目标检测算法来实现目标检测的功能,通过记录图像的主要特征,比较所得到的图片和已记录的图像之间的接近度。迅速确定两幅画面是否相同,画面有无变化或做出基本的分类。通过研发的模型搭建,可对图像数据进行标注并赋予含义。导航车将标注区域识别为一种不同类型的对象,还可识别、屏蔽敏感内容,引导识别任务。当识别到某一田间信息时,经过一系列处理向电机发送指令,从而使小车做出相应动作。
垄线保持系统通过红外检测不同颜色的物体表面具有不同的反射强度,对垄线进行识别和提取。田间作物通常为绿色或者黄色,与棕黑色土壤有明显差别。当红外线遇到绿色和黄色作物时发生反射,反射光被小车的接收管接收。遇到棕黑色土壤时,红外光被吸收。主控单元根据是否收到反射回来的红外光为依据来确定土壤的位置和小车的行走路线。
自动刹车辅助系统使用超声波传感器发射超声波,而受波器收到了这种反射信号后,从收到反射信号的有无、多少以及从发射超声波传感器到接受反射信号所需要的时间和超声速度之间的关系来测量对象物体的有无以及感应器和对象物体之间的距离,以保证田间工作的安全性。
4.2 性能分析
4.2.1 图像识别准确性
小车可通过模拟训练达到实现设施农业广泛场景的目的。选取抓取样本数200,训练次数100 进行训练。采用GPU 进行加速训练,经测试,抓取样本数200,训练次数100,置信度为0.75 的情况下,训练完成的tra_acc、val_acc 图像模型acc 曲线不断上升后趋于平缓,模型准确度较好。经过实机检测,识别准确率均在70%以上。
4.2.2 作业精准性
小车通过红外传感器保持垄线行驶在电机转速为25r/min 情况下,直线行驶作业精度可达±2cm。确保小车转弯、掉头后自动精准对行。提高作业精度的同时,保证导航的速度。满足了精细化设施农业需求,大大节省了劳动力,提高农机智能化的需求。
5 结语
此智能田间导航车可以有效、广泛地适用于设施农业场景。通过图像识别系统采集图像进行导航作业,解决了小型农田劳动力需求量大和大型农田采用卫星导航受环境因素影响较大的问题。田间试验可在复杂多变的田间环境下,使导航车稳定地沿着路径自主行驶,并及时响应地头标识指示或人为干预信号。