权龙哲,肖云瀚,王建宇,赵成顺,师常瑞
(东北农业大学工程学院,哈尔滨 150030)
精准农业技术应用广泛,除草技术研究已向智能化方向发展[1]。作为除草装备智能化作业前提,苗草模式识别成为国内外研究热点[2]。苗草模式识别主要以图像处理技术为基础,提取并分析田间图像中苗草颜色、形状、纹理特征或光谱特性[3-4],再用模式识别算法(如贝叶斯决策理论[5])区分作物与杂草位置、种类与密度。苗草识别算法多集中于杂草形态、纹理、光谱等特征研究[6-7],但这些特征识别算法复杂,数据维数高,运算速度慢,影响识别精度,不利于除草装备导航与靶向除草应用。此外,岑益郎认为,光照强度变化影响杂草识别精度[8]。抑制光照等环境因素影响分割精度[9]。但分割算法对光照适应性有限,算法随光照变化自适应调节研究较少。
为降低苗草模式识别算法及识别特征复杂程度,本文采用新型烟花智能群体算法,利用作物生长呈线性分布特点,优化绿色植物区域坐标数据,定位作物与杂草位置;在传统RGB颜色特征分割算法基础上,引入加权系数,将分割中使用固定颜色特征组合方式改为随参数可调,提高算法鲁棒性、光照适应性。
不同对象与区域颜色特征差异性较明显,针对田间图像分割问题,利用绿色植株与土壤背景颜色特征差异,实现目标分割提取。彩色图像颜色信息通过颜色模型获取,主要颜色模型包括RGB、HIS等。其中RGB颜色模型是处理彩色图像最常见颜色模型,利用模型中R、G、B颜色特征因子不同组合形式,用作目标分割。
本文采集100张农田图像,图像分辨率为360×480,图中包含不同杂草和作物等绿色植物,土壤等颗粒。利用Matlab软件获取ROI(Region of Interest)区域,统计各种颜色特征因子及其组合在每个区域内像素均值,详细统计信息如表1所示。
表1 基于RGB颜色空间农田图像的像素值Table 1 Pixel values from the farmland images based on RGB color space
由表1可知,在RGB颜色模型中,绿色植物G分量像素值较大,土壤等颗粒区域R分量值明显高于其他两分量;此外本文还统计另两种颜色组合类型|G-B|、|G-R|像素值,结果显示,土壤等颗粒区域中两类组合像素值差别较小,绿色植物区域中|G-B|组合对应像素值明显高于|G-R|。为更深入研究这两类颜色组合关系,分别采用两类组合方式作图像分割,如图1所示。
图1 基于RGB颜色空间的不同颜色指数的增强效果Fig.1 Enhancement effect used the color indices based on RGB color space
由图1可知,横纵坐标为图像像素坐标,图中凸起部分为绿色植物区域,黄色部分为图像分割后保留区域。可见两种颜色组合方式均可适当增强绿色植物区域;由图1c可知,|G-R|组合对土壤等颗粒背景抑制作用效果更加明显。尽管两种颜色组合均具有增强绿色目标作用,但由于颜色组合形式固定,受田间光照等环境因素影响,图中黄色区域像素较少,分割效果未达到理想状态。
绿色目标分割是杂草模式识别基础和前提,分割质量影响最终识别结果、导航精度及靶向灭草效果。田间图像中除植物(作物、杂草)外,还有土壤、碎石,光照强度变化等因素导致绿色目标分割效果不理想。
为有效抑制光照变化对分割精度影响,本文改进传统固定参数颜色特征因子组合分割算子|GB|+|G-R|[10],引入加权系数(见式1)。
式中,IGray为像素点灰度值(pixel);R、G、B分别像素点红、绿、蓝颜色分量值(pixel);ε为加权系数。该算子通过设置加权因子数值,可对不同光照下田间图像分割处理。
为验证此方法对不同光照图像的分割效果,对比|G-R|+|G-B|方法及聚类分割的处理效果与本文方法效果,聚类分析方法参照高国琴方法[11]处理,最后计算分割图像中绿色目标含量,本文绿色目标含量计算方式为分割部分像素点数量占总像素点数量的百分比。为测量田间光照强度,本文使用搜博公司SM3590B RS485光照度温湿度传感器,量程0~65 535 lx。试验选择阴天(7 500 lx)和晴天(65 000 lx)两种自然光照环境下,将M30BUSB工业相机置于距地面高度1 m处,采集相同场景田间图像分别用3种不同方法作分割处理,得到相应参数(见表2)。由表2可知,在两种光照强度下,应用本文算法处理得到绿色目标含量无明显差异;采用|G-R|+|G-B|分割所得含量百分比仅为个位数,远小于聚类算法与改进算法,无法达到目标分割提取要求。绿色植物含量随加权系数变化曲线见图2。
表2 两种典型光照强度下绿色目标含量百分比Table 2 Percentage of green parts under two typical light intensities
图2 加权系数-绿色植物含量变化曲线Fig.2 Curves with Weighting Coefficient-Percentage
由图2可知,随ε逐渐增大,含量百分比逐渐增大,到达分割系数后曲线趋于平缓。经试验后发现,加权系数大于3.54与2.46时,灰度图像将出现噪点,故将该值定为图像在此光强下分割系数。
田间图像灰度化目的是识别、分割与提取绿色植物特征,抑制土壤背景,增强绿色区域与土壤颗粒灰度差异[12]。如图3所示,图3b中采用本文方法分割图像,绿色植物区域(黄色部分)显著增多,与背景区域具有明显像素差,说明本文算法可明显增强绿色植物区域,且较好抑制土壤背景区域。
采用|G-R|+|G-B|与改进方法分割效果见图4。由灰度图像可见,相同田间场景不同光强图像,本文方法对光照适应性较好,明显区分绿色植物区域与土壤等颗粒背景,分割效果良好。
图3 基于RGB颜色空间的不同颜色指数的优化增强效果Fig.3 Optimized enhancement effect of different color indicesbased on RGB color space
图4 获得在不同颜色指数和光照强度下的灰度图Fig.4 Gray-level images obtained with different color indices and light intensity
为提取并分离图像中垄间杂草与作物,本文利用田间作物线性分布特征,采用烟花爆炸算法优化求解垄间杂草与作物位置数据。烟花爆炸优化算法(Fireworks Explosion Optimization)是模仿烟花爆炸方式对解空间加以并行弥散式搜索的新型群体智能算法。在D维解空间内可行域Ω中,随机产生Xi(i=1,2,…,N)等N个数据作为初始烟花爆炸点,每个烟花代表解空间中一个解,对每一个Xi爆炸操作,在烟花炸点一定邻域范围内随机搜索。适应度较好爆炸火花直接保留到下一代,对适应度较差个体采用一定选择概率保留,下次爆炸直到迭代停止,得到最优解集。
烟花算法需满足基本条件是最优解及其邻域内其他解具有相似性质。本文利用苗带线性分布特征,优化搜索得到最优解(目标解)集中于作物及其附近,算法可保留适应度较好数据(即秧苗位置坐标),淘汰适应度较差数据(垄间杂草坐标),实现苗草区分。本文暂不考虑株间杂草影响。
2.2.1 爆炸算子
算法运行前先在D维可行域Ω内随机产生N个数据作为初始烟花爆炸点,每个烟花代表解空间中一个解。作为爆炸算子,根据该烟花相对于种群中其他烟花适应度值计算得到每个烟花爆炸半径和爆炸产生火花数目。
为区分不同位置烟花,适应度较好(即适应度值较小),在较小范围内产生更多火花,具有对于该烟花位置强大局部搜索能力;反之,适应度值较大烟花获取相对较少资源,在较大范围内产生数量较少火花,具有全局搜索能力。
第i(i=1,2,…,N)个烟花xi产生爆炸火花个数为:
式中,m为常数;f为适应度函数;fmax为烟花适应度最差值,ξ为一个极小常数,可避免除零操作。爆炸半径rit为:
式中,r0为初始预设最大半径值;fmin为烟花适应度最优值。
为使具有不同适应度烟花产生不同数量火花,约束火花数量,限制火花个数如下:
烟花 xi第 t次迭代产生第 j(j=1,2,…,)个火花k(k=1,2,…,D)维坐标(t),即爆炸产生火花迭代公式:
式中rand()为随机函数。
2.2.2 选择策略
为使种群中优秀信息传递到下一代烟花种群,在产生火花后,算法会在包括烟花和火花集合中选择一定数量个体作为下一代烟花。适应度较好爆炸火花会直接保留到下一代,适应度差个体以一定选择策略保留,其选择概率为
式中:d(xi,xh)为个体xi与个体xh之间欧式距离;R(xi)为个体xi与其他个体之间距离之和;K为候选集合。
最后,将数据一并组合形成下一代迭代集合N,对集合N重复上述操作,直到迭代次数t=T,结束算法。
本文将图像二维坐标平面作为解空间(k=2),计算二维像素坐标,建立绿色目标区域二维质心坐标数据集合Ω。
首先利用最大类间方差法对分割图像二值化与形态学处理,将二值图横向分为若干条形区域,经验证,约15份既可得到充足数据,并保障运算效率。利用Matlab软件对二值图I及每个条形区域Iseg分别连通域检测,分别按照正整数从小到大顺序,在图像中以从左到右、从上到下顺序编号。计算每个白色区域在二值图I与条形区域Iseg中连通域质心坐标,标记在条形区域Iseg中每个连通域在二值图I坐标系中质心坐标为(x,y)p,q。其中p为连通域在条形区域Iseg中序号,q为该连通域在原始图像I中序号。
由于横向分割过程会将植物边缘横向分割成多个水平分布连通域,获取质心横坐标差值较小,纵坐标相同,增加数据量,降低算法计算效率。
本文将在二值图I中属于同一连通域,在同一条形图像中质心坐标值取平均处理(如图5所示),以最小顺序数重新命名。将得到质心坐标作为元素建立集合Ω。
①在集合Ω中,随机选取n组数据(xi,yi)(i=1,2,…,n),组成新集合N,将集合N中所有元素作为初始烟花炸点,设置适应度函数:
式中,xi1(t)为烟花xi(t)第t次迭代产生第j(j=1,2,…,Sit)个火花横坐标;yi2(t)为纵坐标。对于初代烟花炸点适应度计算,选定(x0,y0)作为初代烟花适应度计算参考点。记图像中心点a,坐标为(xa,ya),其邻域U(a)内,设最靠近点a数据横坐标为参考点横坐标值;参考点纵坐标y0=ya。后续迭代过程,计算爆炸火花均与当代烟花爆炸点适应度。
②爆炸操作:将适应度函数代入式(2)(3)(5),计算每个烟花炸点(xi,yi)产生爆炸火花个数、爆炸半径及火花坐标
设置每次迭代爆炸搜索半径为r/4、r/2、3r/4、r四类。
③选择适应度最优N/2个烟花爆炸点及产生火花,剩余个体按照公式(6)与公式(7)选择策略选择;同时,随机选取集合Ω中剩余质心数据,将数据组合形成下一代迭代集合N,操作集合N,直到迭代次数t=T,结束算法。
3.3.1 试验方法
试验采集100幅大豆3~5叶期图像,此时期为杂草多发期,是除草关键时段。图像中有且仅有一条完整作物行,作物行处在图像纵向中心线附近。试验方法设计如下,利用前文分割算法分割图像绿色植物区域,将绿色植物与土壤背景分开,通过形态学滤波去除小噪点,利用最大类间方差法二值化处理;对二值图像横向分割,求各个连通区域质心坐标、最小外接矩形等,利用前文坐标数据处理方法,减少坐标数据量;利用烟花算法对坐标数据优化求解,算法最后迭代求解数据即为目标解,识别结果为作物坐标;算法运算过程中淘汰质心坐标数据,识别结果为杂草 坐标。
3.3.2 试验结果与分析
试验硬件系统主要包括M30B USB工业相机,用于采集RGB彩色图像;采用Inter Core(TM)i5 2.60GHz处理器,windows10操作系统,软件开发环境为Matlab2017b。烟花算法主要参数设定:初始烟花弹个数设为5。最大迭代数为T=50,初始预设半径r0为8,参数m=10、a=0.8、b=0.04。试验效果如图6所示。
图6 烟花算法图像数据优化过程Fig.6 Data optimization using fireworks algorithm
如图6a所示,通过对二值图像连通区域检测得到质心数据14个,并用外接矩形框选目标区域;如图6b中显示,对图像采用水平条带分割,可获得质心数据增加到36个;经坐标处理后数据缩减至27个,处理后坐标为图6b、c中蓝色标出;算法最终优化数据12个,将被判定为秧苗,其中2个数据被误判为作物而保留,如图6d所示。
算法优化过程中淘汰数据15个,即被判定为垄间杂草,其中1个数据被误判为杂草而淘汰,数据见表3。
计算算法相关识别率及误判率,结果如表4所示。采用本文烟花算法苗草模式识别效果较理想。杂草与作物识别率分别为88.9%及100%,误判率=误判数据量/算法数据总数,结果为11.1%。统计100幅图像,实际作物与垄间杂草识别率分别为98.7%和89.5%。
表3 算法优化数据Table 3 Data of algorithm optimization
表4 苗草识别率及误判率Table 4 Recognition rate and false judgment rate of seedlings and weeds
本文算法适用于视觉导航技术与智能除草前期苗草模式识别。针对光照强度变化影响图像分割效果,提出基于加权系数绿色目标分割算法。结果表明,该算法在不同光照强度下均可有效分割作物与田间背景,保留完整绿色苗草信息,光照适应性较好,为苗草模式识别提供良好处理环境;利用作物生长呈线性分布特征,采用新型烟花群体算法,实现作物与垄间杂草区分与定位。