基于Web和数据库的海量光电舰船图像快速检索的方法与流程

文档序号:17662638发布日期:2019-05-15 22:29阅读:189来源:国知局

本发明属于深度学习图像检索领域,涉及一种基于web和数据库的海量光电舰船图像快速检索的方法。



背景技术:

海洋对于一个国家军事国防有着重要的意义,海洋方向的防卫能力是国家战略防卫的一个重要部分。随着各种传感器、各种运载平台等硬件系统的不断发展,基于无人机等平台获得的海面舰船目标的图像、视频等数据越来越多。在信息化的军事作战防御时代,基于图像信息的处理技术成为了军事信息情报处理方面重要组成部分。因此,对这些图像数据进行合理有效地利用与处理,能够为海洋安全的战略防卫提供重要的技术保障,为海洋战争的态势估计提供重要的战略支撑。随着获取到的海面舰船目标的图像、视频等数据越来越多,对海面船舶图像信息进行有效的存储、分类和检索,能够为战略决策提供良好的依据。同时,随着社会经济的发展,交通事业和海洋航运在迅速发展,船舶在数量上逐年增长。相对于其他的交通工具,大多数人对船舶信息了解较少,舰船图像快速检索系统可以及时有效的在日常生活中帮助查询与学习舰船的分类信息,同时也可以由民众监督,有效管理船舶的停放,对避免如非法捕捞、非法停泊等现象的发生具有重要的意义。

目前基于深度学习的图像特征提取技术已经在图像分类上取得了巨大的成功,许多计算机视觉研究任务中都用了训练好的卷积神经网络模型作为特征提取器,如目标检测、目标识别、图像检索等。然而面对海量数据时,卷积神经网络提取到的高维特征向量暴露出了计算复杂耗时的缺点,需要加入降维的方法解决问题。在近年来的大规模图像快速检索算法中,哈希学习的方法凭借其在相似性计算部分的简单快速性受到了越来越多的关注。但由于哈希编码对图像表达能力的不足,对于舰船检索这种类间检索来说,仅使用哈希编码并不能精确地表示图片,检索时很难达到预期的效果。

单一的图像表示已经无法满足舰船图像快速高效检索的需求。多种图像表示相互结合,既保留了各自的优点,又弥补了相互的不足,可以减少单一图像表示带来的局限性,具有检索效率高、迁移能力强的特点,有相当高的研究价值,对人类社会具有非常重要的意义。

现有技术中,一方面舰船检索属于类间检索,采集到的舰船图片分布又不均匀,对检索模型的精度有很大影响;另一方面,为了更好的利用数据信息需要建立舰船特征数据库,大量数据的读取计算非常耗时。



技术实现要素:

要解决的技术问题

为了避免现有技术的不足之处,本发明提出一种基于web和数据库的海量光电舰船图像快速检索的方法,能够快速高效的得到检索结果,满足舰船检索的需求。

技术方案

一种基于web和数据库的海量光电舰船图像快速检索的方法,其特征在于步骤如下:

步骤1:将搜集的多幅舰船图片,按照舰船类别进行标注,随机分成三份;每份按照类别分类成为图片集,每个图片集中抽取70~90%作为训练集,30~10%作为验证集,用于训练检索模型;

步骤2:对经典分类模型vgg16进行改变,去掉模型的最后一个全连接层,添加一个新的哈希层,在哈希编码学习的过程中选用双曲正切函数tanh()作为激活函数,构成一个端到端的深度学习网络;

所述哈希层节点数选为48;

所述激活函数

其中:x为激活层的输入数据;

步骤3:以步骤2端到端的深度学习网络,利用小样本学习中基于细调的方法,在步骤1随机分成三份的三个数据集上多次训练网络,得到检索模型;

训练网络时通过微调的方式逐步提升模型精度,确保舰船检索的准确度达到90%以上;

步骤4、在mysql数据库中建表:将采集到的全部图片通过训练好的检索模型提取特征与哈希编码上传至数据表中,同时上传图片的自增主键编号、图片类别、服务器路径以及图片采集的时间和地点;

表中特征向量与哈希编码分别存入fine_key、coarse_key两列中,存储类型为clob;自增主键编号存入id列,数据类型为int;图片类别、服务器路径以及图片采集的时间和地点分别存入type_id、image_path、time列中,存储类型为varchar;

所述哈希编码由阈值函数生成:

其中,hi表示检索网络哈希层输出数据,i=1,...,n,n表示哈希编码位数;

步骤5:设计基于web检索模式的人机交互界面,页面设计通过apache服务器软件和css布局实现;

步骤6、检索流程设计:

通过人机交互界面的网页信息模块读取用户在客户端界面上传的数据,输入至步骤3训练的检索模型中,通过训练好的检索模型提取特征向量和哈希编码;

计算待检索图片与数据库中图片哈希编码间的汉明距离,小于粗分类阈值coarse_threshold的图片作为分桶内的数据,汉明距离的计算为:

其中,hx、hy表示待检索图片与数据库中舰船图片的哈希编码,n表示哈希编码位数,表示异或;

计算待检索图片与分桶内所有图片的特征向量间的欧式距离:

其中,vx、vy表示待检索图片与分桶内舰船图片的特征向量,n表示特征向量维数;

欧氏距离小于细分类阈值fine_threshold的图片作为检索结果;

按照距离由小至大排序,通过舰船特征数据库读取每幅图片的路径,由网页信息模块将检索结果图片及相关信息返回检索结果页面。

在检索中的加速方法为:在预处理阶段添加数据库加载模块,通过预取指令读取数据表中的哈希编码和特征向量,转换数据类型后分别存入字典coarse_dict、fine_dict中。

在检索中的加速方法为:采用最大堆排序法替代原来的排序方法。

所述粗分类阈值coarse_threshold为6~8。

所述细分类阈值fine_threshold为23~26。

有益效果

本发明提出的一种基于web和数据库的海量光电舰船图像快速检索的方法,第一步将采集到的舰船图片随机分为两到三个分布不等的舰船数据集,按比例分为训练集、验证集;第二步设计一个深度学习哈希模型,用经典分类模型vgg16作为基础网络,修改最后一个全连接层为哈希层,选用双曲正切函数tanh()作为哈希层的激活函数,节点数设置为48。通过小样本学习中基于细调的方法用三个数据集多次训练,提升检索模型精度,确保舰船检索结果的可靠性;第三步建立舰船特征数据库,通过训练好的模型提取图片特征和二进制编码上传至数据表中,同时存入舰船图片的其他重要信息;第四步设计web人机交互界面,通过apache服务器实现客户端服务端分离,保证数据安全,支持多人同时使用;第五步设置粗分类阈值与细分类阈值两个参数,通过阈值进行分步检索;

优点包括以下几个方面:第一,检索模型可以提取多源图像(如红外与可见光图像)的图像表示,包括图片特征向量和哈希编码两种,可以弥补单一图像表示的不足,获得更多的有用信息,同时检索模型具有良好的迁移能力;第二,添加粗分类阈值、细分类阈值两个参数,构成分步舰船检索,由两个阈值同时控制检索结果数目,加快检索速度,提升系统实用性;第三,基于web和数据库的舰船检索模式,对采集到的各类舰船目标建立舰船目标特征数据库,存储利用已有舰船图片的多方位、多时段信息,基于web实现客户端、服务端分离,保护舰船数据安全,并且支持多人同时使用,达到效益最大化。

附图说明

图1:本发明方法的功能模块图

图2:本发明方法的舰船数据库检索流程图

图3:本发明方法的舰船数据库检索控制流程图

具体实施方式

现结合实施例、附图对本发明作进一步描述:

本文实验的硬件环境为:处理器:intel至强系列,内存:8gbddr4-1600(800mhz),硬盘:500gssd,显卡:nvidiageforcegtx1080ti显存11gb;系统环境为ubuntu16.04;软件环境为caffe、mysql、apache2.4.6。

本发明具体实施如下:

步骤1通过网络爬虫等方法搜集舰船图片,按照舰船类别进行标注,随机分成三份;每份按照类别分类成为图片集,每个图片集中抽取70~90%作为训练集,30~10%作为验证集,用于训练检索模型;

本实施例:自建舰船数据集共含图片8041张,分为10类,分别是潜艇、航空母舰、巡洋舰、驱逐舰、护卫舰、扫雷布雷舰、两栖舰船、轻型舰艇、民用船和军民两用船。

步骤2对经典分类模型vgg16进行改变,去掉模型的最后一个全连接层,添加一个新的哈希层,在哈希编码学习的过程中选用双曲正切函数tanh()作为激活函数,构成一个端到端的深度学习网络;

所述哈希层节点数选为48;

所述激活函数

其中:x为激活层的输入数据;

步骤3:以步骤2端到端的深度学习网络,利用小样本学习中基于细调的方法,在步骤1随机分成三份的三个数据集上多次训练网络,得到检索模型;

训练网络时通过微调的方式逐步提升模型精度,确保舰船检索的准确度达到90%以上;

在随机分出的三个自建舰船数据集上的逐步优化,模型精度成功从76.34%上升至87.59%。

步骤4、在mysql数据库中建表:将采集到的全部图片通过训练好的检索模型提取特征与哈希编码上传至数据表中,同时上传图片的自增主键编号、图片类别、服务器路径以及图片采集的时间和地点;

表中特征向量与哈希编码分别存入fine_key、coarse_key两列中,存储类型为clob;自增主键编号存入id列,数据类型为int;图片类别、服务器路径以及图片采集的时间和地点分别存入type_id、image_path、time列中,存储类型为varchar;

所述哈希编码由阈值函数生成:

其中,hi表示检索网络哈希层输出数据,i=1,...,n,n表示哈希编码位数;

步骤5为保护数据的安全,方便多人同时使用,设计基于web检索模式的人机交互界面,实现客户端服务端分离。页面设计通过apache服务器软件和css布局实现。

步骤6检索流程设计,首先通过网页信息模块读取用户在客户端界面上传的数据,输入至数据库检索模块中,通过训练好的舰船检索模型提取特征向量和哈希编码,进行分步检索。

通过人机交互界面的网页信息模块读取用户在客户端界面上传的数据,输入至步骤3训练的检索模型中,通过训练好的检索模型提取特征向量和哈希编码;

计算待检索图片与数据库中图片哈希编码间的汉明距离,小于粗分类阈值coarse_threshold=3的图片作为分桶内的数据,汉明距离的计算为:

其中,hx、hy表示待检索图片与数据库中舰船图片的哈希编码,n表示哈希编码位数,表示异或;

计算待检索图片与分桶内所有图片的特征向量间的欧式距离:

其中,vx、vy表示待检索图片与分桶内舰船图片的特征向量,n表示特征向量维数;

欧氏距离小于细分类阈值fine_threshold的图片作为检索结果;

按照距离由小至大排序,通过舰船特征数据库读取每幅图片的路径,由网页信息模块将检索结果图片及相关信息返回检索结果页面。

在自建舰数据库中检索时,粗分类阈值设置为7,细分类阈值设置为25时效果最好,数量很少的扫雷布雷舰(5张)返回结果仅为7张图片,数目较大的民船(4000余张)返回结果高达上千张。

为了加快检索速度,得到更好的用户体验,采取了两种加速方法。第一,在预处理阶段添加数据库加载模块,通过预取指令读取数据表中的哈希编码和特征向量,转换数据类型后分别存入字典coarse_dict、fine_dict中,减少后续检索过程中读取和转换的耗时;第二,采用最大堆排序法替代原来的排序方法,最大堆排序法等方法减少检索过程中耗时,最大堆排序法在时间复杂度、空间复杂度上优于冒泡、选择、直接插入等排序算法,将堆排序与队列结合,优化计算排序的耗时。扩充数据集为10000张时,测试时返回前100张结果的检索总时间不超过1s。

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