一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种水域轮廓识别方法、系统、电子设备及介质与流程

2023-01-04 16:19:06 来源:中国专利 TAG:


1.本发明涉及轮廓识别技术领域,特别是涉及一种水域轮廓识别方法、系统、电子设备及介质。


背景技术:

2.为了进行河边、湖边等水域边缘区域的保护,防止一些意外的发生,需要在图像中识别出水域边缘的具体位置,opencv轮廓识别方法可以粗劣识别出水域边缘的部分轮廓,但是受天气干扰因素较大,导致识别出的轮廓结果不准确。


技术实现要素:

3.本发明的目的是提供一种水域轮廓识别方法、系统、电子设备及介质,可提高轮廓识别结果的精度。
4.为实现上述目的,本发明提供了如下方案:
5.一种水域轮廓识别方法,包括:
6.获取待识别图像;
7.将所述待识别图像进行网格划分得到多个小网格图;
8.采用svm分类器对各小网格图进行处理得到各小网格图的识别结果,所述识别结果包括:水域区域和非水域区域;
9.根据各小网格图的识别结果得到所述待识别图像的水域区域;
10.根据所述水域区域对所述待识别图像进行裁剪得到水域区域图片;
11.将所述水域图片输入卷积神经网络得到所述待识别图像中的水域轮廓。
12.可选的,所述卷积神经网络包括:
13.依次连接的输入层、数据归一化层、第一卷积层、bottleneck单元、特征金字塔网络层、特征融合层、第二卷积层和轮廓输出层。
14.可选的,所述bottleneck单元包括5个依次连接的bottleneck层。
15.可选的,所述将所述待识别图像进行网格划分得到多个小网格图,具体包括:
16.对所述待识别图像进行压缩得到压缩图像;
17.将所述压缩图像进行网格分割得到多个网格图;
18.将各所述网格图分别进行压缩得到多个小网格图。
19.一种水域轮廓识别系统,包括:
20.获取模块,用于获取待识别图像;
21.网格划分模块,用于将所述待识别图像进行网格划分得到多个小网格图;
22.svm分类器处理模块,用于采用svm分类器对各小网格图进行处理得到各小网格图的识别结果,所述识别结果包括:水域区域和非水域区域;
23.水域区域确定模块,用于根据各小网格图的识别结果得到所述待识别图像的水域区域;
24.图片裁剪模块,用于根据所述水域区域对所述待识别图像进行裁剪得到水域区域图片;
25.水域轮廓识别模块,用于将所述水域图片输入卷积神经网络得到所述待识别图像中的水域轮廓。
26.可选的,所述卷积神经网络包括:
27.依次连接的输入层、数据归一化层、第一卷积层、bottleneck单元、特征金字塔网络层、特征融合层、第二卷积层和轮廓输出层。
28.可选的,所述bottleneck单元包括5个依次连接的bottleneck层。
29.可选的,所述网格划分模块,具体包括:
30.第一压缩单元,用于对所述待识别图像进行压缩得到压缩图像;
31.分割单元,用于将所述压缩图像进行网格分割得到多个网格图;
32.第二压缩单元,用于将各所述网格图分别进行压缩得到多个小网格图。
33.一种电子设备,包括:
34.存储器和处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行根据上述所述的水域轮廓识别方法。
35.一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的水域轮廓识别方法。
36.根据本发明提供的具体实施例,本发明公开了以下技术效果:本发明以深度学习的方式处理水域边缘区域,实现实时识别水域边缘位置,由于深度神经网络本身具有的抗干扰能力相对于opencv更强的特点,所以本发明得到的轮廓识别结果更准确。
附图说明
37.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
38.图1为本发明实施例提供的一种水域轮廓识别方法的流程图;
39.图2为本发明实施例获取的待识别图像;
40.图3为本发明实施例对图2进行压缩后生成的压缩图像;
41.图4为本发明实施例对图3进行网格划分后的图像;
42.图5为本发明实施例对图4进行压缩得到的图像;
43.图6为本发明实施例对图5进行图像批次识别得到的图像;
44.图7为本发明实施例根据图6的识别结果合成水域框后得到的图像;
45.图8为本发明实施例对图7进行放大得到的图像;
46.图9为本发明实施例对图8中的水域图像进行裁剪得到的图像;
47.图10为本发明实施例提供的更加具体的卷积神经网络的结构图;
48.图11为本发明实施例提供的卷积神经网络的结构图;
49.图12为采用卷积神经网络对图9的图像进行轮廓识别得到的结果图。
具体实施方式
50.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
51.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
52.本发明实施例提供了一种水域轮廓识别方法,包括:
53.获取待识别图像。
54.将所述待识别图像进行网格划分得到多个小网格图。
55.采用svm分类器对各小网格图进行处理得到各小网格图的识别结果,所述识别结果包括:水域区域和非水域区域,具体的采用svm分类器对各小网格图进行识别,对于分类阈值设置为0.5,大于0.5可判定为水域块,如果svm分类结果阈值没有大于0.5的,那么表示此图像中不存在水域,如果阈值大于0.5的数量符合一定条件,则将svm分类结果的坐标进行映射组合,最终形成水域框得到水域区域。
56.根据各小网格图的识别结果得到所述待识别图像的水域区域。
57.根据所述水域区域对所述待识别图像进行裁剪得到水域区域图片。
58.将所述水域图片输入卷积神经网络得到所述待识别图像中的水域轮廓。
59.在实际应用中,在所述将所述水域图片输入卷积神经网络得到所述待识别图像中的水域轮廓之前还包括:对所述水域区域图片进行压缩得到压缩水域图片。
60.在实际应用中,如图11所示,所述卷积神经网络包括:
61.依次连接的输入层、数据归一化层、第一卷积层、bottleneck单元、特征金字塔网络层、特征融合层、第二卷积层和轮廓输出层,所述bottleneck单元包括5个依次连接的bottleneck层,特征融合层用于将bottleneck单元中的最后一个bottleneck层与金字塔网络层的特征进行融合,轮廓输出层输出结果为矩阵mask,通过opencv轮廓提取的方式获取到基于mask水域精确的轮廓,通过图像线性关系,将mask生成的轮廓转化为原图的轮廓坐标。
62.在实际应用中,在对卷积神经网络进行训练时可以对数据做干扰增强,增加椒盐噪声、图像旋转、扭曲、网络深度等,增加网络的抗干扰能力。
63.在实际应用中,所述将所述待识别图像进行网格划分得到多个小网格图,具体包括:
64.对所述待识别图像进行压缩得到压缩图像。
65.将所述压缩图像进行网格分割得到多个网格图。
66.将各所述网格图分别进行压缩得到多个小网格图。
67.本发明实施例还提供了一种与上述方法对应的水域轮廓识别系统,包括:
68.获取模块,用于获取待识别图像。
69.网格划分模块,用于将所述待识别图像进行网格划分得到多个小网格图。
70.svm分类器处理模块,用于采用svm分类器对各小网格图进行处理得到各小网格图的识别结果,所述识别结果包括:水域区域和非水域区域。
71.水域区域确定模块,用于根据各小网格图的识别结果得到所述待识别图像的水域区域。
72.图片裁剪模块,用于根据所述水域区域对所述待识别图像进行裁剪得到水域区域图片。
73.水域轮廓识别模块,用于将所述水域图片输入卷积神经网络得到所述待识别图像中的水域轮廓。
74.在实际应用中,所述卷积神经网络包括:
75.依次连接的输入层、数据归一化层、第一卷积层、bottleneck单元、特征金字塔网络层、特征融合层、第二卷积层和轮廓输出层。
76.在实际应用中,所述bottleneck单元包括5个依次连接的bottleneck层。
77.在实际应用中,所述网格划分模块,具体包括:
78.第一压缩单元,用于对所述待识别图像进行压缩得到压缩图像。
79.分割单元,用于将所述压缩图像进行网格分割得到多个网格图。
80.第二压缩单元,用于将各所述网格图分别进行压缩得到多个小网格图。
81.本发明实施例还提供了一种电子设备,包括:
82.存储器和处理器,所述存储器用于存储计算机程序,所述处理器运行所述计算机程序以使所述电子设备执行根据上述所述的水域轮廓识别方法。
83.本发明实施例还提供了一种计算机可读存储介质,其存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的水域轮廓识别方法。
84.下面本发明以一个更加具体的实施例对本发明水域轮廓识别方法进行进一步说明:
85.如图1所示,水域轮廓识别方法分为两部分:水域框识别和水域轮廓识别。
86.水域框识别:
87.由于opencv识别水域存在问题,在图像上也无法通过opencv确切的获取到包含整个水域的框,因此通过分割图片,判断是否为水域来快速获取水域位置。
88.获取待识别图像即rgb三维图像数据,如图2所示。
89.对rgb三维图像数据进行图像压缩(生成640x480或320x240或160x120的图片,但需要在生成的图片中清楚呈现出水域部分),本发明实施例生成的640x480的图,结果如图3所示。
90.由于水域为连续且无规则,直接进行边框识别需要大量的数据计算,所以在压缩图上通过均分思想将图3的图像进行图像分割,在压缩图上截取生成100张小图,裁剪生成10x10个小格图c1到c100,结果如图4所示,(比如640x480的压缩图生成10x10个小格,那么每个小格是64x48的像素)。
91.并将小图进行图像压缩成统一尺寸12x12,结果如图5所示,将小格图按照1到100的顺序生成一个批次数据进行图像批次识别,放入svm分类器中得出每个小格图的二分类结果判别包含水域的小格图,再将结果按照顺序组合呈现出水域位置,结果如图6所示,通过svm输出的置信度(对于一个二分类问题,每一张小图对应置信度可以表示为一维数组[0.6,0.4],0.6代表的是为非水域,0.4代表的是水域,0.6大于0.4才代表的是非水域,[0.1,0.9]表示的是水域图片),从而判别是否为水域,将识别结果根据小图cn在图2中的相
对位置(以0-1表示以百分比的形式表示图像位置,比如n为0,表示在图2的左边,n为1表示在图2的右边区域)组合、映射出原图水域框。
[0092]
根据svm分类出的识别结果,获取最上、最左、最右、最下四个小格,根据最外围的识别小格得到外接矩形框,根据外接矩形框向四个方向扩充一个小格图,获得完全包含水域的矩形位置即水域框,结果如图7所示,如果没有获取到水域框位置,那么证明当前图像未出现水域,则直接输出未检测到的结果,如果有水域框位置信息,则进入水域轮廓识别。
[0093]
将得到的水域框通过比例关系(根据图4与图2的长宽对应比值关系)通过线性映射到原图2上获得实际水域框的位置,结果如图8所示。
[0094]
水域轮廓识别:
[0095]
根据上述步骤识别的水域框,在原图上裁剪水域图像,线性压缩成224x224像素大小,结果如图9所示,在预测时,将图9送入卷积神经网络进行归一化操作和轮廓识别,本实施例中卷积神经网络的网络参数如图10所示,通过神经网络的卷积操作,提取水域的特征进行模型特征提取以及回归生成掩码,将掩码映射到原图像尺寸,生成水域轮廓坐标,通过不同层次的特征合成识别出水域的轮廓区域。此识别属于像素级识别,以优化的mobilenetv2为主干提取图像特征,外加fpn单层算法生成特征图,卷积conv2d操作生成28x28的轮廓掩码,通过线性放大到原始图像上的水域框大小,最终生成水域轮廓,结果如图12所示。
[0096]
在合成水域框后,确定了水域的范围,特别是对于远处的小水域,如果直接识别水域区域,不进行模型特征提取,基本提取不到水域轮廓,所以通过水域框的生成,有效的拉近了远处的水域,实现远近的几乎同等效果的识别。
[0097]
如图10所示,图中augmentation即数据归一化层主要是对数据增强,增加网络的抗干扰能力。
[0098]
conv2d及bottleneck为mobilenet通用卷积操作,可以有效提取多维度特征,t表示“扩张”倍数,c表示输出通道数,n表示重复次数,s表示步长stride。bottleneck的组成如表1所示:
[0099]
表1bottleneck的组成表
[0100][0101]
其中的dwise为depthwise convolution为一种通用的卷积操作,一个卷积核负责一个通道,一个通道只被一个卷积核卷积。linear代表的是线性,relu6为通用的激活函数。
[0102]
mask为轮廓掩码,输出为28x28的矩阵,矩阵内部值为0和1,1表示为水域,1与0的切换处代表轮廓位置。
[0103]
在l7中只用到了一层fpn的操作,通过上采样和1x1的conv2d操作,增加网络的非线性。
[0104]
l8为concatenation操作,通过获取l7层的输出与l6层的特征相融合,加深层级与
通道深度,特征表达语义更深,更准确,更具有抗干扰性。
[0105]
网络的深度更具有非线性的特点,可拟合更多的角度,在多角度方面表现得更为突出,但网络本身的深度和计算量成正向关系,当params在3.4m内,在cpu上运行速度可达80ms。
[0106]
本发明还提供了一种上述方法的具体实施例:
[0107]
运行平台:以windows与linux为主,但可以针对不同的平台定制算法包,此算法具有易部署的特点,针对不同的系统环境可开发出不同的算法包,但部署步骤一致如下:
[0108]
第一步:搭建算法环境,算法环境主要包括基本的神经网络依赖库及算法开发包,以windows和linux平台为主。
[0109]
第二步:搭建后端服务器
[0110]
第三步:服务器系统实时接入需要识别的摄像头数据。
[0111]
第四步:根据上述算法技术,编码出so或者jar算法包。
[0112]
第五步:将算法包接入服务器端。
[0113]
第六步:启动算法,通过调用摄像头拉取摄像头图像数据进行识别,输出识别算法,对接后续操作。
[0114]
本发明具有以下技术效果:
[0115]
1、更加精确的识别水域轮廓,由于深度神经网络本身具有的抗干扰能力相对于opencv更强的特点,在训练时对数据做干扰增强,增加椒盐噪声、图像旋转、扭曲、网络深度等,可进一步针对性的增强网络的抗干扰能力,可做到更好的像素级识别与判断,而传统opencv需要人工调参,很难做到自适应检测,所以精度较低。
[0116]
2、神经网络具有非线性,在数据处理方面,筛选出多角度有效数据进行训练,可实现多角度识别,从而做到一个模型可以识别多个角度。
[0117]
3、可远距离识别,远距离可经过初判水域区域,再针对水域区域,将远距离水域进行放大,近距离水域进行缩小识别。
[0118]
4、更广泛的应用,算法可以不仅仅用于水域,其他的轮廓识别也是可以使用,但是需要修改训练数据。
[0119]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的系统而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
[0120]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献