当前位置: 查字典论文网 >> 基于Hadoop平台下SVM的图像识别技术

基于Hadoop平台下SVM的图像识别技术

格式:DOC 上传日期:2023-08-06 05:15:47
基于Hadoop平台下SVM的图像识别技术
时间:2023-08-06 05:15:47     小编:

摘 要: 针对海量图像的识别技术进行研究,使用SVM算法作为图像识别模型,考虑到随着图像训练样本数据量逐步增大,训练样本呈现指数上升这一问题,在此对基于Hadoop云平台的并行运算SVM方法进行研究,缩短训练时间,加快图像识别效率。使用Corel图像库中图像进行实验研究,结果表明,常规单机SVM图像识别系统以及基于Hadoop平台SVM的图像识别系统的识别准确率相差不大。当Hadoop平台中拥有超过2个节点时,加速比明显上升,训练时间下降,Hadoop平台中使用SVM进行图像识别的效率优势体现出来。

关键词: Hadoop平台; 图像识别; SVM; 云计算; 加速比

中图分类号: TN915.43?34; TP391.4 文献标识码: A 文章编号: 1004?373X(2016)16?0098?04

Abstract: The recognition technology of massive images is researched, in which the SVM algorithm is taken as the image recognition model. In consideration of the problem that the training samples increase exponentially with the gradual increase of data size of image training samples, the parallel computation SVM method based on Hadoop platform is studied to shorten the training time and quicken the image recognition efficiency. In an experiment, the SVM image recognition technology were studied by means of the images in Corel image library. The results show that the recognition accuracy rate of the image recognition system using SVM algorithm based on Hadoop platform has no difference with that of the conventional stand?alone SVM image recognition system, but when more than 2 nodes exist in Hadoop platform, the speedup ratio is increased significantly, and the training time is decreased, so the efficiency advantage of using SVM in Hadoop platform for the image recognition is reflected.

Keywords: Hadoop platform; image recognition; SVM; cloud computing; speedup ratio

0 引 言

现阶段个人电脑和移动互联网的广泛使用,各种图片、声音、视频等数字信息在网络上广泛交互,数据量已经不可估量。作为其中最为生动直接的图片图像信息正因为互联网的使用而大放光彩,越来越成为人们日常生活中交流与学习的重要组成部分。海量的图像数据在互联网上广泛传播,每天都有数以亿计的图片在网络上上传或下载。为了便于人们在海量图像中检索到自己需要的图像,专家对图像检索方法进行了广泛的研究和学习。其中,支持向量机(Support Vector Machine,SVM)模型被广泛应用于图像检索系统中[1?3]。

随着大量数据的产生,云计算随之出现。云计算是基于互联网的相关服务的增加、使用和交付模式,通常涉及通过互联网来提供动态易扩展且经常是虚拟化的资源。简单来说,云计算就是将所有资源进过计算、转换和存储,形成一个巨型的云端网络数据存储平台,利用此平台可以完成各种存储和运算任务,非常适合于检索系统的应用[4]。因此本文将单机SVM算法和云平台结合,以探讨提高海量图像识别检索效率的方法。

1 云计算

在云计算逐渐得到广泛应用的今天,云计算的方法种类也在增多,其中apache的开源分布式平台Hadoop以其价格低廉、高容错性等特点得到了广泛的应用。以IBM现阶段使用的“蓝云”云计算平台为例,Hadoop最受广大用户群青睐的主要原因还是对于它所提供的分布式的可以提供存储的计算平台完全是开源的。Hadoop主要由三部分构成:文件系统HDFS、数据库Hbase、分布式并行计算Map Reduce。在平台中最主要的运算和处理部分主要通过分布式文件管理系统和并行处理两个关键技术实现。

作为存储和计算的处理平台,Hadoop平台处理的核心部分还是分布式文件系统HDFS以及并行处理Map Reduce。优越的硬件系统也使该平台体现出了可扩展、廉价、高容错、高效稳定等特点。该平台结构完善,不需要进行改动即可直接进行存储和计算的扩展,这也是Hadoop平台的关键属性:可扩展性;该平台可以直接设计并部署在低廉的硬件上;Hadoop平台能够自动保存数据的多个副本,当错误发生时可以自动恢复分配;对于Hadoop平台来说, Map Reduce对数据的处理方式为按位操作,更加安全高效[5?7]。

2 Map Reduce过程

Map Reduce编程的最主要内容是对Map和Reduce函数自定义的过程。其中无论对于任何个体差异的编写Map和Reduce函数,其主要的任务都是对数据值的读取以及运算。Input Format类为Map操作提供最基本的支持。Map操作的主要对象是对形式的样本,而Input Format类则是将数据文件的输入地址或者其他形式的输入样本转换为对。 Input Format 类有两个主要的抽象方法,主要是:get Splits,create Record Reader。其中get Splits是将输入图像进行分片处理并收集所有图像的分片数据的集合。在HDFS中是按照块的方法进行储存的。如果是针对于不同图像形成Splits时,则需要调用执行Map Reduce 编程框架,从而使运算时间加长,所以数据处理过程中要尽量避免此现象的发生。

通过以上方法可以得到分片数组,得到此数组后,Hadoop 平台自动查询tasktracker是否处于空闲状态,当tasktracker处于空闲状态时,Hadoop平台进行算法调度,将对应的数据Splits输入到Map任务中,同时也将Splits所含信息如位置节点信息一同进行上传处理。通过自定义的create Record Reader方法读取该数据内容,并将内容转化成的形式,供Map操作进行试用。若不在空闲状态则等待[8?11]。

3 基于Hadoop的SVM算法

Libsvm是由台湾大学林智仁教授设计研发的一个简单容易使用的软件分析包,主要用于SVM 模式识别和回归分析。1988年John C.Platt研究并发明SMO算法,通过此算法对Libsvm进行二次规划并进行算法的优化。SMO算法简单实用,使得二次规划优化算法加快,再对SVM进行求解得到了更好的效果,同时也得到了众多学者的广泛认同。

训练样本数据量逐步增大,而且训练样本的时间还出现了指数上升的趋势,由此一来虽然二次规划算法的速度相对较快,但在单机模式下进行仍然十分困难。这也是训练样本规模增大带来的问题[12]。

为了解决这个问题,使SVM 算法的训练速度加快,本文对基于Hadoop云平台的并行运算SVM方法进行研究,使得运算时间得到了进一步缩短。

SVM 算法的主要思想是在训练数据集中找到决策函数对应的分类进行分析,就是要找到数据集的支持向量。所有的支持向量都具有稀疏性的特点,它们在数据向量集中占据很小的比重,可以通过利用这样的特征,实现对数据的并行SVM算法。在运算过程中,首先将训练数据进行切分,进行分块化处理,然后对每个切分的数据块分别进行SVM 算法求解,以此来达到缩短求解时间的目的。基于Hadoop的SVM算法示意图如图1所示。

4 基于Hadoop的SVM算法的实现

基于Hadoop的SVM 算法主要通过以下几个方面来实现的:

(1) 向Hadoop云平台上传数据信息。向Hadoop云平台上传数据信息及提交作业,主要从HDFS 中获取数据源,根据数据集群配置对数据进行划分处理,也要对作业的Map和Reduce进行分类处理,输入Map和Reduce 过程中所需的节点信息。

(2) 实现Map 的操作过程。Map函数的主要功能是将储存在HDFS中的图像样本读入系统,同时转换block中的数据样本的参数类型。转换之后通过遗传算法进行优化转换的组合参数。所有准备工作之后,进行svm_train函数的调入,进行样本训练处理,从而得到数据的支持向量即形式的支持向量。最后处理结果等待传入Reduce的操作过程。

(3) 实现Reduce的操作过程。Reduce函数主要目的是把Map函数所转换的数据形式进行分类排序,经过处理后输入到事先所规定的指定路径文件中[13?15]。

实现过程示意图如图2所示。

5 Hadoop平台图像识别效果分析

5.1 实验平台搭建

通过实验对比方法研究在Hadoop平台使用SVM算法进行图像识别以及在单机平台使用SVM算法进行图像识别的效果。单机以及Hadoop中主机和各个节点均使用相同配置的计算机: CPU为Intel I5 4950,内存为8 GB DDR3 1 333 MHz,硬盘为1 TB。Hadoop平台中节点计算机使用Ubuntu 14.10 操作系统,Hadoop 1.0.0版本以及 eclipse?jee?juno?SR2版本的IDE平台,Java的执行环境为: JDK1.7.0_07。

Hadoop平台的主要搭建过程为安装JDK;安装并配置SSH;搭建 Hadoop分布式环境;进行Hadoop云平台测试。

5.2 实验数据集

本文使用Corel 图像库中的图像文件进行Hadoop平台下SVM图像识别研究。该图像库含有恐龙、大象、公共交通工具、人物、山川、河流等图像,常用于图像检索系统和方法的测试。部分图像示例如图3所示。

5.3 图像识别准确率实验研究

从Corel图像库中分别选取训练样本和测试样本均为1 000,2 000,5 000和10 000的实验组,使用本文研究的基于Hadoop平台SVM图像识别系统,常规单机SVM图像识别系统以及基于Hadoop平台BP神经网络的图像识别系统对图像样本进行训练和识别,测试结果如表1和图4所示。

对比表1和图4中数据可以看出,常规单机SVM图像识别系统以及基于Hadoop平台SVM的图像识别系统的识别准确率相差不大,在Hadoop平台下进行图像识别对于提高识别准确率意义不大,而使用基于Hadoop平台BP神经网络的图像识别系统识别准确率很低,因此BP神经网络的图像识别系统不适用于Hadoop平台中。

5.4 图像识别效率实验研究

对基于Hadoop平台下SVM图像识别技术的效率进行研究,使用加速比衡量其效率,加速比为单机SVM训练时间和基于Hadoop平台下SVM图像识别技术的训练时间之比。同样使用Corel图像库中的10 000条数据对两种对比识别模型进行训练,Hadoop平台中的节点数分别设置为1,2,3和4,则实验得到的训练时间和加速比如图5所示。 从实验结果可看出,当Hadoop平台中仅有1个节点时,相当于单机SVM识别模型,训练时间为66 s,加速比为1。当Hadoop平台中仅有2个节点时,由于计算机之间交互数据消耗了部分时间,因此训练时间甚至超过了单机SVM识别模型,加速比为0.92,低于1,当Hadoop平台中拥有超过2个节点时,加速比明显上升,训练时间下降,Hadoop平台中使用SVM进行图像识别的效率优势体现出来。

6 结 语

本文将单机SVM算法和云平台结合,以探讨提高海量图像识别检索效率的方法。通过实例分析,结果表明:常规单机SVM图像识别系统以及基于Hadoop平台SVM的图像识别系统的识别准确率相差不大,而使用基于Hadoop平台BP神经网络的图像识别系统识别准确率很低,BP神经网络的图像识别系统不适用于Hadoop平台中;当Hadoop平台中仅有1个节点时,相当于单机SVM识别模型。当Hadoop平台中仅有2个节点时,训练时间甚至超过了单机SVM识别模型,当Hadoop平台中拥有超过2个节点时,加速比明显上升,训练时间下降,Hadoop平台中使用SVM进行图像识别的效率优势体现出来。

参考文献

[1] 牛科.基于Hadoop云平台的分布式支持向量机研究[D].临汾:山西师范大学,2014.

[2] 高晓健.基于支持向量机的高光谱遥感图像分类方法研究[D].杭州:杭州电子科技大学,2012.

[3] 郭欣欣.基于分布式计算的SVM算法优化[D].西安:西安电子科技大学,2014.

[4] 陶杭.基于Hadoop的SVM算法优化及在文本分类中的应用[D].北京:北京邮电大学,2015.

[5] 张小琴,胡景,肖炜.基于Hadoop云平台的分布式支持向量机[J].山西师范大学学报(自然科学版),2015(4):19?23.

[6] 张奕武.基于Hadoop分布式平台的SVM算法优化及应用[D].广州:中山大学,2012.

[7] 卢文清.基于Hadoop的Android软件恶意检测的研究与实现[D].宁波:宁波大学,2014.

[8] 张乃斌.HadoopDDos攻击检测研究分析[D].北京:北京邮电大学,2014.

[9] 张磊磊.基于Hadoop和SVM算法的中文文本分类的研究与实现[D].昆明:昆明理工大学,2015.

[10] 孙继平,佘杰.基于支持向量机的煤岩图像特征抽取与分类识别[J].煤炭学报,2013,38(z2):508?512.

[11] 雷学智.云计算平台下分布式支持向量机在煤炭行业分类预测应用[J].煤炭技术,2013(11):248?250.

[12] 崔文斌,温孚江,牟少敏,等.基于Hadoop的局部支持向量机[J].计算机研究与发展,2014(z2):116?121.

[13] 曹健.基于支持向量机的图像分类方法研究[D].金华:浙江师范大学,2013.

[14] 丁胜锋,孙劲光,陈东莉,等.基于模糊双支持向量机的遥感图像分类研究[J].遥感技术与应用,2012,27(3):353?358.

[15] 祁亨年,杨建刚,方陆明.基于多类支持向量机的遥感图像分类及其半监督式改进策略[J].复旦学报(自然科学版),2004,43(5):781?784.

全文阅读已结束,如果需要下载本文请点击

下载此文档

相关推荐 更多