杨露露,秦华伟
(杭州电子科技大学机械工程学院,杭州 310018)
采用计算机视觉技术进行图像检测具有无损坏、速度快等优点,在农业领域应用广泛,如谷物的品质检验、农产品分类分级等。近年来,计算机视觉技术逐步应用于玉米穗性状参数的自动测量,但有些测量方法需要将玉米穗摆放整齐,降低了测量效率[1-2]。玉米考种过程中,玉米穗随意平铺,相互接触粘连,如对粘连图像不进行分割处理,就会导致玉米穗计数错误,影响种质评估和产量预测。针对图像粘连问题,Nee等[3]提出一种基于形态学和分水岭结合的分割算法,游迎荣等[4]提出一种基于距离变换的分水岭算法,Song等[5]提出一种凹点检测与改进分水岭相结合的分割算法,谢忠红等[6]提出一种凹点快速定位和重叠果实识别检测算法,荀一等[7]提出一种基于公共区域和轮廓分割点查找算法,Bai等[8]提出一种基于凹点和椭圆拟合的粘连细胞分割算法,李冰等[9]提出一种基于背景骨架特征的米粒粘连分割算法。Lin等[10]通过计算区域边缘轮廓的曲率极小值来确定凹点和凸点,实现匹配分割。对于特定的形状结构,上述算法均取得了较好的分割效果,但当分割目标形状发生较大改变时,分割效果不佳。玉米穗粘连复杂多样,为此,提出一种基于凹点检测的玉米穗粘连图像分割算法,通过提取玉米穗连通域的凹区域,迭代计算两两凹区域轮廓的最小欧氏距离,根据粘连形式不同,设定相应距离阈值,通过两次分割处理,实现了粘连玉米穗的有效分离。
玉米穗随机摆放在平台,如图1(a)所示。玉米穗粘连现象一般分为以下几种形式:(1)粘连线较短的玉米穗如图1(b)所示,玉米穗的头部或尾部与其他玉米穗轻微接触,接触部分较少;(2)环状粘连玉米穗如图1(c)所示,多个玉米穗两两相互粘连,形成一个闭环形式,在玉米穗中间形成孔洞区;(3)粘连线较长的玉米穗如图1(d)所示,玉米穗侧面相互粘连或者其它长粘连形式,粘连形式大致为一条线。
图1 玉米穗粘连形式
受外界影响,图像的采集伴有噪声等干扰因素,为了改善图像的视觉效果,抑制无用信息,提高图像的使用价值,需要进行预处理。
1.2.1 灰度处理
灰度处理的目的是为了减小图像原始数据量,更好地反映图像的形态特征。由于采集的原RGB图像背景为蓝色,而玉米穗蓝色分量很少,故采用分量法进行灰度处理。提取R,G,B三通道灰度图,分别统计其灰度直方图,结果如图2所示。图2(a)中,R通道直方图有距离较远的双峰结构,为了便于后续处理,将R通道灰度图作为灰度处理图。
图2 三通道灰度图和灰度直方图
1.2.2 阈值分割
设定相应的阈值,将图像分为灰度值只有0和255的二值图。本文中,阈值分割精度的要求不需太高,R通道灰度图的前景和背景灰度等级相差较大,故选取处理效率高的全局阈值分割进行二值化操作。由图2(a)可知,背景灰度值在0~50之间,玉米穗灰度值在100~255之间,灰度值在50~100之间的出现频率几乎没有,因此,分割阈值选择50~100之间便可将玉米穗和背景区分,本文选取分割阈值为70,阈值分割结果如图3所示。
图3 阈值分割结果
1.2.3 开操作处理
从图3可以看出,阈值分割后,有部分脱落玉米粒白点,还有玉米穗造成的边缘细小毛刺。开操作主要是对图像进行先腐蚀后膨胀处理,不仅可以有效消除细小物体和平滑边缘,还能保留主体区域。根据脱落玉米粒的大小,选取3种内核尺寸5×5,9×9,15×15进行开操作处理,结果如图4所示。
图4 开操作处理结果
从图4可以看出,内核尺寸为5×5时,无法消除全部白点干扰;内核尺寸为15×15时,部分玉米穗图像的主体结构有缺损;内核尺寸为9×9时,即能消除白点干扰又能保留玉米穗图像的主体区域,效果最好。
在数学领域中,凹点指形状边界上曲率大且向内凹陷的点[11-12]。对于玉米穗连通域的轮廓边界而言,内凹点只会出现在粘连处,并且是以凹点对的形式出现,如图5所示,因此,粘连玉米穗的分割关键是检测出连通域中的凹点对。
图5 粘连玉米穗凹点
1.3.1 凹区域提取
首先,采用OpenCV的轮廓查找算法依次提取所有玉米穗连通域的轮廓信息,判断提取的连通域轮廓是否有父轮廓,若有父轮廓,则认定该轮廓为子轮廓,先不予绘制填充;若无父轮廓,则先填充白色,再判断内部是否有子轮廓,若有子轮廓,则填充黑色,若无子轮廓,则不用考虑,最终获得玉米穗单个连通域图像p0。其次,对提取的玉米穗连通域进行凸包计算,获得凸包图像p1。然后,将获取的凸包图像与原连通域图像进行比较,取其差值,即p1-p0,获得初步的凹区域图像。最后,采用基于区域面积阈值方法去除凹区域图像中因凸包检测误差导致的边缘区域,设置面积阈值为200像素,将小于面积阈值的边缘区域设置为背景色予以去除。考虑到未粘连单玉米穗没有凹点,即不存在凹区域,不会对其连通域进行分割。
不同粘连形式的玉米穗图像的凹区域提取结果如图6所示,左图为粘连玉米穗连通域,右图为提取的凹区域。
图6 凹区域提取结果
1.3.2 凹点匹配
提取凹区域后,对凹点进行检测。与通过检测目标轮廓角点来判断凹点的方法[13-15]不同,本文的凹点检测匹配提取的是凹区域轮廓。对于凹区域轮廓而言,每个轮廓上至少有1个凹点与其他轮廓的凹点进行匹配,如图7所示。对于2个凹区域轮廓A和B,通过遍历轮廓上的每一个点,迭代计算两两轮廓各点之间的欧氏距离,直到取得最小距离,即图7中点a和点b的距离,则a和b分别为轮廓A,B的凹点。a和b之间的距离表示为:
图7 凹点检测匹配
(1)
式中,(xa,ya)和(xb,yb)分别为凹点a和凹点b的坐标。
对于图6(b)中的环状粘连形式,其凹区域个数不只2个。比如,凹区域1和凹区域2不存在需匹配的凹点对,对两者进行凹点匹配时,出现不相干凹区域过匹配错误,导致过分割现象。为了避免这类错误的发生,设定距离阈值dmin。若da-b≤dmin,说明凹点匹配有效,可以储存;若da-b>dmin,则定为非凹点,不予储存。最后,用背景色直线将所有储存的凹点连接起来,画出分割线,完成一次分割处理。本文采用不同阈值进行大量的对比实验,结果如图8所示。从图8可以看出,当dmin阈值设定过大时,不相干凹区域过度匹配,出现过分割现象;当dmin阈值设定过小时,无法分割大量的短粘连玉米穗,出现欠分割现象;当dmin阈值为单玉米穗宽度的3/4时,既不会出现过分割现象,又能分割短粘连玉米穗,因此,本文将dmin设为单玉米穗宽度的3/4。
图8 不同阈值dmin分割结果
一次图像分割之后,仍有部分玉米穗没有匹配到凹点对,如图9所示。图9(a)中,环状粘连形式的玉米穗C和D凹区域轮廓上存在2对凹点对c-d和e-f,因为一次分割只考虑最短欧氏距离,所以只匹配到1对凹点对e-f,遗漏了凹点对c-d;图9(b)中,长粘连线形式的玉米穗E和F凹区域轮廓之间的距离大于一次分割所设定的距离阈值dmin,无法进行凹点匹配分割。因此,需要进行再次分割。
图9 未匹配的凹点对
1.4.1 凹区域提取
为了提高图像二次分割的效率,先计算一次分割后所有玉米穗连通域的平均面积A,将面积大于A的连通域记为粘连玉米穗,对其进行连通域提取;将面积小于A的直接舍去,不予处理。后续操作和一次分割一致。
1.4.2 凹点匹配
一次分割后,未分割部分通常是由2个玉米穗粘连形成的,其凹区域的凹点通常只有1对。检测凹区域个数,若凹区域小于2个,可能是因为玉米穗不规则引起边缘凹陷形成的凹区域,将其视为单玉米穗,不存在凹点,不予考虑;若凹区域为2个,直接迭代计算这2个凹区域轮廓之间的欧式距离极小值,并匹配分割;若凹区域大于2个,经实验发现,只有2个凹区域才有凹点对,其他都是由于玉米穗边缘籽粒脱落或者玉米形状不规则引起的,比如图10中的凹区域3即为干扰区域,所以,可以将凹区域的面积进行排序,取面积最大的2个凹区域进行凹点匹配分割,其余部分忽略不计。
图10 缺陷粘连玉米穗
图像采集装置由本文研究团队搭建,主要包括:整体支架、相机、LED灯、背景板以及显示屏及电脑主机等,如图11所示。相机放在整个支架顶部的中间位置,并在相机等距的4个角上放置LED灯用于补充光源,背景板水平置于支架底部,玉米穗放在背景板中部,将采集到的图像传输到计算机进行分析。相机为Basler acA4600-10uc面阵相机,光源采用白色LED灯,功率为5 W,背景板为蓝色帆布,玉米样品来自2019年产于山东菏泽的干玉米棒。
图11 图像采集装置
将玉米穗随机平铺在采集平台上,通过相机采集3次不同摆放形式的玉米穗图像,分别采用直接凹点匹配算法、基于距离变换的分水岭算法[4]、Mask RCNN实例分割算法[16]、本文提出的算法进行图像分割。采用Mask RCNN实例分割算法时,backbone为Resnet50,采集的图像数量有限,故对训练样本做了饱和度变换、亮度变换、噪声添加以及图像几何变换等数据增强操作,共标记200张图像样本用于模型训练,再从200张图像样本中随机挑选20张用于不同样本集的对比实验,其中训练集与测试集的比例为7∶3。网络使用coco训练集上预训练的模型,学习率为0.001,并采用step方式对学习率进行调度;考虑玉米分类是简单的二分类问题,为避免网络过拟合,冻结Resnet50网络结构前4个block,只对最后1个block进行训练,优化器采用SGD,momentum设置为0.9,weight_decay为0.000 1,训练的epoch为500。实验结果如图12所示。
图12(b)中,直接凹点匹配算法无法完全分割环状粘连玉米穗,存在欠分割和过分割现象。图12(c)中,出现部分过分割现象,同时对于长粘连线的玉米穗,无法正确标记粘连玉米穗的连通域,产生欠分割现象。采用Mask RCNN算法进行分割时,样本数为200的图12(d)中,可以分割识别出大部分玉米穗,但分割出的玉米穗不规则,不利于后期玉米穗表型参数的提取,样本数为20的图12(e)中,只有极少数玉米穗被分割出来,效果不佳,说明训练样本的数量对准确率影响极大。图12(f)为采用本文算法的分割结果,可以看出,对粘连玉米穗进行了有效分割,过分割和欠分割情况极少,分割边缘平滑且无锯齿状,有利于后期玉米穗表型参数的提取。
为了更直观的比较分割算法的性能,将欠分割率、分割准确率作为衡量粘连玉米穗分割效果的性能指标。欠分割率定义为:
(2)
准确率定义为:
(3)
式中,M为单玉米穗个数,N为分割后仍粘连的玉米穗个数,R为分割后完整的单玉米穗个数。
随机挑选28个玉米穗,随意平铺摆放在采样平台上,采集3次不同摆放形式的图像,记为样本1、样本2和样本3,分别采用直接凹点匹配算法、分水岭算法[4]、本文算法进行分割,结果如表1所示。
表1 不同分割算法比较
从表1可以看出,本文算法的平均欠分割率最低,平均分割准确率最高,算法运行时间适中,分割效果最佳,说明本文提出的算法更适用分割复杂粘连形式玉米穗图像。
针对玉米穗粘连的复杂多样性,本文提出一种基于凹点检测的玉米穗粘连图像的分割算法。对采集的玉米穗RGB彩色图像进行两次分割,有效降低了欠分割率,提高了分割准确率,分割处理后的玉米穗图像边缘平滑,为后期玉米穗外形参数(长度、宽度等)的提取提供有效保障。但是,因为部分粘连玉米穗的凹区域只有1个,易被忽略,无法实现匹配分割,后期将针对单个凹区域粘连玉米穗图像展开研究,进一步提高分割准确率。