海洋科学  2018, Vol. 42 Issue (1): 58-64   PDF    
http://dx.doi.org/10.11759/hykx20171011024

文章信息

韩丽容, 李鹏, 王廷伟, 李慧, 任鹏. 2018.
HAN Li-rong, LI Peng, WANG Ting-wei, LI Hui, REN Peng. 2018.
海洋观测图像的深度哈希检索及FPGA在轨实现
Deep Hashing Retrieval of ocean observation images and its FPGA in-orbit implementation
海洋科学, 42(1): 58-64
Marine Sciences, 42(1): 58-64.
http://dx.doi.org/10.11759/hykx20171011024

文章历史

收稿日期:2017-10-11
修回日期:2017-12-24
海洋观测图像的深度哈希检索及FPGA在轨实现
韩丽容1, 李鹏1,2, 王廷伟1, 李慧1, 任鹏1     
1. 中国石油大学(华东)信息与控制工程学院, 山东 青岛 266580;
2. 数学工程与先进计算国家重点实验室, 江苏 无锡 214125
摘要:近年来, 星载/机载的在轨海洋观测设备日益增多。如何从星/机在轨观测的数据中快速且准确地检索出关键图像并进行回传, 逐渐成为在轨实时处理的重要研究课题。哈希函数作为一种映射函数, 能够将不同图像变换为相同长度的二进制码, 并且保持类似图像二进制码的相似性。为了保证二进制编码的特征表达能力, 采用深度卷积神经网络(Convolutional Neural Network, CNN)提取海洋图像的特征信息, 对图像进行哈希变换。本文以海洋观测图像作为训练数据集, 基于深度卷积神经网络在GPU(Graphics Processing Unit)上训练哈希算法。在此基础上, 本文将训练好的哈希函数在FPGA(Field Programmable Gate Array)上实现, 完成海洋观测图像的在轨快速检索, 为海洋观测实时处理提供了有效技术手段。
关键词海洋观测图像    快速检索    卷积神经网络    哈希算法    FPGA    
Deep Hashing Retrieval of ocean observation images and its FPGA in-orbit implementation
HAN Li-rong1, LI Peng1,2, WANG Ting-wei1, LI Hui1, REN Peng1     
1. College of information and Control Engineering, China University of Petroleum (East China), Qingdao 266580, China;
2. State Key Laboratory of Mathematical Engineering and Advanced Computing, Wuxi 214125, China
Abstract: Recently, the amount of in-orbit observation devices has greatly increased, and fast and accurate methods of retrieving ocean images observed by in-orbit satellites or UAVs have become more important. A Hashing algorithm, when used as a mapping function, represents different images with binary codes of the same length and renders similar images with the similar binary codes. To maintain the representational power of Hashing code, we employ a deep convolution neural network (CNN) to extract image features and conduct the Hashing transformation. Specifically, we use ocean images as training data and employ a deep CNN to train the Hash algorithm on Graphics Processing Unit (GPU). We implement the trained Hash function on Field Programmable Gate Array (FPGA), such that the ocean images can be quickly retrieved in orbit. The CNN hashing framework and its FPGA implementation scheme provide an effective means for processing marine information.
Key words: Ocean images    Fast retrieval    CNN    Hash algorithm    FPGA    

海洋在人类的历史发展进程中一直发挥着至关重要的作用, 蕴含着丰富的资源, 同时也具有重要的战略作用, 我国在2012年就提出了“建设海洋强国”的战略目标, 全方位开发海洋已成重中之重。但海洋面积大, 深度广, 环境变化快, 对其的开发利用必须结合海洋自身的特点, 采取相应的措施[1]。海洋信息化即通过卫星、飞机、海洋观测站、海洋探测船、浮标、海底传感器等设备综合性、实时性、持续性的采集海洋信息数据, 实现对海洋的全方位认识, 包括地理环境, 气象, 水文, 生态系统等, 从而制定相应的管理开发政策, 在开发海洋的同时对其也予以保护, 因此海洋信息化已成大势所趋[2]。海洋信息化在应对环境变化, 物种入侵等方面具有重要意义, 如基于无人机高光谱的外来入侵种互花米草遥感监测[3]。海洋信息化蓬勃发展的同时也带来一个巨大的挑战, 就是数据的处理, 尤其是直观形象的海洋图像的处理。海洋图像的采集是不间断的, 传统的海洋观测图像处理方法为将图像数据全部回传后再进行分类处理, 此方法既占用通信资源又浪费通信时间, 对通信系统的要求较高, 在全部数据回传后对其处理也较繁琐。面对如此庞大且日益增多的海洋观测设备, 如何在其采集数据库中快速且准确的检索出所需要的图像并进行回传成为研究的重点。传统的图像检索算法, 由早期的基于文本的图像检索逐渐发展为基于内容的图像检索[4]。在图像信息海量化、复杂化的今天, 传统的图像检索算法已不合时宜。哈希算法是一种基于视觉内容的压缩表达, 得到具有相似场景的图像[5]。哈希算法可以将任意长度的输入转换为固定长度的输出, 经过哈希算法处理后, 数据库图像由二进制码代替实值特征表示, 检索时将检索要求转化为哈希值并与所有图像哈希值比对得到所需图像, 因此可以大大减少图片的检索时间与存储空间, 从而实现对大规模海洋观测图像数据的高效检索[6]。随着人工智能和深度学习的兴起, 卷积神经网络被人们熟知与应用。卷积神经网络是一种端到端的网络结构, 能够充分利用输入图像的信息及其统计特性来提取图像特征, 大大降低因人工提取图片特征而产生的误差[7]。海洋观测图像相对于日常图像盖范围广, 所包含的图像特征类别少, 因此更加适合采用深度卷积神经网络提取其特征。结合深度卷积神经网络在特征学习上的优越性, 以及哈希算法在检索中计算速度和存储空间上的优势, 基于深度卷积神经网络和哈希编码的图像检索方法应运而生[8]。利用深度卷积神经网络训练哈希算法, 可以大大提高哈希算法的平均正确率(mAP)。卷积神经网络由于其计算复杂度高, 通常需要GPU集群实现。但GPU功耗大, 不适合在在轨设备中运行, 限制了卷积神经网络嵌入在轨设备的应用。FPGA所提供的流水结构可以很好地与卷积神经网络算法相匹配, 利用算法网络结构内部的并行性, 在提高运算速度的同时缩小了能耗[9]。因此, 在GPU上利用卷积神经网络训练哈希算法, 再将其应用于FPGA, 实现海洋观测图像实时检索并回传, 节约了通信资源节省通信时间, 能够有效地实现观测图像在轨实时处理。

1 研究资料

本研究采用的数据集为无人机采集的镆铘岛图像。镆铘岛位于荣成市东南角, 形状似古老传说中的镆铘宝剑, 故得此名。镆铘岛三面环海, 东南紧邻黄海, 西靠石岛湾, 总面积8.05 km2, 其中陆地面积4.75 km2, 滩涂面积3.3 km2, 海岸线长18 km, 耕地面积很少, 主要以渔业为主。地理类别较少, 本研究将无人机采集图像分为建筑, 植被, 海面, 蓝天, 渔场, 岛屿等六类, 如图 1所示。

图 1 图像与类别 Fig. 1 Images and labels
2 研究方法 2.1 哈希编码

哈希编码就是将不同长度的输入值转化为相同长度二进制码的输出, 输出的二进制码串称为哈希值, 哈希值也可以被称为信息标签。这个标签只是携带输入值的信息特质而不是整个信息本身, 同时此过程不可逆。哈希编码的特性使它广泛应用于加密, 检索等领域中。哈希编码因其高效的检索效率和较少的存储空间占用率而备受关注。哈希算法将高维图像特征保持相似性地映射到低维空间, 生成紧致的二进制哈希码。编码串相似的两张图片所对应的语义信息也是相似的。二进制哈希码在汉明距离计算上的高效性和存储空间上的优势, 使得哈希编码在大规模图像检索中非常高效。

当前经典的哈希算法可以分为无监督、半监督和有监督三种。无监督的方法是指不需要任何标签信息, 因此只要给定距离度量的标准就可以检索到和输入查询数据相似的数据, 如局部敏感哈希算法(Locality-Sensitive Hashing, LSH)[10]。随着数据量不断的增大, 数据之间的相似程度或距离通常不能用某个简单的度量标准来衡量。半监督哈希算法利用图像库中小部分带标签的图像训练哈希函数。有监督哈希算法是指图像库中的所有样本均带有标签, 以此来训练哈希函数。

2.2 深度卷积神经网络

卷积神经网络CNN [11]是近年发展起来, 并引起广泛重视的一种高效识别方法。顾名思义, CNN与其他神经网络的最大不同就是采取了卷积操作。现在, CNN已经成为众多科学领域的研究热点之一, 特别是在模式分类领域。由于该网络避免了对图像的繁琐前期预处理, 可以直接输入原始图像进行处理, 因而得到了更为广泛的应用。一般地, CNN的基本结构需要三个元素来定义, 其一为卷积层, 定义一个权值矩阵, 权值矩阵就像是一个从原始图像矩阵中提取特定信息的过滤器, 利用权值矩阵提取图像的信息, 当权值矩阵沿着图像移动时, 像素值再一次被利用。因此, 卷积层可以使参数在卷积神经网络中被共享。其二为池化层, 池化层的唯一作用就是减少图像的大小。当图像矩阵太大时, 需要减少训练参数的数量, 因此可以在卷积层的中间周期性的引进池化层的大小。其三为输出层, 卷积层与池化层只能提取图像的特征并减少原始图像带来的参数, 需要定义全连接层来生成我们所要的输出。CNN主要用来识别位移、缩放及其他形式扭曲不变性的二维图形。由于CNN的卷积层通过训练数据进行学习, 所以在使用CNN时, 避免了显示的特征抽取, 而隐式地从训练数据中进行学习[12]; 再者由于同一特征映射面上的神经元权值相同, 所以网络可以并行学习, 这也是卷积网络相对于神经元彼此相连网络的一大优势[13]。卷积神经网络以其局部权值共享的特殊结构在语音识别和图像处理方面有着独特的优越性, 其分布方式更接近于实际的生物神经网络, 权值共享降低了网络的复杂性, 特别是多维输入向量的图像可以直接输入网络这一特点避免了特征提取和分类过程中数据处理的复杂度。

2.3 基于深度卷积神经网络的深度监督哈希算法

当前用于图像检索的监督和半监督哈希算法都基于诸如SIFT[14]、HOG[15]、GIST[16]和SURF[17]等局部特征描述子[18], 这些局部特征描述子采用固定的编码步骤生成。这种生成方式在降低局部特征描述子学习能力的同时限制了其对图像内容的表达能力, 使其难以适应多样的图像数据, 降低了图像检索的性能。为得到大量图像数据的内在隐含关系, 生成更具有区分性和代表性的特征, 谷歌的研究人员将神经网络应用于图像数据智能分析领域, 这为提取更加有效的图像特征提供了新思路。深度卷积神经网络在图像数据智能分析方面优势突出, 深度卷积神经网络中模型几乎在各项任务指标上均取得了最优的效果[19]。在图像分类方面, 谷歌运用卷积神经网络实现了图像大数据的分类和检索[20]。深度卷积神经网络具有传统哈希算法所不具备的强大的特征提取能力, 研究人员开始在图像数据检索应用中采用深度卷积神经网络与哈希算法相结合的方法。本文采用深度监督哈希算法(Deep Supervised Hashing, DSH)[21], 利用卷积神经网络提取图片跟标签信息训练哈希函数。此算法的网络结构包括三个卷积池化层和两个全连接层, 通过此网络得到图片的哈希值。如图 2所示。

图 2 DSH网络结构 Fig. 2 The network structure of DSH
3 实现过程 3.1 数据集选择与处理

海洋观测图像的来源主要包括卫星、无人机、海洋观测站、海洋探测船、浮标、海底传感器等。本研究所采用的数据集为无人机采集的山东省荣成市镆铘岛图像。共计12437张。将其压缩为64×64位图像并划分为植被, 建筑, 渔场, 蓝天, 海面, 岛屿六类, 标签与类别对应如表 1所示。选取3000张作为测试集, 9000张作为训练集。

表 1 数据集标签与类别 Tab. 1 The label and class of dataset
标签 类别 数量
0 渔场 3742
1 岛屿 1854
2 建筑 847
3 蓝天 841
4 海面 1275
5 植被 3878
3.2 基于深度卷积神经网络的哈希框架训练

在GPU上进行哈希框架的训练, 流程如图 3所示。

图 3 基于深度卷积神经网络的哈希框架训练流程图 Fig. 3 Training the hashing framework based on CNN

图 3中可以看到, 训练图像经过深度卷积神经网络的层层映射之后输出相应训练图像的哈希编码, 而深度卷积神经网络的内部参数则基于训练图像的哈希码通过误差反向传播理论进行调整, 使得最终生成的哈希码能够较好地表达图像之间的相似关系。

3.3 FPGA上哈希码的生成及实现

该步骤主要是基于上一部分中训练得到的深度卷积神经网络在FPGA上进行实现和哈希码的生成, 输入图像经过训练得到的多层卷积核进行层层卷积操作, 并最终输出该图像的哈希码, 该部分实现过程全部在FPGA上完成。

由于深度卷积神经网络中训练得到的卷积核系数全部为布尔值1或者–1, 并且每一层卷积层的输入特征变量也为布尔值, 因此在FPGA上进行卷积操作的实现非常方便快速, 并且FPGA强大的并行计算能力也为多个卷积核的并行操作提供了有力保障。例如, 图 4给出了一段进行3×3卷积操作的Verilog描述语言, 与其对应的FPGA门级电路逻辑连接结构如图 5所示。

图 4 3×3卷积操作Verilog描述语言 Fig. 4 Verilog language of 3 × 3 convolution operation

图 5 3×3卷积操作的FPGA门级电路实现 Fig. 5 Gate level circuit implementation of 3 × 3 convolution operation on FPGA

图 4图 5中可以发现, 深度卷积神经网络中的卷积操作在FPGA中实现起来非常简单便捷, 所以, 借助FPGA的先天优势, 本研究的深度卷积神经网络哈希框架可以便捷地在各种移动终端设备上进行实现, 从而在移动终端便可以方便有效地设计海洋观测图像检索等应用。

4 实验结果

DSH算法的收敛性如图 6所示。

图 6 DSH收敛曲线 Fig. 6 Convergence curve of DSH

不同长度哈希码对应平均正确率如表 2所示。

表 2 哈希码长度与平均正确率 Tab. 2 The length of hash code and mAP
哈希码长度/bit 平均正确率/mAP
8 0.8606
16 0.7037
32 0.9885
64 0.9937
128 0.9926

输入图像与检索结果如图 7所示。

图 7 输入图像及检索结果 Fig. 7 Input images and the retrieval results

由此可见, 训练完成的哈希函数对图像刻画能力强, 取得了预期的实验效果。

5 结论

本文基于无人机采集的镆铘岛图像, 利用深度卷积神经网络在GPU上训练哈希函数, 进而对海洋观测图像进行高精度快速检索。同时, 本文验证了卷积神经网络哈希算法FPGA实现的可行性, 实现海洋观测图像的在轨快速检索及有效回传, 为海洋信息在轨实时处理提供了技术支持。

参考文献
[1]
程骏超, 何中文. 我国海洋信息化发展现状分析及展望[J]. 海洋开发与管理, 2017, 34(2): 46-51.
Cheng Junchao, He Zhongwen. Analysis and expectation of China's maritime informatization status[J]. Ocean Development and Management, 2017, 34(2): 46-51.
[2]
李四海, 张峰. 物联网技术综述及海洋信息化发展对策[J]. 海洋通报, 2012, 31(03): 354-359.
Li Sihai, Zhang Feng. Overview of technology for internet of things and the development strategy of marine informationization[J]. Marine Science Bulletin, 2012, 31(03): 354-359. DOI:10.3969/j.issn.1001-6392.2012.03.019
[3]
李晓敏, 张杰, 马毅, 等. 基于无人机高光谱的外来入侵种互花米草遥感监测方法研究——以黄河三角洲为研究区[J]. 海洋科学, 2017, 41(4): 98-107.
Li Xiaomin, Zhang Jie, Ma Yi, et al. Study on monitoring alien invasive species spartina alterniflora using unmanned aerial vehicle hyperspectral remote sensinga case study of the yellow river delta[J]. Marine Sciences, 2017, 41(4): 98-107. DOI:10.11759/hykx20161102002
[4]
Smeulders A W M, Worring M, Santini S, et al. Content- based image retrieval at the end of the early years[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2000, 22(12): 1349-1380. DOI:10.1109/34.895972
[5]
张慧, 张海滨, 李琼, 等. 基于人类视觉系统的图像感知哈希算法[J]. 电子学报, 2008, 36(S1): 30-34.
Zhang Hui, Zhang Haibin, Li Qiong, et al. Image perceptual hashing based on human visual system[J]. Chinese Journal of Electronics, 2008, 36(S1): 30-34.
[6]
Gong Y, Lazebnik S, Gordo A, et al. Iterative quantization: a procrustean approach to learning binary codes for large-scale image retrieval[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013, 35(12): 2916-2929. DOI:10.1109/TPAMI.2012.193
[7]
Simonyan K, Zisserman A. Very deep convolutional networks for large-scale image recognition[J]. Computer Science, 2014, 1409: 1556.
[8]
彭天强, 栗芳. 基于深度卷积神经网络和二进制哈希学习的图像检索方法[J]. 电子与信息学报, 2016, 38(8): 2068-2075.
Peng Tianqiang, Li Fang. Image retrieval based on deep convolutional neural networks and binary hashing lear ning[J]. Journal of Electronics and Information Technology, 2016, 38(8): 2068-2075.
[9]
Farabet C, Poulet C, LeCun Y. An FPGA-based stream processor for embedded real-time vision with convolutional networks[C]. International Conference on Computer Vision Workshops (ICCV Workshops), 2009: 878- 885.
[10]
Indyk, Piotr, Motwani, et al. Approximate nearest neig hbors: towards removing the curse of dimensionality[J]. Theory of Computing, 2000, 11: 604-613.
[11]
张荣磊, 田爱奎, 谭浩, 等. 基于卷积神经网络的图像识别算法研究[J]. 山东理工大学学报(自然科学版), 2018, 32(01): 48-50.
Zhang Ronglei, Tian Aikui, Tan Hao, et al. Research on image recognition algorithm based on convolutional neural networks[J]. Journal of Shandong University of Technology (Natural Science Edition), 2018, 32(01): 48-50. DOI:10.3969/j.issn.1672-6197.2018.01.011
[12]
叶茂华. 基于CNN的手势识别技术研究[J]. 无线互联科技, 2017(20): 129-130.
Ye Maohua. Gesture recognition based on CNN[J]. Wireless Internet Technology, 2017(20): 129-130. DOI:10.3969/j.issn.1672-6944.2017.20.056
[13]
Farzi G A, Nejad A P. An image-based technique for measuring droplet size distribution: the use of CNN algorithm[J]. Journal of Dispersion Science & Technology, 2015(10): 1444-1452.
[14]
Lowe D G. Distinctive image features from scale- invariant keypoints[J]. International Journal of Computer Vision, 2004, 60(2): 91-110. DOI:10.1023/B:VISI.0000029664.99615.94
[15]
Dalal N, Triggs B. Histograms of oriented gradients for human detection[C]. IEEE Conference on Computer Vision and Pattern Recognition, 2005, 1: 886-893.
[16]
Oliva A, Torralba A. Modeling the shape of the scene: a holistic representation of the spatial envelope[J]. International Journal of Computer Vision, 2001, 42(3): 145-175. DOI:10.1023/A:1011139631724
[17]
Bay H, Ess A, Tuytelaars T, et al. Speeded-up robust features (SURF)[J]. Computer Vision and Image Understanding, 2008, 110(3): 346-359. DOI:10.1016/j.cviu.2007.09.014
[18]
苗权, 程光. 面向图像匹配的局部灰度直方图特征描述子[J]. 小型微型计算机系统, 2016, 37(7): 1567-1571.
Miao Quan, Cheng Guang. Image matching algorithm based on local feature descriptor using gray level histo gram[J]. Journal of Chinese Mini-Micro Computer Systems, 2016, 37(7): 1567-1571.
[19]
罗建华, 李明奇, 郑泽忠, 等. 基于深度卷积神经网络的高光谱遥感图像分类[J]. 西华大学学报(自然科学版), 2017, 36(4): 13-20.
Luo Jianhua, Li Mingqi, Zheng Zezhong, et al. Hyperspectral remote sensing images classification using a deep convolutional neural networks model[J]. Journal of Xihua University (Natural Science Edition), 2017, 36(4): 13-20.
[20]
Krizhevsky A, Sutskever I, Hinton G E. Image-net classification with deep convolutional neural networks[C]. International Conference on Neural Infor mation Proce ssing Systems. 2012: 1097-1105.
[21]
Liu H, Wang R, Shan S, et al. Deep supervised hashing for fast image retrieval[J]. Computer Vision and Pattern Recognition, 2016, 2064-2072.