基于深度学习的粘连米粒实例分割算法研究

2022-10-26 04:43尚玉婷
中国粮油学报 2022年9期
关键词:掩膜粒米主干

尚玉婷, 王 粤, 刘 彬

(浙江工商大学信息与电子工程学院,杭州 310018)

随着我国经济的快速发展,人们的生活水平不断提高,对优质大米的需求也与日俱增。碎米率、黄米率、垩白粒率、垩白度是评测大米外观品质的重要指标。在抽样检测台上由于米粒可能相互触碰、粘连,采集的图像若不进行分割预处理会造成后续大米外观品质评测的失误。现有的粘连米粒分割方法主要是基于形态腐蚀和膨胀的边缘检测算法、基于分水岭变换的区域分割算法、基于轮廓分析的算法和基于凹点匹配的算法。张芹等[1]针对分水岭算法容易产生过分割的问题,运用改进多尺度梯度图像解决了由结构元素的尺寸增大而引起的梯度图像边界增大的问题,从而使米粒边界更加清晰,更易于分割,但相比分水岭算法增加了计算复杂性。王粤等[2]基于粘连米粒内轮廓和外轮廓线上各像素点的曲率方向特征提出一种新的获取粘连点的方法,并根据粘连点的曲率伸展方向和粘连点之间的距离对粘连点进行配对,实现粘连米粒的分割,尽可能多地保留了米粒边缘信息,分割准确率较高。孙志恒[3]基于全局凹点匹配方式的不足提出了一种基于局部凹点匹配的分割算法,并使用基于距离变换函数的分割算法解决孤立凹点无法匹配的问题,该算法准确率高,但耗时较久。

近年来,基于深度学习的实例分割成为计算机视觉领域的一大研究热点。Ren等[4]以Faster R-CNN检测算法为原型,提出了Mask R-CNN[5]实例分割算法,该算法在Faster R-CNN的基础上增加了一个与分类和边界框回归分支并行的新分支用于分割任务,先通过目标检测的方法找出每个实例所在的区域,然后在检测框内进行语义分割,输出实例掩膜。随后的Mask Scoring R-CNN[6]、SOLOv2[7]、YOLACT[8]、BlendMask[9]方法在实例分割和检测精度方面均取得了较好的效果,但大量的计算限制了其在移动终端或嵌入式设备上的部署。为了减少内存访问成本,提高GPU计算效率,Lee等[10]提出了用于目标检测的主干网络VoVNet,使用OSA(One-Shot Aggregation)模块解决密集连接带来的特征冗余问题。Lee等[11]在VoVNet的基础上引入了ResNet的残差连接和SENet的eSE模块,提出了VoVNetV2网络,缓解了堆叠OSA模块造成梯度反向传播困难的问题,进一步增强特征,提升模型性能。本实验提出了轻量级的粘连米粒实例分割网络RiceInstNet,主干网络由两个改进的VoVNetV2网络并行组成,在大规模减少网络参数的同时加强对粘连米粒图像的特征提取,另外在掩膜分支上增加了学习物体边界的子网络,利用边界特征丰富掩膜特征并促进掩膜预测得更加精细。与Mask R-CNN相比,RiceInstNet网络模型小,参数少,更适合集成到移动终端、嵌入式设备等。

1 粘连米粒分割网络结构的构建

Mask R-CNN算法通常以深度残差网络ResNet作为主干网络对输入图像进行特征提取[12],随着网络层数的加深,网络提取特征的能力也越来越高,但由于深层网络需要大量的计算来学习参数,对硬件的要求较高。考虑到农作物外观质量检测通常需要在现场实地进行,而移动设备因为硬件资源和算力有限,难以运行复杂的深度学习模型。因此本实验对现有的Mask R-CNN网络进行调整优化,构建了一个轻量级的粘连米粒实例分割网络RiceInstNet。主要对Mask R-CNN进行3点改进:采用2个改进的VoVNetV2并行作为Mask R-CNN的主干网络,在大规模减少网络参数的同时加强对粘连米粒图像的特征提取;在掩膜分支上增加了学习物体边界的子网络,利用边界特征丰富掩膜特征并促进掩膜预测得更加精细;对损失函数进行了优化。RiceInstNet网络结构如图1所示。

图1 RiceInstNet网络结构

1.1 主干特征提取网络

为增强对粘连米粒图像的特征提取,采用2个调整后的VoVNetV2网络并行提取图像特征得到不同尺度的特征图,将每个VoVNetV2分支提取出来的具有相同尺度的特征图逐元素相加,对相加后的结果采用ReLU非线性激活函数减少参数之间的相互依赖,随后由特征金字塔网络FPN[13]对不同尺度的特征图进行特征融合。

表1 VoVNetV2网络结构

图2 OSA模块

1.2 边界子网络

(1)

式中:Fb表示输出边界特征,f表示1×1卷积和ReLU激活函数。将最终的边界特征与掩膜特征融合,可以利用边界信息丰富掩膜特征,促进掩膜预测更加精确。融合机制与式(1)相同。预测器由1个2×2反卷积和1个1×1卷积构成,会为每个目标生成1个掩膜和1个边界,得到最终输出。

1.3 损失函数的优化

由于边界和掩膜由2个融合块交叉连接,联合训练可以增强边界和掩膜预测的特征表示。本实验在Mask R-CNN的基础上添加了边界损失Lb。由于边界分类的训练像素比掩膜分类的训练像素少,而Dice loss不仅可以衡量预测值和真实值之间的重叠程度,而且对前景/背景像素的数量不敏感,能够缓解类别不平衡问题[15]。在本实验中,粘连大米像素点作为前景像素相对较多,仅选择binary cross-entropy loss作为损失函数无法进行准确的分割,因此结合Dice loss和binary cross-entropy loss来优化边界学习任务,并使用拉普拉斯算子捕捉二进制掩膜真实值中的边界,转换为二进制图作为边界的真实值。边界损失Lb的计算如式(2)所示:

Lb(pb,yb)=LDice(pb,yb)+λLBCE(pb,yb)

(2)

LDice(pb,yb)=

(3)

L=Lcls+Lbox+Lmask+Lb

(4)

其中,Dice loss的计算如式(3)所示,H和W分别是预测边界图的高度和宽度,pb∈RH×W表示特定类别的预测边界,yb∈RH×W表示相应的边界真实值。λ是一个调整Dice loss权重的超参数(在所有的实验中都设置了λ=1)。由此,每个样本的损失公式如式(4)所示,其中分类损失Lcls、回归损失Lbox和掩膜损失Lmask继承自Mask R-CNN,掩膜损失Lmask是针对每个实例特定类别像素级的二进制交叉熵损失。

2 粘连米粒分割实验

2.1 数据集采集

针对市面上现有的常见米粒,选取了长粒米和圆粒米对算法有效性进行验证。使用HV1351UC大恒相机,12 mm真彩色高清摄像头,配合环形光源,共采集了1 120张图像,其中长粒米和圆粒米的比例约为1∶1,采集样本的图像分辨率为512×512,每幅图像中的米粒粘连程度各不相同,含有米粒数在20~70颗不等,采集样本如图3所示。

图3 米粒采集样本

2.2 数据集制作

为了增加样本的数量和多样性,防止过拟合,在保持粘连米粒图像仍具有其要表达的含义的情况下,对每幅粘连米粒图像进行了水平/垂直翻转、不同角度旋转、模糊、噪声和亮度操作,使数据集的体积增加到5 000幅样本,将样本按4∶1的比例随机划分出训练集和测试集,得到4 000幅训练集,1 000幅测试集。使用Labelme软件对增强后的粘连米粒图像进行标注,在每幅图像中将每颗米标注为一个独立的连通域,赋予标签rice,图4为标注后的米粒图像。每标注完一幅图像可以得到一个对应的json文件。将Labelme标注的json数据转换成COCO数据集的格式即可开始训练。

图4 粘连米粒标注图像

2.3 实验环境

本实验环境为Ubuntu18.04, 2颗8核Inter E5-2620V42.0Ghz处理器,1块NVIDIA TITAN GPU,CUDA版本为10.1,CUDNN版本为7.6。RiceInstNet模型基于Pytorch框架实现,采用学习速率为0.002 5的随机梯度下降(SGD)作为优化器,权重衰减率设置为0.000 1,动量因子为0.9,训练35个epoch,每个epoch迭代500次,训练过程共计17 500次。

3 结果与分析

3.1 不同主干网络对分割结果的影响

本实验在Mask R-CNN中使用不同的主干网络对粘连米粒图像进行了分割实验,以平均精度AP、召回率Recall、模型大小、参数量作为衡量分割模型性能的评价指标,基于不同主干网络的Mask R-CNN模型性能如表2所示。使用改进后的单分支VoVNetV2作为主干网络的Mask R-CNN模型相比使用原有的VoVNetV2-19作为主干网络的Mask R-CNN模型,其平均精度(AP)和召回率由原来的89.9%、93.4%降低到84.3%、88.6%,分别降低了5.6%、4.8%,而使用改进的双分支VoVNetV2作为主干网络的Mask R-CNN模型相比使用原有的VoVNetV2-19作为主干网络的Mask R-CNN模型,其平均精度和召回率只降低了0.4%、0.8%,同时模型参数量不到原来的三分之一。说明原有的19层卷积网络对本实验研究的粘连米粒分割任务有较大冗余,降低其卷积层数量和通道数量并采用双分支主干网络并行提取图像特征能够在基本不影响模型性能的情况下大幅降低模型参数量。相比经典的基于ResNet-50的Mask R-CNN模型,基于改进的双分支VoVNetV2的Mask R-CNN模型平均精度和召回率分别提高了2.3%、2.9%,同时由表2可以看出,基于ResNet-50的Mask R-CNN 模型参数量是基于改进的双分支VoVNetV2的Mask R-CNN模型的11.7倍;此外MobileNetV2、MobileNetV3作为轻量级主干网络的典型代表,基于二者的Mask R-CNN模型参数量分别是基于改进的双分支VoVNetV2的Mask R-CNN模型的6.2倍和3.5倍,且分割精度和召回率均低于后者。由此可以看出本实验提出的改进的双分支VoVNetV2主干网络不仅能够提升粘连米粒实例分割模型的性能,而且整个网络参数量较低,具备应用到移动嵌入式大米外观品质检测设备上的能力。

表2 基于不同主干网络的Mask R-CNN模型 对圆粒米/长粒米的分割结果比较

基于改进的双分支VoVNetV2的Mask R-CNN模型对粘连米粒图像分割的可视化结果如图5a、图5b所示,对于圆粒米、长粒米,分割模型基本可以将米粒轮廓之间的粘连区域分割开,实现粘连米粒实例级别的分割,且分割前后米粒个数相同,不存在漏分割、误分割的情况。此外,采用100幅含有圆粒米和长粒米的混合米粒图像作为测试集,使用基于改进的双分支VoVNetV2的Mask R-CNN模型进行分割,结果如表3所示,发现模型在混合米粒上也有较高的分割精度和召回率,分割可视化效果和圆粒米/长粒米的效果相似,如图5c所示。

图5 基于改进的双分支VoVNetV2的Mask R-CNN 模型对不同类型的米粒分割可视化结果

表3 基于改进的双分支VoVNetV2的Mask R-CNN模型对不同类型的米粒分割结果比较

3.2 边界子网络对分割结果的影响

本实验提出的RiceInstNet模型在改进的双分支VoVNetV2基础上添加了边界子网络模块,实验结果如表4所示,可视化效果如图6所示。由表4可知,RiceInstNet模型相比基于ResNet-50的Mask R-CNN模型,平均精度和召回率分别从87.2%、89.7%提升至90.4%、93.7%。相比基于改进的双分支VoVNetV2但没有添加边界子网络的Mask R-CNN模型,精度和召回率分别提升了0.9%、1.1%,模型参数量稍有增长。由可视化分割结果图6可以看出,基于ResNet-50的Mask R-CNN模型分割结果存在较多明显的误差,粘连部分分割粗糙、呈锯齿状,基于VoVNetV2-19的Mask R-CNN模型出现欠分割、过分割的现象,基于改进的双分支VoVNetV2但没有添加边界子网络的Mask R-CNN模型则存在米粒粘连区域部分未预测现象,而本实验提出的RiceInstNet模型在米粒粘连区域分割更加精细,预测出来的掩膜也较为完整,在大米边缘处更加平滑。

表4 添加边界子网络的模型与其他模型 对圆粒米/长粒米的分割结果比较

图6 不同分割模型的可视化结果

3.3 损失函数对分割结果的影响

本实验对损失函数进行了优化,为验证损失函数的有效性,做了3组对比实验,实验结果如表5所示。结合Dice loss和binary cross-entropy loss来约束边界损失,比单独使用两者中的任何一个精度均有提升,且IoU阈值越高,本实验损失函数与其他两种方法之间的差距越大。例如当IoU=0.5时,本实验损失函数比其他2种损失函数高1.1%,而IoU=0.9的时候,差距扩大到4.1%,这表明损失函数可以达到预期效果。

表5 损失函数在不同IoU阈值下的精度比较/%

4 结论

本实验提出了一种轻量级的实例分割网络RiceInstNet,它将粘连在一起的米粒分割成单颗米粒,为后续的大米外观质量检测提供高精度的图像预处理技术。相比基于经典的ResNet-50的Mask R-CNN模型,RiceInstNet在不损失准确度的情况下,大大减少了网络模型的参数量。相比基于轻量级的MobileNetV2、MobileNetV3的Mask R-CNN模型,本实验模型分割精度更高,且分割出的米粒粘连区域更加精细、米粒轮廓更加平滑。今后可在此分割的基础上,添加碎米率、黄米粒率、垩白粒率、垩白度等检测模块,从而构建一个完整的大米外观质量检测系统。

猜你喜欢
掩膜粒米主干
利用掩膜和单应矩阵提高LK光流追踪效果
抓主干,简化简单句
矮砧密植苹果园动态修剪效果好
粒米千滴汗
1亿粒米
清溢光电:掩膜版产业国产化的领军者
国内首条G11光掩膜版项目在成都高新区启动
基于树莓派的人物追踪系统及其小车实现
13 亿粒米究竟有多重?
一张纸与一座山