一种基于前视声纳图像和AUV平台的水下渔网检测方法与流程

文档序号:24348236发布日期:2021-03-19 12:32阅读:549来源:国知局
一种基于前视声纳图像和AUV平台的水下渔网检测方法与流程

本发明涉及一种基于前视声纳图像和auv平台的水下渔网检测方法,属于前视声呐图像目标检测技术领域。



背景技术:

自主式水下机器人(auv)是人类探索海洋的重要工具。它可以广泛应用于海洋调查、资源勘探和军事领域。受人类视觉系统的启发,水下机器人的视觉系统主要依赖于声纳,前视声纳(fls)是auv探测水下目标的主要传感器之一。前视声呐探测的场景可以可视化为前视声纳图像。这样,auv就可以从声纳图像中识别和探测目标,并执行各种海洋任务,如路径规划、水下考古、鱼类识别等,因此,我们可以让auv利用fls图像来检测和定位水下渔网,进而实现渔网躲避,以免对auv造成不可修复的损害。

基于前视声呐图像的水下渔网检测方法的一般过程可分为声呐图像的预处理、特征提取和目标检测。近年来深度学习在计算机视觉应用中高速发展,针对前视声呐图像的目标检测技术得到了极大的发展,精准的检测结果给auv的避障决策带来了极大的保障。因此,基于前视声纳图像和auv平台的水下渔网检测方法具有重要研究意义,其中,准确、高效的水下渔网检测算法使得搭载多波束前视声呐的auv具有更高的安全性、智能型和更低的维护成本。

现有技术中,对于auv的控制一般都是在岸机端,通过按键或手柄控制auv的活动。然而,在岸上控制auv具有许多弊端:首先,复杂多变的水下环境导致无线电通信变得困难,水下电信号会存在衰减,随着距离的增加,一些从岸上发出的控制命令很难到达auv;其次,受传输距离及传输介质等影响,auv接收到命令信息时可能会存在延时或偏差等问题,导致auv不能实时感知前方海域信息,及时做出决策。对于安全性和实时性要求较高的实践性工作,水下设备交互控制、实现实时性探测的重要性不言而喻。然而,由于上述问题导致交互控制方式以及实时性信息的获取受到极大限制,现有技术无法满足技术需要。

另外,尽管目标检测技术在不断发展和完善,但大多是针对光学图像数据集。由于fls图像的噪声复杂多变,目前还没有一种通用的fls图像目标检测算法。传统的基于深度学习的目标检测算法主要分为三个步骤:

第一,对输入前视声呐图像进行预处理(如滤波算法、阈值分割),抑制图像中噪声和混响的干扰;

第二,采用传统的滑动窗口等方式获取大量建议框(proposals),这些建议框将用来进行特征提取和检测回归;

第三,利用卷积神经网络对建议框进行特征提取,并将得到的特征信息输入到设计好的分类器(如支持向量机、隐马尔可夫模型、人工神经网络等)中从而实现对声纳图像进行分类和回归。

然而,这些传统的算法采用的卷积神经网络大多是由卷积层和池化层简单堆叠而成,无法提取具有较强表示能力的特征。提取建议框的方法太过费时且需要与特征提取过程分开进行,不能实现端到端的高效的目标检测网络。现有方法在水下这种复杂环境下检测精度也不高,不适用于具有高精度以及实时性要求的auv作业。



技术实现要素:

本发明针对于现有目标检测算法的不足,提出一种适用于前视声呐图像并且高效准确的目标检测算法,该算法能够嵌入到auv系统中,克服现有auv在实时检测及自主生存能力上的缺陷,在复杂水下环境中能有效提高检测效率,达到实时性的同时,还具有较高的检测准确率,从而实现auv在复杂海域里实时检测水下渔网,为auv避障决策提供保障。

为实现上述技术目的,本发明给出的技术方案是:一种基于前视声纳图像和auv平台的水下渔网检测方法,具体步骤如下:

步骤a、通过搭载在auv上的多波束前视声纳采集并获取前视声呐原始数据包;

步骤b、对步骤a中所获得的前视声呐原始数据包进行实时解析,得到原始声纳数据矩阵,并对原始声呐数据矩阵进行插值,获得完整的扇形前视声纳图像;

步骤c、将扇形前视声纳图像传输到auv平台上的gpu模块;

步骤d、gpu模块接收到扇形前视声纳图像后,将扇形前视声纳图像输入到训练好的基于深度学习的目标检测模型中,实时进行渔网检测,以得到渔网的位置和方位角;

其中,基于深度学习的目标检测模型构建过程如下:

步骤d1、利用前视声纳采集渔网图像做为训练样本,并使用标注工具对前视声纳图像进行标注;

步骤d2、训练样本集预处理:以对前视声呐图像去噪并对前视声呐数据集进行扩充;

步骤d3、将经步骤d2预处理后的数据作为训练样本,构建基于深度学习的目标检测模型,其包括负责融合前视声纳图像中不同层次的特征的特征提取模块以及负责定位目标边界框的预测模块;

步骤e、将渔网的位置和方位角转换成相应的系统指令反馈给auv主控模块,auv根据检测结果进行相应的避障决策。

进一步的,所述步骤b中通过插值获得完整的扇形前视声纳图像具体通过以下方式实现:

步骤b1、由于扫描范围不同会导致接收的数据矩阵大小不同,对原始声呐数据矩阵进行均匀采样获得相同大小的数据矩阵;

步骤b2、对步骤b1均匀采样后的数据基于双线性插值算法进行插值,获得完整的前视声纳图像:

(1)遍历完整扇形前视声呐图像中的每个像素点,判断该像素点是否处于扇形可视区域;若不在扇形可视区域内,则不进行插值操作;反之,进行插值操作;

(2)对于待插值像素点t:

b1.根据像素点t的笛卡尔坐标(x,y)转换为极坐标(ρ,r);

b2.根据极坐标中的ρ找到与待插值像素点t最邻近的两个波束,即对应于原始声纳数据矩阵中的相邻两列数据;

b3.根据极坐标中的r,在每个波束上找到与待插值像素点t最邻近的两个回波点,即对应于原始声纳数据矩阵中的四个数据;

b4.利用每个波束上的两个点进行线性插值操作,求出每个波束上与待插值像素点t具有相同极坐标r的坐标点的像素值;

b5.根据b4求出的两个像素值,再次进行线性插值操作,求出待插值像素点t的像素值。

进一步的,所述步骤d2中,对训练样本进行预处理,主要包括以下步骤:

(1)前视声呐图像去噪:

对前视声纳图像进行阈值分割,以减少噪声对目标的干扰,由于目标和噪声的灰度相似,为解决了阈值分割引起的目标丢失问题,在阈值分割之前采用灰度拉伸运算来提高目标和噪声的对比度:

灰度拉伸的计算公式如下:

gsdst(x,y)=a*gssrc(x,y)+b

其中,gssrc(x,y)是灰度拉伸前(x,y)处的像素值,gsdst(x,y)是灰度拉伸后(x,y)处的像素值,参数a=1.5和b=0控制拉伸程度;

阈值分割的计算公式如下:

其中,tssrc(x,y)是阈值分割前(x,y)处的像素值,tsdst(x,y)是阈值分割后(x,y)处的像素值,thresh阈值等于扇形区域像素平均值;

(2)前视声呐数据集扩充:

采用数据增强方式对图像增强,包括随机旋转变换、随机缩放变换、随机水平或垂直翻转变换以及随机改变亮度、对比度和颜色;

基于mixup增强方法,借鉴分类任务中的mixup增强技术,利用当前的前视声呐图像数据集,构建用于目标检测模型训练的虚拟样本;其主要思想是从训练数据集中随机抽取两张图片,然后按照一定的比例进行混合,将混合后的虚拟样本及标签用于训练,所述虚拟样本的虚拟标签包含图像中目标的种类和目标的真实边界框:

式中,(xi,yi)和(xj,yj)是从训练数据集中随机选取的两个不同的样本及对应的标签,λ∈[0,1]是混合比例,其分布来自β分布b(α,β)。超参数α和β控制样本对之间的混合度。

进一步的,所述步骤d3中,所述特征提取模块包括初始模块和编解码模块:

(1)所述初始模块包括依次连接的7×7卷积层、归一化层、激活层、3×3卷积层、归一化层和激活层;输入声呐图像经初始模块依次作用得到输出特征图,所述输出特征图作为编解码模块的输入特征图;为了同时保留图像的外观特征和语义特征,提高网络的学习能力和泛化能力,归一化层的实现方式是in+bn的方式,且in与bn的通道数比例设置为1∶1;

(2)所述编解码模块包括由mrfblock堆叠成的用于特征提取的编码器模块和负责对特征图进行上采样并将其与对应的具有相同大小的特征图进行融合的解码器模块:

所述mrfblock包括a、b、c三种变体,而编码器模块包括依次连接的mrfblocka、mrfblockb、mrfblocka、mrfblockb、mrfblockc;

以初始模块的输出作为输入,依次经过编码器模块处理:

所述mrfblockb包括一个残差模块和一个激活层,为了解决信息丢失问题,激活层采用线性激活函数;残差模块包括输入层、1×1卷积层、双分支结构、concatenate合并层、快捷连接和相加层;从1×1卷积层输出的特征图分别输入双分支结构的各个分支,进行完各自分支运算之后,在合并层进行合并,并将结果输出至相加层,所述输入层存在一条快捷连接通向相加层,相加层的输出作为残差模块最终输出;

所述解码器模块输入层、1×1卷积层、上采样层、相加层,以编码器模块的输出特征图作为输入层,依次经过1×1卷积层、上采样层并将结果输出至相加层,在编码器模块中与输出结果尺寸相同的特征图存在一条快捷连接经1×1卷积层通向相加层,相加层的输出作为解码器模块的输出;

进一步的,所述步骤d3中,所述预测模块包括三个分支:一个分支负责生成中心点热图来预测声呐图像中对象的中心点,包括一个3×3卷积层和一个通道数为数据集类别数的1×1卷积层;一个分支负责预测目标的宽度和高度,包括一个3×3卷积层和一个通道数为2的1×1卷积层;另一个分支负责预测每个中心点的局部偏移,包括一个3×3卷积层和一个通道数为2的1×1卷积层。

进一步的,所述步骤d3中,所述双分支结构包括:

第一分支:3×3深度卷积、归一化层、激活层、1×1点卷积、归一化层;

第二分支:3×3深度卷积、3×3深度卷积、归一化层、激活层、1×1点卷积、归一化层;所述第一分支是空洞率为2的3×3卷积核,第二分支是空洞率为5的两个3×3卷积核叠加,空洞卷积主要用于增加模型的感受野,从而获得更多的上下文环境信息,具有不同感受野的分支最终合并到一起,有利于多尺度目标的检测,深度卷积(dwconv)与点卷积(pwconv)结合可以大大减少了参数数量和计算成本,使网络模型更加适用于嵌入式设备。

进一步的,所述步骤d3中,所述mrfblocka、mrfblockb与mrfblockc增加三个分支都包含3×3的卷积层,但每个分支的空洞率不同,空洞率对应的分别为2、3、5。

进一步的,所述步骤a中,采集数据时依据的准则是:基于安装在auv头部多波束前视声纳,首先发射器发射一束宽波束,声波按球面波方式向外传播,碰到前方物体会产生散射,其中的反向散射波会按原传播路线返回,被接收器接收,经换能器转换成一系列电脉冲,而后将每一波束的接收数据合并成一个数据矩阵,经过插值后显示在显示器上,构成二维前视声纳图像,声图平面和auv前方海域成逐点映射关系,声图的亮度包涵目标的特征。

进一步的,所述步骤c中,在进行数据传输时,由于传输一张前视声纳图像所需要的字节数太大,所以将一张图像分成了若干个数据包进行传输,每个数据包分为包头和图像数据,每个数据包的包头中定义数据包的大小、数据包的序列号以及整张图像的大小信息,接收方根据包头中的序列号对图像进行拼接,最终获得完整的前视声纳图像。

与现有技术相比,本发明的优点和积极效果在于:

本方案通过设计新型的特征提取模块——编码-解码器结构对前视声呐图像进行特征提取和目标检测,解决了现有前视声呐图像目标检测方法存在的算法复杂、模型庞大、实时性和准确性差等问题,提高了auv的自主生存能力,使auv能够实时感知前方海域是否有渔网,并能够做出智能化的避障决策,具有较高的实际应用价值。

附图说明

图1为本发明实施例基于前视声纳图像和auv平台的水下渔网检测原理示意图;

图2为本发明实施例r-theta插值算法的效果示意图;

图3为本发明实施例前视声呐图像检测单元的目标检测算法的结构示意图;

图4为本发明实施例mixup数据增强技术的原理示意图;

图5为本发明实施例目标检测网络中初始模块结构示意图;

图6为本发明实施例目标检测网络中编解码结构示意图;

图7为本发明实施例目标检测网络中组成编解码结构的mrfblock结构示意图。

具体实施方式

为了能够更加清楚地理解本发明的上述目的、特征和优点,下面结合附图及实施例对本发明做进一步说明。在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例。

本实施例提出一种基于前视声纳图像和auv平台的水下渔网检测方法,具体包括以下步骤:

步骤a、通过搭载在auv上的多波束前视声纳采集并获取前视声呐原始数据包;

步骤b、对步骤a中所获得的前视声纳原始数据包进行实时解析,解析后会获得一个原始声纳数据矩阵,通过基于双线性插值的插值算法对数据矩阵进行插值,最终获得完整的扇形前视声纳图像;

步骤c、通过udp协议将前视声纳图像从单板计算机传输到auv平台上的nvidiaxavier嵌入式gpu模块;

步骤d、gpu模块接收到前视声纳图像后,将前视声纳图像输入到提前训练好的基于深度学习的目标检测模型中,实时进行渔网检测;

所述基于深度学习的目标检测模型构建过程如下:

步骤d1、利用前视声纳采集渔网图像做为训练样本,并使用标注工具(lableme)对声纳图像进行标注;

步骤d2、训练样本集预处理;

步骤d3、将经步骤d2处理后数据作为训练样本,输入到目标检测算法中训练,构建基于深度学习的目标检测模型;

步骤e、将检测结果(即渔网的位置和方位角)转换成相应的系统指令,反馈给auv主控模块,auv根据检测结果进行相应的避障决策。

在本实施例中,主要应用两个嵌入式设备,一个是单板计算机,包括数据采集单元和数据解析单元,主要负责前视声呐数据采集、解析以及插值;另一个是嵌入式gpu(nvidiaxavier)模块,包括前视声纳图像接收单元、前视声纳图像预处理单元和前视声呐图像检测单元,主要负责前视声呐图像预处理及目标检测;

数据采集单元:在auv头部安装前视声呐,随着auv向前移动,前视声呐传感器将不断回传声呐数据包,每个数据包中的数据记录为一个ping。每ping数据可以可视化为一个扇形区域,可以显示auv前方120°开角的信息。该单元在前期主要用于采集丰富的水下渔网数据,作为前视声呐图像检测单元的基础,当检测单元的目标检测模型训练好之后,将其加载在auv系统的xavier中,此时前视声呐会向数据解析单元实时发送原始声呐数据包。

数据解析单元:此单元主要是将原始声呐数据从声呐数据包中解析出来,然后将解析后的数据进行插值,最终获得完整的声呐图像,插值算法的效果如图2。

前视声纳图像接收单元:通过udp协议实时接收数据包,根据数据包的序列号对数据包进行拼接,获得完整的前视声纳图像;当出现丢包或重发现象时,所获数据包的序列号将于期望序列号不对应,此时,将丢弃当前所拼接图像,继续接收下一张图像;

前视声呐图像预处理单元:在实际的实时目标检测中,采用灰度拉伸+阈值分割的预处理方法来处理前视声呐图像,可以抑制前视声呐图像中的噪声干扰,提高后续目标检测的准确度。

前视声呐图像目标检测单元:此单元中提出了专门为前视声呐图像设计的端到端的目标检测网络。与先前广泛依赖于创建大量建议框的目标检测工作不同,本发明提出了一种基于中心点预测的目标检测器,它使用一种新颖的编解码结构来提取特征,并预测目标中心点和边界框的大小。同时,为了提高网络的检测效率以及检测准确率,引入了深度可分离卷积、空洞卷积以及ibn层。首先,基于中心点预测的编解码检测器可以提取具有良好表达能力的特征,相比于基于anchors(建议框)的检测器,本方案的基于中心点的检测器更加简单有效。其次,深度可分离卷积的引入,使得本发明中的目标检测网络相比于其他网络具有更少的参数和更小的模型;空洞卷积和ibn层的引入,提高了模型的泛化能力。该网络模型在前视声呐采集的数据集(包括渔网、布条、塑料袋)上进行了测试。该目标检测算法的整体流程图如图3。

auv执行机构:该部分主要由auv的控制模块来实现,检测单元将声呐检测结果(目标与auv的距离与方位角)反馈到此主控系统,此时,该执行机构会针对检测结果进行决策,选择最有利的路径进行躲避。

具体的,下面结合具体案例对本发明做详细的介绍:

步骤a中,在auv头部安装一个多波束前视声纳——gemini720i,首先发射器发射一束宽波束,声波按球面波方式向外传播,碰到前方物体会产生散射,其中的反向散射波会按原传播路线返回,被接收器接收,经换能器转换成一系列电脉冲,而后将每一波束的接收数据合并成一个数据矩阵,经过插值后显示在显示器上,构成二维前视声纳图像,声图平面和auv前方海域成逐点映射关系,声图的亮度包涵了目标的特征。

步骤b对步骤a接收到的声呐数据包进行解析,解析得到的原始图像如图2(a)所示,主要包括以下几步:

(1)、单板计算机实时接收前视声纳数据包并对其解析获取原始数据矩阵;

(2)、由于扫描范围(range)不同会导致接收的数据矩阵大小不同,对数据进行均匀采样获得相同大小的数据矩阵,即430×256;

(3)、对上述的数据进行插值,采用基于双线性插值的插值算法,获得完整的前视声纳图像,如图2(b)所示:

双线性插值算法一般用于光学图像插值,但双线性插值算法只适用于矩形图像,对于扇形的前视声呐图像并不完全适用,为此本实施例提出基于双线性插值的前视声呐图像插值算法,具体步骤如下:

a.遍历完整前视声呐图像中的每个像素点,判断该像素点是否处于扇形可视区域,若不在扇形可视区域内,则不进行插值操作;反之,进行插值操作;

b.对于待插值像素点t:

b1.根据像素点t的笛卡尔坐标(x,y)转换为极坐标(ρ,r);

b2.根据极坐标中的ρ找到与待插值像素点t最邻近的两个波束,即对应于原始数据矩阵中的相邻两列数据;

b3.根据极坐标中的r,在每个波束上找到与待插值像素点t最邻近的两个回波点,即对应于原始数据矩阵中的四个数据;

b4.利用每个波束上的两个点进行线性插值操作,求出每个波束上,与待插值像素点t具有相同极坐标r的坐标点的像素值;

b5.根据b4中求出的两个像素值,再次进行线性插值操作,求出待插值像素点t的像素值。

步骤c将步骤b获得的前视声呐图像通过udp协议传输到嵌入在auv中的nvidiaxavier中,xavier将接收到的数据包按序拼接成前视声呐图像。

由于传输一张前视声纳图像所需要的字节数太大,所以将一张前视声纳图像分成了若干个数据包进行传输,每个数据包分为包头和图像数据,每个数据包的包头中定义数据包的大小,数据包的序列号以及整张图像的大小信息,接收方根据包头中的序列号对图像进行拼接,最终获得完整的扇形前视声纳图像。

步骤d将步骤c获得的前视声呐图像输入到提前训练好的目标检测模型中,进行实时检测,在输入模型前,对声呐图像进行预处理,减少噪声干扰。

对前视声呐图像进行实时目标检测时,首先需要建立一个准确高效的目标检测模型对前视声呐图像进行训练,其次才能利用训练好的模型实时检测前视声呐采集的数据,从而使得auv针对检测结果做出相应的躲避动作,本实施例提出的新颖的目标检测网络的流程图如图3所示,其中,获得目标检测算法模型需要如下步骤:

步骤d1、获取训练样本集:此数据集主要由步骤a、b来获取。本实施例主要采用了在中国青岛科学考察中心码头采集的数据集以及在中国青岛山东省科学院海洋仪器研究所实验站采集的数据集,数据集中包含了渔网、布条以及塑料袋。

步骤d2、对训练样本集进行预处理:

(1)前视声呐图像去噪:

由于海水的复杂多变特性以及海底和海面的混响,与光学图像相比,前视声呐图像通常具有以下三个特点:(1)分辨率低;(2)目标灰度级低导致的信息缺乏;(3)混响和散斑噪声严重。前视声呐图像中存在的散斑噪声属于乘性噪声,目前尚没有一种效果显著的通用滤波算法。而常用的滤除加性噪声的滤波算法(如高斯滤波、中值滤波等)对前视声呐图像的效果并不明显,且容易造成图像模糊化。为此,本实施例提出对前视声呐图像进行阈值分割,以减少噪声对目标的干扰。为了让阈值分割算法更加适用于本发明中的前视声呐图像,提出了自适应阈值,该阈值等于图像扇形区域像素平均值,随前视声呐图像的变化而变化;另外,由于目标和噪声的灰度相似,为解决阈值分割引起的目标丢失问题,提出了灰度拉伸与阈值分割相结合的方法,在阈值分割之前采用灰度拉伸运算来提高目标和噪声的对比度。

灰度拉伸的计算公式如下:

gsdst(x,y)=a*gssrc(x,y)+b

其中,gssrc(x,y)是灰度拉伸前(x,y)处的像素值,gsdst(x,y)是灰度拉伸后(x,y)处的像素值,参数a=1.5和b=0控制拉伸程度。

阈值分割的计算公式如下:

其中,tssrc(x,y)是阈值分割前(x,y)处的像素值,tsdst(x,y)是阈值分割后(x,y)处的像素值,thresh阈值等于扇形区域像素平均值。

(2)前视声呐数据集扩充:

本实施例针对的是水下渔网等目标物,目前并不存在开源数据集,所以本实施例中使用的数据集均是人工采集的,由于采集水下声学数据集的不易,导致已有数据量不足以训练复杂的目标检测网络。为了防止由于样本量过少导致的网络过拟合,提高模型的泛化能力,本实施例中对样本集进行了扩充。

一方面采用传统的数据增强方式,如随机旋转变换、随机缩放变换、随机水平或垂直翻转变换以及随机改变亮度、对比度和颜色等;另一方面提出基于mixup的增强方法,借鉴分类任务中的mixup增强技术,利用当前的前视声呐图像数据集,构建用于目标检测模型训练的虚拟样本。该方法的主要思想是从训练数据集中随机抽取两张图片,然后按照一定的比例进行混合,将混合后的虚拟样本及标签用于训练。由于我们是用于目标检测任务,所以虚拟标签不光包含图像中目标的种类,还包括目标的真实边界框(ground-truth)。其原理示意图如图4所示,相关公式如下:

式中,(xi,yi)和(xj,yj)是从训练数据集中随机选取的两个不同的样本及对应的标签,λ∈[0,1]是混合比例,其分布来自β分布b(α,β)。超参数α和β控制样本对之间的混合度。

为了使模型能够区分渔网和其他障碍物,在数据集中添加了布袋和塑料袋。数据集包括不同距离(0-5m和5-10m)的三种障碍物:渔网、布条和塑料袋。数据集中每个类别的比例约为1:1:1。随机选择80%的数据作为训练集,其余20%作为测试集。此外,在训练集中随机选择了20%左右的数据作为验证集。更精确地说,数据集中包括10995张训练样本、3667张验证样本和3670张测试样本。

步骤d3、将经处理后获得的训练数据集图像作为训练样本,构建基于深度学习的目标检测模型,如图3所示,为前视声呐图像检测单元的基于深度学习的目标检测模型结构示意图,包括2个模块:负责融合前视声纳图像中不同层次的特征的特征提取模块和负责定位目标边界框的预测模块,两个模块依次相连构成整体网络结构。其中特征提取模块又包含一个初始模块和一个编码解码器模块,如图5和图6所示。本实施例提出的目标检测算法是一种基于中心点的检测器,它使用一种新颖的编解码结构来提取特征,并预测目标中心点和边界框的大小,具体的:

如图5、6所示,

(1)所述初始模块包括:7×7卷积层、归一化层(ibn)、激活层、3×3卷积层、归一化层(ibn)、激活层。输入声呐图像经上述结构依次作用得到输出特征图,该输出特征图将作为编解码模块的输入特征图。为了同时保留图像的外观特征和语义特征,提高网络的学习能力和泛化能力,归一化层的实现方式是in+bn的方式,且in与bn的通道数比例设置为1:1。

(2)所述编解码模块主要包括由mrfblock堆叠成的用于特征提取的编码器模块和负责对特征图进行上采样并将其与对应的具有相同大小的特征图进行融合的解码器模块。

所述mrfblock一共有a、b、c三种变体,而编码器模块的结构组成包括:mrfblocka、mrfblockb、mrfblocka、mrfblockb、mrfblockc。初始模块的输出作为输入,依次经过由上述结构顺序相连的编码器模块。

其中,所述mrfblockb由一个残差模块和一个激活层构成。其中,为了解决信息丢失问题,激活层采用线性激活函数。残差模块主要包括:输入层、1×1卷积层、双分支结构、concatenate合并层、快捷连接、相加层。从1×1卷积层输出的特征图分别输入双分支结构的各个分支,进行完各自分支运算之后,在合并层进行合并,并将结果输出至相加层,所述输入层存在一条快捷连接通向相加层,相加层的输出作为残差模块最终输出。双分支结构包括以下结构:3×3深度卷积(dwconv)、归一化层、激活层、1×1点卷积(pwconv)、归一化层;3×3深度卷积(dwconv)、3×3深度卷积(dwconv)、归一化层、激活层、1×1点卷积(pwconv)、归一化层。两个分支的不同之处在于:一个分支是空洞率(dilatedrate)为2的3×3卷积核,另一个分支是空洞率(dilatedrate)为5的两个3×3卷积核叠加。空洞卷积主要用于增加模型的感受野,从而获得更多的上下文环境信息。具有不同感受野的分支最终合并到一起,有利于多尺度目标的检测。深度卷积(dwconv)与点卷积(pwconv)结合可以大大减少了参数数量和计算成本,使网络模型更加适用于嵌入式设备。

所述mrfblocka与mrfblockb的区别在于整个block的步长(stride)为2,而mrfblockc增加了一个分支成为三分支结构,三个分支都包含3×3的卷积层,但每个分支的空洞率不同,空洞率分别为2、3、5。

所述解码器模块包含以下结构:输入层、1×1卷积层、上采样层、相加层。编码器模块的输出特征图作为输入层,依次经过1×1卷积层、上采样层并将结果输出至相加层。在编码器模块中与输出结果尺寸相同的特征图存在一条快捷连接经1×1卷积层通向相加层,相加层的输出作为解码器模块的输出。

所述预测模块分为三个分支:一个分支负责生成中心点热图来预测声呐图像中对象的中心点,包括一个3×3卷积层和一个通道数为数据集类别数的1×1卷积层;一个分支负责预测目标的宽度和高度,包括一个3×3卷积层和一个通道数为2的1×1卷积层;一个分支负责预测每个中心点的局部偏移,包括一个3×3卷积层和一个通道数为2的1×1卷积层。

对构建好的基于深度学习的目标检测网络模型进行训练,实现目标检测算法loss计算:

给定输入图像x∈rw×h×3,宽度为w,高度为h,将图像输入到目标检测网络模型中,将得到三个输出特征图:一个中心热点图一个目标尺寸回归图和一个局部偏移图其中下采样输出步长d=4,数据集类别数c=3。对于声呐图像中的一个目标,它的ground-truth边界框对应的中心点坐标为但是,靠近该中心点的伪中心点也可以生成一个与真实边界框有足够重叠率的边界框。因此,我们在中心点的一定半径内减少对负样本的惩罚,用高斯分布表示惩罚衰减。在网络中进行下采样后,将代替输出中心热点图中的p。对于类别c在(x,y)处的中心热点图的ground-truth可定义为:

其中,σp是根据目标尺寸自适应的衰减半径。

对于类别c在(x,y)处的中心热点图的预测值定义为预测值与真实值mxyc之间的损失可定义为:

其中α=2和β=4是损失函数的超参数,n是前视声呐图像x中目标个数。

对于每个中心点i的真实尺寸可表示为那么对于目标尺寸的预测值相应的l1损失函数可表达为:

对于输入图像中的每个像素点(x,y)可以映射到输出特征图的然而,当输出特征图映射到输入图像时,不可避免地会造成一些误差。为了减少误差干扰,可以通过预测局部偏移量来调整预测中心点的位置。真实的局部偏移量可以表示为:

所以,预测局部偏移量的损失函数公式为:

综上所述,整个目标检测算法的损失函数可表示为:

l=lcenter+λsizelsize+λoffsetloffset

其中,λsize=0.1和λoffset=1是尺寸损失和偏移损失的权重。

为了证明本方案目标检测模型的可靠性,对实验结果进行定量分析,从目标检测和场景解析评估中报告两个指标,分别是ap和map。ap代表每个类别的检测精度,map代表所有类别检测精度的平均值。某一类别的ap是p-r曲线下的面积。为了计算准确率(p)和召回率(r),需要确定真阳性(tp)、假阳性(fp)、真阴性(tn)和假阴性(fn)。如果预测的边界框与真实边界框的交并比(iou)大于0.5,则预测的边界框将归为tp;反之,交并比小于或等于0.5,则预测的边界框将归为fp。fn代表没有检测到的目标数量。

准确率:

召回率:

由于p-r曲线的具体表达式很难得到,本实施例采用cocoapi中的估计方法,即分别在r=0.00、0.01、0.02、...、1.00时计算相应的p,则某一类别的ap为这些p的平均值,map是所有类别ap的平均值,其公式如下:

为了证明提出技术的性能,在采集到的前视声呐数据集上将提出的网络与一些最先进的目标检测算法进行了比较。在准确性方面,就map和ap两个指标进行了比较;在实时性方面,就检测时间进行了比较;另外,还在模型大小与计算量方面进行了比较。

步骤e将检测的结果(前方是否有渔网,渔网与auv的距离及方位角)转换成相应的系统指令,反馈给auv主控模块,auv根据检测结果进行相应的避障决策。

为证明本发明方案的效果,下面结合具体实验数据进行实验验证,分别列举了不同模型在同一数据集下的检测结果对比:

表1、各网络模型准确性对比表:

表2、各网络模型实时性及计算复杂度对比表

以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例应用于其它领域,但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1