CN110569844A - 基于深度学习的船舶识别方法及系统 - Google Patents
基于深度学习的船舶识别方法及系统 Download PDFInfo
- Publication number
- CN110569844A CN110569844A CN201910852749.1A CN201910852749A CN110569844A CN 110569844 A CN110569844 A CN 110569844A CN 201910852749 A CN201910852749 A CN 201910852749A CN 110569844 A CN110569844 A CN 110569844A
- Authority
- CN
- China
- Prior art keywords
- ship
- image
- neural network
- convolutional neural
- layers
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 59
- 238000013135 deep learning Methods 0.000 title claims abstract description 29
- 238000013527 convolutional neural network Methods 0.000 claims abstract description 98
- 238000012549 training Methods 0.000 claims abstract description 95
- 238000002372 labelling Methods 0.000 claims abstract description 19
- 238000005516 engineering process Methods 0.000 claims abstract description 16
- 238000007781 pre-processing Methods 0.000 claims abstract description 16
- 230000006870 function Effects 0.000 claims description 32
- 238000004422 calculation algorithm Methods 0.000 claims description 15
- 238000004590 computer program Methods 0.000 claims description 5
- 230000000694 effects Effects 0.000 abstract description 10
- 239000010410 layer Substances 0.000 description 86
- 238000013528 artificial neural network Methods 0.000 description 11
- 238000000605 extraction Methods 0.000 description 7
- 238000004891 communication Methods 0.000 description 6
- 230000007613 environmental effect Effects 0.000 description 6
- 238000012545 processing Methods 0.000 description 5
- 238000005070 sampling Methods 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000008034 disappearance Effects 0.000 description 2
- 238000004880 explosion Methods 0.000 description 2
- 230000000977 initiatory effect Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 239000002356 single layer Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V20/00—Scenes; Scene-specific elements
- G06V20/60—Type of objects
- G06V20/62—Text, e.g. of license plates, overlay texts or captions on TV images
- G06V20/63—Scene text, e.g. street names
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Artificial Intelligence (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Molecular Biology (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Biomedical Technology (AREA)
- Mathematical Physics (AREA)
- General Health & Medical Sciences (AREA)
- Health & Medical Sciences (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Biology (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明实施例提供一种基于深度学习的船舶识别方法及系统,基于爬虫技术,从各目标网站中获取复杂背景下的船舶图像,同时获取干扰图像;对所述船舶图像进行预处理,将预处理后的船舶图像作为训练样本;对训练样本进行标注,基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型;其中,所述n层GoogleNet卷积神经网络模型为预先设计;将待识别图像输入所述船舶识别模型,基于船舶识别模型的输出结果,获取待识别图像中的船舶,实现快速和准确进行船舶识别的技术效果。
Description
技术领域
本发明实施例涉及视频技术领域,尤其涉及一种基于深度学习的船舶识别方法及系统。
背景技术
目前,船舶号识别技术广泛应用于码头、航运线路等区域对通过船舶进行识别及记录,以对通过船舶进行管理,并且随着图像及视频处理技术的发展,船舶号识别率不断提高,使得实现纯船舶号识别船舶管理以及无人值守方案变得可行。
但纯船舶号识别管理方案的实现仍存在以下难点,对于无船舶号船并不能识别,以及对于船舶号存在污损或者变形等情况也会导致船舶号无法识别出,因此这给基于船舶号识别的船舶管理方案带来问题。
发明内容
本发明实施例提供一种基于深度学习的船舶识别方法及系统,用以解决现有技术中受环境因素影响较大,算法的鲁棒性不高的缺陷,实现船舶的高效精准识别。
本发明实施例提供一种基于深度学习的船舶识别方法,包括:
基于爬虫技术,从各目标网站中获取复杂背景下的船舶图像,同时获取干扰图像;对所述船舶图像进行预处理,将预处理后的船舶图像作为训练样本;
对训练样本进行标注,基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型;其中,所述n层GoogleNet卷积神经网络模型为预先设计;
将待识别图像输入所述船舶识别模型,基于船舶识别模型的输出结果,获取待识别图像中的船舶。
进一步地,所述对所述船舶图像进行预处理的步骤包括以下至少一种:
对船舶图像进行去均值操作,船舶图像减去船舶图像均值;
随机选择对船舶图像增加转动角度,提升船舶图像在角度方面的图像多样性;
随机选择对船舶图像在水平方向上进行拉伸或压缩,提升船舶图像在视觉方面的图像多样性;
统一船舶图像的尺寸大小。
进一步地,所述方法还包括:
设置CTC loss损失函数作为n层GoogleNet卷积神经网络模型的目标函数。
进一步地,所述基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型的步骤,包括:
基于标注的训练样本和干扰图像对n层GoogleNet卷积神经网络模型进行训练,直至loss不再下降为止,获得船舶识别模型。
进一步地,所述基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型的步骤,包括:
设置n层GoogleNet卷积神经网络模型的层数、卷积核大小和每层的卷积核数目,获得n层GoogleNet卷积神经网络模型;
基于标注的训练样本和误差反向传播算法对n层GoogleNet卷积神经网络模型进行训练,获得船舶识别模型。
本发明实施例提供一种基于深度学习的船舶识别系统,包括:
获取模块,用于基于爬虫技术,从各目标网站中获取复杂背景下的船舶图像,同时获取干扰图像;对所述船舶图像进行预处理,将预处理后的船舶图像作为训练样本;
训练模块,用于对训练样本进行标注,基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型;其中,所述n层GoogleNet卷积神经网络模型为预先设计;
识别模块,用于将待识别图像输入所述船舶识别模型,基于船舶识别模型的输出结果,获取待识别图像中的船舶。
进一步地,获取模块进一步用于:
对船舶图像进行去均值操作,船舶图像减去船舶图像均值;
随机选择对船舶图像增加转动角度,提升船舶图像在角度方面的图像多样性;
随机选择对船舶图像在水平方向上进行拉伸或压缩,提升船舶图像在视觉方面的图像多样性;
统一船舶图像的尺寸大小。
进一步地,所述系统还包括设置模块,用于:
设置CTC loss损失函数作为n层GoogleNet卷积神经网络模型的目标函数。
本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上述任一项所述船舶识别方法。
本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述任一项所述船舶识别方法的步骤。
本发明实施例提供的基于深度学习的船舶识别方法及系统,所述方法基于爬虫技术,从各目标网站中获取复杂背景下的船舶图像,同时获取干扰图像;对所述船舶图像进行预处理,将预处理后的船舶图像作为训练样本;对训练样本进行标注,基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型;其中,所述n层GoogleNet卷积神经网络模型为预先设计;将待识别图像输入所述船舶识别模型,基于船舶识别模型的输出结果,获取待识别图像中的船舶,实现快速和准确进行船舶识别的技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明基于深度学习的船舶识别方法实施例整体流程示意图;
图2为本发明基于深度学习的船舶识别系统实施例整体结构示意图;
图3为本发明电子设备实施例结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有的船舶识别受环境因素的影响较大,并且不同的特征提取方法对船舶识别方案的鲁棒性也有影响。为解决上述问题,本发明实施例提供一种基于深度学习的船舶识别方法。如图1,示出本发明实施例一种基于深度学习的船舶识别方法整体流程示意图。该方法的执行主体可以是智能手机、智能手环等便携智能终端,还可以是云端服务器,本发明对此不作具体限定。该方法包括:
步骤S1,基于爬虫技术,从各目标网站中获取复杂背景下的船舶图像,同时获取干扰图像;对所述船舶图像进行预处理,将预处理后的船舶图像作为训练样本。
步骤S2,对训练样本进行标注,基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型;其中,所述n层GoogleNet卷积神经网络模型为预先设计。
步骤S3,将待识别图像输入所述船舶识别模型,基于船舶识别模型的输出结果,获取待识别图像中的船舶。
具体的,待识别图像为包含需要被识别是否有船舶的图像。待识别图像可以是通过摄像装置实时获取的图像,也可以是预先获取并存储在特定存储器或服务器中的图像。进一步,待识别图像可以是单帧的静态图片图像,也可以是动态的视频图像。图片图像的格式可以为:BMP、TIFF、EPS、JPEG、GIF、PSD和PDF等;视频图像的格式可以为MPEG、MPG、AVI、MOV、RMVB和FLV等。
进一步,船舶识别模型为基于预先标注的图像样本和n层GoogleNet卷积神经网络模型训练获得。需要说明的是,卷积神经网络(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(FeedforwardNeural Networks),是深度学习(deep learning)的代表算法之一。由于卷积神经网络能够进行平移不变分类(shift-invariant classification),因此也被称为“平移不变人工神经网络(Shift-InvariantArtificial Neural Networks,SIANN)”。卷积神经网络在大量学习数据时有稳定的表现,对于一般的大规模图像分类问题,深度卷积神经网络可用于构建阶层分类器,也可以在精细分类识别(fine-grained recognition)中用于提取图像的判别特征以供其它分类器进行学习。对于后者,特征提取可以人为地将图像的不同部分分别输入卷积神经网络,也可以由卷积神经网络通过非监督学习自行提取。GoogLeNet是2014年Christian Szegedy提出的一种全新的深度学习结构,在这之前的AlexNet、VGG等结构都是通过增大网络的深度(层数)来获得更好的训练效果,但层数的增加会带来很多负作用,比如overfit、梯度消失、梯度爆炸等。inception的提出则从另一种角度来提升训练结果:能更高效的利用计算资源,在相同的计算量下能提取到更多的特征,从而提升训练结果。
其中,步骤S1前需要获取一定数量的图像样本,图像样本可以为摄像设备采集的图片、网上下载的公共图片和经过图像处理技术扩充的图片。作为深度卷积神经网络训练的前期准备工作,图像样本的标注是一项基础的工作。图像样本的标注可以通过现有技术中的LabelMe软件,标注人员在样本图像中包含船舶的图像区域,通过手动绘制矩形或多边形的方式实现图像标注,船舶区域的标签即为船舶的读数;也可以使用ByLabel软件,通过自动提取图像边缘,手动选取边缘并编组的方式实现图像标注。关于图像样本的具体标注方式本发明实施例不作具体限定。
进一步,基于预先标注的训练样本和n层GoogleNet卷积神经网络模型训练获得所述船舶识别模型的过程,可以采用现有技术中的训练方式,也可以采用本发明下述实施例中的训练方式。其中,现有技术中的训练方式例如包括:首先,n层GoogleNet卷积神经网络模型进行权值的初始化;其次,将标注的训练样本输入数据经过卷积层、下采样层、全连接层的向前传播得到输出值;再次,求出n层GoogleNet卷积神经网络模型的输出值与目标值之间的误差;再次,当误差大于期望值时,将误差传回n层GoogleNet卷积神经网络模型中,依次求得全连接层,下采样层,卷积层的误差。各层的误差可以理解为对于n层GoogleNet卷积神经网络模型的总误差,n层GoogleNet卷积神经网络模型应承担多少;当误差等于或小于期望值时,结束训练。最后,根据求得误差进行权值更新。本发明实施例不对船舶识别模型的训练方法作具体限定。
具体地,举个具体实例来对步骤S3的实现步骤进行说明。步骤S3实现过程的第一步基于卷积层实现,卷积层执行了以下几个步骤。首先,将待识别图像分解成一系列重叠的m*m像素的拼图,其中m≥2,且为正整数。之后,基于一个简单的单层神经网络运行这些拼图,权重保持不变。将拼图排列组合,当保持每个重叠后的拼图尺寸是小的(m*m)时,船舶识别模型需要处理它们保证可控与小型化。然后,将以船舶示照片中每个区域的内容的数组进行输出值排列,其中坐标轴表示颜色,宽度和高度。下一步是池化层。采用这些3或4维阵列,并与空间维度一起应用下采样功能。结果输出一个池数组,其中仅包含重要的图像部分,同时丢弃剩余部分,这最大限度地减少了需要完成的计算量,同时也避免了过度拟合问题。采用下采样阵列作为常规全连接神经网络的输入。最后一步的输出待识别图像中对于各拼图中包含各船舶的概率值(确信值)。其中,本发明实施例不对步骤S2的具体实现方法作具体限定。
本发明实施例提供的船舶识别方法,通过基于爬虫技术,从各目标网站中获取复杂背景下的船舶图像,同时获取干扰图像;对所述船舶图像进行预处理,将预处理后的船舶图像作为训练样本;对训练样本进行标注,基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型;将待识别图像输入所述船舶识别模型,基于船舶识别模型的输出结果,获取待识别图像中的船舶。解决了现有技术中船舶识别方案受环境因素的影响较大,并且不同的特征提取方法对算法的鲁棒性也有影响的技术问题,实现快速和准确进行船舶识别的技术效果。
基于上述实施例,所述对所述船舶图像进行预处理的步骤包括以下至少一种:
对船舶图像进行去均值操作,船舶图像减去船舶图像均值;
随机选择对船舶图像增加转动角度,提升船舶图像在角度方面的图像多样性;
随机选择对船舶图像在水平方向上进行拉伸或压缩,提升船舶图像在视觉方面的图像多样性;
统一船舶图像的尺寸大小。
本发明实施例提供的船舶识别方法,通过基于爬虫技术,从各目标网站中获取复杂背景下的船舶图像,同时获取干扰图像;对所述船舶图像进行预处理,将预处理后的船舶图像作为训练样本;对训练样本进行标注,基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型;将待识别图像输入所述船舶识别模型,基于船舶识别模型的输出结果,获取待识别图像中的船舶。解决了现有技术中船舶识别方案受环境因素的影响较大,并且不同的特征提取方法对算法的鲁棒性也有影响的技术问题,实现快速和准确进行船舶识别的技术效果。
基于上述任一实施例,所述方法还包括:设置CTC loss损失函数作为n层GoogleNet卷积神经网络模型的目标函数。
其中,CTC loss(Connectionist Temporal Classification)是现有技术中一种处理深度学习中正负样本不均衡的损失函数。该实施例中多层卷积神经网络的目标函数采用CTC loss损失函数,根据目标函数得到的loss值判断是否需要对当前的多层卷积神经网络的结构进行调整,最终得到目标多层卷积神经网络。
损失函数(loss function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。例如在统计学和机器学习中被用于模型的参数估计。
进一步,基于标注的第一图像样本集和深度卷积神经网络训练获得船舶识别模型,包括:基于标注的第一图像样本集对深度卷积神经网络进行训练,直至loss不再下降为止,获得船舶识别模型。
本发明实施例提供的基于深度学习的船舶识别方法,通过在船舶识别模型中加入CTC loss,解决了正负样本比例严重失衡的问题。
在本发明任一上述具体实施例的基础上,提供一种基于深度学习的船舶识别方法,所述基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型的步骤,包括:
基于标注的训练样本和干扰图像对n层GoogleNet卷积神经网络模型进行训练,直至loss不再下降为止,获得船舶识别模型。
本发明实施例提供的基于深度学习的船舶识别方法,通过在船舶识别模型中加入CTC loss,基于标注的第一图像样本集对深度卷积神经网络进行训练,直至loss不再下降为止,获得船舶识别模型,解决了正负样本比例严重失衡的问题。
在本发明任一上述具体实施例的基础上,提供一种基于深度学习的船舶识别方法,基于标注的第一图像样本集和深度卷积神经网络训练获得船舶识别模型,包括:
设置n层GoogleNet卷积神经网络模型的层数、卷积核大小和每层的卷积核数目,获得n层GoogleNet卷积神经网络模型;
基于标注的训练样本和误差反向传播算法对n层GoogleNet卷积神经网络模型进行训练,获得船舶识别模型。
需要说明的是,每个深度卷积神经网络内包含多个卷层,每个卷积层内包含多个卷积核,卷积核大小必须大于1才有提升感受野的作用;其中感受野为卷积神经网络特征所能看到输入图像的区域,特征输出受感受野区域内的像素点的影响。步骤S21用于预先设置深度卷积神经网络的层数、卷积核大小和每层的卷积核数目。
其中,误差反向传播法,即BP法(errorBackPropagation)影响广泛,也称BP算法。BP算法是自动控制上最重要、应用最多的有效算法。BP算法的基本思想是,学习过程由信号的正向传播与误差的反向传播两个过程组成。
正向传播:输入样本→输入层→各隐层(处理)→输出层。
误差反向传播:输出误差(某种形式)→隐层(逐层)→输入层。其主要目的是通过将输出误差反传,将误差分摊给各层所有单元,从而获得各层单元的误差信号,进而修正各单元的权值(其过程,是一个权值调整的过程)。
本发明实施例提供的船舶识别方法,基于标注的训练样本和误差反向传播算法对深度卷积神经网络进行训练,获得船舶识别模型,使得船舶识别模型的训练过程更加高效。
如图2,在本发明任一上述具体实施例的基础上,提供一种基于深度学习的船舶识别系统,包括:
获取模块21,用于基于爬虫技术,从各目标网站中获取复杂背景下的船舶图像,同时获取干扰图像;对所述船舶图像进行预处理,将预处理后的船舶图像作为训练样本;
训练模块22,用于对训练样本进行标注,基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型;其中,所述n层GoogleNet卷积神经网络模型为预先设计;
识别模块23,用于将待识别图像输入所述船舶识别模型,基于船舶识别模型的输出结果,获取待识别图像中的船舶。
具体的,待识别图像为包含需要被识别是否有船舶的图像。待识别图像可以是通过摄像装置实时获取的图像,也可以是预先获取并存储在特定存储器或服务器中的图像。进一步,待识别图像可以是单帧的静态图片图像,也可以是动态的视频图像。图片图像的格式可以为:BMP、TIFF、EPS、JPEG、GIF、PSD和PDF等;视频图像的格式可以为MPEG、MPG、AVI、MOV、RMVB和FLV等。
进一步,船舶识别模型为基于预先标注的图像样本和n层GoogleNet卷积神经网络模型训练获得。需要说明的是,卷积神经网络(Convolutional Neural Networks,CNN)是一类包含卷积计算且具有深度结构的前馈神经网络(FeedforwardNeural Networks),是深度学习(deep learning)的代表算法之一。由于卷积神经网络能够进行平移不变分类(shift-invariant classification),因此也被称为“平移不变人工神经网络(Shift-InvariantArtificial Neural Networks,SIANN)”。卷积神经网络在大量学习数据时有稳定的表现,对于一般的大规模图像分类问题,深度卷积神经网络可用于构建阶层分类器,也可以在精细分类识别(fine-grained recognition)中用于提取图像的判别特征以供其它分类器进行学习。对于后者,特征提取可以人为地将图像的不同部分分别输入卷积神经网络,也可以由卷积神经网络通过非监督学习自行提取。GoogLeNet是2014年Christian Szegedy提出的一种全新的深度学习结构,在这之前的AlexNet、VGG等结构都是通过增大网络的深度(层数)来获得更好的训练效果,但层数的增加会带来很多负作用,比如overfit、梯度消失、梯度爆炸等。inception的提出则从另一种角度来提升训练结果:能更高效的利用计算资源,在相同的计算量下能提取到更多的特征,从而提升训练结果。
其中,获取模块21执行相应数据处理前需要获取一定数量的图像样本,图像样本可以为摄像设备采集的图片、网上下载的公共图片和经过图像处理技术扩充的图片。作为深度卷积神经网络训练的前期准备工作,图像样本的标注是一项基础的工作。图像样本的标注可以通过现有技术中的LabelMe软件,标注人员在样本图像中包含船舶的图像区域,通过手动绘制矩形或多边形的方式实现图像标注,船舶区域的标签即为船舶的读数;也可以使用ByLabel软件,通过自动提取图像边缘,手动选取边缘并编组的方式实现图像标注。关于图像样本的具体标注方式本发明实施例不作具体限定。
进一步,基于预先标注的训练样本和n层GoogleNet卷积神经网络模型训练获得所述船舶识别模型的过程,可以采用现有技术中的训练方式,也可以采用本发明下述实施例中的训练方式。其中,现有技术中的训练方式例如包括:首先,n层GoogleNet卷积神经网络模型进行权值的初始化;其次,将标注的训练样本输入数据经过卷积层、下采样层、全连接层的向前传播得到输出值;再次,求出n层GoogleNet卷积神经网络模型的输出值与目标值之间的误差;再次,当误差大于期望值时,将误差传回n层GoogleNet卷积神经网络模型中,依次求得全连接层,下采样层,卷积层的误差。各层的误差可以理解为对于n层GoogleNet卷积神经网络模型的总误差,n层GoogleNet卷积神经网络模型应承担多少;当误差等于或小于期望值时,结束训练。最后,根据求得误差进行权值更新。本发明实施例不对船舶识别模型的训练方法作具体限定。
具体地,举个具体实例来对识别模块23实现步骤进行说明。识别模块23实现过程的第一步基于卷积层实现,卷积层执行了以下几个步骤。首先,将待识别图像分解成一系列重叠的m*m像素的拼图,其中m≥2,且为正整数。之后,基于一个简单的单层神经网络运行这些拼图,权重保持不变。将拼图排列组合,当保持每个重叠后的拼图尺寸是小的(m*m)时,船舶识别模型需要处理它们保证可控与小型化。然后,将以船舶示照片中每个区域的内容的数组进行输出值排列,其中坐标轴表示颜色,宽度和高度。下一步是池化层。采用这些3或4维阵列,并与空间维度一起应用下采样功能。结果输出一个池数组,其中仅包含重要的图像部分,同时丢弃剩余部分,这最大限度地减少了需要完成的计算量,同时也避免了过度拟合问题。采用下采样阵列作为常规全连接神经网络的输入。最后一步的输出待识别图像中对于各拼图中包含各船舶的概率值(确信值)。其中,本发明实施例不对步骤S2的具体实现方法作具体限定。
本发明实施例提供的船舶识别系统,通过基于爬虫技术,从各目标网站中获取复杂背景下的船舶图像,同时获取干扰图像;对所述船舶图像进行预处理,将预处理后的船舶图像作为训练样本;对训练样本进行标注,基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型;将待识别图像输入所述船舶识别模型,基于船舶识别模型的输出结果,获取待识别图像中的船舶。解决了现有技术中船舶识别方案受环境因素的影响较大,并且不同的特征提取方法对算法的鲁棒性也有影响的技术问题,实现快速和准确进行船舶识别的技术效果。
基于上述实施例,获取模块21进一步用于:
对船舶图像进行去均值操作,船舶图像减去船舶图像均值;
随机选择对船舶图像增加转动角度,提升船舶图像在角度方面的图像多样性;
随机选择对船舶图像在水平方向上进行拉伸或压缩,提升船舶图像在视觉方面的图像多样性;
统一船舶图像的尺寸大小。
本发明实施例提供的船舶识别系统,通过基于爬虫技术,从各目标网站中获取复杂背景下的船舶图像,同时获取干扰图像;对所述船舶图像进行预处理,将预处理后的船舶图像作为训练样本;对训练样本进行标注,基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型;将待识别图像输入所述船舶识别模型,基于船舶识别模型的输出结果,获取待识别图像中的船舶。解决了现有技术中船舶识别方案受环境因素的影响较大,并且不同的特征提取方法对算法的鲁棒性也有影响的技术问题,实现快速和准确进行船舶识别的技术效果。
基于上述任一实施例,所述系统还包括设置模块,用于:
设置CTC loss损失函数作为n层GoogleNet卷积神经网络模型的目标函数。
其中,CTC loss(Connectionist Temporal Classification)是现有技术中一种处理深度学习中正负样本不均衡的损失函数。该实施例中多层卷积神经网络的目标函数采用CTC loss损失函数,根据目标函数得到的loss值判断是否需要对当前的多层卷积神经网络的结构进行调整,最终得到目标多层卷积神经网络。
损失函数(loss function)是将随机事件或其有关随机变量的取值映射为非负实数以表示该随机事件的“风险”或“损失”的函数。在应用中,损失函数通常作为学习准则与优化问题相联系,即通过最小化损失函数求解和评估模型。例如在统计学和机器学习中被用于模型的参数估计。
进一步,基于标注的第一图像样本集和深度卷积神经网络训练获得船舶识别模型,包括:基于标注的第一图像样本集对深度卷积神经网络进行训练,直至loss不再下降为止,获得船舶识别模型。
本发明实施例提供的基于深度学习的船舶识别方法,通过在船舶识别模型中加入CTC loss,解决了正负样本比例严重失衡的问题。
在本发明任一上述具体实施例的基础上,提供一种基于深度学习的船舶识别系统,所述基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型的步骤,包括:
基于标注的训练样本和干扰图像对n层GoogleNet卷积神经网络模型进行训练,直至loss不再下降为止,获得船舶识别模型。
图3示例了一种电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)301、通信接口(Communications Interface)302、存储器(memory)303和通信总线304,其中,处理器301,通信接口302,存储器303通过通信总线304完成相互间的通信。处理器301可以调用存储器303中的逻辑指令,以执行如下方法:基于爬虫技术,从各目标网站中获取复杂背景下的船舶图像,同时获取干扰图像;对所述船舶图像进行预处理,将预处理后的船舶图像作为训练样本;对训练样本进行标注,基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型;其中,所述n层GoogleNet卷积神经网络模型为预先设计;将待识别图像输入所述船舶识别模型,基于船舶识别模型的输出结果,获取待识别图像中的船舶。
此外,上述的存储器303中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于深度学习的船舶识别方法,其特征在于,包括:
基于爬虫技术,从各目标网站中获取复杂背景下的船舶图像,同时获取干扰图像;对所述船舶图像进行预处理,将预处理后的船舶图像作为训练样本;
对训练样本进行标注,基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型;其中,所述n层GoogleNet卷积神经网络模型为预先设计;
将待识别图像输入所述船舶识别模型,基于船舶识别模型的输出结果,获取待识别图像中的船舶。
2.根据权利要求1所述的船舶识别方法,其特征在于,所述对所述船舶图像进行预处理的步骤包括以下至少一种:
对船舶图像进行去均值操作,船舶图像减去船舶图像均值;
随机选择对船舶图像增加转动角度,提升船舶图像在角度方面的图像多样性;
随机选择对船舶图像在水平方向上进行拉伸或压缩,提升船舶图像在视觉方面的图像多样性;
统一船舶图像的尺寸大小。
3.根据权利要求1所述的船舶识别方法,其特征在于,所述方法还包括:
设置CTCloss损失函数作为n层GoogleNet卷积神经网络模型的目标函数。
4.根据权利要求3所述的船舶识别方法,其特征在于,所述基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型的步骤,包括:
基于标注的训练样本和干扰图像对n层GoogleNet卷积神经网络模型进行训练,直至loss不再下降为止,获得船舶识别模型。
5.根据权利要求4所述的船舶识别方法,其特征在于,所述基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型的步骤,包括:
设置n层GoogleNet卷积神经网络模型的层数、卷积核大小和每层的卷积核数目,获得n层GoogleNet卷积神经网络模型;
基于标注的训练样本和误差反向传播算法对n层GoogleNet卷积神经网络模型进行训练,获得船舶识别模型。
6.一种基于深度学习的船舶识别系统,其特征在于,包括:
获取模块,用于基于爬虫技术,从各目标网站中获取复杂背景下的船舶图像,同时获取干扰图像;对所述船舶图像进行预处理,将预处理后的船舶图像作为训练样本;
训练模块,用于对训练样本进行标注,基于标注的训练样本、干扰图像和n层GoogleNet卷积神经网络模型获得船舶识别模型;其中,所述n层GoogleNet卷积神经网络模型为预先设计;
识别模块,用于将待识别图像输入所述船舶识别模型,基于船舶识别模型的输出结果,获取待识别图像中的船舶。
7.根据权利要求6所述的船舶识别系统,其特征在于,获取模块进一步用于:
对船舶图像进行去均值操作,船舶图像减去船舶图像均值;
随机选择对船舶图像增加转动角度,提升船舶图像在角度方面的图像多样性;
随机选择对船舶图像在水平方向上进行拉伸或压缩,提升船舶图像在视觉方面的图像多样性;
统一船舶图像的尺寸大小。
8.根据权利要求6所述的船舶识别系统,其特征在于,所述系统还包括设置模块,用于:
设置CTCloss损失函数作为n层GoogleNet卷积神经网络模型的目标函数。
9.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至5任一项所述船舶识别方法。
10.一种非暂态计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现如权利要求1至5任一项所述船舶识别方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910852749.1A CN110569844B (zh) | 2019-08-26 | 2019-08-26 | 基于深度学习的船舶识别方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910852749.1A CN110569844B (zh) | 2019-08-26 | 2019-08-26 | 基于深度学习的船舶识别方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110569844A true CN110569844A (zh) | 2019-12-13 |
CN110569844B CN110569844B (zh) | 2022-02-08 |
Family
ID=68778677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910852749.1A Expired - Fee Related CN110569844B (zh) | 2019-08-26 | 2019-08-26 | 基于深度学习的船舶识别方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110569844B (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111048170A (zh) * | 2019-12-23 | 2020-04-21 | 山东大学齐鲁医院 | 基于图像识别的消化内镜结构化诊断报告生成方法与系统 |
CN111259812A (zh) * | 2020-01-17 | 2020-06-09 | 上海交通大学 | 基于迁移学习的内河船舶重识别方法、设备及存储介质 |
CN111931554A (zh) * | 2020-06-12 | 2020-11-13 | 成都数之联科技有限公司 | 一种冒黑烟船舶的目标检测方法及模型 |
CN111950476A (zh) * | 2020-08-17 | 2020-11-17 | 重庆大学 | 基于深度学习的复杂环境下河道船舶自动识别方法 |
CN111985363A (zh) * | 2020-08-06 | 2020-11-24 | 武汉理工大学 | 一种基于深度学习框架的船舶名称识别系统及方法 |
CN112328858A (zh) * | 2020-11-04 | 2021-02-05 | 中国海洋大学 | 一种基于深度学习的海洋船舶数据采集管理系统及方法 |
CN113377478A (zh) * | 2021-06-24 | 2021-09-10 | 上海商汤科技开发有限公司 | 文娱行业数据标注方法、装置、存储介质及设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107145903A (zh) * | 2017-04-28 | 2017-09-08 | 武汉理工大学 | 一种基于卷积神经网络图片特征提取的船舶类型识别方法 |
WO2018067080A1 (en) * | 2016-10-07 | 2018-04-12 | Aselsan Elektronik Sanayi Ve Ticaret Anonim Sirketi | A marine vessel identification method |
CN108647595A (zh) * | 2018-04-26 | 2018-10-12 | 华中科技大学 | 基于多属性深度特征的车辆重识别方法 |
CN109389607A (zh) * | 2018-10-12 | 2019-02-26 | 上海鹰觉科技有限公司 | 基于全卷积神经网络的舰船目标分割方法、系统及介质 |
CN109508634A (zh) * | 2018-09-30 | 2019-03-22 | 上海鹰觉科技有限公司 | 基于迁移学习的船舶类型识别方法及系统 |
CN109766823A (zh) * | 2019-01-07 | 2019-05-17 | 浙江大学 | 一种基于深层卷积神经网络的高分辨率遥感船舶检测方法 |
-
2019
- 2019-08-26 CN CN201910852749.1A patent/CN110569844B/zh not_active Expired - Fee Related
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018067080A1 (en) * | 2016-10-07 | 2018-04-12 | Aselsan Elektronik Sanayi Ve Ticaret Anonim Sirketi | A marine vessel identification method |
CN107145903A (zh) * | 2017-04-28 | 2017-09-08 | 武汉理工大学 | 一种基于卷积神经网络图片特征提取的船舶类型识别方法 |
CN108647595A (zh) * | 2018-04-26 | 2018-10-12 | 华中科技大学 | 基于多属性深度特征的车辆重识别方法 |
CN109508634A (zh) * | 2018-09-30 | 2019-03-22 | 上海鹰觉科技有限公司 | 基于迁移学习的船舶类型识别方法及系统 |
CN109389607A (zh) * | 2018-10-12 | 2019-02-26 | 上海鹰觉科技有限公司 | 基于全卷积神经网络的舰船目标分割方法、系统及介质 |
CN109766823A (zh) * | 2019-01-07 | 2019-05-17 | 浙江大学 | 一种基于深层卷积神经网络的高分辨率遥感船舶检测方法 |
Non-Patent Citations (2)
Title |
---|
CUONG DAO-DUC等: "《PROCEEDINGS OF THE SIXTH INTERNATIONAL SYMPOSIUM ON INFORMATION AND COMMUNICATION TECHNOLOGY, SOICT 2015》", 3 December 2015, ISDN: 978-1-4503-3843-1 * |
ODEGAARD NINA 等: "《2016 IEEE RADAR CONFERENCE (RADARCONF), IEEE》", 2 May 2016, DOI: 10.1109/RADAR.2016.7485270 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111048170A (zh) * | 2019-12-23 | 2020-04-21 | 山东大学齐鲁医院 | 基于图像识别的消化内镜结构化诊断报告生成方法与系统 |
CN111048170B (zh) * | 2019-12-23 | 2021-05-28 | 山东大学齐鲁医院 | 基于图像识别的消化内镜结构化诊断报告生成方法与系统 |
CN111259812A (zh) * | 2020-01-17 | 2020-06-09 | 上海交通大学 | 基于迁移学习的内河船舶重识别方法、设备及存储介质 |
CN111259812B (zh) * | 2020-01-17 | 2023-04-18 | 上海交通大学 | 基于迁移学习的内河船舶重识别方法、设备及存储介质 |
CN111931554A (zh) * | 2020-06-12 | 2020-11-13 | 成都数之联科技有限公司 | 一种冒黑烟船舶的目标检测方法及模型 |
CN111985363A (zh) * | 2020-08-06 | 2020-11-24 | 武汉理工大学 | 一种基于深度学习框架的船舶名称识别系统及方法 |
CN111950476A (zh) * | 2020-08-17 | 2020-11-17 | 重庆大学 | 基于深度学习的复杂环境下河道船舶自动识别方法 |
CN112328858A (zh) * | 2020-11-04 | 2021-02-05 | 中国海洋大学 | 一种基于深度学习的海洋船舶数据采集管理系统及方法 |
CN113377478A (zh) * | 2021-06-24 | 2021-09-10 | 上海商汤科技开发有限公司 | 文娱行业数据标注方法、装置、存储介质及设备 |
CN113377478B (zh) * | 2021-06-24 | 2024-04-02 | 上海商汤科技开发有限公司 | 文娱行业数据标注方法、装置、存储介质及设备 |
Also Published As
Publication number | Publication date |
---|---|
CN110569844B (zh) | 2022-02-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110569844B (zh) | 基于深度学习的船舶识别方法及系统 | |
CN110176027B (zh) | 视频目标跟踪方法、装置、设备及存储介质 | |
CN112052839B (zh) | 图像数据处理方法、装置、设备以及介质 | |
CN110147836B (zh) | 模型训练方法、装置、终端及存储介质 | |
US11676390B2 (en) | Machine-learning model, methods and systems for removal of unwanted people from photographs | |
CN110046574A (zh) | 基于深度学习的安全帽佩戴识别方法及设备 | |
CN111444881A (zh) | 伪造人脸视频检测方法和装置 | |
CN111680690B (zh) | 一种文字识别方法及装置 | |
CN112651438A (zh) | 多类别图像的分类方法、装置、终端设备和存储介质 | |
CN112614136B (zh) | 一种红外小目标实时实例分割方法及装置 | |
CN111833360B (zh) | 一种图像处理方法、装置、设备以及计算机可读存储介质 | |
CN111696110A (zh) | 场景分割方法及系统 | |
CN111241924B (zh) | 基于尺度估计的人脸检测及对齐方法、装置、存储介质 | |
CN112906794A (zh) | 一种目标检测方法、装置、存储介质及终端 | |
CN115082966B (zh) | 行人重识别模型训练方法、行人重识别方法、装置和设备 | |
CN114444565B (zh) | 一种图像篡改检测方法、终端设备及存储介质 | |
CN114140844A (zh) | 人脸静默活体检测方法、装置、电子设备及存储介质 | |
CN115578590A (zh) | 基于卷积神经网络模型的图像识别方法、装置及终端设备 | |
CN110610131B (zh) | 人脸运动单元的检测方法、装置、电子设备及存储介质 | |
CN110738213B (zh) | 一种包括周边环境的图像识别方法及装置 | |
CN117392508A (zh) | 一种基于坐标注意力机制的目标检测方法和装置 | |
CN113570615A (zh) | 一种基于深度学习的图像处理方法、电子设备及存储介质 | |
CN110059742A (zh) | 基于深度学习的安全护具穿戴识别方法及设备 | |
CN114078096A (zh) | 图像去模糊方法、装置和设备 | |
CN114255203A (zh) | 一种鱼苗数量估计方法及系统 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20220208 |
|
CF01 | Termination of patent right due to non-payment of annual fee |