海洋锋面识别方法和装置转让专利

申请号 : CN201810828405.2

文献号 : CN109086818A

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 孙鑫王常刚董军宇

申请人 : 中国海洋大学

摘要 :

本发明公开了一种海洋锋面识别方法和装置。该方法包括:将待识别的海表温度图输入到多尺度采样模型中进行不同尺度的采样,得到多个不同尺度的块;将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别,得到识别结果;根据识别结果对多个不同尺度的块进行标记;将标记后的多个不同尺度的块输入到二值化模型中进行拼接,得到与待识别的海表温度图大小相同的二值图;将与待识别的海表温度图大小相同的二值图输入到细粒度定位划界模型中进行细粒度识别,得到细粒度识别结果,其中,细粒度识别结果包括海洋锋的位置和海洋锋强弱的变化趋势。通过本发明,达到了准确识别海表面温度图中海洋锋的位置和海洋锋强弱的变化趋势的效果。

权利要求 :

1.一种海洋锋面识别方法,其特征在于,包括:

将待识别的海表温度图输入到多尺度采样模型中进行不同尺度的采样,得到多个不同尺度的块;

将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别,得到识别结果,其中,所述识别结果包括有锋和无锋;

根据所述识别结果对多个不同尺度的块进行标记;

将标记后的多个不同尺度的块输入到二值化模型中进行拼接,得到与待识别的海表温度图大小相同的二值图;

将与待识别的海表温度图大小相同的二值图输入到细粒度定位划界模型中进行细粒度识别,得到细粒度识别结果,其中,所述细粒度识别结果包括海洋锋的位置和海洋锋强弱的变化趋势。

2.根据权利要求1所述的方法,其特征在于,根据所述识别结果对多个不同尺度的块进行标记包括:将被识别为有锋的块的所有像素值设置为1,将被识别为无锋的块的所有像素值设置为0。

3.根据权利要求1所述的方法,其特征在于,在将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别之前,所述方法还包括:将预设数量的训练样本图片进行灰度化处理,得到灰度样本图;

基于所述灰度样本图和对应于每张灰度样本图的标签对AlexNet卷积神经网络模型进行训练,得到所述预先训练好的深度模型。

4.根据权利要求1所述的方法,其特征在于,所述预先训练好的深度模型的网络结构包括5层卷积层,2层全连接层和softmax层。

5.根据权利要求1所述的方法,其特征在于,在所述细粒度定位划界模型中,通过离散的尺度权值函数f(n)将不同尺度的细粒度识别结果结合起来,其中,所述离散的尺度权值函数的定义为:f(i)=A*i+B,i=1,2,…n,n表示扫描识别结果的数量,i表示不同尺度。

6.一种海洋锋面识别装置,其特征在于,包括:

采样单元,用于将待识别的海表温度图输入到多尺度采样模型中进行不同尺度的采样,得到多个不同尺度的块;

识别单元,用于将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别,得到识别结果,其中,所述识别结果包括有锋和无锋;

标记单元,用于根据所述识别结果对多个不同尺度的块进行标记;

拼接单元,用于将标记后的多个不同尺度的块输入到二值化模型中进行拼接,得到与待识别的海表温度图大小相同的二值图;

细化定位单元,用于将与待识别的海表温度图大小相同的二值图输入到细粒度定位划界模型中进行细粒度识别,得到细粒度识别结果,其中,所述细粒度识别结果包括海洋锋的位置和海洋锋强弱的变化趋势。

7.根据权利要求6所述的装置,其特征在于,所述标记单元用于:将被识别为有锋的块的所有像素值设置为1,将被识别为无锋的块的所有像素值设置为0。

8.根据权利要求6所述的装置,其特征在于,所述装置还包括:处理单元,用于在将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别之前,将预设数量的训练样本图片进行灰度化处理,得到灰度样本图;

训练单元,用于基于所述灰度样本图和对应于每张灰度样本图的标签对AlexNet卷积神经网络模型进行训练,得到所述预先训练好的深度模型。

9.一种存储介质,其特征在于,所述存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行权利要求1至5中任意一项所述的海洋锋面识别方法。

10.一种处理器,其特征在于,所述处理器用于运行程序,其中,所述程序运行时执行权利要求1至5中任意一项所述的海洋锋面识别方法。

说明书 :

海洋锋面识别方法和装置

技术领域

[0001] 本发明涉及海洋图像识别领域,具体而言,涉及一种海洋锋面识别方法和装置。

背景技术

[0002] 海洋锋的产生是一种典型的中尺度海洋现象,这种现象对海洋渔业生产、研究海洋领域具有比较重要的价值。因此,对海洋锋的研究成为海洋学家们的一项重要课题。
[0003] 海洋锋的产生是由于两种不同性质(比如:温度、盐度、密度等)的水团在交界处形成的锋面。在大多数的研究中,研究者往往研究的是由于温度不同产生的海洋锋。在锋面形成处,往往具有很丰富的营养物质,也是鱼群聚集的地方,这对海洋渔业生产提供了重要的参考价值。同时,有关资料表明,海洋气候变化也是产生海洋锋的一个条件,通过对海洋锋的研究,也可以对海洋气候进行深入的研究,为解决海洋气候变化带来的若干问题提供参考,例如研究海洋厄尔尼诺现象的产生与影响、全球气候变暖问题等。
[0004] 目前,遥感领域技术的快速发展,提供了更多的研究海洋现象的机遇,比如人造卫星的发射,可以获得更高清的海洋分析图像,使得分析识别海洋锋变得更简单可行。同时,人工智能的快速发展,已经深入到生产生活的各个领域,包括对海洋领域的研究。特别是人工智能在图形图像领域已经取得了很好的效果,目标识别、目标检测、目标分类等任务已经成功应用了现有的人工智能算法与技术,并得到了很好的检验。因此,结合人工智能的有关技术,对采集的卫星遥感图像进行特征提取,分别在不同尺度上进行分类,实现了对海洋锋的定位与识别,对海洋渔业生产、研究海洋现象具有重要的参考价值。
[0005] 相关的技术主要包括以下几个:
[0006] 1.早在1992年,J.F.Cayula和P.Cornillon就已经对海洋锋进行了研究,他们研究的主要方法是使用传统的技术——边缘检测技术。该技术首先是利用卫星采集海面温度的数据,经过处理得到海表面温度图(Sea Surface Temperature,简称“SST”)。由于不同温度的水团之间是有比较明显的界线,该技术则利用此特点进行锋面的检测,并且取得了很好的性能。后来,David S.ullman和Peter Cornillion又证明了在一段长时间序列的AVHRR(Advanced Very High Resolution Radiometer)图像上,使用自动边缘检测算法进行锋面识别具有比较好的性能。
[0007] 2.对多谱带锋图进行自动化识别海洋现象(如:水体富营养化、海洋锋等),并对其进行可视化。该技术主要利用不同性质的水团具有不同的反射率,光线照射在这些水团表面上,会反射不同波段的光线。通过分析反射的光线的谱带,实现对海洋现象的分析。后面对该技术进行了改进,可以实现将观测的几天的海洋锋的位置,强度以及变化情况,统一在一张图里,该方法被称为“复合前沿图法(composite front map approach)”。
[0008] 3.对遥感图像进行温度锋和叶绿素锋的检测。随着遥感技术的发展,越来越容易获得高分辨率的遥感图像。在目前遥感领域,使用的较多的是海表面温度图。由于锋面两侧水温的不同,在两个水团之间会存在明显的界线。利用该特性,对图像进行求梯度,在锋面附近处,梯度值比较明显,因此可以利用梯度算法进行锋面位置的检测。
[0009] 4.基于MMF(Microcanonical Multiscale Formalism)对SST中海洋锋的快速检测算法。该算法可以对日常获得的SST图像进行分析,并且实现海洋锋的快速检测。与此同时,该算法可以很好的去除云遮挡问题,是一种性能比较好的海洋锋检测技术。
[0010] 5.使用水下机器人,对海洋上升流产生的海洋锋进行检测、跟踪。
[0011] 传统的对海洋锋检测的技术手段都是基于梯度进行的,虽然这些技术手段取得了一定的成果,但这些技术手段都有其局限性。
[0012] 首先,利用梯度进行检测海洋锋的传统技术,只是单纯的检测出了海洋锋的位置,没有将由锋区向外的扩展的趋势表示出来。要知道,在海洋锋出现时,并不是突然的出现,而是经过一个过程,由弱慢慢的变强。同样,在海洋锋消失时,也不是突然的消失,也存在一个由强到弱的过程。在海洋锋出现的中心位置,是锋区最强的位置,由中心向外,锋会慢慢的变弱,直到消失。所有的海洋锋出现的位置都应该存在这样的一个规律。而使用传统的检测海洋锋的技术,并不能将这些变化表示出来,存在一定的局限性。
[0013] 其次,现有的技术都是基于研究者的先验知识建立起来的。可以看出,这些技术都是基于梯度的方法进行检测的,在计算完图的梯度之后,采用阈值的方法对可能存在海洋锋的区域进行过滤。这样的技术存在很大的人为干预性,不能很好的实现自动化检测,并且准确率也是随着研究者设置阈值的不同而不同。
[0014] 除此之外,现有的技术手段,泛化能力差,成本比较高。不同的海表面温度图,由于差异性比较大,在某些图片上寻找的阈值,可能在其他图片上不适用。因此阈值的寻找也是一个比较耗时的过程,不能很好的适用不同差异性的海表面温度图。
[0015] 针对相关技术中无法对海表面温度图中的海洋锋进行细粒度识别的位置的问题,目前尚未提出有效的解决方案。

发明内容

[0016] 本发明的主要目的在于提供一种海洋锋面识别方法和装置,以解决无法对海表面温度图中的海洋锋进行细粒度识别的问题。
[0017] 为了实现上述目的,根据本发明的一个方面,提供了一种海洋锋面识别方法,该方法包括:将待识别的海表温度图输入到多尺度采样模型中进行不同尺度的采样,得到多个不同尺度的块;将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别,得到识别结果,其中,所述识别结果包括有锋和无锋;根据所述识别结果对多个不同尺度的块进行标记;将标记后的多个不同尺度的块输入到二值化模型中进行拼接,得到与待识别的海表温度图大小相同的二值图;将与待识别的海表温度图大小相同的二值图输入到细粒度定位划界模型中进行细粒度识别,得到细粒度识别结果,其中,所述细粒度识别结果包括海洋锋的位置和海洋锋强弱的变化趋势。
[0018] 进一步地,根据所述识别结果对多个不同尺度的块进行标记包括:将被识别为有锋的块的所有像素值设置为1,将被识别为无锋的块的所有像素值设置为0。
[0019] 进一步地,在将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别之前,所述方法还包括:将预设数量的训练样本图片进行灰度化处理,得到灰度样本图;基于所述灰度样本图和对应于每张灰度样本图的标签对AlexNet卷积神经网络模型进行训练,得到所述预先训练好的深度模型。
[0020] 进一步地,所述预先训练好的深度模型的网络结构包括5层卷积层,2层全连接层和softmax层。
[0021] 进一步地,在所述细粒度定位划界模型中,通过离散的尺度权值函数f(n)将不同尺度的细粒度识别结果结合起来,其中,所述离散的尺度权值函数的定义为:f(i)=A*i+B,i=1,2,…n,n表示扫描识别结果的数量,i表示不同尺度。
[0022] 为了实现上述目的,根据本发明的另一方面,还提供了一种海洋锋面识别装置,该装置包括:采样单元,用于将待识别的海表温度图输入到多尺度采样模型中进行不同尺度的采样,得到多个不同尺度的块;识别单元,用于将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别,得到识别结果,其中,所述识别结果包括有锋和无锋;标记单元,用于根据所述识别结果对多个不同尺度的块进行标记;拼接单元,用于将标记后的多个不同尺度的块输入到二值化模型中进行拼接,得到与待识别的海表温度图大小相同的二值图;细化定位单元,用于将与待识别的海表温度图大小相同的二值图输入到细粒度定位划界模型中进行细粒度识别,得到细粒度识别结果,其中,所述细粒度识别结果包括海洋锋的位置和海洋锋强弱的变化趋势。
[0023] 进一步地,所述标记单元用于:将被识别为有锋的块的所有像素值设置为1,将被识别为无锋的块的所有像素值设置为0。
[0024] 进一步地,所述装置还包括:处理单元,用于在将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别之前,将预设数量的训练样本图片进行灰度化处理,得到灰度样本图;训练单元,用于基于所述灰度样本图和对应于每张灰度样本图的标签对AlexNet卷积神经网络模型进行训练,得到所述预先训练好的深度模型。
[0025] 为了实现上述目的,根据本发明的另一方面,还提供了一种存储介质包括存储的程序,其中,在所述程序运行时控制所述存储介质所在设备执行本发明所述的海洋锋面识别方法。
[0026] 为了实现上述目的,根据本发明的另一方面,还提供了一种处理器用于运行程序,其中,所述程序运行时执行本发明所述的海洋锋面识别方法。
[0027] 本发明通过将待识别的海表温度图输入到多尺度采样模型中进行不同尺度的采样,得到多个不同尺度的块;将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别,得到识别结果,识别结果包括有锋和无锋;根据识别结果对多个不同尺度的块进行标记;将标记后的多个不同尺度的块输入到二值化模型中进行拼接,得到与待识别的海表温度图大小相同的二值图;将与待识别的海表温度图大小相同的二值图输入到细粒度定位划界模型中进行细粒度识别,得到细粒度识别结果,其中,细粒度识别结果包括海洋锋的位置和海洋锋强弱的变化趋势,解决了无法对海表面温度图中的海洋锋进行细粒度识别的问题,进而达到了准确识别海表面温度图中海洋锋的位置和海洋锋强弱的变化趋势的效果。

附图说明

[0028] 构成本申请的一部分的附图用来提供对本发明的进一步理解,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0029] 图1是根据本发明实施例的海洋锋面识别方法的流程图;
[0030] 图2是根据本发明实施例的一种整体流程图;
[0031] 图3是根据本发明实施例的训练过程的示意图;
[0032] 图4是根据本发明实施例的图片采样和细粒度识别的过程的示意图;
[0033] 图5是根据本发明实施例的不同尺度识别结果图;
[0034] 图6是根据本发明实施例的对不同区域海域的实验结果图;
[0035] 图7是根据本发明实施例的识别方法与传统方法的对比示意图;
[0036] 图8是根据本发明实施例的海洋锋面识别装置的示意图。

具体实施方式

[0037] 需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本发明。
[0038] 为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分的实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都应当属于本申请保护的范围。
[0039] 需要说明的是,本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
[0040] 本发明实施例提供了一种海洋锋面识别方法。
[0041] 图1是根据本发明实施例的海洋锋面识别方法的流程图,如图1所示,该方法包括以下步骤:
[0042] 步骤S101:将待识别的海表温度图输入到多尺度采样模型中进行不同尺度的采样,得到多个不同尺度的块;
[0043] 步骤S102:将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别,得到识别结果,其中,识别结果包括有锋和无锋;
[0044] 步骤S103:根据识别结果对多个不同尺度的块进行标记;
[0045] 步骤S104:将标记后的多个不同尺度的块输入到二值化模型中进行拼接,得到与待识别的海表温度图大小相同的二值图;
[0046] 步骤S105:将与待识别的海表温度图大小相同的二值图输入到细粒度定位划界模型中进行细粒度识别,得到细粒度识别结果,其中,细粒度识别结果包括海洋锋的位置和海洋锋强弱的变化趋势。
[0047] 该实施例采用将待识别的海表温度图输入到多尺度采样模型中进行不同尺度的采样,得到多个不同尺度的块;将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别,得到识别结果,识别结果包括有锋和无锋;根据识别结果对多个不同尺度的块进行标记;将标记后的多个不同尺度的块输入到二值化模型中进行拼接,得到与待识别的海表温度图大小相同的二值图;将与待识别的海表温度图大小相同的二值图输入到细粒度定位划界模型中进行细粒度识别,得到细粒度识别结果,其中,细粒度识别结果包括海洋锋的位置和海洋锋强弱的变化趋势,解决了无法对海表面温度图中的海洋锋进行细粒度识别的问题,进而达到了准确识别海表面温度图中海洋锋的位置和海洋锋强弱的变化趋势的效果。
[0048] 在本发明实施例中,待识别的海表温度图是待识别海洋锋的海表温度图,将该图输入到多尺度采样模型中进行不同尺度的采样,得到不同的各大小尺度的patch块,然后将这些patch块输入到预先训练好的深度模型中进行模型识别,进行识别分类,识别结果为有锋(front)或无锋(non front),然后对每个块进行标记,如果某个块被识别为有锋,则标记该块为有锋,如果某个块为无锋,则标记该块为无锋,对于每个标记好的块,将这些块输入到二值化模型中进行拼接,可以拼成与待识别的海表温度图大小相同的二值图,每一个尺度都会得到一张二值图,因而可以得到与尺度数相同的二值图,从而可以完成对原图的粗略识别,接下来继续将拼接好的图输入到细粒度定位划界模型进行进一步细粒度识别,得到最后的细粒化的识别结果,在细粒化的识别结果中,包含有海洋锋的位置和海洋锋强弱的变化状态情况,本发明实施例的每个模型可以根据所识别的对象的需求进行设置和调整。
[0049] 作为一种可选的实施方式,根据识别结果对多个不同尺度的块进行标记可以是:将被识别为有锋的块的所有像素值设置为1,将被识别为无锋的块的所有像素值设置为0。
将被识别为有锋的块的所有像素值都设置为1,被识别为无锋的块的所有像素值都设置为
0,这种操作被称为二值化操作,所用到的模型为二值化模型。
[0050] 作为一种可选的实施方式,在将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别之前,将预设数量的训练样本图片进行灰度化处理,得到灰度样本图;基于灰度样本图和对应于每张灰度样本图的标签对AlexNet卷积神经网络模型进行训练,得到预先训练好的深度模型。灰度样本图的标签是该图是否含有海洋锋,在训练时每张图片是否含有海洋锋是已知的。
[0051] 作为一种可选的实施方式,预先训练好的深度模型的网络结构包括5层卷积层,2层全连接层和softmax层。
[0052] 本发明实施例的技术方案可以采用ImageNet已经训练好的模型应用到本申请中,采用机器学习的方式对卷积神经网络进行微调,加速网络的收敛速度,采用的卷积神经网络是AlexNet,该网络结构由5层卷积层和2层全连接层构成,前5层是卷积层,主要的作用是提取海洋锋的特征,后两层是全连接层,经过全连接层之后进入softmax层,完成对海洋锋的分类。由于海洋锋在图片上是用梯度进行表示的,与颜色的特征无关,所以在数据预处理阶段,可以将所有的彩色图片进行灰度化处理。
[0053] 作为一种可选的实施方式,在细粒度定位划界模型中,通过离散的尺度权值函数f(n)将不同尺度的细粒度结果识别结果结合起来,其中,离散的尺度权值函数的定义为:f(i)=A*i+B,i=1,2,…n,n表示扫描识别结果的数量,i表示不同尺度。
[0054] 在细粒度定位划界模型中,通过一种离散的尺度权值函数f(n)来将不同尺度扫描的结果{S1,S2,S3,S4,S5,S6}结合起来,函数的定义如下:
[0055] f(i)=A*i+B,i=1,2,…n,n表示扫描识别结果的数量,i表示不同尺度。
[0056] 本发明还提供了一种具体实施方式,下面结合该具体实施方式对本发明实施例的技术方案进行说明。
[0057] 近年来,温度锋成为限制海洋和大气之间能量和水分交换的关键。遥感技术的发展为研究这样的海洋温度锋提供了条件。从图像处理的角度出发,锋是指在遥感图像中,梯度存在明显差异的区域。本发明的技术方案旨在自动的检测、定位这些区域,即海表面温度图中的海洋锋的位置,为渔业生产、海洋学家研究海洋以及军事活动提供参考。
[0058] 传统的检测技术虽然也是基于梯度进行的检测,但存在一系列的问题,针对这些问题,本发明提出了结合人工智能算法的自动检测识别技术。通过使用不同尺度的窗口对海表面温度图进行扫描,对海洋锋进行不同尺度的识别。然后通过权重函数将不同尺度的识别结果进行结合起来,完美的表示了海洋锋由强变弱的过程,并且识别的准确率也很高,很好的将顶尖的计算机科学理论运用于实际的应用中,并取得很好的效果。
[0059] 同时,本发明实施例摒弃了传统方法中人工干预的问题。通过人工智能算法直接学习海洋锋的知识,再用学到的知识去识别海洋锋,用计算机完美的代替了在识别过程中人的作用,降低了人的主观性。在整个过程中,通过学习不同的海洋锋图片,使得整个网络的泛化能力变强,不同强度的海洋锋的阈值也都可以通过网络学习到,省去了传统方法中寻找阈值的过程,从而加速了整个识别、检测的过程,节约了时间成本。
[0060] 1.总体方案。
[0061] 图2是根据本发明实施例的一种整体流程图,如图2所示,检测过程主要分为三个模型:海洋锋检测分类模型、多尺度海洋锋识别模型和细粒度定位划界模型,每个模型又分别包含几个模块(每个模块的作用将在具体实现中给出描述)。
[0062] 首先,通过模块1采集遥感数据,将采集的海洋锋的训练数据送入到模块2中训练一个卷积神经网络,这是整个方案的核心。这个深度网络的性能直接影响的识别准确率。由于训练数据比较少,这对训练神经网络来说是一个巨大的挑战。为了克服这一困难,在模块2中,将在ImageNet已经训练好的模型迁移到本发明实施例的任务当中,采用迁移学习的方式来对卷积神经网络进行微调,加速了网络的收敛速度。采用的卷积神经网络是AlexNet,该网络结构由5层卷积层和两层全连接层构成,前5层是卷积层,主要的作用是提取海洋锋的特征,后两层是全连接层,经过全连接层之后进入softmax层,完成对海洋锋的分类,这里的分类结果只有两类,有锋(front)和无锋(non front)。由于海洋锋在图片上是用梯度进行表示的,与颜色的特征无关,所以在数据预处理阶段,将所有的彩色图片进行灰度化处理,训练的数据约有2000张图片,在NVIDIA上迭代训练了5000次,准确率达到了95%。
[0063] 在得到训练好的深度模型后,开始对图片进行海洋锋的识别分类。先将一幅完整的海表面温度图送入到模块3中,进行不同尺度的采样,获得不同尺度的若干patch块,然后再将这些patch块送入到已经训练好的深度模型中,进行识别分类。假设patch块被识别为有锋,那就将整个patch块的所有像素值置为1,否则,则置为0。对不同尺度扫描原海表面温度图获得的patch块都进行这样的过程,会获得不同尺度的patch块的识别分类结果,再将这些中间结果送入到模块4中,经模块4的处理,拼成与原图一样大小的二值图,每一个尺度都会得到一张二值图,因此会得到与尺度数相同的二值图,从而完成了对原图的粗略识别结果。
[0064] 最后,将经模块4的处理的结果,送入模块5处理,得到最后细粒化的识别结果。
[0065] 2.具体实现。
[0066] 本发明实施例主要包含三个部分:海洋锋检测分类模型、多尺度海洋锋识别模型和细粒度定位划界模型。图3是根据本发明实施例的训练过程的示意图。
[0067] 海洋锋检测分类模型
[0068] 首先,通过模块1采集海洋锋的训练数据集,数据集里只有两类,一类是有锋图片,另一类是无锋图片。采集的训练数据是海表面温度图,只有2000张左右。这样的数据量对于训练一个可靠的神经网络模型来说,是远远不够的。因此,在模块2中,采用迁移学习的方式来对我们的模型进行微调,也就是将在大数据集(ImageNet)上训练的模型学到的参数迁移到模型中来,以此来作为训练模型的先验知识。这在计算机科学领域,是一种广泛应用于数据量比较少的任务的技术手段,并且可以加速收敛速度。
[0069] 在模块1中,先对数据进行灰度化处理。这是由于检测海洋锋,网络关注的是梯度的信息,与颜色特征的相关性不是很大,所以在实验时采用的是灰度化的图片作为训练数据。由于网络对输入有固定大小,对所有图像都映射到同一尺寸(227*227)下,送入到网络进行训练。模块2训练的模型部分,将学习率设为0.01,batchsize设置为128,整个训练过程采用NVIDIA Tesla K40c进行加速,迭代训练5000次,准确率达到了95%。
[0070] 多尺度海洋锋识别模型
[0071] 在得到训练好的模型后,开始对一幅海表面温度图进行海洋锋的识别定位。对给定一幅海表面温度图,在模块3中,首先对它进行多尺度的扫描取样,得到不同尺度窗口扫描的图片集{I1,...Ii,...In}。也就是说,每个图片集Ii中的图片{P1i,P2i,P3i,...,Pmi}都是经过同一个尺度扫描获得而来。然后对所有的Pki∈Ii,都送入到训练好的海洋锋检测分类模型,进行海洋锋是否存在的预测。之后,进入模块4处理,如果图片Pki被海洋锋检测分类模型识别为有锋,则将图片Pki所有的像素值都置为1,否则,置为0,这种操作被称为“二值化”。对所有图片集中的图片Pki都进行二值化的操作,也就将所有图片集中的图片都转成了二值图。
[0072] 在模块3中,在使用多尺度窗口扫描整幅海表面温度图时,采用的是重叠采样的方式。这种采样的方式可以对给定扫描尺度的情况下,更好的定位海洋锋的区域。图4是根据本发明实施例的图片采样和细粒度识别的过程的示意图,如图4所示,具体过程为,在a中,假设海洋锋区域只是存在Z2和Z3交界的Z0区域,除Z0区域外,其他区域都是无锋区域,理论上经过二值化操作之后,这些无锋区域的像素值应该被置为0,图片表示应为黑色。b是没有重叠采样的过程,可以从中看出,假设在采样过程中没有重叠,在最终的结果上,Z2和Z3整个区域都被识别为有锋区,很明显,这样的结果是很粗糙的,没有实现海洋锋的细粒度识别。而重叠采样却能很好的避免这样的问题。c即重叠采样的整个过程,在这个过程中,有一些区域是被重复进行识别的,这些重复的区域将每一次识别的结果进行“与”操作,即多次识别的结果都为锋区,才认为该区域为海洋锋区域,否则则认为是无锋区。经过这样的过程,可以不断的细化海洋锋区域,从而精准的定位海洋锋。
[0073] 在模块4中,经过二值化操作之后,将所有的二值图Pki∈Ii按照扫描的顺序再合成与原图相同大小的二值图Si。白色区域表示不同尺度下识别的海洋锋区,黑色区域表示无锋区域。对40*40,50*50,60*60,70*70,80*80,90*90这6个尺度,重复上述扫描和识别的过程,得到6个尺度的识别结果图{S1,S2,S3,S4,S5,S6}(如图5中的(c)-(h)),完成多尺度海洋锋识别,其中a表示原海表面温度图,b表示最终检测识别结果。
[0074] 细粒度定位划界模型
[0075] 再经过以上两个模型之后,得到的6个不同尺度的识别结果图是分开的,也就是说,每一个尺度对应一张结果图,没有将不同尺度结合起来。细粒度定位划界模型的主要作用就是解决上面的这个问题。
[0076] 那如何解决这个问题呢?当扫描图片的尺度越小的时候,识别的结果应该是越精确的,而扫描的尺度越大,则识别的结果越粗糙。因此,在将不同尺度识别的结果结合在一起的时候,应该要让扫描尺度小的结果权值尽可能的大,以小尺度扫描识别的结果作为海洋锋的中心区域。
[0077] 基于上面的思想,在模块5中,提出了一种离散的尺度权值函数f(n)来将不同尺度扫描识别的结果{S1,S2,S3,S4,S5,S6}结合起来。这个函数的定义如下:
[0078] f(i)=A*i+B,i=1,2,…n,n表示扫描识别结果的数量,i表示不同尺度。
[0079] n表示扫描识别结果的数量(本实施例取n为6),i表示不同尺度(i=1表示最小的扫描尺度的权值,i的值随尺度的增加而增大)。尺度权值函数应该满足两个条件:
[0080] (1)
[0081] (2)对所有的i∈{1,2,…n},f(i)>0。
[0082] 本实施例中,令f(6)=0.1,结合条件(1),可以得到A=-2/75,B=13/50,最终的结果表示为 这个函数的主要的作用是将海洋锋的中心和边界进行划分出来。通过这个函数,可以将海洋锋中心的区域变的高亮,以此来表示海洋锋的强度。而从中心往外,亮度是逐渐变暗的,用亮度的变化来表示由海洋锋中心区域向四周强度逐渐退减的过程(如图5中的b)。
[0083] 本发明实施例的技术方案提出了一种新的识别定位海洋锋的方法,主要的创新点在于:1.提出了一种深度卷积网络-AlexNet进行海洋锋的识别方法。2.提出了一种多尺度候选区域扫描的方法进行采样。3.提出了一种离散的尺度权值函数来细化海洋锋的边界。4.可以实现对海洋锋的自动化检测定位。
[0084] 本发明实施例的技术方案使用了先进的人工智能技术,做到了自动化识别海洋锋区域。采用卷积神经网络学习海洋锋的知识,利用学习到的知识对海洋锋进行识别检测。由于卷积神经网络的泛化能力,可以学到不同强度的海洋锋知识,不需要人为的选取阈值来判断是否存在海洋锋。并且可以滤除海洋和陆地的分界线,而在传统方法中,这些分界线也被错误检测出来,对整个识别的结果造成影响。整个过程都是由计算机完成的,实现了自动化识别。
[0085] 本发明实施例的技术方案将海洋锋的变化趋势,使用可视化的方法进行表示,传统的检测手段只能将不同梯度的分界线表示出来,并不关心结果是否是海洋锋以及锋的强弱,这给研究海洋锋的人员造成了很大的干扰。本实施例使用不同尺度的窗口对原图进行扫描识别,将每个尺度识别的结果通过尺度权值函数结合起来,可以得到海洋锋的位置以及锋由强变弱的趋势,给研究人员提供了重要的参考。
[0086] 需要说明的是,在海洋锋检测分类模型中,使用的深度网络可以替换为其他网络,如:VGGnet、Caffenet等,都在本发明的保护范围之内。
[0087] 图6是根据本发明实施例的对不同区域海域的实验结果图,其中,a表示不同海域的原海表面温度图,b表示本发明实施例的识别结果,c表示传统的梯度检测方法的检测结果。
[0088] 图7是根据本发明实施例的识别方法与传统方法的对比示意图,最后一行可见本发明实施例的结果更精确,从实验结果上来看,本发明实施例的结果可以精确的定位海洋锋的位置,并将锋由强到弱的变化清晰的表示出来。而传统方法,虽然也可以将锋的位置检测出来,但是在结果中存在很多的噪声,包括陆地与海洋的分界线,没有强锋弱锋的趋势变化等。
[0089] 需要说明的是,在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
[0090] 本发明实施例提供了一种海洋锋面识别装置,该装置可以用于执行本发明实施例的海洋锋面识别方法。
[0091] 图8是根据本发明实施例的海洋锋面识别装置的示意图,如图8所示,该装置包括:
[0092] 采样单元10,用于将待识别的海表温度图输入到多尺度采样模型中进行不同尺度的采样,得到多个不同尺度的块;
[0093] 识别单元20,用于将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别,得到识别结果,其中,识别结果包括有锋和无锋;
[0094] 标记单元30,用于根据识别结果对多个不同尺度的块进行标记;
[0095] 拼接单元40,用于将标记后的多个不同尺度的块输入到二值化模型中进行拼接,得到与待识别的海表温度图大小相同的二值图;
[0096] 细化定位单元50,用于将与待识别的海表温度图大小相同的二值图输入到细粒度定位划界模型中进行细粒度识别,得到细粒度识别结果,其中,细粒度识别结果包括海洋锋的位置和海洋锋强弱的变化趋势。
[0097] 该实施例采用采样单元10,用于将待识别的海表温度图输入到多尺度采样模型中进行不同尺度的采样,得到多个不同尺度的块;识别单元20,用于将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别,得到识别结果,其中,识别结果包括有锋和无锋;标记单元30,用于根据识别结果对多个不同尺度的块进行标记;拼接单元40,用于将标记后的多个不同尺度的块输入到二值化模型中进行拼接,得到与待识别的海表温度图大小相同的二值图;细化定位单元50,用于将与待识别的海表温度图大小相同的二值图输入到细粒度定位划界模型中进行细粒度识别,得到细粒度识别结果,其中,细粒度识别结果包括海洋锋的位置和海洋锋强弱的变化趋势,从而解决了无法对海表面温度图中的海洋锋进行细粒度识别的问题,进而达到了准确识别海表面温度图中海洋锋的位置和海洋锋强弱的变化趋势的效果。
[0098] 可选地,标记单元30用于:将被识别为有锋的块的所有像素值设置为1,将被识别为无锋的块的所有像素值设置为0。
[0099] 可选地,该装置还包括:处理单元,用于在将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别之前,将预设数量的训练样本图片进行灰度化处理,得到灰度样本图;训练单元,用于基于灰度样本图和对应于每张灰度样本图的标签对AlexNet卷积神经网络模型进行训练,得到预先训练好的深度模型。
[0100] 所述海洋锋面识别装置包括处理器和存储器,上述采样单元、识别单元、标记单元和拼接单元等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
[0101] 处理器中包含内核,由内核去存储器中调取相应的程序单元。内核可以设置一个或以上,通过调整内核参数来准确识别海表面温度图中海洋锋的位置。
[0102] 存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM),存储器包括至少一个存储芯片。
[0103] 本发明实施例提供了一种存储介质,其上存储有程序,该程序被处理器执行时实现所述海洋锋面识别方法。
[0104] 本发明实施例提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行所述海洋锋面识别方法。
[0105] 本发明实施例提供了一种设备,设备包括处理器、存储器及存储在存储器上并可在处理器上运行的程序,处理器执行程序时实现以下步骤:将待识别的海表温度图输入到多尺度采样模型中进行不同尺度的采样,得到多个不同尺度的块;将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别,得到识别结果,识别结果包括有锋和无锋;根据识别结果对多个不同尺度的块进行标记;将标记后的多个不同尺度的块输入到二值化模型中进行拼接,得到与待识别的海表温度图大小相同的二值图;将与待识别的海表温度图大小相同的二值图输入到细粒度定位划界模型中进行细粒度识别,得到细粒度识别结果,其中,细粒度识别结果包括海洋锋的位置和海洋锋强弱的变化趋势。本文中的设备可以是服务器、PC等。
[0106] 本申请还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:将待识别的海表温度图输入到多尺度采样模型中进行不同尺度的采样,得到多个不同尺度的块;将多个不同尺度的块输入到预先训练好的深度模型中进行模型识别,得到识别结果,识别结果包括有锋和无锋;根据识别结果对多个不同尺度的块进行标记;将标记后的多个不同尺度的块输入到二值化模型中进行拼接,得到与待识别的海表温度图大小相同的二值图;将与待识别的海表温度图大小相同的二值图输入到细粒度定位划界模型中进行细粒度识别,得到细粒度识别结果,其中,细粒度识别结果包括海洋锋的位置和海洋锋强弱的变化趋势。
[0107] 本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0108] 本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0109] 这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0110] 这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0111] 在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
[0112] 存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
[0113] 计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
[0114] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0115] 本领域技术人员应明白,本申请的实施例可提供为方法、系统或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
[0116] 以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。