温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
深度
学习
番茄
识别
实例
分割
第 22卷 第 2期2023年 2月Vol.22 No.2Feb.2023软 件 导 刊Software Guide基于深度学习的番茄识别与实例分割高倩,诸德宏,封浩(江苏大学 电气信息工程学院,江苏 镇江 212003)摘要:目前番茄采摘主要依靠人工,实现番茄产业机械化和智能化刻不容缓,而番茄检测是最基础也最重要的一步。针对该问题,提出一种基于改进Mask RCNN的番茄检测算法。该算法选择ResNet50和FPN作为主干网络,提出一种新型RoI提取器,并在算法模型中使用空洞卷积(Atrous)。通过Labelme自制番茄数据集,将改进算法在自制数据集上进行训练和测试。结果表明,与Faster RCNN和Mask RCNN模型相比,改进后的模型AP值分别提高了5.5%和4.7%,AR值分别提升了6.8%和4.6%。该算法不仅提高了番茄的识别准确率,还更好地实现了实例分割。关键词:番茄检测;Mask RCNN;新型RoI提取器;空洞卷积;实例分割DOI:10.11907/rjdk.221276开 放 科 学(资 源 服 务)标 识 码(OSID):中图分类号:TP391.4 文献标识码:A 文章编号:1672-7800(2023)002-0075-06Tomato Recognition and Instance Segmentation Based on Deep LearningGAO Qian,ZHU De-hong,FENG Hao(School of Electrical and Information Engineering,Jiangsu University,Zhenjiang 212003,China)Abstract:At present,tomato picking mainly relies on manual labor,so it is urgent to realize the mechanization and intelligence of the tomato industry,and tomato detection is the most basic and most important step.In response to this,propose a tomato detection algorithm based on improved Mask RCNN.The algorithm selects ResNet50 and FPN as the backbone network,proposes a novel RoI extractor,and uses atrous convolution(Atrous)in the algorithm model.Through the Labelme self-made tomato data set,the improved algorithm will be trained and tested on the self-made data set.Compared with the Faster RCNN and Mask RCNN models,the improved model also increases the AP value by 5.5%and 4.7%,respectively,and the AR value thats an increase of 6.8%and 4.6%,respectively.The results show that it not only improves the recognition accuracy of tomatoes,but also better achieves instance segmentation.Key Words:tomato detection;Mask RCNN;new RoI extractor;Atrous;instance segmentation0 引言在我国,随着机器视觉技术的快速发展,图像处理已成为贯穿农业产业链各个阶段的重要技术之一,在选种适配、生长过程、采摘方式及水果质量检测等多个环节均有涉及1。成熟果实采摘是农产品走向市场的重要一步,准确识别出成熟果实是实现智能化果实采摘的首要任务。当前的目标检测方式主要有传统检测和基于深度学习的检测两种2。传统目标检测算法大多基于手工特征构建,其中最具代表性的算法为 Viola Jones、HOG Detector、基于可变形部件模型(Deformable parts-based Model,DPM)等3。由于其提取的特征单一,检测结果不够准确。2012 年,卷 积 神 经 网 络(Convolutional Neural Network,CNN)被提出,此后,围绕着 CNN 的深度学习方法不断涌现,分为 One-stage 和 Two-stage 两大分支,其中代表性One-stage 算法包括 YOLO4系列算法、SSD5等;代表性Two-stage 算法包括 RCNN(Regions with CNN features)6、Fast RCNN7、Faster RCNN8、Mask RCNN9等。近年来,越来越多的研究者将深度学习技术应用于农产品识别环节。例如,张文静等10针对番茄生长环境复杂、枝叶对果实造成遮挡及果实之间存在遮挡等因素,提出基于Faster R-CNN的番茄识别检测方法,该方法的平均识别率达到 95.2%,但并未实现番茄的实例分割;岳有军等11通过对Cascade RCNN算法进行改进,增强网络对重叠番茄果实的识别能力,并对果实进行分类,将目标识别收稿日期:2022-03-15作者简介:高倩(1994-),女,江苏大学电气信息工程学院硕士研究生,研究方向为农业智能化、图像处理;诸德宏(1968-),男,江苏大学电气信息工程学院教授、硕士生导师,研究方向为智能信息处理。2023 年软 件 导 刊的准确率提高了2,但也未实现实例分割;陈欣燕等12提出一种基于YOLOv3的目标检测方法,该方法的目标检测 mAP 达到 96.34%,但识别速度较慢,也未实现实例分割;张凯中等13基于目标检测模型 Mask RCNN 对群养猪进行实例分割,在区域建议网络(Region Proposal Network,RPN)网络中引入RoI(Region of Interest),并在RoI中使用sobel滤波器,同时提高了模型的检测精度和训练速度;岳有军等14在原始Mask RCNN网络的基础上增加边界加权损失函数,使边界检测结果更为精确,该方法对苹果有不错的检测效果;任之俊等15对 Mask RCNN 中的特征金字塔(Feature Pyramid Networks,FPN)进行改进,改进算法在目标边缘和包围盒两项检测中的平均准确率分别较原始Mask RCNN检测框架提高了约2.4%和3.8%,尤其对于中等尺寸目标的检测准确率有较大提高,分别为 7.7%和8.5%。本文在以上研究基础上提出一种基于改进 Mask RCNN的番茄检测方法,首先提出一种新型RoI提取器代替传统RoI提取器,不仅保留了FPN各层的特征信息,也实现了特征增强。其次在主干网络中引入了空洞卷积网络,保证了番茄特征图不变化,还减少了算法的计算量,使得检测速度有所提升。最后采用迁移学习的方法将官方COCO数据集训练得到的权重模型作为本文番茄果实检测算法的预训练模型16,构建了一种能够同时实现番茄识别和实例分割的检测模型。1 Mask RCNNMask RCNN是深度学习领域的一大创新,其集成了物体检测和实例分割两大功能,大大提高了实例检测的准确度,取得了coco2016数据集的冠军。Mask RCNN主体结构如图1所示。1.1主干网络Mask RCNN的主干网络包括特征提取网络和FPN17。特 征 提 取 网 络 一 般 采 用 残 差 网 络 中 的 ResNet50 或ResNet101。残差网络 ResNet旨在解决当模型训练时,随着模型的层数增加,其中的冗余层越来越多的问题。如果能将这些冗余层实现恒等映射,那么其输入和输出就能保证完全相同,从而确保这些冗余层对模型训练结果不产生影响。残差网络具体结构如图2所示。当F(X)=0时,该残差网络就完成了一个恒等映射。本文考虑到只检测番茄一种物体,为提高模型检测效率,故采用ResNet50作为特征提取网络。FPN是对特征提取网络的扩展,可很好地将高层的、高语义、低分辨率信息与浅层的、低语义、高分辨率信息连接起来,因此本文选用 ResNet50+FPN 作为本文的主干网络。1.2RPNRPN 最初是在 Faster RCNN 中被提到,在 Mask RCNN中被沿用,其将主干网络中输出的Feature Map作为输入,在原图中生成若干个anchor(包含4个坐标的矩形框),并通过滑动窗口机制生成多个不同尺度的anchor。IoU(即交并比)在RPN网络中尤为常用,利用IoU可以将检测框与真实框进行对比,从而得到所需要的目标框,然后计算出两者的位置偏移,得到回归损失函数,其计算方式见式(1)。同时它还有一个很好的特性,即尺度不变性。将这些anchor与真实框进行IoU对比,规定一个阈值,若IoU大于这个值,则为目标框,否则属于背景框。IoU=|A B|A B|(1)式中,A为检测框,B为真实框。1.3RoI Align在 Mask RCNN 出现之前,Faster RCNN 算法是通过RoI Pooling将不同大小的特征图池化为同一大小,以方便之后的卷积操作。然而该操作导致量化误差过大,因此本文提出RoI Align算法,其取消了量化操作,利用双线性插值法计算获得坐标为浮点数的像素值,然后池化这些浮点数坐标值,最后得到同一大小的Feature Map。1.4损失函数Mask RCNN 是在 Faster RCNN 的基础上增加了一个mask分支,既有与Faster RCNN相同的分类损失和回归损失,又有其独有的mask部分损失。总损失公式表示为:L=Lcls+Lbox+Lmask(2)分类损失函数表示为:Lcls(pi,p*i)=-log p*ipi+(1-p*i)(1-pi)(3)式中,pi为检测为目标物体的概率,p*i为该物体的实际概率。当p*i为0时,Lcls(pi,p*i)=-log(1-pi);当p*i为1时,Lcls(pi,p*i)=-log(pi)。只有当p*i为1时才需要考虑回归损失函数,该函数表示为:ResNet50/101+FPNRPNROIAlign分类边框回归掩膜 Fig.1Mask RCNN main structure图1Mask RCNN主体结构 Weight layerWeight layerXrelu(X)(X)+XreluXidentityFig.2ResNet structure图2残差网络结构 76第 2 期高倩,诸德宏,封浩:基于深度学习的番茄识别与实例分割Lbox=R(ti-t*i)(4)式中,R表示为:R(x)=0.5x2|x 1|x-0.5 otherwise (5)式中,ti为预测框与候选框之间的偏移值,t*i为真实框与候选框之间的偏移值。Mask损失函数表示为:Lmask=-yylog(1-y*)+(1-y)log(1-y*)(6)式中,y为经过二值化处理后的实际物体,y*为二值化后检测的分割结果。2 改进Mask RCNN2.1一种新型RoI提取器在深度神经网络中,低层特征语义信息比较少但目标位置准确,高层特征语义信息比较丰富但目标位置比较粗略18,针对这种语义信息不平衡现象,FPN被提出,其网络结构见图3。以ResNet50作为backbone的主干网络为例,FPN通过自上而下的结构得到了 C2、C3、C4、C5 这4个特征图,也是该网络的4个级别。其利用自上而下和下采样的方法将顶层的小特征图放大,并通过侧向连