掌桥专利:专业的专利平台
掌桥专利
首页

基于改进SSD模型的漂浮物识别方法及储存介质

文献发布时间:2023-06-19 18:34:06


基于改进SSD模型的漂浮物识别方法及储存介质

技术领域

本发明涉及图像识别技术领域,具体涉及一种基于改进SSD模型的漂浮物识别方法及储存介质。

背景技术

目前我国淡水资源短缺,污染现象较为严重。在湖泊、河道等水面上出现大量漂浮物。为了实现人与自然可持续发展,解决水污染问题,需要对水面漂浮物进行监控并采取对策。虽然目前在一些河道周边安装了了摄像头对水面进行监控,但是仍然需要有人对监控画面进行看守,这样不仅耗时费力,而且也无法保证准确、实时地对漂浮物做出反应。另外,因为人员巡查不可避免地受到河道距离长、巡查耗费的时间长、视觉盲区等问题影响,导致河道漂浮物无法及时检出,甚至漏检。

为了提高河道问题发现效率,减轻人工排查河道问题的工作,需要研发水面漂浮物自动识别方法。基于神经网络的SSD目标检测算法的检测速度具有一定的优势,但是在直接应用于水面漂浮物识别领域时,其检测精度难以达到应用需求。原因在于:

1.单个水面漂浮物的尺寸都比较小,因此在视场中每个漂浮物占据的像素面积较小,在检测算法识别过程中,漂浮物的特征信息容易丢失。由于漂浮物暴露在水面的侧面积往往更小,该问题在侧拍成像的图像数据中更加明显。

2.水面波纹会动态反射太阳光,在视场内形成大量随机无规律排布的光斑,这些光斑基本与漂浮物的尺寸在同一个数量级,会干扰检测算法的表现,导致误检,影响检测精度。

3.由于检测时段的不同或者不同的天气情况图像的光照条件不同,因此存在比较明显的亮度区别,难以保证检测算法在不同的光照条件下良好表现。

发明内容

针对现有的水面漂浮物检测方法存在的精度低,不能达到应用需求的技术问题,本发明提供一种基于改进SSD模型的漂浮物识别方法及储存介质。

本发明的技术方案提供一种基于改进SSD模型的漂浮物识别方法,

本发明的基于改进SSD模型的漂浮物识别方法通过对水面图像数据的增强处理过程以及采用针对漂浮物特点的改进SSD模型,可以较好的剔除训练图像中的规律性差异,避免向模型中引入过多的噪声,影响模型精度;而且在减少训练参数的同时可以较好的识别漂浮物的特征,提高识别精度。由于采用了轻量化的SSD检测方法,还可以满足检测效率的实时性要求。

附图说明

图1为本发明的改进SSD模型的架构图;

图2为本发明的小目标检测层的结构图;

图3为本发明的空洞卷积的原理示意图;

图4为本发明的损失函数收敛曲线。

具体实施方式

以下结合附图和具体实施例,对本发明进行详细说明。

本发明主要是为了解决现有的水面漂浮物算法的识别精度有待提高的问题。为了达成提高识别精度的目标,本申请主要从图像增强处理与SSD检测算法两个方面进行协同优化。本发明的基于改进SSD模型的漂浮物识别方法通过针对水面漂浮物识别问题优化的SSD检测算法对经增强处理的训练集训练后得到的漂浮物识别模型对经图像处理后的水面图像进行检测实现对水面漂浮物的准确识别。

具体的,本发明的基于改进SSD模型的漂浮物识别方法首先需要得到应用于生产环境中的图像识别模型。生成图像识别模型的步骤包括:

SS1.采集原始的水面图像数据打乱处理后得到原始样本集,原始的水面图像数据主要来源于通过无人机、监控设备等获取的河道或湖泊的水面图像数据。为了保证图像数据的代表性,原始的水面图像数据应当尽可能包含不同光线环境、不同天气状态、不同水质条件下的水面图像场景。这里原始的水面图像数据指图片数据,其既可以是从采集的视频数据中提取的单帧图像,也可以是独立采集的图片数据。为了防止从同一视频数据其提取的多帧数据降低后续的训练过程的收敛速度甚至导致局部最优,还需要对原始的水面图像数据进行随机的顺序打乱。本发明的实施例中,原始样本的数量不低于20000张。

SS2.对步骤SS1中得到原始样本集中的原始样本做图像增强处理得到拓展样本集。图像处理主要是为了消除原始图像数据中的规律性的差异内容,避免其对训练过程造成不利影响,降低得到的图像识别模型的精度;也可以从原始样本中通过变换生成全新的样本从而丰富拓展样本的数量。可选的,正如本发明的背景技术所述,不同光照条件下的图像数据存在明显的亮度区别,一个可行的增强方案是对原始样本的亮度做平均化处理。从而在降低影响的同时,使光照条件差的图像数据的亮度能够得到一定的补偿,降低亮度差异对模型的干扰。增强处理的过程中还包括通过几何变换、颜色变换以及SMOTE(SyntheticMinority Over-Sampling Technique,合成少数类过采样算法)方法在原始样本的基础上生成新的拓展样本与原始样本一同构成完整的拓展样本集,从而在原始样本集的基础上丰富样本集。SMOTE可以在原始样本的基础上通过插值为小样本类合成新样本,因此在增加新的样本后,能够较好地解决原始样本不平衡的问题,从而提升训练后模型的分类性能,提高模型精度。

在图像增强的过程中,对原始样本进行几何变换生成新样本的过程中,包括对原始样本

表1各特征层参数设置

以第一概率随机应用水平翻转操作得到新的拓展样本;对原始样本以第二概率应用随机水平和/或垂直缩放得到新的拓展样本。本实施例中,应用随机水平和/或垂直缩放步骤中缩放倍率的缩放范围为0.8~1.4。第一概率、第二概率的取值范围均为0.3~0.7,优选为0.6。

SS3.对拓展样本集中的拓展样本进行人工标注,即人工识别漂浮物并使用使用漂浮物大小的包围框框选漂浮物。然后将经人工标注的拓展样本的图像调整到相同的分辨率,视实际条件的不同,分辨率的确定可以由本领域技术人员跟据精度与效率的平衡选择。本申请中输入图像分辨率为300*300。可选的,可以在调整图像分辨率之前将拓展样本经过高斯滤波处理,以消除数据中的随机噪声。然后将拓展样本按一定比例划分为训练集、验证集与测试集。使用训练集与验证集进行基于改进SSD模型的参数训练,使用测试集对最终得到的识别模型进行测试,评估模型性能。本发明中训练集、验证集与测试集中样本数量的划分比例为7:2:1。

SS4.模型训练过程,将预训练的改进SSD模型作为源模型,使用步骤SS3中的训练集对源模型进行参数训练,并通过验证集对训练后的源模型做验证,根据验证误差确定调整模型继续训练还是停止训练,得到最终的识别模型。

其中改进SSD模型的架构如图1所示。各特征层的参数设置如表1(其中偏移的值表示其候选框中点距离映射图的左上角的水平和垂直比例)。改进SSD模型在SSD模型的基础上,将原模型中的多个底层特征层由原始的卷积特征层替换为了本申请中的小目标检测层L3、L4和L7。

总的训练过程与SSD模型是一致的,在该模型中输入图像在经过conv4_3层的卷积以及池化等一系列操作之后获得了38×38×512的特征图。之后对这部分的特征图进行每个网格点上默认4个先验框的分类以及回归预测,得到38×38×4=5776个先验框。当特征图大小在conv4_3卷积被进一步池化压缩到19×19之后,Fc7卷积层开始对该层输出图像进行处理。接着对所有这些特征图像进行每个网格点上默认为6个先验框的分类与回归预测,并且得到19×19×6=2166个先验框。上述过程与一般SSD算法中基于VGG16的基础网络是相似的,得到的特征图像接下来由改进的SSD模型中替换成的SODB模块进行多层卷积处理,每层卷积处理过程通过不同膨胀率的空洞卷积在保持原图特征的基础上,产生拥有更大感受野的特征图,进而优化水面漂浮物的识别率,并提高计算效率。接取代原始SSD模型中conv6-2卷积的SODB_1层将特征图进一步压缩大小为10×10的特征图像进行处理,产生拥有更大感受野的特征图。对这些特征图像进行每个网格点默认为6个先验框的分类与回归预测,得到10×10×6=600个先验框。同样的经过后续SODB_2与SODB_3层处理,并对SODB_3所生成的特征图像进行每个网格点默认为6个先验框的分类与回归预测,得到150个先验框。后续的两层卷积层处于模型金子塔的顶层,主要用于获取图像的大尺寸较抽象的特征,对本申请的漂浮物场景用途不大,因此维持原模型不变,conv8-2层输出特征图像尺寸为3×3,conv9-2层输出特征图像尺寸为1×1。

具体的,SODB层的结构均如图2所示,输入的特征图像经不同尺度的空洞卷积处理后将结果聚合后再接一个激活函数Relu去线性化,通过非线性映射,防止梯度消失,减少过拟合。经过SODB层处理后的特征参数会被送入Detector检测器,通过多层的detector检测器来增加对目标检测的识别率。

对于空洞卷积,引入超参数“扩张率(dilationrate)”,图3从左至右分别为原图、扩张率为1的空洞卷积、扩张率为3的空洞卷积。卷积核对数据进行计算的时候,每个数值之间的间距就是被该参数定义。空洞卷积因为其独特的结构,使得在特征图尺寸不动的前提下,增加感受野。同时,多尺度的信息也可以通过使用多种不同的空洞卷积结构来获得。原始SSD检测模型中的3x3卷积核对应的感受野太大,还会损失原始信息。经过不断的卷积,会导致原图上细节被破坏,丢失很多特征,影响检测精度,对小目标检测效果不理想。空洞卷积的优点就是让每一个卷积输出都可以将很大范围的信息包括在内。这种将感受野增大的方法,对于提高小型的水面漂浮物的识别及其有利,可以大大增加水面漂浮物中小目标的检测率。

本发明的SODB层结合使用了rate=1,rate=3,rate=5的3*3的三种空洞卷积,增加感受野,提高局部特征的识别率;具体的分别经过一个膨胀率为1、两个膨胀率为3、两个膨胀率为5的空洞卷积聚合实现提取原图信息,并融合多个尺度,实现更好的识别效果。其中首尾的1x1的卷积层主要用于改变特征图的维度。而依次设置的3*1和1*1的组合模式则是避免使用3x3的卷积核,减少参数量,增加模型计算速度,增加模型提取特征速度。

本发明的改进SSD模型的实验平台信息如表2

模型参数设置如表3

图4分别是原始SSD模型与本发明的改进SSD模型的损失函数下降情况,表4为两种算法在相同的测试集上的识别率。

对于基于深度学习的图像识别而言,实验中的损失函数(loss)数值代表模型输出与真实结果之间的距离(度量),随着不断迭代训练,模型的loss会不断降低,更新网络的参数。loss值越低,意味着模型的性能越好。

运行平台信息

模型参数设置

从图4可以看到,原SSD模型的train loss收敛值为4.4893,val loss收敛值为5.5838,改进后的SSD模型的train loss收敛值为3.4431,val loss收敛值为4.4293,原SSD模型训练到85epoch才收敛,改进后模型训练到65epoch即收敛,loss收敛速度得到极大提高,并且loss值大大降低。验证集val loss的数值相对越小,说明模型鲁棒性越好,针对漂浮物的识别的效果越好。

由表3结果可以看出,改进后的SSD算法,针对水面漂浮物图像大小规格杂乱并且含有大量小型目标的特点,基于测试集进行测试,其识别率从85.5%提高到93.1%,针对水面漂浮物识别率大大提高。

S1.获取来自图像采集设备的监控水域的水面图像数据,图像采集设备可以是布置在预定点位的监控摄像头或者来自空中无人机的航拍数据。

S2.对图像数据进行预处理形成符合改进SSD模型的输入图像,主要包括图像分辨率的重置,图像亮度的调整等,将图像亮度、图像分辨率调整为训练模型时的设定值。

S3.将图像数据输入改进SSD模型,得到图像中目标漂浮物的中心坐标与目标框尺寸数据,从而确定漂浮物。

本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

相关技术
  • 一种基于改进SSD算法的水上漂浮物检测识别方法
  • 一种基于改进SSD深度学习模型的苹果边界框识别方法和装置
技术分类

06120115615092