1、2023.7电脑编程技巧与维护1概述随着微电子工业的发展和计算机成本的降低,机器学习、软件技术在工业和农业领域的应用越来越广泛。在农业领域,植株的覆盖率、健康程度和分类等在传统上需要人力资源来实现,在此则利用计算机图形学、机器学习等技术,实现对耕地植被覆盖率的统计、区域的和植被生长状况的自动分类。这项技术的应用极大地提高了作物管理的效率,降低了管理成本,并为农业领域提供了一套革命性的方案。2相关技术2.1SAMSegment Anything Model(SAM)使用交互式分割和自动分割两种方式对图片内对象边缘进行识别并生成遮罩,从而实现对图片内对象的提取。SAM适用于图像、视频中的任意对象,
2、甚至包括训练期间没有遇到的对象和图像类型。SAM的通用性足以覆盖广泛的用例,经过简单配置就可以用于新的图像,无论是单株鲜花还是丛生的植物,都无需额外训练。使用SAM模型对图像内主体进行分割,实现图像的预处理,为接下来的分类与评估进行准备。2.2EfficientNet模型EfficientNet模型是一个经过特化的预训练的卷积神经网络(CNN),能够对图片内的植物种类进行识别并分类。SAM与EfficientNet两个组件的合并应用能够有效地完成图片的处理,方便进行植被生长状态的评估。使用EfficientNet模型对图片进行处理,实现了植被图片分类的自动化,且模型能够使用SavedModel
3、格式进行重训练,降低了系统部署所需的成本。2.3NDVI 公式在卫星拍摄的地球表面的RGB图像中,可见光谱的蓝色部分(400450 nm)被地球大气层削弱得最明显,地球大气层对蓝光的散射比对绿色或红色的散射更强。由于某些色素的影响,一些植被在健康时实际上是红色的,又由于叶绿素A和叶绿素B在可见光谱的蓝色区域都有显著吸收,所以健康植物不会反射蓝色。在卫星图像分析领域,常用NDVI公式对地表植被进行分析,该公式在可见光谱中的单个波段与NIR波段之间具有最佳的杠杆作用。NDVI公式如公式(1)所示:(1)其中,NIR为近红外光反射;RED为红光反射;NDVI值介于-1到1之间。当RED=0时,有最大
4、值1;反之,当NIR=0时,有最小值-1。在成像设备的选择上,图像采集不能使用传统的摄影器材。因为传统的传感器是拜尔阵列,阻挡了除红、绿、蓝以外其他波长的波,无法用于光谱的研究。为此,在实验时使用了含有滤光片的多光谱相机。3植被分类与评估系统实现3.1系统结构NDVI系统由3个主要部分构成,分别是图像预处理、植被分类和植被生长评估,系统结构如图1所示。系统基于多摄像头技术及单片机处理的方案,元件之间高度模块化,又避免了轮盘加载滤光片可能导致的偏移问题,方案使用较为开放的单片机架构,用户可以根据需求和预算选择合适的单片机平台,从而可以对成本进行灵活放缩。基金项目:江 苏 省 大 学 生 创 新
5、创 业 训 练 计 划 项 目(202212056046Y)。作者简介:徐 浩 田(2001),男,学 生;梁 书 源(2002),男,学生;谢子睿(2002),男,学生;殷陈皓(2002),男,学生;徐华珍(1989),女,讲师,硕士,研究方向为推荐算法及软件自动化;宋伟(1975),男,通信作者,高级工程师,硕士,研究方向为超声成像算法与软件开发。基于 AI 图像识别的植被分类与健康评估系统研制徐浩田,梁书源,谢子睿,殷陈皓,徐华珍,宋伟*(南通理工学院,江苏 南通226001)摘要:人工智能在工业、农业和信息领域的应用越来越广泛,利用计算机视觉和机器学习技术实现了对耕地植被覆盖率的统计、
6、植物分类和对植被生长状况的自动评估,从而大大提高了农作物管理的效率,降低了管理成本,为农业领域提供了一套新的技术方案。关键词:机器视觉;农业;人工智能148DOI:10.16184/prg.2023.07.0412023.7电脑编程技巧与维护3.2图像预处理由于SAM可以高效地处理prompt,所以可以通过在图像上抽取大量prompt生成整个植物图像的蒙版。该方法被用于生成数据集SA-1B。通过SAM内置的“Sam Automatic Mask Generator”模 块 实 现。通 过 在 图 像 上 的 网 格 中 抽 样 单 点 输 入prompt,从每个prompt中SAM可以预测出多
7、个蒙版。然后,对蒙版进行质量过滤和非最大值抑制去重复。其他选项可以进一步提高蒙版质量和数量,例如,在图像的多个剪裁上运行预测或对蒙版进行后处理以消除小的不连通区域和孔洞。在自动遮罩生成中,通过几个可调参数控制采样点的密集程度及移除低质量或重复遮罩的阈值。此外,可以对图像的裁剪部分自动运行生成,以获得更好的小物体性能,并且后处理可以去除杂散像素和空洞。3.3植被分类模块使用预 训 练 的SavedModel在TensorFlow框 架 与Keras API中进行重训练,使其功能能够满足项目需求。使用预训练的模型进行迁移重训练可以显著降低模型训练所需的资源和算力。这里选用EfficientNetV
8、2-XL-21K模型作为基础,输入图片大小为512512。3.3.1 准备训练数据集(1)图片归一化处理,依照选择的模型,将所有图片的分辨率归一化为512512 8 bit格式。(2)使 用tf.keras.preprocessing模 块 中 的image_dataset_from_directory方法从图像目录中创建数据集。定义预处理模型,该模型应用归一化层,对数据集进行增强处理(例如,旋转、平移、缩放和翻转)。(3)构建验证数据集,使用subset参 数 设 置 为“validation”,使用build_dataset函数构建了一个验证数据集。最终得到的train_ds和val_ds
9、数据集可用于训练和评估机器学习模型。3.3.2 模型构建与重训练在模型的构建上,同样使用Keras API,创建Se-quential对象,这一对象是一个线性堆叠的集合。(1)定义集合各层,包含Input Layer、Keras Lay-er、Dropout Layer、Dense Layer。以下是该集合每一层的作用:1)Input Layer。输入层,定义输入的形状与尺寸。2)Keras Layer。这一层是一个将SavedModel包装成一个Keras层的对象。如果设置trainable为True,则可以对模型进行微调。3)Dropout Layer。用于随机丢弃一些神经元,以减少过拟合
10、。4)Dense Layer。用于输出分类结果。这里使用了len(class_names)作为参数,表示输出层有多少个神经元,即有多少个类别。同时使用了l2正则化来防止权重过大。(2)使用build方法由输入形状构建模型,终端内会输出模型的概况。(3)对模型进行重训练。模型的重训练使用了pile()函数和model.fit()函数,分别完成指定模型的训练配置和模型的训练操作。pile()函数包括优化器、损失函数和评估指标。以下为函数内参数的作用:1)optimizer参数用于指定优化器,这里使用随机梯度下降法(SGD)。2)loss参数用于指定损失函数,这里使用交叉熵损失函数(Categori
11、calCrossentropy)。3)metrics参数用于指定评估指标,这里只使用了准确率(accuracy),它用于衡量模型的分类性能。4)steps_per_epoch参数和val_steps参数分别用于指定每个训练epoch中的训练步骤数和验证步骤数。model.fit()函数用于训练模型,接受训练数据集train_ds和验证数据集val_ds。epochs参数指定了训练轮数。steps_per_epoch参数和val_steps参数分别指定了每个epoch中的训练步骤数和验证步骤数。在训练过程中,程序将会输出一些训练信息(如训练损失和准确率等),这些信息将被存储在hist变量中。使用
12、matplotlib对模型训练信息进行可视化,如图2所示,在左图中,横轴为训练步数,纵轴为训练损失度,损失度随训练步数的增长呈下降趋势;在右图中,横轴为训练步数,纵轴为训练精度,精度随训练步数的增长呈上升趋势。图1系统结构单片机USBNIR光路滤光片镜头1镜头2RGB光路1492023.7电脑编程技巧与维护3.3.3 模型测试使用附属的数据集对模型进行测试,改变image中的矩阵数值即可对输入图像进行切换,如图3所示。模型可以正确识别植物种类并输出识别结果。3.4植被生长评估模块使用两组相同的相机,作为采集图片的数据源。将两组相机放在同一个防滚架上,并设计了算法实现相差矫正。使用OpenCV将
13、采集到的彩色图片剥离出红色通道,代入NDVI处理函数中,得到灰度图像。在OpenCV库中,可以使用applyColorMap函数将灰度图像转换为彩色热力图。applyColorMap函数需要两个参数:需要转换为彩色热力图的灰度图像(Src)、颜色映射表,可以是预定义的常用颜色映射表(col-ormap),例如,cv2.COLORMAP_JET、cv2.COLORMAP_HOT、cv2.COLORMAP_COOL等,也可以自定义颜色映射表。通过cv2.applyColorMap函数将灰度图像转换为彩色热力图,以展示不同区域内光合作用的强度,如图4所示。右图中的热力图展示了左图中各个区域内光合作用
14、的强度。4结语系统基于人工智能图像识别技术,提高了植被评估及分类的效率和准确性。首先使用SAM进行图像预处理,通过图像内容识别,分割出图像中不同的植株;然后使用Python的深度学习库,包括TensorFlow和Keras等,对图像进行特征提取;最后训练深度学习模型,使其能够准确地对植被进行评估和分类。相比传统方法,该系统具有较高的灵活性和扩展性,可以处理各种形态、大小的植被,使结果更加准确,为植物科学研究提供了一种方便快捷的实用方法。此外,该系统也可以被广泛应用于植被监测、土地资源评估、环境监测等领域,作为植被分类的基础模型,为进一步的研究提供支持。参考文献1MORALES A,GUERRA
15、 R,HORSTRAND P,et al.Amultispectral camera development:From the prototypeassembly until its use in a UAV system J.Sensors,2020,20(21):6129.2KIRILLOV A,MINTUN E,RAVI N,et al.Segmentanything J.arXiv preprint arXiv:2304.02643,2023.3CARLSON T N,RIPLEY D A.On the relation betweenNDVI,fractional vegetatio
16、n cover,and leaf area indexJ.Remote sensing of environment,1997,62(3):241-252.4朱峰.基于位置服务的植被图像识别模型研究D.济南:山东科技大学,2019.5韩京冶.基于深度学习的无人机影像植被识别方法研究D.北京:北京林业大学,2018.图2模型训练概况图图3模型测试图图4红外成像与其生成的热力图1.00.80.60.40.20.0Loss(training and validation)2.001.751.501.251.000.750.500.250.00Training Steps0.00.51.01.52.02.53.03.54.0Accuracy(training and validation)Training Steps0.00.51.01.52.02.53.03.54.0低高光合强度150