基于改进Canny的水稻倒伏区域提取方法
2025-02-21柴俊王浩陈
摘 要:为衡量农作物受灾后倒伏带来的产量与经济损失,利用改进的图像边缘检测技术来获取倒伏区域面积。在现有Canny算子边缘检测的基础上,采用中值滤波替代高斯函数来平滑处理图像。再采用自适应双阈值和广义链区分真伪边缘点、消除伪边缘点,最后通过线性拟合和霍夫变换获得边缘直线。由于倒伏区域和正常区域存在明显的分界现象和倒伏纹理增多的特征可准确提取倒伏区域。试验结果表明,五个实验地块倒伏面积提取误差只有9.2%,9.4%,8.9%,7.9%和8.7%。
关键词:倒伏作物;图像识别;边缘检测;改进Canny
中图分类号:TP301.6 文献标识码:A 文章编号:2096-4706(2025)02-0012-04
Rice Lodging Region Extraction Method Based on Improved Canny
CHAI Jun1, WANG Haochen2
(1.Wuxi Machinery and Electron Branch of Jiangsu Union Technical Institute, Wuxi 214028, China;
2.School of Automation, Jiangsu University of Science and Technology, Zhenjiang 212100, China)
Abstract: In order to measure the yield and economic losses caused by crop lodging after disasters, an improved image edge detection technology is used to obtain the area of the lodging area. Based on the existing Canny operator edge detection, the median filtering is adopted to replace the Gaussian function for smoothing the image. Then, the adaptive dual threshold and the generalized chain are used to distinguish between true and 1 edge points and eliminate the 1 edge points. Finally, the edge straight lines are obtained through linear fitting and the Hough transform. Due to the obvious boundary phenomenon between the lodging area and the normal area and the increased features of the lodging texture, the lodging area can be accurately extracted. The experimental results show that the extraction errors of the lodging area in the five experimental plots are only 9.2%, 9.4%, 8.9%, 7.9%, and 8.7%.
Keywords: lodging crop; image recognition; edge detection; improved Canny
DOI:10.19850/j.cnki.2096-4706.2025.02.003
收稿日期:2024-07-23
基金项目:江苏省省重点研发计划产业前瞻性与共性关键技术重点项目(BE2018007)
0 引 言
科学获取受灾后农作物的倒伏面积,能够对农业生产、政府指导、保险理赔提供准确的依据。传统的田间测量虽然准确但是测绘工作量大;卫星遥感技术能大面积测绘,但对倒伏区域确定精度低且容易受云层因素影响;而采用无人机测绘数据既能够满足空间和时效,又有高分辨率[1]。文献[2]基于无人机的多光谱影像,分析作物形态的光谱、植被指数以及纹理特征差异,实现了完熟期玉米倒伏面积的准确提取。文献[3]无人机可见光遥感技术提取小面冠层红绿蓝可见光图像,并进行数字表面模型图像提取,最终得到小麦的倒伏面积。另外还有利用图像边缘检测的作物倒伏面积,实现了较高精度的倒伏区域提取。
数字图像技术广泛应用于图像处理中,通过提取边缘检测来获取图像的特征属性。目前,已经提出了许多边缘检测算法,在这些算法中,Sobel算子和Robert算子是通过获取数值差分方法实现的。而由于Canny算子具有良好的信噪比、精确的边缘定位和单边响应,因此在实际应用中得到了广泛的应用。2010年,globalPb算法被提出,其阈值由系统自适应生成,可提高Canny算法的抗噪声能力。然而,globalPb算法不仅需要多尺度、多信息来计算梯度,还需要额外的谱聚类来排除假边缘。如果无法提供这些信息,将限制在缺少纹理信息的场景中的应用[4]。在此基础上,提出了一种改进算法。该算法主要是利用自适应粒子群算法[5]求解最大方差法的最优解。在文献[6]中,提出了一种彩色图像的自适应Canny算法,该算法将彩色图像的RBG变换为R-B色差空间图,经过高斯滤波后需要进行积分运算。这种方法可以连接整个图像边缘。在文献[7]中,提出了一种基于Canny算子的改进方法,通过方差投影定位算法实现定位精度。为了提高边缘检测的精度,提出了一种形态滤波算法来代替高斯滤波,避免了人工干预。该算法有效地抵抗了椒盐噪声[7]。在文献[8]中,采用全局和局部边缘检测相结合的方法提取边缘,实现检测精度的提高。还有一种与传统的运动目标检测算法相融合的Canny算法。该算法能有效地提取图像的前景区域[9]。
本文利用中值滤波对图像进行预处理,自适应地得到双阈值。然后,将边缘点连接起来,得到了广义链,并给出了广义链的判定准则,以消除与真实边缘点的灰度值近似的伪边缘点。最后,利用线性拟合方法给出了图像边缘检测的结果,使图像的检测更具自适应性和准确性。然后利用霍夫变换拟合出直线。
1 传统Canny算子
传统的Canny算子的运算步骤包括:第1步,使用高斯函数平滑图像。第2步,通过微分算子获得振幅梯度和方向。第3步,选择非最大值抑制方法获得候选边缘点。第4步,通过双阈值检查候选边缘点。第5步,连接与边缘点相连的其余候选边缘点,得到图像的边缘检测结果。
Canny算子一般采用二阶高斯函数对图像进行平滑处理,去除噪声:
(1)
其中,σ表示高斯滤波的参数。经典的Canny算法采用2×2邻域的有限差分来计算图像梯度的值和方向。在水平两个方向上求解一阶偏导,近似的可由下列公式求得:
(2)
(3)
因此,图像梯度计算的模型是:
(4)
图像梯度大小和梯度的方位角分别为:
(5)
为定位边缘,在获得梯度幅度图像后,采用非最大值抑制技术进一步处理。非最大值抑制(Non-Maximum Suppression, NMS)的处理有助于保证每个边缘都是相同的像素宽度。Canny算法利用8个方向的3×3邻域沿梯度方向对梯度幅值进行插值。如果幅值M(i, j)大于梯度方向上的两个插值结果,则确定为待定边缘点,否则确定为非边缘点。
Canny算法在图像边缘检测中有着广泛的应用。然而,它仍然存在三个缺陷。一是高斯滤波对噪声敏感,容易产生孤立的边缘点。这将导致生成伪边点。第二个缺点是双阈值的值设置固定,不能满足算法的适应性。最后一个问题是,该方法只发现其周围是否有边缘点,在判断候选边缘点时,会增加伪边缘点的数量。例如,如果在候选边缘点的邻域中存在一个非边缘点,并且该点与边缘点具有相同的灰度值,则会将候选边缘点误判为边缘点。这会导致越来越多的假边,并导致目标探测被淹没在背景图像中。本文采用中值滤波代替高斯滤波方法对图像进行平滑ThH处理。通过两个自适应阈值检查候选边缘点,将它们连接起来形成广义链。然后,根据规则选择广义链来删除伪边点。
2 改进Canny算子
2.1 中值滤波算法
中值滤波是将图像中某一点的像素值替换为其相邻区域的中值,该方法不仅减少了噪声的影响,而且可消除尖锐点[6]。
若待处理的数字图像的像素点的灰度值为h(x, y),滤波邻域范围大小为Mmn,中值滤波二维函数为G(x, y):
(6)
2.2 双阈值法
双阈值法的关键是如何确定自适应阈值。其步骤如下:对相邻梯度振幅进行差分运算:
(7)
其中,G1表示通过非最大值抑制方法找到同一梯度方向上中心像素的最大值,再经双阈值处理生成的梯度振幅直方图。选择振幅的第一个零点作为高阈值,低阈值取该高阈值的0.5倍,根据该规则,自适应阈值计算公式为:
(8)
其中,ThH和ThL表示高阈值和低阈值。确定双阈值后,利用非最大值被抑制,再对图像进行双阈值分割。G1(i, j)代表中心像素,并将其与ThH和ThL进行比较。讨论分为三种情况,如表1所示。
2.3 广义链
经过比较得到强边缘点和弱边缘点。接下来的步骤是:首先,需要找到边缘的起始点,即最大值点,并将其与弱边缘点分别连接起来。这样得到了一条边缘链,称为广义链。它包含多个长度,最大长度设置为dmax,最小长度设置为dmin,为得到这些链的平均模量阈值,其规则如下:
(9)
删除小于davr的梯度值。伪边缘点的分布是分散的,通过寻找局部极大值的均值来削弱伪强边缘点。并删除比davr更小的边链。这样可有效地抑制了伪强边缘点。剩下的点是图像的真实边缘点。最后采用线性拟合的方法得到边缘图像。
3 改进Canny算子图像处理方法
基于改进Canny算子的图像处理方法包括如下步骤:第一步,利用中值滤波对图像进行预处理得到图像,并将计成G;第二步,计算振幅梯度。为了获得像素的幅度梯度,使用水平和垂直两个方向来卷积计算图像中像素的邻域。采用3×3矩阵计算图像梯度:
(10)
其中,Gx和Gy分别表示水平方向和垂直方向,Gx,y表示图像的像素值。中心像素的梯度幅度和梯度方向计算如下:
(11)
(12)
第三步,使用非最大值抑制来寻找最大值。获得双阈值,并将其与边缘点的最大值进行比较以获得初始边缘点。第四步,选择强边缘点作为起始点的边缘,与弱边缘点连接形成边缘链,并按式(9)计算边缘链的平均值,然后去除小于图像梯度最大值平均值的广义边缘链。第五步,采用线性拟合的方法,霍夫变换进一步得到图像的检测结果。
4 实验结果与分析
如图1(a)所示,为实际采集到的梯田图像。图1(a)中梯田图像有着明显的分界。利用分界现象,可通过边缘检测技术获得边缘信息。图片在MATLAB 2021b中进行仿真得到图2(b)~(d)。
如图1(b)至图1(d)所示,分别采用了roberts算子、传统Canny算子和本文改进canny算子对图1(a)进行边缘检测。从出图结果可知,roberts算子并不能有效的检测出分界的边缘,对倒伏作物的边缘检测的分辨也较低。而传统Canny算子、改进Canny算子不仅能有效的检测出分界的边缘,对倒伏作物的边缘检测有较高的分辨率。改进Canny算子可以理解成对传统Canny算子的图像的增强。
为科学地评价各个边缘检测算子的检测效果,采用量化指标召回率、F1分数来实现[11]。采用roberts算子检测结果的召回率、F1分数分别为0.804、0.798;采用传统Canny算子检测结果的召回率、F1分数分别为0.843、0.835;采用本文改进Canny算子检测结果的召回率、F1分数分别为0.867、0.862。可见,本文改进方法在检测质量有明显的提升。
数据采集于江苏省丹阳市某实验田,水稻品种为南粳5055,图像采集时间为2023年8月。如图2(a)所示,实验田为不规格的田块分布,存在这不同倒伏情况。A块田存在严重的完全倒伏,B块、D块田存在轻微倒伏,C块田中存在部分完全倒伏,E块田存在轻微倒伏和完全倒伏相混合的情况。倒伏面积提取结果如表2所示。
实验田图像在MATLAB 2021b中先分别经过传统Canny算法和改进Canny算法进行边缘提取,再经过霍夫变化处理,最终得到实验结果如图2(b)、(c)所示。经过两种Canny算法提取图像中的边缘信号,再霍夫变换进行直线拟合得到图2(b)和图1(c)。图2(b)、图2(c)中存在整块黑色且无白色线条的区域为没有倒伏的田块,而存在杂乱白色边缘线条的区域为识别出的倒伏田块。提取出倒伏田块和原图倒伏区域准确对应,验证了本文所提方法的有效性。图2(b)、图2(c)对比可很直观得出本文提出改进Canny算法对倒伏作物纹理的提取要更加精细;对倒伏区域的识别比传统Canny算法更加准确,尤其在C地块的倒伏区域识别上。如表2所示,传统Canny算法在A、B、C、D、E地块的提取倒伏面积相对于实测倒伏面积的误差为18.9%,14.5%,54.1%,9.7%和15.2%。改进Canny算法在A、B、C、D、E地块的提取倒伏面积相对于实测倒伏面积的误差为9.2%,9.4%,8.9%,7.9%和8.7%,所以在倒伏面积获取上改进算法相比较传统算法有着明显的优势。
5 结 论
采用中值滤波方法代替高斯滤波方法,使得处理过程更加快速;中值滤波方法在平滑脉冲噪声方面非常有效,同时可保护图像尖锐的边缘。采用自适应双阈值区分强、弱、伪边缘点,并定义广义链,删除小于平均模量阈值的边链,实现抑制伪强边缘点。倒伏区域的提取利用倒伏后图像纹理增多、倒伏区域和正常区域存在明显边界这一特性。利用改进Canny和霍夫变换能够有效地提取出倒伏区域。倒伏面积获取实验中,改进Canny算法比传统Canny算法有更优的倒伏作物纹理提取精度和更低的倒伏面积提取误差。且在不同面积和不同倒伏情况的地块中,改进Canny算法只有9.2%,9.4%,8.9%,7.9%和8.7%,均小于10%。
参考文献:
[1] 邓泓,杨滢婷,刘兆朋,等.基于深度学习的无人机水田图像语义分割方法 [J].中国农机化学报,2021,42(10):165-172.
[2] 张新乐,官海翔,刘焕军,等.基于无人机多光谱影像的完熟期玉米倒伏面积提取 [J].农业工程学报,2019,35(19):98-106.
[3] 赵静,潘方江,兰玉彬,等.无人机可见光遥感和特征融合的小麦倒伏面积提取 [J].农业工程学报,2021,37(3):73-80.
[4] 汤东,喻衣鑫,刘波.基于图像边缘检测的作物倒伏面积评估系统 [J].农机化研究,2020,42(5):88-93.
[5] 窦蕾萍,吴君钦.基于改进Canny算法的图像边缘检测 [J].软件导刊,2023,22(8):216-220.
[6] 闫河,赵其峰,谢敏,等.自适应Canny算子PCBA元器件边缘检测及修复 [J].光学学报,2021,41(5):97-104.
[7] 查鸿伟,李浩,朱益虎,等.利用边缘辅助分割网络提取稻虾共作养殖田 [J].农业工程学报,2023,39(19):154-164.
[8] VARGAS J Q,KHOT L R,PETERS R T,et al. Low Orbiting Satellite and Small UAS-based high-resolution Imagery Data to Quantify Crop Lodging: A Case Study in Irrigated Spearmint [J].IEEE Geoscience and Remote Sensing Letters,2019,17(5):755-759.
[9] WU F,ZHU C,XU J,et al. Research on Image Text Recognition based on Canny Edge Detection Algorithm and K-means Algorithm [J].International Journal of System Assurance Engineering and Management,2021,13(Suppl 1):72-80.
[10] 杜绪伟,陈东,马兆昆,等.基于Canny算子的改进图像边缘检测算法 [J].计算机与数字工程,2022,50(2):410-413+457.
[11] XU H,WAN C. Canny Improved Edge Detection Algorithm for anti-noise [J].Journal of Computer Applications,2017,1:201-205.
作者简介:柴俊(1978—),男,汉族,江苏镇江人,副教授,硕士研究生,研究方向:智能装备、机器人视觉、计算机仿真。