一种基于改进的YOLOv3的微藻识别方法
文献发布时间:2023-06-19 10:57:17
技术领域
本发明涉及海洋及船舶压载水中微藻种类识别技术领域,具体而言,尤其涉及一种基于改进的YOLOv3的微藻识别方法。
背景技术
船舶压载水对船舶在航行中保持安全稳定的状态具有重要作用,但国际航行船舶排放的压载水为外来生物入侵提供了渠道。随着经济全球化的发展,海运贸易量快速增长,船舶压载水造成的生态入侵问题逐步显现,引起了全球环保和航运领域广泛关注,被公认为全球海洋生态和海洋经济的重大威胁之一。国际海洋考察理事会(ICES)的数据表明94%的潜在有害海洋生物是通过船舶压载水传播。为防止、尽量减少和最终消除船舶压载水和沉积物造成的外来水生物和病原体的转移,保护海洋生态环境,国际海事组织(IMO)于2004年制定了《国际船舶压载水及其沉积物控制与管理公约》(以下简称《公约》),该公约于2017年9月8日正式生效。当前,在压载水入港的病媒检测中,微藻占据主要角色,因此对压载水中微藻进行检测是迫在眉睫的任务。藻类的种类和数量是压载水检测中的关键指标,目前常规方法是人工检测,这种方法存在很大的缺陷:检测设备步骤繁琐、体积大、价格昂贵,无法满足市场的要求,且人工检测中对工作人员的技能和熟练度要求很高,而且在大量检测过程中,工作人员容易疲劳和缺乏客观性,使得检测结果不合格、错误率高。藻类分类识别一直是生物学领域的一个热点问题,现在有很多使用传统识别算法替代人工检测,传统的机器学习识别方法通常采用特征提取与分类器相结合的方式,但是需要人为选择特征参数,存在对手工设计特征依赖的问题,影响识别结果的准确性和稳定性。随着卷积神经网络的迅速发展,利用深度学习可以进行微藻的识别。目标检测领域的深度学习算法主要分为两阶段目标检测算法和单阶段目标检测算法,其中两阶段目标检测算法存在着耗费检测时间的问题;单阶段目标检测算法的检测速度快,但识别具有相似特征的不同目标准确率低,尤其是在当前的目标检测领域,大部分都是用于宏观物体上的检测,很少用于微观领域中,因此需要考虑当对微观物体进行检测时,是否会出现一些新的问题。
发明内容
根据上述提出的技术问题,而提供一种基于改进的YOLOv3的微藻识别方法。本发明采用改进的YOLOv3目标检测模型,使用轻量级Mobilenet网络代替YOLOv3的原始特征提取网络darknet53,能够显著提高运行速度,大大减少网络参数,同时引入空间金字塔池结构SPP,能够在同一卷积层中以不同尺度合并和连接区域特征,使得在检测小物体时位置误差较小,使用CIoU优化损耗功能进一步提高检测精度。
本发明采用的技术手段如下:
一种基于改进的YOLOv3的微藻识别方法,包括如下步骤:
S1、采集微藻显微图像,制作微藻图像的数据集;
S2、对所述数据集进行数据增强;
S3、将增强后的数据集分为训练集、验证集和测试集,并对数据集中的微藻进行标注,生成XML格式的标注图像;
S4、构建改进的YOLOv3目标检测模型;
S5、设置训练参数,基于数据集对构建的YOLOv3目标检测模型进行训练;
S6、基于训练完成的YOLOv3目标检测模型,对测试集图像进行分类和定位。
进一步地,所述步骤S1具体为:
通过Ts2-FL/TS2荧光显微镜将每种微藻在不同放大倍数及亮度下进行拍摄,且每种微藻图像数量均等。
进一步地,所述步骤S2具体为:
采用剪裁、平移、改变亮度、旋转角度以及镜像的变换方法,将数据集图像缩放20%并进行局部模糊处理。
进一步地,所述步骤S3具体为:
将增强后的数据集按照8:1:1的比例,且每种微藻图像数量以均等的方式分为训练集、验证集和测试集。
进一步地,所述步骤S4具体包括:
S41、采用轻量级Mobilenet网络代替YOLOv3的原始特征提取darknet53网络;
S42、引入空间金字塔池结构SPP模块,在同一卷积层中以不同尺度合并和连接区域特征;
S43、采用CIoU函数作为微藻识别的分类损失函数优化损耗功能。
进一步地,所述步骤S41具体为:
S411、MobileNet网络将常规卷积分解为深度卷积和逐点卷积;
S412、深度卷积将标准卷积分为两个单独的层,用于过滤和合并;
S413、逐点卷积通过使用1×1卷积来组合输出深度卷积;
S414、基于上述分解,深度可分离卷积计算成本为:
C
上式中,M表示输入通道数,N表示输出特征图的通道数,D
S415、在输入与输出图像尺寸一致的情况下,传统卷积的计算成本为:
C
S416、将深度可分离卷积计算成本和传统卷积的计算成本的计算量相对比,得到深度可分离卷积与传统卷积计算量的比值为:
进一步地,所述步骤S42具体为:
将空间金字塔池结构SPP掺杂在特征网络最后一个特征层的卷积里,在特征网络的最后一个特征层进行三次卷积后,分别利用四个不同尺度的最大池化进行处理,得到同样长度的池化特征。
进一步地,所述步骤S43中的CIoU函数,其计算公式如下:
上式中,IoU表示预测边界框和目标边界框的交集比率,
进一步地,所述步骤S5具体包括:
S51、使用在ImageNet数据集上的预训练权重模型作为改进的YOLOv3初始化权重模型;
S52、训练过程中,采用随机梯度下降算法优化训练模型,初始学习率为0.001,权重衰减为0.0001,动量因子为0.9,epoch第一阶段初始化为0-70,迭代到第45个epoch,学习率降为上阶段的10%,迭代到第64个epoch,学习率再降为上阶段的10%;epoch第二阶段初始化为70-150,迭代到第75个epoch,学习率降为上阶段的10%,迭代到第119个epoch,学习率降为上阶段的10%,每批次训练数目为8;
S53、当锚框anchor与真实标记框的交并比IoU大于0.5时,anchor标记为正样本,当anchor与真实标记框的IoU小于0.35时,anchor标记为负样本,当anchor与真实标记框的IoU在0.3和0.5之间时,在训练期间忽略该anchor,非极大值抑制设置为0.6,去除冗余的检测框,找到物体检测位置。
较现有技术相比,本发明具有以下优点:
1、本发明提供的基于改进的YOLOv3的微藻识别方法,不需要耗费大量的人力物力,解决对手工设计特征依赖的问题,图像采集方法操作简单。
2、本发明提供的基于改进的YOLOv3的微藻识别方法,采用改进的YOLOv3目标检测模型,使用轻量级Mobilenet网络代替YOLOv3的原始特征提取网络darknet53,能够显著提高运行速度,同时大大减少网络参数。
3、本发明提供的基于改进的YOLOv3的微藻识别方法,引入一种空间金字塔池结构SPP,能够在同一卷积层中以不同尺度合并和连接区域特征,使得在检测小物体时位置误差较小。
4、本发明提供的基于改进的YOLOv3的微藻识别方法,使用CIoU优化损耗功能进一步提高检测精度。
5、本发明提供的基于改进的YOLOv3的微藻识别方法,解决了识别具有相似特征的不同目标准确率低的问题,且目标检测用于微观领域中,提高了对小目标的检测精度。
基于上述理由本发明可在海洋及船舶压载水中微藻种类识别等领域广泛推广。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图做以简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明方法流程图。
图2为本发明实施例提供的拍摄装置示意图。
图3为本发明实施例提供的改进的YOLOv3目标检测模型示意图。
图4为本发明实施例提供的轻量级MobileNet网络示意图。
图5为本发明实施例提供的空间金字塔池结构SPP模块示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分的实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本发明保护的范围。
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
如图1所示,本发明提供了一种基于改进的YOLOv3的微藻识别方法,包括如下步骤:
S1、采集微藻显微图像,制作微藻图像的数据集;
具体实施时,作为本发明优选的实施方式,所述步骤S1具体为:
采集的微藻显微图像为实验室显微图像,如图2所示,通过Ts2-FL/TS2荧光显微镜将每种微藻在不同放大倍数及亮度下进行拍摄,且每种微藻图像数量均等。
S2、对所述数据集进行数据增强;
具体实施时,作为本发明优选的实施方式,所述步骤S2具体为:
采用剪裁、平移、改变亮度、旋转角度以及镜像的变换方法,将数据集图像缩放20%并进行局部模糊处理。
S3、将增强后的数据集分为训练集、验证集和测试集,通过labelImg图像标注工具并对数据集中的微藻进行标注,生成XML格式的标注图像;
具体实施时,作为本发明优选的实施方式,所述步骤S3具体为:
将增强后的数据集按照8:1:1的比例,且每种微藻图像数量以均等的方式分为训练集、验证集和测试集。
S4、构建改进的YOLOv3目标检测模型;本实施例中,YOLOv3设计了目标多尺度检测结构,并使用了logistic功能代替了传统的softmax功能。YOLOv3将最后三个下采样层传输到检测层以进行目标检测,YOLO-V3的网络可以从三个方面进行预测,这三个标尺的大小分别为13×13、26×26和52×52,分别用于检测大目标,中目标和小目标。采用多尺度检测层(三尺度)来检测目标,使YOLO-V3可以更有效地检测小目标。在Darknet-53中,尽管引入了许多1×1卷积核,并且使用步长为2的3×3卷积核代替了最大池,但参数数量却大大减少了。但是,Darknet-53网络仍然有些复杂和冗余。为了减少YOLOv3模型中的参数数量并提高其检测速度,对其进行了改进,如图3所示,为本发明实施例的改进的YOLOv3目标检测网络模型示意图。
具体实施时,作为本发明优选的实施方式,所述步骤S4具体包括:
S41、采用轻量级Mobilenet网络代替YOLOv3的原始特征提取darknet53网络;如图4所示,为本发明实施例的轻量级MobileNet网络示意图。
所述步骤S41具体为:
S411、MobileNet网络将常规卷积分解为深度卷积和逐点卷积;
S412、深度卷积将标准卷积分为两个单独的层,用于过滤和合并;
S413、逐点卷积通过使用1×1卷积来组合输出深度卷积;
本实施例中,将MobileNet网络分割成三块不同特征提取图,第一个提取层提取出52×52×256特征图用于检测较小物体,第二个提取层提取出26×26×512特征图用于检测中等物体,第三个提取层提取出13×13×1024特征图用于检测较大物体。在深度可分离卷积计算成本中,减少了卷积和参数的数量。这种方式大大减少了计算量和模型大小,减少了冗余,保证精度的同时又提高了网络的实时性。
S414、基于上述分解,深度可分离卷积计算成本为:
C
上式中,M表示输入通道数,N表示输出特征图的通道数,D
S415、在输入与输出图像尺寸一致的情况下,传统卷积的计算成本为:
C
S416、将深度可分离卷积计算成本和传统卷积的计算成本的计算量相对比,得到深度可分离卷积与传统卷积计算量的比值为:
从上式可得,深度可分离卷积与传统卷积计算量的比值为
S42、引入空间金字塔池结构SPP模块,在同一卷积层中以不同尺度合并和连接区域特征;如图5所示,为本发明实施例的空间金字塔池结构SPP模块示意图。SPP-net全名为空间金字塔池化结构,是计算机视觉最流行的方法之一,SPP-net采用多级窗口对输入的特征图进行池化操作,对于给定尺寸的输入图像,可计算出SPP-net的池化窗口参数,假设输入的特征图大小为a×b(a和b的大小是可变的),对于一个包含n×n个空间盒(单位为bins)的金字塔层,其池化窗口大小为w
YOLOv3的多尺度预测侧重于级联多尺度卷积层的全局特征,而忽略了同一卷积层上多尺度局部区域特征的融合。而且,尽管YOLOv3引入的FPN结构提高了小目标检测的准确性,但对中型和大型对象的检测性能却相对较差。因此,具体实施时,作为本发明优选的实施方式,所述步骤S42具体为:
将空间金字塔池结构SPP掺杂在特征网络最后一个特征层的卷积里,在特征网络的最后一个特征层进行三次卷积后,分别利用四个不同尺度的最大池化进行处理,得到同样长度的池化特征。
SPP结构,受SPP-net的启发而来,SPP结构掺杂在特征网络的最后一个特征层的卷积里,在特征网络的最后一个特征层进行三次卷积后,分别利用四个不同尺度的最大池化进行处理,最大池化的池化核大小分别为13x13、9x9、5x5、1x1(1x1即无处理)。SPP显著特点为:(1)不管输入尺寸是怎样,SPP可以产生固定大小的输出,(2)使用多个窗口。(3)SPP可以使用同一图像不同尺寸作为输入,得到同样长度的池化特征。
S43、采用CIoU函数作为微藻识别的分类损失函数优化损耗功能。
具体实施时,作为本发明优选的实施方式,所述步骤S43中的CIoU函数,其计算公式如下:
上式中,IoU表示预测边界框和目标边界框的交集比率,
S5、设置训练参数,基于数据集对构建的YOLOv3目标检测模型进行训练;
具体实施时,作为本发明优选的实施方式,所述步骤S5具体包括:
S51、使用在ImageNet数据集上的预训练权重模型作为改进的YOLOv3初始化权重模型;
S52、训练过程中,采用随机梯度下降算法优化训练模型,初始学习率为0.001,权重衰减为0.0001,动量因子为0.9,epoch第一阶段初始化为0-70,迭代到第45个epoch,学习率降为上阶段的10%,迭代到第64个epoch,学习率再降为上阶段的10%;epoch第二阶段初始化为70-150,迭代到第75个epoch,学习率降为上阶段的10%,迭代到第119个epoch,学习率降为上阶段的10%,每批次训练数目为8;
S53、当锚框anchor与真实标记框的交并比IoU大于0.5时,anchor标记为正样本,当anchor与真实标记框的IoU小于0.35时,anchor标记为负样本,当anchor与真实标记框的IoU在0.3和0.5之间时,在训练期间忽略该anchor,非极大值抑制设置为0.6,去除冗余的检测框,找到物体检测位置。
S6、基于训练完成的YOLOv3目标检测模型,对测试集图像进行分类和定位。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
- 一种基于改进的YOLOv3的微藻识别方法
- 一种基于YOLOv3改进的水面漂浮物检测与识别方法及系统