没有合适的资源?快使用搜索试试~ 我知道了~
基于Spark和Tachyon的图像检索系统
制作和主办:Elsevier沙特国王大学学报基于spark和tachyon框架的并行图像检索系统Saliha Mezzoudj,Ali Behloul,Rachid Seghir,Yassmina SaadnaLaSTIC实验室,Batna-2大学,计算机科学系,Batna,阿尔及利亚阿提奇莱因福奥文章历史记录:2018年7月6日收到2018年12月14日修订2019年1月9日接受在线提供2019年1月14日关键词:SparkCBIRCBIR-S超光速粒子并行k-NNA B S T R A C T随着互联网上大规模多媒体信息特别是图像的大量增加,建立基于内容的图像检索系统已经成为一个巨大的挑战。与CBIR相关的缺点之一是执行时间非常长在这篇文章中,我们提出了一个快速的基于内容的图像检索系统使用火花(CBIR-S)针对大规模的图像。 我们的系统由两个步骤组成。(i)图像识别步骤,在Spark上使用MapReduce分布式模型,以加快图像识别过程。我们还使用了一个以内存为中心的分布式存储系统,称为Tachyon,以提高写操作(ii)图像检索步骤,我们加快了使用并行k-最近邻(k-NN)的搜索方法的基础上MapReduce模型下实现的Apache Spark,除了利用火花框架的缓存方法我们已经表明,通过广泛的实验,我们的方法在处理时间方面的有效性。©2019作者制作和主办:Elsevier B.V.代表沙特国王大学这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。1. 介绍如今,移动设备(诸如相机、智能电话和连接到物联网(IoT)的设备 ) 的 使 用 增 加 ( Abdel-Basseet al. , 2018; Ahmed 等 人 ,2017;Abdel-Bassetet et al.,2018年),导致每天收集的图像数量越来越多。因此,从大型图像数据库中检索和管理期望的图像已经成为计算机视觉中的主要挑战(Cao等人,2016年)。基于内容的图像检索(CBIR)系统是有效管理图像数据库的可能解决方案之一(Jai-Andaloussi等人, 2010),并检查查询照片是否与大型图像数据库中的现有照片之一相似(Qian等人,2015年)。实际上,典型的CBIR系统包括两个步骤,即索引和搜索步骤:(i)索引步骤负责从图像中提取合适的特征向量并将其保存到图像数据库中。(ii)搜索步骤,其中,并将其与数据库的图像特征向量进行比较。因此,CBIR系统将最接近的图像返回给用户(da Silva Torres和Falcao,2006)。图 1显示了基于内容的图像检索系统的架构。研究人员最近一直专注于CBIR在不同领域中的挑战性问题,例如机器学习,模式识别,计算机视觉等(Jabeen等人,2018年)。关于CBIR中最新挑战性问题的综述见Dharani和Aroquiaraj(2013)和Vijayashanthi等人(2018)。随着大数据技术的快速发展,图像处理-应用表明,大规模图像处理技术的特点开始引起研究人员的重视。事实上,最近的一些工作已经提出使用大规模图像处理技术来获得快速的研究时间,Sakr等人(2016)和Lagiewka等人。(2017)展示了如何在Hadoop中加速CBIR系统。曹*通讯作者。电子邮件地址:saliha. yahoo.com(S.Mezzoudj),a. univ-batna2.dz(A. Behloul),r. univ-batna2.dz(R.Seghir),y. univ-batna2.dz(Y.Saadna)。沙特国王大学负责同行审查https://doi.org/10.1016/j.jksuci.2019.01.0031319-1578/©2019作者。制作和主办:Elsevier B.V.代表沙特国王大学这是一篇基于CC BY-NC-ND许可证的开放获取文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。可在ScienceDirect上获得目录列表沙特国王大学学报杂志首页:www.sciencedirect.com142S. Mezzoudj等人/沙特国王大学学报Fig. 1. 基于内容的图像检索系统的体系结构。等人(2016)介绍了一种新方法,专注于使用MapReduce模型改进的并行K-Means算法。在Belarbi等人(2017),作者提出了一种使用HIPI框架(Hadoop图像处理接口)和HDFS(Hadoop分布式文件系统)的并行和分布式计算方法。针 对这 一问 题, 提出 了一 种基 于Spark 框 架的 快速 响应 CBIR(CBIR-S),用于大规模图像检索。我们的工作包括两个贡献:为了加快大规模图像数据集的索引步骤,我们首先使用Tachyon分布式存储系统代替Hadoop分布式文件系统(HDFS)(Shafer等人,2010),因为Tachyon比HDFS快约110倍(Li等人,2014年)。此外,我们在Spark上使用MapReduce模型并行化索引步骤。在搜索模块中,我们使用k-近邻搜索技术(k-NN)(Cover和Hart,1967),将查询图像的特征向量与存储在数据库中的特征向量进行比较。然而,k-NN算法在处理大规模数据时有两个主要问题:存储空间和内存消耗(Maillo等人,2015年)。因此,我们使用Apache Spark,它提供了一个简单,透明和高效的环境来并行化k-NN算法作为迭代MapReduce过程。因此,我们建议的重点是利用Spark强大的缓存/持久化方法,该方法允许将计算的距离存储在内存中以进行快速计算。本文的组织如下:第2节描述了我们的工作和以前的研究中使用的最新技术在第3节中,我们介绍了大数据技术和k-NN搜索算法。第4节介绍了我们提出的基于内容的图像检索的Spark MapReduce框架(CBIR-S),第5节描述了实验结果。最后,在第6节中给出了这项工作的结论和未来扩展的想法。2. 相关工作CBIR系统,诸如QBIC(Flickner等人,1995)、Virage(Bach等人,2670)、MARS(Rui等人,1997)、TinEye 1等。然而,随着每天产生的图像数据的增加,传统的CBIR系统在时间消耗上变得如此贪婪。这个缺点促使研究人员使用一组解决方案来提高CBIR系统的性能,例如:基于语义和视觉描述符的并行交互式检索系统(Hong等人,2017),使用元启发式算法的图像检索优化(Abdel-Basset et等人,2018年;Abdel-Basset等人,2018年)或数学集合(Abdel-Basset等人,2018年;Abdel-Basset等人,2018年;Abdel-Basset等人,2018)和使用云计算的大规模图像并行检索系统(Yang et al.,2018年)。我们在这里提出了一些拟议的并行和分布式系统。Lu等人(2007年)使用了park计算技术来执行相似性比较和基于集群架构的视觉特征的特征提取。实验表明,并行计算技术的使用可以大大提高CBIR系统的速度。 在Zhang et al.(2010)中,Zhang et al.提出了一种实现,分布式图像检索系统(DIRS)部署在Hadoop分布式计算环境。在DIRS系统的索引部分,采用分布式数据库HBase作为存储层。此外,他们使用Hadoop的MapReduce计算模型来提高大型图像数据库中搜索步骤的性能。Gu和Gao(2012)提出了一个基于Hadoop、HBase和Lucene框架的CBIR系统。Raju等人(2015)开发了一个基于Hadoop MapReduce的CBIR系统。他们使用本地四模式(LTPr)(Murala等人,2012年)采用特征向量技术表示CBIR系统中的图像。Costantini和Nicolussi(2015)提出了一种新的基于Hadoop和Spark的大规模图像检索系统。在他们的工作中,作者在索引阶段使用Hadoop,在搜索阶段使用Spark。Sakr等人(2016)使用了一种高效的Hadoop MapReduce技术来搜索查询图像的最接近图像。Duan等人(2016)提出了一种基于Apache Spark的改进CBIR系统。他们使用Avro框架来组合图像文件,其中Avro文件可以持久存储在内存中,以便将来的操作更快。最近,Lagiewka等人(2017)在关系数据库中引入了分布式CBIR系统。他们的系统由一组机器组成,其中一个使用Apache Hadoop软件框架和HDFS。除了上面提到的并行和分布式系统之外,研究人员还尝试了许多其他方法来优化k-NN计算方法,特别是在大数据中。 在Dong等人(2011)中,Dong等人提出了NN-下降方法,这是一种简单有效的K-最近邻图(K-NNG)算法,具有任意相似性度量,适用于大规模应用,其中数据结构需要分布在网络上。Song等人(2015)介绍了一种使用MapReduce编程模型的分布式k-NN方法。Maillo等人(2015)提出了一种基于MapReduce编程模型的并行k-NN算 法 , 用 于 大 规 模 数 据 分 类 , 表 示 为 MR-kNN 。 Ding 和 Boykin(2017)的作者开发了使用Hadoop的自定义K最近邻算法,用于在集群上以并行方式部署应用程序3. 预赛在本节中,我们将介绍我们工作中使用的一些概念和工具。即MapReduce编程模型和Spark框架、Tachyon分布式存储系统和k-NN搜索算法。在本节中,我们简要回顾了CBIR系统. 第一批提出的方法集中在1http://www.tineye.com/。●●S. Mezzoudj等人/沙特国王大学学报143×3.1. MapReduce编程模型和Spark框架MapReduce是Google开发的一种编程模型,为集群中的大规模数据密集型应用程序提供了显着的改进(Dean和Ghemawat,2008)。该框架使并行模式对用户透明,简化了大规模机群上的并行编程。基于MapReduce模型实现的程序将输入数据集分割成独立的块,这些块由map和reduce函数处理(Song等人,Map函数有一个(key,value)对作为输入,并产生一组中间(key,value)对作为输出(Dean andGhemawat,2008 )。 在reduce 阶段 ,对(key ,value )被 用作reduce 函 数 的 输 入 数 据 。 然 后 , reducer 收 集 所 有 的 对 ( key ,value)。对应于相同键的值被求和。这一过程如图所示。 二、Apache Spark是一个最近的基于MapReduce的框架,用于在集群上保存大规模数据Spark最初是作为Hadoop MapReduce框架的替代品开发的 在Hedjazi et al. (2018),作者表明,Spark在需要在线处理和低延迟时,尤其是在批处理时,表现得比Hadoop更好。Spark中的核心数据单元称为弹性分布式数据集(RDD)。 它们是一种分布式的抽象,它收集了一系列元素,我们可以在其中应用一组操作来获得其他RDD(转换)或返回值(操作)。实际上,RDD可以驻留在内存、磁盘或两者中。然而,当我们多次重用RDD 时,Spark缓存/持久化技术的一个强大功能(Karau等人,2015)对于所实现的系统来说是必要的,以避免重新计算RDD并执行更少的计算。3.2. 快子Tachyon是一个以内存为中心的分布式存储系统,它允许用户共享数据并以可扩展的速度执行读/写操作 尽管Tachyon使用类似于Hadoop分布式文件系统(HDFS)的标准主从架构(Shafer等人,2010),它实现了比HDFS快110倍的写入吞吐量(Li等人, 2014年)。3.3. k最近邻算法本节介绍K-最近邻(k-NN)搜索方法:设T rdi为训练数据集,其中i2f1;2;.. . ng. Tsdj是测试数据集,K是最近点的数量,aTs∈dj∈,其中j2f1;2;. . ;mg,使用k-NN算法的分类过程训练步骤,用于将特征向量和类别标签保存在存储系统中。● 分类步骤,用于在Trdi数据集中搜索k个最近的样本它通过使用距离度量计算Ts_d_j_n与Tr_d_i_n的所有样本之间的距离开始然后,根据计算的距离对训练数据进行排序,并且将最接近Ts_d_j的点分配给最接近的类。众所周知的k-NN算法通常给出良好的结果,但在运行时间和内存消耗方面,它仍然存在一些弱点来处理大数据 这些弱点已经导致对k-NN算法进行并行化并将其计算分布在集群节点上(Maillo等人,2015年)。4. 拟议系统在本节中,我们将介绍我们的基于内容的图像检索框架,使用Spark(CBIR-S)针对大规模图像。新框架使用Tachyon分布式存储系统来快速存储图像特征向量。我们还引入了一个并行k-NN算法与缓存方法来执行最耗时的部分的工作,这是查询特征向量和相应的数据集特征向量之间的距离的计算。最后,该框架利用Spark和MapReduce功能来加快索引和检索步骤。在我们的CBIR-S系统中,我们连接了两个框架,分别是Spark和Tachyon,其中Spark是一个基于MapReduce的框架,用于在集群上保存大规模数据,Tachyon是一个以内存为中心的分布式存储系统,它允许我们共享图像并以内存速度执行读/写操作。超光速粒子在spark上使用spark的独立集群模式部署然后,要将Tachyon与我们的Spark应用程序连接,我们只需调用DataFrame和RDD的加载/保存API,并指定包含Tachyon协议的URL路径我们提出的CBIR-S系统由两个模块组成:1. 索引模块,这是一个离线层,包括两个专门用于执行不需要与用户交互的作业的建议的索引模块有助于:图二. MapReduce的架构(White,2012)。●144S. Mezzoudj等人/沙特国王大学学报Xi.ðÞ ¼通过在Spark上使用MapReduce并行化来加速大规模图像的索引步骤。通过利用Tachyon存储系统来减少存储图像特征向量所消耗的时间,这提高了写入(保存)动作的吞吐量,并且实现了比存储器HDFS高110倍的写入吞吐量(Li等人,2014年)。2. 检索模块是一个在线层,包括专用于解决查询向量和数据集特征向量(在前一模块期间创建的Tachyon输入文件中表示)之间的交互的步骤,如图4所示。建议的检索步骤有助于通过其在平坦图像区域上的更高鲁棒性来实现。在CS-LBP中,像素值不与中心像素比较,而是与相对于中心像素在半径为R的圆上间隔开的对称相对的N个像素比较。此外,如Heikkilä等人提出的,通过用小值T对灰度差s进行阈值化来获得平坦图像区域上的鲁棒性。(2009年):N=2CS-LBPR;N;Tx;ysni-niN=22; 11/4其中sx的值等于:利用Spark上的并行k-NN算法寻找与查询图像最接近的图像,减少了所消耗的时间。在本模块中,我们将利用Spark最强大的功能,sx1如果x> 1/400否则ni和ni的值ð2ÞN2对应于图像这就是缓存/持久化方法。4.1. 索引步骤如图3所示,索引步骤结构由图像表示模块和Tachyon分布式存储系统组成。这一步骤的目的是:从Tachyon存储系统加载输入图像,以执行所需的处理来提取图像的中心对称局部二进制模式(CS-LBP)特征向量(Heikkilä等人,2009年)。将提取的矢量保存在Tachyon分布式存储系统中。为了实现这些目标,我们在Spark上采用了MapReduce的分布式处理方法4.1.1. 图像表示模块该框架的第一个模块由三个部分组成,其中两个部分负责将彩色图像重新缩放并转换为灰度图像,第三个部分用于从图像中提取特征向量。萃取过程采用CS-LBP法进行,其特点是þð = Þ半径为R的圆上的N个等距像素的中心对称像素对。4.1.2. MapReduce用于Spark中的索引模块:我们使用Spark MapReduce过程来管理适合Tachyon的图像子集的不可识别性。该过程通过将计算分为两个主要阶段来允许多个映射器和归约器:映射阶段分割从Tachyon加载的图像,并为每个图像样本的每个块计算特征向量。缩减阶段聚合来自每个映射的特征向量,并将这些特征向量保存在Tachyon中。Spark上的MapReduce任务用于并行索引图像,如下所示:首先,我们将Tachyon系统中的图像加载到图像的RDDi中:ID image;T>,其中T是图像路径。然后,在Map阶段,我们将图像映射到RDDi的每个块<根据这张地图,我们得到RDDiID图像;图像的特征向量< 最后Reduce阶段包括收集地图提供的特征向量,并将这些特征向量保存在Tachyon中。图三. S-CBIR系统中索引模块的体系结构(离线阶段)。●●●●●●S. Mezzoudj等人/沙特国王大学学报145···见图4。S-CBIR系统中检索模块的体系结构(在线阶段)。4.2. 搜索模块在线检索模块包括两个阶段:查询图像预处理和并行分类,如图所示。 四、4.2.1. 查询图像预处理阶段在这个阶段,正如我们在索引模块中所做的那样,通过重新缩放并将彩色图像转换为灰度图像来对查询图像进行预处理,然后将其用于提取CS-LBP特征向量。4.2.2. 并行 k-NN搜索阶段在这个阶段,我们将专注于通过在Spark上实现并行k-NN算法来减少运行时间。实际上,并行k-NN搜索阶段旨在计算的查询图像特征和相应的库图像特征。这是拟议框架中最耗时的阶段。为了减少计算时间,本文采用MapReduce编程模型和缓存方法,在Spark框架上实现了k-NN算法的并行实现算法1示出了并行k-NN搜索阶段的伪代码。在下面的部分中,我们描述了最重要的指令,从(1到5)列举。首先,并行k-NN算法通过使用指令1将来自Tachyon系统的训练CS-LBP特征加载到RDDi中来开始。然后,指令2映射每个训练向量与查询CS-LBP特征向量之间的欧几里得距离。之后,指令3对计算出的距离进行排序。最后,并行k-NN算法返回与查询图像最接近的k个图像(指令4、5)。在该算法中,我们将训练集CS-LBP特征向量和计算的距离缓存在内存中,因为它们被排序和返回操作使用(指令1,2)。算法1:并行k-NN算法。输入:CS-LBP是训练特征向量,k是k个最近邻图像的k,QCS-LBP是查询特征向量。将y1;y2;;yk:k个最近邻图像输出到查询图像1 RDDi←textFile缓存CS-LBPs缓存:缓存2 DistRDD←RDDi:map DistanceCS-LBP;QS-LBP:cache3 SortedRDDi←DistRDD:sortBy排序距离4 SortedRDDi:takeRDDi5返回y1;y2; ··· ;yk4.2.3. Spark中的并行k-NN的MapReduce本小节介绍了算法1的并行k-NN的Spark。算法2显示了并行k-NN算法1在Apache Spark中的实现如下:Map步骤:在Map步骤中,我们首先加载训练使用sc.textFile(说明10)将CS-LBP功能从Tachyon系统转换为RDD(trainRDD)。然后,指令11为每个CS-LBP特征向量创建第一zipWithIndex(指令12)变换为每个CS-LBP向量(vectorsRDD)分配序列号。该数字在CS-LBP向量被写入磁盘并被处理时标识CS-LBP向量然后,我们使用指令14将Tachyon系统中的图像类加载到classRDD中第二个zipWithIndex转换为每个图像类分配一个序列号(指令15)。指令17在classVector中连接这两个zipWithIndex的结果,以便我们可以以更可读的方式输出结果。最后,我们使用下面定义的euclideanDist函数计算classVector的CS-LBP向量和QCS-LBP(查询图像的CS-LBP特征向量)之间的欧几里得距离146S. Mezzoudj等人/沙特国王大学学报-¼¼¼¼(指示19)。然后,我们使用sortBy操作对计算出的距离进行排序(指令21)。reduce步骤:在这一步中,我们有一个RDD(结果),它包含每个图像的一组(键,值)对;这里,键是数字图像标识符,值由一组图像和相关信息组成。我们掌握的图像信息是图像的CS-LBP向量与查询CS-LBP的图像id、类和距离,其中我们根据到查询CS-LBP的距离。最后,我们使用指令23取查询图像的k个最近邻居缓存方法:是一种用于(迭代和交互式)Spark计算的优化方法。它由Spark预定义,有助于保存临时部分结果,以便在后续阶段中重用。这些中间结果作为RDD保存在内存中(默认情况下)。算法2:在Apache Spark中实现并行k-NN表1实验中使用的集群节点的规范节点规范星火演员超光速粒子演员Node02个CPU,4核/CPU硕士硕士Node12个CPU,4核/CPU奴隶工人Node22个CPU,4核/CPU奴隶工人Node32个CPU,12核/CPU奴隶工人节点42个CPU,12核/CPU奴隶工人以确保可以使用可用的计算资源并行地执行图像处理。我们使用单节点群集执行了实验,该群集具有Intel四核i5- 4210 U CPU、1.70 GHz和8GB内存,运行Ubuntu14.04 LTS我们还使用了Tachyon-0.5.0,Spark 1.6.1,Java 7和scala2.10.4来确保计算的分布和并行化。其次,我们已经测试了我们的系统上的多节点集群,其中包括5个节点上的grid50004。的集群的配置如表1所示。在这里,我们使用了1 开始2 /* 创建SparkContext*/3 val conf = new SparkConf().setAppName5 .set6 .setJars(Seq7 List9 /* 映射步骤 */10 val trainRDD = sc.textFile(“”tachyon://localhost:19998/de scriptors/CSLBP”).cache11 val vectorsRDD = trainRDD.map(x> Vectors.dense(x.sp lit(',').map(_.toDouble)12 val withIndex = vectorsRDD.zipWithIndex13 val indexvector = withIndex.map {case(k,v)>(v,k)}14 val classRDD = sc.textFile(“”tachyon://localhost:19998/cla ses/image_class”).cache15 val withIndex1= classRDD.zipWithIndex16 val indexclass = withIndex1.map {case(k,v)>(v,k)} 17 val classVector =(indexclass joinindexvector)18 val classDistRDD = classVector.map {case(id,(class,vector))>19 val dist = euclideanDist(QCS_LBP,vector)20(id,class,dist)}.cache21 val result = classDist.sortBy(_._3)22 /* 减少步长 */23 结果.take(K)24 结束;5. 实验结果5.1. 实验环境在本节中,我们在(ImageCLEFphoto2和ImageNet3)上测量了所提出的系统的性能,它们分别由20.000和1.461.406张图像组成。提出的分布式架构使用Apache Spark框架来设置网格。网格可以设置为单节点集群或多节点集群(Turkington,2013)。首先,我们使用了一个单节点集群,其中主节点和从节点都位于同一个节点内。我们CPU的核心被用作主CPU的从CPU主/从架构(Spark Master和Spark Workers)。Spark Master在集群节点的Node0中运行,Spark Workers在集群的Slave节点(Node1、Node2、Node3、Node4)上运行。5.2. 单节点群集5.2.1. 索引模块在Spark框架下,使用HDFS和Tachyon两种分布式存储系统对20000幅图像进行了索引实验表2显示了提取特征向量并将其保存到Tachyon和HDFS系统中所消耗的总时间。我们可以注意到,当图像数据集增加时,与HDFS系统相比,Tachyon花费更少的时间来保存特征向量例如,Tachyon的独立时间是1.200秒,20.000张图像,而在HDFS上达到1.500秒。建议的索引技术的性能是COM-与其他最先进的方法,如集中(Zhang et al., 2010)、DIRS(Zhang等人, 2010)和Costantini和Nicolussi方法(Costantini和Nicolussi,2015)。表3表明,我们的方法优于其他相关的工作方法在索引时间。这是通过使用Tachyon和MapReduce模型来加速存储和索引图像来实现的。该实验证明了所提出的方法对于大规模图像的速度。5.2.2. 搜索模块的性能表4比较了搜索不同大小的图像所花费的平均时间我们比较了使用并行k-NN算法和不使用缓存方法的搜索时间(见4.2.3节).我们可以观察到,在这两种情况下,搜索时间与图像数据集大小成比例地增加。但是,当使用缓存方法时,这种实验结果表明,在有缓存和无缓存的情况下,对20000幅图像的平均搜索时间分别为960 s和1980 s.表6清楚地显示了在Spark上使用并行k-NN算法时获得的速度,特别是与其他最先进的方法Centralize(Zhang等人,2010)、DIRS(Zhang等人,2010)和Sakr et al.(2016)。事实上,我们的方法与缓存方法优于其中最好的(Sakr等人,2016年,约20%。注意,在这个实验中,Sakr等人使用了9个节点,而我们只使用了一个。5.2.3. 缓存方式对并行k-NN算法的影响表5示出了缓存方法对20.000个图像的并行k-NN算法的影响,其中RDD 1是2ImageCLEFphoto2008:http://www.imageclef.org/photodata。3ILSVRC 2010:image-net.org/challenges/LSVRC/。4Grid5000:https://www.grid5000.fr。S. Mezzoudj等人/沙特国王大学学报147表2不同图像数据集大小的索引模块的时间消耗图像HDFS快子2.011240 S120 S5.952660年代420秒11.9631.260秒720年代17.9531.380秒1.140秒20.0001500秒1200秒表3不同索引方法对10.000幅图像的性能比较方法描述时间(秒)集中方法(Zhang等人,(2010年)序贯法在1个节点600.000DIRS方法(Zhang等人,(2010年)HBase系统+MapReduce200.000卢卡角等河Costantini法在9个Hadoop节点上HDFS +MapReduce2.820Nicolussi,2015)我们的方法在1个Hadoop节点上Tachyon +MapReduce460在1个Spark节点表4搜索模块中平均计算时间的比较。图像数据集大小无Cache并行k-NN方法带Cache的并行k-NN方法2.011180 s120 S5.952540年代240 S11.9631.140秒540年代17.953一千七百四十秒八四零年代20.0001980年代960年代表5缓存方法对20.000幅图像并行k-NN算法的影响图五. 不同图像数据集大小的搜索模块的平均时间。在没有高速缓存数量的高速缓存0时间(秒)1.980见图6。 为不同的群集配置索引20.000个图像的性能。RDD111.860RDD 1、RDD 22960表620.000幅图像的不同搜索方法的性能比较进近描述时间集中方法(Zhang等人,( 2010年)DIRS法(Zhang等人,(2010年)1个节点上的顺序方法9节点Hadoop 15.000Sakr等人方法1节点Hadoop1.200(Sakr等人,( 2016年)我们的方法没有单节点Spark上的并行k-NN1.980缓存在没有高速缓存我们的方法与缓存带缓存的单节点Spark上的并行k-NN960训练CS-LBP特征向量,RDD 2是查询特征向量与图像数据集的特征向量之间的距离的RDD(参见算法1)。图图5显示了缓存方法对将RDD的内容保存在内存中以避免重新计算RDD的效果。事实上,使用缓存方法能够减少搜索时间,特别是当我们添加第二个RDD来缓存结果距离的内容时(算法1中的这将有助于减少重大...见图7。 不同群集配置的搜索模块的平均时间。表7我们的方法在ImageClef和ImageNet数据集上的索引性能数据集图像数量使用1个节点使用5个节点ImageClef20.0001200秒720年代148S. Mezzoudj等人/沙特国王大学学报ImageNet1.461.40651.283秒32.000秒S. Mezzoudj等人/沙特国王大学学报149×表8我们的方法在ImageClef和ImageNet数据集上的搜索性能数据集图像数量Maillo et al. (2015年)使用1个节点的并行使用5个节点的ImageClef20.000/960年代七九零年代ImageNet1.461.406107.735秒42.250秒34.265秒极大地缩短了并行k-NN方法的执行时间。随着图像数据集规模的增大,采用缓存方法的并行k-NN与不采用缓存方法的并行k-NN之间的差距越来越大,证明了该方法在大规模图像检索中的有效性.5.3. 多节点群集5.3.1. 索引模块图6示出了使用Tachyon和HDFS存储系统使用2、3、4和5个节点索引20.000个图像所消耗的时间。可以注意到,图像索引的时间减少了,因为一方面,图像索引的过程分布在不同的节点上,另一方面,Tachyon中的图像加载和描述符保存比HDFS更快。 20.000张图像的索引在单节点集群上花费1.200 s,而5个节点(1个主节点和4个从节点)仅花费720 s。5.3.2. 搜索模块的性能图7示出了在分布式多节点集群中使用具有和不具有缓存方法的并行k-NN算法搜索查询图像所消耗的平均时间。我们可以注意到,当我们在多节点集群上使用并行k-NN算法时,搜索模块的性能是最好的,特别是,使用缓存方法。此外,在多节点集群上,有缓存和无缓存的并行k-NN算法之间的性能差距越来越5.4. ImageNet数据集在这个实验中,我们使用ImageClef和ImageNet数据集测试了我们的CBIR-S系统。正如我们在表7和表8中所观察到的,索引和搜索时间随着图像数据集的大小(20.000图像的ImageClef和1,461,406图像的ImageNet)成比例地增加顺序k-NN方法所需的运行时间相当高。然而,通过使用所提出的方法,当在多节点集群上使用Tachyon时,所消耗的计算时间得到了极大的减少6. 结论在这篇文章中,我们提出了一个替代分布式CBIR系统的大规模图像数据集使用Spark框架(CBIR-S)。我们使用了分布式存储系统Tachyon来加快保存和检索图像的过程。我们注意到Tachyon在内存中的写入吞吐量比HDFS高110。此外,我们还通过使用并行k-NN算法增强了检索过程。在单节点集群和不同配置的多节点集群上进行的实验研究表明,与其他最先进的作品相比,所提出的CBIR-S系统的运行时间非常有竞争力在多节点集群上实现的加速比比在单节点集群上实现的此外,并行k-NN搜索算法表现出良好的性能,特别是,通常,当使用Spark的缓存方法来重用错误计算的距离时。作为未来的工作,可以改进拟议的框架通过在更大的集群和数据集上使用更有效的算法来提高准确性。确认本文中提出的多节点集群实验是使用在INRIA ALADDIN下开发的Grid'5000实验网格进行的。我们衷心感谢Grid引用Abdel-Basset,M.,Manogaran,G.,Mohamed,M.,2018.物联网(IOT)及其对供应链的影响:构建智能,安全和高效系统的框架。未来一代Comp.Syst.86,614-628.Abdel-Basset,M.,Manogaran,G.,El-Shahat,D.,Mirjalili,S.,2018.基于局部搜索策略的混合鲸优化算法求解置换流水车间调度问题。未来一代Comput. 系统85 ,129-145。Abdel-Basset,M.,Manogaran,G.,阿卜杜勒-法塔赫湖,Mirjalili,S.,2018.求解一维装箱问题的改进自然启发式算法。Pers. 乌比奎特计算:1-16Abdel-Basset,M.,Manogaran,G.,Mohamed,M.,Chilamkurti,N.K.,2018.基于决策集和AHP-QFD框架的三方决策在供应商选择中的应用。未来一代公司系统89 ,19-30。Abdel-Basset,M.,Gunasekaran,M.,Mohamed,M.,Smarandache,F.,2018.一种求解完全隐式线性规划问题的新方法。神经元计算应用程序、1-11Abdel-Basset,M.,Manogaran,G.,Gamal,A.,Smarandache,F.,2018.应用集合论与dematel法之混合方法发展供应商选择准则。Des.自动嵌入式 系统,1-22Abdel-Basset,M.,Manogaran,G.,Mohamed,M.,Rushdy,E.,2018年智能教育环境中的物联网:决策过程中的支持框架,并发和计算:实践和经验。Ahmed , E. , 雅 各 布 岛 , 哈 希 姆 内 务 部 汗 岛 , 艾 哈 迈 德 , 中 情 局 伊 姆 兰 , M. ,Vasilakos,A.五、2017.大数据分析在物联网中的作用。Comput.网络129,459-471.巴赫,J.R.,Fuller,C.,古普塔,A.,Hampapur,A. ,Horowitz,B.,汉弗莱河Jain,R.C.,Shu,C.- F.、2670. Virage图像搜索引擎:一个开放的图像管理框架。静态图像和视频数据库的存储和检索IV,卷。 2670国际光学与光子学学会,pp。 七十六比八十八Belarbi,文学硕士,Mahmoudi,S.A.,马茂迪,S.,Belalem,G.,2017.一种新的并行分布式大规模图像检索方法。云计算技术与应用国际会议。施普林格,pp. 第185-201页。曹杰,王,M.,施,H.,Hu,G.,田,Y.,2016年。mapreduce环境下基于改进并行均值算法的大规模场景图像检索新方法。数学问题Eng.科斯坦蒂尼湖,Nicolussi河,2015.基于hadoop和spark的海量图像检索系统的性能评估。Adv. Multimedia2015,11.掩护THart,P.,一九六七年最近邻模式分类。IEEE Trans. Inf.Theory 13(1),21da Silva Torres,R.,Falcao,A.X.,2006.基于内容的图像检索:理论与应用。RITA,13,pp.161- 185Dean,J.,Ghemawat,S.,2008. MapReduce:简化大型集群上的数据处理。Commun.ACM 51(1),107-113。Dharani
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 4
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功