张新伟,易克传,孙业荣,高连兴
(1.安徽科技学院机械工程学院,安徽 滁州 233100;2.吉林农业大学工程技术学院,吉林 长春 130118;3.玉米育种安徽省工程技术研究中心,安徽 滁州 233100)
玉米种子机械脱粒过程中会产生机械裂纹,将影响后续发芽以及幼苗的生长发育[1-3],造成玉米种质资源浪费,导致玉米减产。加强玉米种子机械裂纹的检测,剔除不良种子十分重要。有关谷物缺陷的检测,当前主要采用声学法[4-6]、机器视觉法[7-9]和光谱法[10-12]。声学法对试验环境、声音传感器及其放置位置、物料的下降高度、撞击角度等要求较苛刻,测量准确性难以保证;光谱技术多用于对果蔬农药残留、糖度和可溶性固体等的检测;机器视觉技术由于处理速度快、处理方法多样以及结果准确性高的特点而被广泛应用于谷物品质检测领域,但检测时通常只使用一种检测方法。由于玉米种子的形状、大小及颜色等各不相同,单一检测方法易丢失图像细节信息,导致检测结果准确率低,所以采用融合方法可有效提高玉米种子机械裂纹检测准确率[13]。张新伟等[14]采用GA+改进的脉冲耦合神经网络(PCNN)的方法对粘连玉米籽粒图像进行分割,分割准确率最高为98%,但方法的实现或因为与其他方法结合耗时较长,或因采用多个PCNN模型而使得计算过程复杂。针对玉米种子机械裂纹细节多及检测过程中 PCNN 融合图像时计算量大、效率低的问题,笔者采用双通道PCNN 模型对玉米种子的机械裂纹进行融合检测,以期提高玉米种子内部机械裂纹检测的准确率。
选用玉米育种安徽省工程技术研究中心提供的‘凤甜11’玉米种子作研究材料。成像系统主要由光源和成像装置2 部分组成。光源采用LED 灯泡。将待检测的玉米种子放置在玻璃托盘上,LED 光自通光孔照射到光箱内,再透过玻璃托盘照射到玉米种子上,此时可以观察到玉米种子上存在的机械裂纹;成像装置与显示器连接,通过显示器观察玉米种子的裂纹,获取玉米种子图像。
将待检测玉米种子的RGB 彩色图像(图1-a)中的红、绿和蓝3 基色分别单独转换为灰度图像(图1-b),并分别得到对应的灰度直方图(图1-d、图1-e、图1-f)。
图1 玉米种子灰度图像各分量直方图Fig.1 Histogram of gray image components for corn seeds
从图1 可知,原蓝色分量的灰度值基本服从正态分布,灰度值主要集中在50 至180 之间。蓝色分量的灰度图像玉米籽粒区域轮廓清晰,轮廓边缘与图像背景像素差异明显,而且玉米籽粒区域内部的灰度均匀,没有灰度突变情况,所以选择玉米种子的蓝色分量灰度图像作为待检测图像。
1.2.1 玉米种子图像的DWT 和NSCT 分解
分别应用离散小波变换(DWT)[15]和非下采样轮廓波变换(NSCT)[16]方法,对玉米种子图像进行4级分解。
1.2.2 PCNN 模型及改进
分析传统的PCNN 数学模型[17]可知其为单输出。当采用传统PCNN 模型进行数字图像融合时需要同时应用多个PCNN 模型,在实际融合过程中并不方便,因而对传统PCNN 模型进行改进,即将单通道输出改进为双通道输出。其数学描述如下:
式中:σ为神经元内部平衡因子;Hk为外部第k个输入通道,k值取1 和2;f(·)表示周围神经元对自己的影响方式;β为内部活动项的连接系数;Sij为神经元强制激发的外部激励值;Uij为神经元的内部活动项;Yij为神经元的输出,当输出由0 增大至1 时为神经元的点火;αE为动态门限E的衰减时间常数;VE为动态门限E的放大系数。
改进后的PCNN 模型主要由树突树、信息融合与脉冲生成器组成。其中树突树主要用来接收来自外部的激励输入和周围神经元的激励;信息融合部分主要进行图像数据的融合;脉冲生成器主要产生输出脉冲。
改进后的PCNN 模型中,可以改变来自外部的激励数目,单一通道外部激励改变为双通道的外部激励。
从改进的PCNN 数学模型的式(3)和式(4)可以看出,当进行多幅图像融合处理时,同一像素位置亮度较高的像素最早被点火,同时改进模型考虑了传统PCNN模型原有的图像增强功能以及人眼视觉特性,其并不直接输出融合后的图像,而是以改进PCNN 模型的赋时矩阵作为对数亮度的输出,并结合人眼视觉的Weber-Fechner 定律[18],从而使得融合后的图像既满足人眼的视觉特性,同时又有一定的图像增强效果。
1.2.3 玉米种子图像融合
玉米种子图像融合流程如图2 所示。
图2 玉米种子图像融合流程Fig.2 Chart of image fusion for damaged corn seeds
1) 运用DWT 和NSCT 分别将玉米种子的图像进行分解,各得到1 个低频子带和4 个高频子带。
2) 将得到的2 个低频子带系数与2个高频子带系数分别通过各自的双通道PCNN 进行计算融合,得到全新的低频子带系数和高频子带系数。
3) 通过NSCT 反变换得到最终的图像。
根据戴进墩等[19]的研究,在计算高低频子带融合系数时,需要使用不同的链接强度系数。高频子带融合时,选取张新伟等[20]的关于PCNN 链接系数β的计算方法;由于低频子带系数本身基本可以反映源图像像素的分布特点,所以低频子带融合时直接使用子带自身系数作为链接强度系数。
为判断基于双通道PCNN 方法的有效性,引用典型评价指标[21],即图像熵、相关熵、相关系数、均方根误差,并选用LoG[22]、DWT、NSCT 和PCNN方法作对比,对‘凤甜11’玉米种子进行裂纹检测。通过多次不同参数组合试验比较,将双通道PCNN参数设置为:σ=1,αE=0.01,VE=5000,γ=αE,β1=β2=1,f1(·)=f2(·)=Y[n-1]○×K,其中○×表示卷积运算,且K=[0.109 1 0.140 9 0.109 1;0.140 9 0.140 9 0.109 1 0.140 9 0.109 1]。各算法均在Matlab 2017b 环境下实现。检测结果列于表1。
表1 不同算法对‘凤甜11’玉米种子裂纹检测的结果Table 1 Evaluation indicators of mechanical cracks detection for ‘Fengtian11’ by different algorithms
表1 结果表明,双通道PCNN 方法检测准确率最高,LoG 方法的准确率最低;双通道PCNN 方法图像熵为0.351 1,远高于对比检测方法,是LoG的4.19 倍,是PCNN 的1.78 倍;双通道PCNN 方法相关熵是NSCT 的2.74 倍,是PCNN 的1.24 倍;双通道PCNN 相关系数比LoG、DWT、NSCT 和PCNN 分别高出0.166 0、0.136 4、0.085 2、0.064 9;双通道PCNN 均方根误差最小,仅为DWT 的59.5%和PCNN 的约77.9%;双通道PCNN 的运行时间长于各对比检测方法的运行时间。
不同算法对玉米种子轮廓与机械裂纹检测效果如图3 所示。LoG 的检测效果最差,玉米种子的边缘像素断开,并且出现较多的噪声(图3-a),这主要是因为LoG 是基于梯度图像模值大小进行检测的,在平滑的同时容易导致对比度下降; PCNN 检测的效果要略好于LoG 的(图3-b),但在玉米种子边缘内部的非裂纹处出现了较多的虚假边缘,可能是因为未改进PCNN数学模型的神经元外部激励只有1 个,进行融合操作时使用双层PCNN 模型,增加计算复杂度的同时引入了噪声;DWT 和NSCT的检测效果(图3-c 和图3-d)好于前两者,没有噪声出现,玉米种子边缘也很整齐,没有出现断开的现象,但在靠近种脐的部位还是出现了少量虚假边缘;与其他检测方法比较发现,基于双通道PCNN的检测方法的检测效果(图3-e)较理想,籽粒轮廓清晰光滑,裂纹完整,在种脐附近的虚假边缘最少,优于原始灰度图像的检测结果,这主要是由于双通道PCNN 模型中神经元的外部激励通道由原来的1个变为了2 个,图像融合过程中不再需要借助复杂的PCNN 模型,一定程度上简化了计算,使得改进后的双通道PCNN 检测方法更有效。
图3 不同算法对玉米种子轮廓和机械裂纹的检测效果Fig.3 Test results of the profile and the mechanical cracks for corn seeds by different algorithms
使用Canny 算子[23]对存在机械裂纹的玉米种子 灰度图像的各分量图像进行处理,结果如图4 所示。
图4 Canny 检测玉米种子图像R、G、B 分量结果Fig.4 Detection results of R, G and B components for corn seeds based on Canny
从图4 中可以看出,玉米种子灰度图像的蓝色分量检测结果只检测到种子的边缘轮廓,而不能检测到玉米种子内部的机械裂纹,如图4-d 所示。对比图3-e 和图4-d 发现,可以通过2 幅图像的相减去除玉米籽粒轮廓线,得到玉米籽粒的机械裂纹。
图3-e 中的玉米籽粒轮廓线与图4-d 中的轮廓线并不完全一样,前者的轮廓线更加精确,轮廓线两侧散落的像素点更少,如果2 幅图像直接进行相减运算,只能去除后者的部分边缘。为更好地提取玉米种子的机械裂纹,运用数学形态学对图4-d 的轮廓线进行膨胀操作,结果如图5-a 所示。膨胀后的图像能够完全覆盖图3-e 中轮廓线两侧散落的像素点。这时再对两图像进行相减运算就可以将图3-e 中的玉米籽粒轮廓线全部删除,得到对应玉米种子存在的机械裂纹,如图5-b 所示。
图5 玉米种子机械裂纹的提取及检测Fig.5 Extraction and detection of mechanical cracks in corn seeds
根据数字图像知识可知,图5-b 是二值图像,其中黑色部分的像素值为0,机械裂纹部位的像素值为1。对机械裂纹端点部位(图5-c)进行放大处理,如图5-d 所示。从图5-d 中可以看出,在机械裂纹曲线的内部像素值为1 的点都联通在一起并形成一个通域。根据机械裂纹二值图像的这一性质,运用Matlab 2017b 统计二值图像内部连通区域个数,即可得到对应玉米种子存在的机械裂纹数量。
随机选取50 粒玉米种子,分别采用双通道PCNN 方法和人工计数方法统计机械裂纹数量,并进行3 次重复。结果,双通道PCNN 方法和人工计数方法统计得到的机械裂纹数量分别为62.3 条和62 条,两者几乎相等,说明所建立的基于双通道PCNN 方法的有效性较高。
针对玉米种子机械裂纹检测准确率低的问题进行研究,提出了基于双通道PCNN 的数据融合检测方法。双通道PCNN 方法的机械裂纹检测准确率最高为97.5%,高于NSCT(93.5%)、DWT(90.0%)、LoG(89.6%)和PCNN(95.6%)方法的检测结果;双通道PCNN 方法的图像熵、相关熵、相关系数、均方根误差分别为0.351 1、1.731 4、0.983 5 和0.526 3,优于各对比检测方法的检测效果。
双通道PCNN检测方法的运行时间为14.900 7 s,远长于各对比算法,可能是双通道PCNN 模型在高频子带融合时的链接强度系数β计算的复杂性导致计算效率降低,使得运行时间增加,后续将进一步简化高频子带融合过程中链接强度的计算方法,缩短运行时间。