技术领域
[0001] 本发明涉及海上交通技术领域,尤其是一种海上航标识别方法、系统、装置和存储介质。
相关背景技术
[0002] 航标是引导船舶航行的导助航标志,主要作用是标示航道范围、指示碍航物或提供危险信号,对保障船舶的航行安全有着重要作用。由于大风大浪和潮汐等影响,航标的设计位置、抛设位置和航海者观测到的位置,这三者不相一致。在以往的航海活动中,航标具体位置大多依靠肉眼识别,存在安全隐患。相关技术中,对于航标的现有识别方法,一般是基于船舶、岛屿和冰山等海上目标使用深度学习网络进行目标识别,而对于航标的自动识别,目前是采用传统图像处理方法进行识别,这不仅识别速度慢,而且鲁棒性较低,不能适用于所有海域。同时,也有研究针对特定海域的航标位置进行时空预测,这些预测并不一定完全准确,容易给船舶传递错误的航标位置信息。
具体实施方式
[0051] 下面详细描述本发明的实施例,所述实施例的示例在附图中示出,其中自始至终相同或类似的标号表示相同或类似的元件或具有相同或类似功能的元件。下面通过参考附图描述的实施例是示例性的,仅用于解释本发明,而不能理解为对本发明的限制。
[0052] 在本发明的描述中,需要理解的是,涉及到方位描述,例如上、下、前、后、左、右等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
[0053] 在本发明的描述中,若干的含义是一个以上,多个的含义是两个以上,大于、小于、超过等理解为不包括本数,以上、以下、以内等理解为包括本数。如果有描述到第一、第二只是用于区分技术特征为目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量或者隐含指明所指示的技术特征的先后关系。
[0054] 本发明的描述中,除非另有明确的限定,设置、安装、连接等词语应做广义理解,所属技术领域技术人员可以结合技术方案的具体内容合理确定上述词语在本发明中的具体含义。
[0055] 本发明的描述中,参考术语“一个实施例”、“一些实施例”、“示意性实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
[0056] 航标是引导船舶航行的导助航标志,主要作用是标示航道范围、指示碍航物或提供危险信号,对保障船舶的航行安全有着重要作用。准确的航标信息,能够有效提高船舶行驶过程中的安全性。相关技术中,航标识别过程中存在时效性差、准确度低等问题。
[0057] 有鉴于此,本发明实施例提供了一种海上航标识别方法,本实施例中的方法通过包括YOLOv2算法在内的预设目标识别算法构建航标识别模型,以提高航标识别模型在实际航标识别过程中的实效性,并通过构建的训练集训练航标识别模型后,再通过航标识别模型识别实际图像数据内的航标,从而提高航标识别结果的准确度。
[0058] 首先,参照图1,本发明实施例提供了一种海上航标识别方法的实施环境示意图。该实施例环境的软硬件主体主要包括操作终端101和服务器102,操作终端101与服务器102通信连接。其中,该海上航标识别方法可以单独配置于操作终端101执行,也可以单独配置于服务器102执行,或者基于操作终端101与服务器102二者之间的交互来执行,具体可以根据实际应用情况进行适当的选择,本实施例对此并不作具体限定。
[0059] 具体地,本实施例中的操作终端101可以包括但不限于智能手表、智能手机、电脑、个人数字助理(Personal Digital Assistant,PDA)、智能语音交互设备、智能家电或者船舶终端中的任意一种或者多种。服务器102可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、CDN(Content Delivery Network,内容分发网络)以及大数据和人工智能平台等基础云计算服务的云服务器。操作终端101与服务器102之间可以通过无线网络或有线网络建立通信连接,该无线网络或有线网络使用标准通信技术和/或协议,网络可以设置为因特网,也可以是其它任何网络,例如包括但不限于局域网(Local Area Network,LAN)、城域网(Metropolitan Area Network,MAN)、广域网(Wide Area Network,WAN)、移动、有线或者无线网络、专用网络或者虚拟专用网络的任何组合。
[0060] 由于各个地区关于特殊航标的形状和颜色设置不尽相同,本发明实施例以通用航标为例,阐述本申请实施例的具体过程。其中,通用航标包括左侧标,右侧标,北方位标,南方位标,东方位标,西方位标和孤立危险物标志。
[0061] 参照图2,本发明实施例提供了一种海上航标识别方法,该方法可以配置在操作终端或者服务器中的至少一者。本实施例的方法包括但不限于:
[0062] 步骤210、构建海上航标检测的训练集。
[0063] 在本实施例中,可以通过从网页上搜集航标图像,或者从预设采集终端上获取航标图像,并且,预设采集终端在进行航标图像采集时,可以控制预设采集终端侧重于对航标图像的拍摄。然后通过深度卷积对抗生成网络和特征金字塔网络,基于采集到的若干张航标图像进行训练样本扩充。接着通过预设标准方式对若干张航标图像和扩充得到的航标图像航标位置信息和航标类别的标注。例如,可以通过labelling工具对航标图像进行标注,得到每张航标图像上航标的位置信息和类别,以供航标识别模型学习使用。对于使用过labelling工具对航标图像进行标注时,只需传入图片,手动选取包含航标目标的目标框,并设置该航标类别,labelling工具即能自动完成标注。
[0064] 在本实施例中,深度卷积对抗生成网络如图3所示。其中,深度卷积对抗生成网络以博弈论为基本思想,以生成对抗网络为原型,主要组件为生成器和判别器。在处理过程中,将若干张航标图像输入深度卷积对抗生成网络的生成器,以通过生成器生成符合第一预设要求的航标图像特征图,并对航标图像特征图进行多次反卷积后,得到与航标图像的大小相同的第一图像,接着将第一图像输入深度卷积对抗生成网络的判别器,以通过判别器对第一图像重新卷积,保留符合第二预设要求的第一图像。例如,在将一张航标图像输入深度卷积对抗生成网络的生成器,生成器会率先生成一张100*1(第一预设要求)的航标图像特征图,通过多次反卷积将特征图放大,最后得到一张与原数据集图片大小相同的图片(第一图像),判别器将第一图像重新卷积,并判断该图片能否满足航标图像要求(第二预设要求),若满足,则将第一图像加入数据集,若不满足,则剔除该第一图像。
[0065] 在完成航标图像的筛选后,将保留在训练集内的航标图像输入到特征金字塔,以通过特征金字塔网络,分别对输入的每一张航标图像进行扩大操作和缩小操作。为了使图片符合网络输入尺寸,在扩大图片时,手动选择包含航标目标的区域;在缩小图片时,在图像周围用0元素填充,从而丰富数据集内的数据,以更好地训练航标识别模型。
[0066] 步骤220、根据预设目标识别算法构建航标识别模型,其中,预设目标识别算法包括计算量较少的YOLOv2算法,以提高航标识别模型在应用过程中对数据处理的速度,从而提高时效性。例如,以YOLOv2算法来构建航标识别模型时,YOLOv2算法框架如图4所示。YOLOv2计算量较小,可以做到实时运算,经过实验,在单张 RTX
2070SUPER显卡硬件环境下,每秒检测航标图片数量为30张。
[0067] 步骤230、采用训练集对所述航标识别模型进行训练。
[0068] 在本实施例中,通过小批量随机梯度下降法(mini‑batch stochastic gradient descent)进行训练,小批量的大小是128。所有权重的初始化是均值为0,方差为0.02的正态分布。在LeakyReLU中,leak的斜率设置为0.2。优化程序调整的超参数使用Adam,学习率设为0.001,动量设置为0.5,衰减系数为0.0005,随机梯度下降为0.9,置信度阈值为0.3,有助于航标识别模型训练稳定。在训练过程中,经过不断的训练调试,如图5所示,当训练迭代次数在500次时,算法能达到最优loss值,且再经过30轮训练算法loss值不再下降。因此,迭代次数设置为500次。
[0069] 具体地,在得到训练集内每个航标图像的航标位置信息后,即能得到每个航标的目标框大小。由于航标目标框与其他目标框大小不一致,因此,在训练过程中,将所述训练集输入所述航标识别模型后,采用预设聚类算法分析所述训练集内各个图像上的目标框尺寸差异;然后根据所述目标框尺寸差异确定所述训练集内各个图像上的目标框的距离。其中,可以通过先确定所述训练集内任意两个图像上的目标框的合并比,然后根据合并比确定所述任意两个图像上的目标框尺寸差异。例如,采用k‑means算法对航标框进行聚类分析。其中,K‑means算法是一种根据距离进行聚类的经典算法,它能将平面上的所有坐标点依照最小距离原则进行归类。
[0070] 在采用K‑means算法进行分析目标框的距离时,迭代中较大的真实框相较于较小的真实框容易产生更大的误差,因此,可以将K‑means算法的距离判断公式改为公式(1)所示:
[0071] d(box,centroid)=1‑IOU(box,centroid) 公式(1)
[0072] 公式(1)中,IOU(box,centroid)为两个目标框box和centroid的交并比,即将两个目标框中心点重合,将他们的交集面积比上并集面积。当两个目标框较为相似,即判定他们距离较短,当两个目标框尺寸差异过大,则判定他们距离较长。
[0073] 如图6所示,圆点坐标代表所有参与聚类的航标目标框大小信息,五角星坐标代表根据这些目标框大小选用的五个锚框。该锚框位置则是由改进k‑means算法所求。
[0074] 步骤240、获取待识别图像数据,并将所述待识别图像数据输入训练后的所述航标识别模型,得到所述待识别图像数据对应海域的航标识别结果。
[0075] 在本实施例中,在完成航标识别模型的训练后,即可将航标识别模型应用于实际航标识别过程中。具体地,在获取到的待识别图像数据为图片时,标识别模型每秒可处理图片数量大于30张。在获取到的待识别图像数据为视频数据,则判断视频数据的帧数和第一预设帧数的大小关系;当视频数据的帧数小于第一预设帧数,航标识别模型实时检测所述视频数据内每帧图像上的航标;当视频数据的帧数大于等于第一预设帧数,航标识别模型实时检测每秒视频数据内第二预设帧数对应图像上的航标。例如,当视频数据的帧数小于30(第一预设帧数),视频每帧均可被检测;当视频数据的帧数大于30(第一预设帧数),则在每秒视频图像中挑选30张进行检测。
[0076] 在本实施例中,可以将获取的待识别图像数据同步输入到其他算法中,以与本实施例的方法进行效果对比。具体如表1所示:
[0077] 表1
[0078]参与对比的方法 小目标准确率/% 平均准确率/% Map FPS
YOLOv2(锚框未改进) 90.0 94.0 0.93 30.2
Faster R‑CNN 96.6 97.0 0.95 10.9
本实施例的航标识别模型 96.6 96.0 0.94 30.2
[0079] 从表1可知,本实施例的方法能兼顾检测准确率和检测速度,应当说明的是,在每秒帧数(FPS)小于30的情况下,算法不适合用于实时检测。
[0080] 同时,在使用本实施例提供的训练集的情况下,本实施例提供的航标识别模型具有较高的准确率,具体如表2所示:
[0081] 表2
[0082]
[0083] 从表2可知,本实施例提供的训练集极大地提升了海上海标识别的准确率,并且能够同时保证检测速度。
[0084] 本发明实施例提供了一种海上航标识别系统,包括:
[0085] 第一构建模块,用于构建海上航标检测的训练集;
[0086] 第二构建模块,用于根据预设目标识别算法构建航标识别模型,所述预设目标识别算法包括YOLOv2算法;
[0087] 训练模块,用于采用所述训练集对所述航标识别模型进行训练;
[0088] 获取模块,用于获取待识别图像数据;
[0089] 识别模块,用于将所述待识别图像数据输入训练后的所述航标识别模型,得到所述待识别图像数据对应海域的航标识别结果。
[0090] 本发明方法实施例的内容均适用于本系统实施例,本系统实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
[0091] 本发明实施例提供了一种海上航标识别装置,包括:
[0092] 至少一个存储器,用于存储程序;
[0093] 至少一个处理器,用于加载所述程序以执行图2所示的海上航标识别方法。
[0094] 本发明方法实施例的内容均适用于本装置实施例,本装置实施例所具体实现的功能与上述方法实施例相同,并且达到的有益效果与上述方法达到的有益效果也相同。
[0095] 本发明实施例提供了一种存储介质,其中存储有计算机可执行的程序,所述计算机可执行的程序被处理器执行时用于实现图2所示的海上航标识别方法。
[0096] 本发明实施例还提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存介质中。计算机设备的处理器可以从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行图2所示的海上航标识别方法。
[0097] 上面结合附图对本发明实施例作了详细说明,但是本发明不限于上述实施例,在所属技术领域普通技术人员所具备的知识范围内,还可以在不脱离本发明宗旨的前提下作出各种变化。此外,在不冲突的情况下,本发明的实施例及实施例中的特征可以相互组合。