耿 磊,张 静,肖志涛,童 军
(1.天津工业大学 生命科学学院,天津 300387;2.天津工业大学 电子与信息工程学院,天津 300387;3.伍伦贡大学 电气计算机与电信工程学院,伍伦贡 NSW2522,澳大利亚;4.天津工业大学 天津市光电检测技术与系统重点实验室,天津 300387)
禽流感疫苗主要通过鸡胚培养法制备。在毒株增殖培养的过程中,裂纹胚蛋很容易滋生细菌并污染同一孵化室内的其他胚蛋,如果未被及时剔除,可能会造成灭活疫苗失效,产生严重后果。因此,毒株胚蛋裂纹检测对禽流感疫苗制备具有重要意义。目前禽蛋蛋壳裂纹自动检测常用的研究方法有机器视觉、敲击响应声学特性分析方法、敲击响应动力学特性分析方法、多技术融合方法。工厂车间机械设备繁多,设备运行过程中不可避免会产生噪声,且各零部件之间相互碰撞、摩擦会产生振动。基于敲击响应声学的方法检测蛋壳裂纹简单易行[1-2],但所获信息只是敲击部位的局部信息,且容易受到外界噪声干扰。基于敲击响应动力学的方法能够获取较全面的禽蛋蛋壳表面信息[3-4],但是传感器需要与蛋壳表面直接接触。在实际应用中,在线监测时传感器的部署较为困难,且容易受到设备振动影响。基于机器视觉的方法检测结果直观[5-6],但容易受到禽蛋蛋壳表面的污斑、裂纹大小和光源打光方式的影响。使用多技术融合的方法检测蛋壳裂纹能有效提升检测效果[7-8],但是多技术融合方法受限于单一技术的检测能力。
基于机器视觉技术的禽蛋蛋壳检测方法的检测准确率与图像处理算法息息相关。为减少机械设备的噪声和振动、胚蛋蛋壳表面的污斑和裂纹大小、光源打光方式对裂纹检测结果的影响,本文研究了一种基于深度学习的毒株胚蛋裂纹分割方法。近年来,深度学习算法在图像分割领域取得了重大进展[9]。全卷积网络[10](full convolutional networks,FCN)使用全卷积层替换卷积神经网络中的全连接层,利用反卷积实现特征图上采样,组合深浅层特征,融合全局语义信息与局部语义信息,实现对输入图像的精细分割。在此基础上,文献[11-12]采用编码解码结构,还原分割目标的位置信息。文献[13-14]通过注意力机制学习数据或特征的重点信息,减少对外部信息的依赖,忽略无关信息,为图像语义分割生成密集的上下文信息。文献[15-16] 利用概率图模型高效捕获像素点之间的依赖关系。文献[17-20]基于图像金字塔结构,融合多尺度、多层次特征,减少图像空间信息丢失,提高语义分割性能与速率。文献[21]结合生成对抗网络获取像素点之间的空间标签。文献[22-23]借鉴循环神经网络思想,提取图像中像素序列信息,提升分割精度。
毒株胚蛋裂纹形状尺寸不一,不利于分割任务。此外,毒株胚蛋表面的污斑、划痕也会对裂纹分割造成干扰。这些因素会导致胚蛋表面的裂纹和微裂纹的特征不明显,从而造成分割难度较大。为了实现胚蛋裂纹精准分割,本文提出基于密集空洞卷积模块DACM 与空洞空间金字塔池化结构ASPP 的毒株胚蛋裂纹分割方法。该方法通过密集连接不同空洞率的空洞卷积构成特征提取模块,并融入到具有3 层下采样的编码器-解码器网络中,用以增强空间信息表示并重建不同尺度目标信息;同时,在网络浅层使用ASPP获取多尺度特征,增强细节信息,进一步提高网络分割性能。为减少光源打光方式对毒株胚蛋裂纹分割的影响,使用相机获取胚蛋图像时,采用固定的光源与打光方式。
针对毒株胚胎裂纹细长的特点,为减少裂纹分割断裂现象,保证裂纹分割效果,本文引入UNet 作为基础网络结构。在提出的基于UNet 的模型中,编码器的深层特征具有大感受野、浅层特征保留丰富的空间信息,为减少空间信息丢失,网络采用3 次下采样。解码部分采用3 次转置卷积将特征图逐步还原到输入图像尺寸。为使分割结果更准确,将编码器和解码器中的同尺度特征图进行通道特征融合,以恢复目标的细节和空间维度。
早期基于深度学习的图像分割方法是先利用卷积操作提取图像特征,然后利用下采样减小特征图尺寸,最后将所得图像上采样到原始的图像尺寸进行预测。图像尺寸先减小再增大的过程会造成内部数据结构丢失、小目标信息无法重建的问题。为此,Yu 等[24]提出空洞卷积结构,在不使用池化的基础上加大感受野,让每个卷积输出都能在不牺牲特征空间分辨率的同时包含较大范围的信息。然而完全基于空洞卷积设计的模型也会存在一些问题:空洞卷积的卷积核大小并不连续;并不是所有的像素都参与计算;会损失信息的连续性。针对空洞卷积存在的问题,Wang 等[25]提出解决办法:叠加的空洞卷积的空洞率不能有大于1的公约数且设计成锯齿状结构,避免产生栅格效应。
蛋壳受不同外力影响所造成的裂纹形状尺寸各不相同。为避免过拟合现象,并满足不同尺度目标的分割效果,本文提出密集空洞卷积模块(dense atrous convolution module,DACM),其结构如图1 所示。
图1 密集空洞卷积模块结构Fig.1 Structure of dense atrous convolution module
该模块通过组合不同空洞率的空洞卷积获取丰富的上下文信息。模块的每一层均与之后的所有层相连,即每一层的输入特征由之前所有层的输出特征构成。为提取不同尺度目标的特征,避免丢失信息的连续性,约束堆叠的空洞卷积的空洞率之间的公约数不大于1,并呈锯齿状。为减缓梯度消失问题,加速网络收敛速度,提升训练稳定性,在每个空洞卷积前均进行批量归一化(BN)操作。DACM 每一层均包含BN、ReLu 激活、卷积核为3×3 的空洞卷积,3 层空洞卷积的空洞率为(1,2,3),设模块第i层的输出特征为xi,则其计算公式为:
式中:Hi为第i层的非线性复合函数,其包含BN、ReLU 激活、空洞卷积操作;ri为第i层空洞卷积的空洞率;[x0,x1,…,xi-1]表示将第0 层到第i-1 层的输出特征合并。
DACM 包含3 层空洞卷积,且空洞率为(1,2,3),设模块输出特征为x*,则其计算公式为:
由式(2)可以看出,DACM 的输出包含多个层次的特征信息,加强特征传播,鼓励特征复用,兼容不同尺度目标的分割要求,使网络适用于不同尺度的目标。
Deeplab 系列以并行连接的方式,采用不同空洞率的空洞卷积提取给定输入的多尺度特征,多个比例捕获图像的上下文信息实现语义分割。空洞空间金字塔池化(atrous spatial pyramid pooling,ASPP)结构如图2 所示。
图2 空洞空间金字塔池化结构Fig.2 Structure of atrous spatial pyramid pooling
设ASPP 第j层的输出特征为xj,则其计算公式为:
式中:Hj是第j层的非线性函数,其可以是卷积操作、空洞卷积操作、池化操作。
ASPP 包含5 层结构,可以获取多尺度特征,设xASPP的输出特征为,则其计算公式为:
式中:[x1,x2,x3,x4,x5]表示将第1 层到第5 层的输出特征合并。
根据毒株胚蛋裂纹的特点,本文提出了DACM 和ASPP 结合的毒株胚蛋裂纹分割方法。毒株胚蛋裂纹分割网络结构如图3 所示。
图3 毒株胚蛋裂纹分割网络整体结构Fig.3 Overall structure of crack segmentation network
提出的网络采用具有3 层下采样的编码器-解码器网络结构,输入图片尺寸为96×96,首先使用卷积核为1×1 的卷积,将单通道图像映射到32 通道特征图。然后将特征图输入到编码器中。网络编码部分和解码部分均使用DACM 进行特征传播。编码部分使用最大池化操作实现下采样。最大池化层的池化窗口为2×2、步长为2,每次下采样输出特征图的尺寸缩小50%。3 次下采样的过程中,4 个DACM 的输出通道数为(32,64,64,64),最终特征图尺寸缩小到12×12。解码部分使用转置卷积层实现上采样,每次上采样后特征图尺寸增加1 倍。3 次上采样的过程中,3 个DACM的输出通道数为(64,64,32),特征图尺寸逐步恢复到原输入图像尺寸。同时,通过跳跃连接将编码部分的特征图传递到对应的解码部分进行合并,网络中含有3 次跳跃连接传递特征。在网络浅层使用ASPP 获取多尺度特征,并融合ASPP 输出特征与解码器输出特征。将生成的高分辨率特征图通过卷积核尺度为3 ×3 与1×1 的卷积实现语义信息细化与像素级分类。本文中网络使用Softmax 分类器,选用交叉熵函数作为损失函数。
为检测白皮毒株胚蛋裂纹特征,本文使用HIKVISION MV-CE013-50GC 型彩色工业相机以及HIKVISION MVL-HF0828M-6MP 镜头采集顶部裂纹与侧面裂纹数据。
图4为毒株胚蛋顶部和侧面裂纹数据采集示意图。
图4 毒株胚蛋顶部和侧面裂纹数据采集Fig.4 Collection of the top crack data and the side crack data
顶部裂纹数据采集:利用蓝光对表面微特征敏感的特点,使用HIKVISION MV-LBPS-150-100 蓝色平行光源,自上向下打光,如图4(a)。
侧面裂纹数据采集:利用光的透射性,使用Wordop PL-2108-3W-A 白色点光源,自右向左打光。为防止漏光,使用橡胶套覆盖了胚蛋的顶部,如图4(b)。
顶部裂纹数据处理:在每次采集图像时,相机采集的单张图像包含了4 个毒株胚蛋的全部区域,为便于训练,需要对数据进行切割,获取单个胚蛋图像区域。图5 为裂纹数据样本。
图5中,每张图像像素均为512×512。从图5(a)中可以看出,顶部裂纹狭长,形状尺寸随机,边界模糊。在卷积神经网络训练与测试的过程中,容易造成分割结果中有较多的裂纹断裂现象。顶部裂纹标注如图5(b)所示。
侧面裂纹数据处理:在每次采集图像时,相机采集单张图像中包含了单个胚蛋的全部区域。采集到的图像中带有左右临近胚蛋的信息,而有效区域只有中间单个完整胚蛋成像区域,因此需要对数据进行切割,获取单个胚蛋图像区域。从图5(c)中可以看出,侧面裂纹图会有高亮斑点干扰,形状尺寸随机,边界模糊,且图像中的胚蛋血管信息会对裂纹的分割造成干扰。侧面裂纹标注如图5(d)。
图5 裂纹数据样本Fig.5 Data samples of vaccinated eggs crack
顶部裂纹数据集:现有已标注顶部裂纹图像240张。在原始数据的基础上,随机选择40 张作为验证集,验证集不进行数据增强,剩余200 张裂纹样本以180°和270°对原图进行图像旋转变换以及上下翻转变换,扩充后的数据集有840 张。从增强的数据中随机挑选出200 张作为测试集,剩余600 张作为训练集。
侧面裂纹数据集:现有已标注侧面裂纹图像140张。在原始数据的基础上,随机选择28 张作为验证集,验证集不进行数据增强。由于侧面裂纹样本的数量比较少,首先将剩余112 张裂纹样本以45°和135°对原图进行图像旋转变换,然后对第一次增强后的裂纹样本进行图像的左右翻转变换,扩充后的数据有700 张。从增强的数据中随机挑选出168 张作为测试集,剩余504 张作为训练集。
本文实验环境以TensorFlow 作为后端的Keras 框架,硬件配置为英特尔至强E5-2680 v4 处理器和NVIDIA GTX2080Ti GPU。
网络使用Adam 优化器,初始学习率为0.001,β1=0.9,β2=0.999,ε=1×10-8。采取小批量处理策略,批处理大小为5。所有实验重复3 次,表中数据为3 次结果平均值。
设共有k+ 1 类(从L0到Lk,包括背景),Pij是本属于第i类却被分到第j类的像素数量,当i=j时,Pij代表的是分类正确的正例数量。
像素准确率(PA)计算正确分类的像素数量与所有像素数量的比值,计算表达式为:
像素准确率平均值(MPA)按类计算正确分类像素的比例,最终求得所有类别的平均值,计算表达式为:
平均交并比(MIoU)即为两个集合的交集与其并集的重合比例,即在每个类别上计算IoU 值(即真实正例/(真实正例+错误负例+错误正例)),最后取平均。计算表达式为:
PA 不适合用于评价以小目标为主的图像分割效果。为了评价和比较毒株胚蛋裂纹图像分割算法的性能,使用简洁、代表性强的MIoU 进行分析。MIoU 值越接近于1,表明分割的效果越好。
3.3.1 DACM 性能验证
将UNet 中成对使用的卷积核尺寸为3×3 的卷积替换成DACM,并称之为DACM-UNet。实验中使用顶部裂纹数据集分别对UNet 和DACM-UNet 进行训练与测试,并将分割结果进行对比。实验结果如表1所示。
表1 基于UNet 不同特征提取模块对顶部裂纹分割性能比较Tab.1 Comparison of segmentation performance of top crack based on different feature extraction modules of Unet
DACM-UNet 的MIoU 值为71.3%,比UNet 提高了2.7%。UNet 与DACM-UNet 网络分割结果如图6所示。
图6 基于UNet 不同特征提取模块的分割网络Fig.6 Different feature extraction modules on segmentation network based on Unet
由图6 可见,UNet 网络分割结果较为粗糙,部分裂纹分割断裂,裂纹末端细小部分未能分割。相较于UNet 网络分割效果,DACM-UNet 网络裂纹的分割结果更为流畅,裂纹分割断裂现象减少,部分裂纹末端细小部分能够较好地分割出来,裂纹的细节和边界更加清晰,如图6 中红框标注所示。实验结果表明,使用DACM 能够提升分割网络的语意分割性能。
3.3.2 毒株胚蛋裂纹分割网络性能验证
实验中分别对FCN、SegNet、Deeplab v3+、PixelNet和本文方法进行训练与测试,并将分割结果进行对比。实验结果如表2 所示。
表2 不同方法对顶部裂纹分割性能比较Tab.2 Comparison of segmentation performance of top crack based on different methods
由表2 可见,本文方法指标优于其他分割方法,MIoU值为74.2%。不同分割网络的分割结果如图7 所示。
图7 不同分割网络对顶部裂纹的分割结果对比Fig.7 Comparison of segmentation results of top crack by various methods
图7中,FCN 采用上采样方法实现了像素级的预测,因为上采样过程会丢失大量信息,导致分割结果粗糙,部分裂纹无法分割。SegNet 在解码器中使用最大池化索引来对低分辨率的特征图执行向上采样,使SegNet 在细节特征上的表现比FCN 更好。FCN 和SegNet 网络只能识别出小部分裂纹特征,分割结果无法显示胚蛋裂纹信息。Deeplab v3+采用ASPP 模块充分利用全局信息和局部信息之间的关系,使分割结果中裂纹轮廓更接近标注图裂纹轮廓,但裂纹分割结果易受毒株胚蛋表面污斑、划痕影响,抗干扰能力较弱。PixelNet 网络采用像素分层采样策略,充分利用了像素的空间位置信息,使得裂纹分割结果趋近于标注图裂纹轮廓,然而裂纹分割断裂现象较为明显。对比其他分割方法,本文提出的方法能同时满足不同尺寸裂纹分割,裂纹分割断裂现象明显减少,裂纹细节分割良好,有效减少毒株胚蛋表面污斑、划痕对分割结果的影响,抗干扰能力强,如图7 中的红框标注。
为进一步评估本文提出的方法在裂纹分割任务中的鲁棒性,在侧面裂纹数据集上进行实验。实验结果如表3 所示。
表3 不同方法对毒株胚蛋侧面裂纹分割性能比较Tab.3 Comparison of segmentation performance of vaccinated eggs side crack based on different methods
本文方法在MIoU 指标上优于其他分割方法。不同网络的分割结果如图8 所示。
图8 不同分割网络对侧面裂纹的分割结果对比Fig.8 Comparison of segmentation results of side crack by various methods
由图8 可以看出,提出的方法明显减少裂纹分割断裂现象,裂纹细节分割良好,裂纹轮廓更流畅,如图8 中的红框标注。实验表明,本文提出的方法有较强鲁棒性。
本文提出了一种毒株胚蛋裂纹分割方法。该方法采用密集空洞卷积模块DACM,该结构通过组合不同空洞率的空洞卷积获取丰富的上下文信息,综合利用深层浅层特征。该方法采用编码器-解码器网络结构,实现了网络对图像特征的多尺度特征识别,增强语义信息的同时获取像素的空间信息。为进一步增强分割效果,该方法使用空洞空间金字塔池化结构ASPP 获取多尺度特征,增强细节信息,提高网络分割性能。本文方法与现有的其他分割网络相比,针对毒株胚蛋裂纹这类狭长小目标分割结果表现更为出色。在自制毒株胚蛋顶部和侧面裂纹数据集上,该方法的MIoU 分别达到74.2%和81.3%,具有较强的鲁棒性。未来工作中,将进一步研究本文方法在胚蛋图像其他组织分割上的应用,提高网络的泛化能力。