基于U-Net和超像素分割的烟株自动提取分析
2022-04-20陈裕汉
杨 威,黄 亮*,2,陈裕汉,夏 炎,常 军
1.昆明理工大学国土资源工程学院,昆明市一二一大街文昌路68号 650093 2.云南省高校高原山区空间信息测绘技术应用工程研究中心,昆明市一二一大街文昌路68号 650093 3.滇西应用技术大学,云南省大理市海东山地新城海月街1号 671006 4.自然资源部第一大地测量队,西安市碑林区测绘路4号 710054
烟株的准确识别和数量统计在烟草种植管理中具有重要意义。准确掌握烟株的数量以及空间分布信息能够为烟叶生产后期的施肥、灌溉和虫害防治提供依据,同时还能对烟叶产量进行精确预估。但传统人工实地调查方法效率低且易受到人为主观性的影响[1]。目前,国内外学者围绕烟草种植面积和烟草植株精细提取已开展了较多研究。对于种植面积的提取方面,李天坤[2]和董梅等[3]采用面向对象的方法提取烟田面积,但该方法需选取合适的分割尺度和特征;Zhu等[4]通过监督分类与图像形态学操作相结合,从而实现烟田面积提取。在烟草植株精细提取的研究中,夏炎等[5]结合多特征和简单线性迭代聚类(Simple linear iterative clustering,SLIC)超像素进行烟株提取;谢红辉[6]和Xie等[7]基于支持向量机进行烟株提取;Fan等[8]则通过结合分水岭分割和深度神经网络提取烟株。但这些研究大多是基于传统图像处理方法,提取精度不高,自动化程度较低。近年来,随着无人机技术的发展,消费级无人机的使用有了较大增长,无人机遥感技术也被广泛应用于各个领域。由于无人机遥感能以灵活、经济、高效的方式获取超高空间分辨率影像[9],为精准农业提供作物空间分布信息,因而被广泛用于精准农业生产中[10]。另一方面,随着计算机软硬件和计算能力的提升,深度学习在科学研究和实际应用中受到了极大的关注,越来越多的学者将其运用到农业领域。基于无人机遥感技术和深度学习,精准农业得到了快速发展,但前人的研究对象主要针对粮食作物,而对烟草的研究还鲜见报道。因此,基于无人机的遥感平台,运用U-Net[11]和SLIC[12]超像素分割技术来实现烟株的自动精细提取,旨在降低人工成本,提高烟株计数效率,为烟草的科学种植提供依据。
1 材料与方法
结合U-Net和SLIC超像素分割方法,实现烟草植株自动提取和计数。该算法分为5个步骤:①制作语义分割数据集;②训练U-Net网络提取烟田种植地块;③构建过绿差值指数去除杂草并对烟草覆盖面精确提取;④使用SLIC超像素分割方法对烟草区域进行分割;⑤提取烟株,标记烟株位置并统计烟株数量,最后进行精度评价。流程见图1。
图1 烟株提取技术流程图Fig.1 Flow chart of tobacco plant extraction and segmentation technology
1.1研究区基本情况
试验设置在贵州省黔西南布依族苗族自治州兴仁市(25°18′N~25°47′N,104°54′E~105°34′E),地势南高北低,年平均气温15.2℃,降雨多集中在6~8月,年降水量1 300~1 450 mm,无霜期280 d左右,年均日照时数1 564.7 h,主要种植烤烟等经济作物。
1.2 数据来源及处理
数据来源于天池2019年县域农业大脑AI挑战赛[13],拍摄时间为2019年6月19日,影像大小为44 343×33 603像素,影像数据包括薏仁米、玉米、烤烟和人造建筑等多种地物,见图2。其中烟草品种为云烟87,烟株处于大田旺长期,长势均匀一致,部分烟叶间出现相互遮挡的情况。
图2 天池2019年县域农业大脑AI挑战赛影像缩略图Fig.2 Thumbnail image of the 2019 Agricultural Brain AI Challenge in Tianchi County
将烟草覆盖的区域影像数据批量裁剪成大小1 024像素×1 024像素,共得到烟草影像数据271张,从中选出190张影像制作数据集,用于U-Net的训练和测试,见图3a。数据集采用图像标记工具Labelme进行人工烟株单类标记,见图3b,其中酒红色为烟田,黑色为背景。
图3 语义分割数据集Fig.3 Semantic segmentation dataset
选取三景烟田面积不同、烟株长势不一、背景差异较大的影像作为示例数据,见图4。由图4可见,对于数据1,烟田面积约占影像的1/4,烟株大小匀称,烟田周围干扰地物较少;数据2中整个区域均是烟田,烟株长势均一,生长密集;数据3中烟田有两个部分,面积约占影像的1/2,周围环境比较复杂,而且烟田中有杂草。
图4 示例数据Fig.4 Sample dataset
1.3 研究方法
1.3.1 U-Net语义分割
U-Net最早应用于医学图像领域[11],是对FCN的优化和改进[14]。其结构简单、参数量少,分为下采样特征提取和上采样预测两部分,这两部分组合形成一个U形的网络结构,因此被称为U-Net,如图5所示。与FCN相比,其改进之处在于多尺度网络结构,利用卷积操作将图像的浅层特征与深层特征进行融合,保留了细节信息,从而能够正确地对像素进行分类,对于小数据集和二分类具有优异的性能[15]。此外,该网络没有全连接层,可以处理不同尺度的输入图像,并返回与输入图像大小相同的分割结果。
图5 U-Net结构Fig.5 Structure of U-Net
本试验中手工标注数据集190张,其中90%(171张)的图像用于训练模型,其余10%(19张)的图像用于模型测试。试验环境配置为:Intel Core i7-7700HQ四核处理器;NVIDIA GTX1060显卡,8G DDR4内存;深度学习框架为TensorFlow,编程语言为Python3.6。在训练模型之前,为减少发生过拟合现象和提升模型的泛化能力,使用水平翻转、缩放、裁剪和平移对训练数据集进行图像增强。训练U-Net的学习率为1×10-5,训练批次大小为2,训练周期为100。
1.3.2 过绿差值指数构建
提取烟田面积之后,大部分烟田中有杂草及其他地物,很大程度上会影响后续的分割结果,使用其他常用的植被指数很难将烟草覆盖面单独提取出来,所以构建一种新的植被指数-过绿差值指数(EGDI)来区分烟株和杂草,提取烟草覆盖区域的计算公式:
式中:G为绿波段值,R为红波段值,B为蓝波段值。
1.3.3 SLIC超像素分割
超像素是将空间上相连的相似像素进行聚类形成的区域,在高空间分辨率图像处理和分割中通常以这些区域作为基本单元来代替原始像素[16]。在众多的超像素分割方法中,SLIC因其简单、高效和对图像边界具有较强的依附性而得到了广泛应用。
SLIC由4个算法步骤组成。首先初始化种子点,假设图像有N个像素点,预分割为K个相同尺寸的超像素,则每个超像素的大小为N/K,相邻种子点的距离近似为,为了避免种子点处在图像的边缘位置,以及对后续的聚类过程造成干扰,需要将种子点在以其为中心的3×3的窗口内移动到梯度值最小的位置;然后为每个种子分配一个单独的标签,定义一个聚类中心,并在2S×2S范围内检索;接着对每个像素点分别计算与之距离最近的种子点之间的相似程度,将最相似种子点的标签赋给该像素;最后不断迭代该过程,直到收敛[17]。
利用OpenCv-Python实现SLIC算法对影像的分割,为达到最佳试验效果,经过多次分割试验,分割尺度设为20,迭代次数设为20次,分割完成后使用OpenCV轮廓检测函数找出含有烟株的每一个超像素内接矩形,并在矩形中心位置用红色圆点进行标记,红点数量则为烟株数量。
2 结果与分析
2.1 U-Net模型的烟田面积提取结果
使用训练完成的U-Net模型分别对3景示例数据进行预测,得到烟田面积的提取结果分别见图6d、6e和6f。人工标记的标签结果分别见图6a、6b和6c。可以看出训练的网络模型均能够有效地提取烟田面积。将传统的面向对象分类方法作为对照,利用eCognition8.0软件中多尺度分割的方法对影像进行分割,然后根据光谱和纹理特征对影像进行分类,得到烟田面积提取结果,见图6g、6h和6i。
图6 烟田面积提取结果Fig.6 Extraction results and corresponding tobacco field areas
使用语义分割常用评价指标平均交并比(MIou)、召回率(Recall)、精度(Precision)和F1值(F1-Score)分别对U-Net分割方法和面向对象方法提取的烟田面积进行精度评价,结果见表1。由表1中可以看出,使用U-Net分割各类指标数值最高,提取烟田面积效果最佳。
表1 烟田面积提取精度评价Tab.1 Precision of tobacco field area extraction (%)
2.2 过绿差值指数烟株覆盖面提取结果
过绿差值指数能够有效地将每一垄烟株边界识别出来,同时又可以将烟田中的杂草去除,见图7a、7b和7c,并且还能够将烟株覆盖区域精准地提取出来,见图7g、7h和7i。而过绿指数(Exg)使得边界模糊,烟株与杂草混淆,见图7d、7e和7f。
图7 烟草覆盖面提取结果Fig.7 Extraction results of tobacco coverage
2.3 SLIC超像素分割与烟株提取结果
分割结果见图8a、8b和8c,所围成的封闭不规则形状为一个超像素。提取结果见图8d、8e和8f。最终数据1、数据2和数据3自动提取出来的烟株分别为257株、1 264株和513株。
图8 SLIC分割及烟株识别结果Fig.8 Results of SLIC segmentation and tobacco plant recognition
2.4 烟株提取精度分析
采用总体精度(Overall Accuracy,OA)、错检误差(Commission Error,CE)、漏检误差(Omissions Error,OE)和准确度(Accuracy Rate,AR)作为精度评价指标[18]。各个精度评价指标计算公式:
式中:Nd表示计算出的烟株数,Nv表示实际样本株数,Nc表示错误标注的株数,No表示遗漏标注的株数。
烟株中心点检测过程中出现的5种结果如图9所示。其中图9a探测到烟株中心点位置位于烟草位置的缓冲区内,且仅探测到一个中心点,为正确标注;图9b和图9c为两种错检情况;图9d、图9e为两种漏检情况。其中图9b和9e分别作为一个正确标注和一个错误标注处理。
图9 烟株识别中出现的情况分析Fig.9 Situations occurred during tobacco plant recognition
数据1的实际烟株数为259株,本试验中提取的烟株数为257株,总体精度为99.23%,错检率为3.86%,漏检率为2.32%,准确度为93.82%;数据2实际烟株数为1 272株,提取的烟株数为1 264株,总体精度为99.37%,错检率为3.62%,漏检率为2.67%,准确度为93.71%;数据3的实际烟株数为508株,提取的烟株数为513株,总体精度为99.02%,错检率为4.13%,漏检率为3.15%,准确度为92.72%。精度分析结果见表2。
表2 烟株提取精度分析Tab.2 Evaluation of extraction precision of tobacco plants
从试验结果来看,示例数据1和2烟草长势一致,烟株均匀,且烟田中无杂草,试验总体精度和准确度较高;数据3中烟株大小不一致,很多小烟株被漏检,而较大的烟株被拆分开,导致错检。总体而言,烟株提取的平均总体精度和平均准确度均较高,分别为99.21%和93.42%。
不同提取方法对烟株的提取效果见表3。从表3中可以看出,本试验中采用的方法平均总体精度和平均准确度均达到最高。
表3 不同提取方法的比较Tab.3 Comparison among different extraction methods (%)
3 结论
基于无人机影像,结合U-Net和SLIC超像素分割,建立了烟株自动提取和计数方法。结果表明,该方法在烟株提取和计数中应用效果良好,烟株提取的平均总体精度为99.21%,平均准确度为93.42%。该方法自动化程度高,提取精度可满足实际生产管理需求,为烟草种植管理提供了技术支持。