基于MapReduce数字图像处理研究
- 格式:pdf
- 大小:911.35 KB
- 文档页数:5
MapReduce 编程模型及其在图像处理中应用研究综述李振举;李学军;刘涛;谢剑薇;张荣华【期刊名称】《测绘与空间地理信息》【年(卷),期】2015(38)4【摘要】MapReduce在云计算及其相关应用中发挥着重要作用,将其应用到图像处理中可以提高计算效率。
然而,该模型设计的初衷是处理文本数据,对图像等二进制文件的处理支持能力相对不足。
在充分调研国内外文献基础上,作者从MapReduce概述、图像数据格式设计和图像处理算法研究和在遥感图像处理中的典型应用等方面进行了综述,最后探讨了MapReduce在图像处理研究中的发展趋势。
第一次比较全面地对MapReduce在图像处理中的应用进行了论述,对扩展MapReduce的应用范围和提高图像处理速度具有参考价值。
%Abtsract:MapReduce programming model plays an important role in cloud computing and application.It will be effective to introduce this model to image processing.However, MapReduce programming model was designed to process text data which means it cannot support the binary image.On the basis of existing research, the paper gives a survey from these aspects as MapReduce programming model summary, the image processing interface design and image processing algorithm research and deploying MapReduce in remote sensing image processing, and discusses about the development in the end.It is the first time to review the MapReduce programming model in image processing and it is reference value to deploy the research scope of MapReduce programming model.【总页数】7页(P25-30,33)【作者】李振举;李学军;刘涛;谢剑薇;张荣华【作者单位】装备学院信息装备系,北京101416; 装备学院研究生管理大队,北京101416;装备学院信息装备系,北京101416;装备学院信息装备系,北京101416;装备学院信息装备系,北京101416;71375部队,山东潍坊261053【正文语种】中文【中图分类】P231.5【相关文献】1.MapReduce并行编程模型研究综述 [J], 李建江;崔健;王聃;严林;黄义双2.MapReduce编程模型、方法及应用综述 [J], 丁智;林治3.MapReduce并行编程模型研究综述 [J], 杜江;张铮;张杰鑫;邰铭4.MapReduce编程模型在网络I/O密集型程序中的应用研究 [J], 李明;胥光辉;戢瑶5.分布式并行编程模型MapReduce及其应用研究 [J], 郑瑛因版权原因,仅展示原文概要,查看原文内容请购买。
基于Hadoop平台的图像处理技术研究一、前言随着大数据时代的来临,数据量的增大呈现出指数级增长趋势,如何高效地处理海量数据已经成为一个亟待解决的问题。
在这个背景下,Hadoop平台应运而生。
Hadoop采用了分布式计算的思想,在处理海量数据时,具有良好的可扩展性和容错性。
因此,Hadoop平台被广泛应用于大数据处理领域,其中图像处理技术是其中一个重要的应用方向。
二、 Hadoop平台Hadoop是一个由Apache基金会开发的开源分布式计算平台,它的核心模块包括Hadoop Distributed File System(HDFS)和MapReduce。
HDFS是一个分布式的文件系统,具有高容错性和可靠性,同时能够存储PB级别的数据。
MapReduce是一种分布式计算模型,能够自动将数据分成小块进行计算,并将结果汇总成最终结果。
在Hadoop平台上进行图像处理时,需要将图像文件划分为多个块,每个块独立进行图像处理,最后将处理结果合并生成最终结果。
这种分块处理的方式既可以提高处理速度,又可以避免由于单个节点出错而导致的处理失败。
三、图像处理技术1.图像处理流程图像处理是指对数字图像进行处理,获取其中的有用信息或者实现对图像的修复和增强。
常见的图像处理流程包括图像获取、前处理、特征提取、目标分割、分类识别等步骤。
其中,前处理阶段包括图像去噪、图像增强、图像分割和图像配准等步骤。
图像去噪是为了消除噪声对图像质量的影响;图像增强是为了提高图像的对比度和清晰度;图像分割是为了将一张大的图像分成若干个具有独立信息的小块;图像配准是为了对多张图像进行对齐和融合。
2.图像处理技术(1)图像去噪图像去噪是指消除噪声对图像质量的影响的过程。
常见的图像去噪算法有中值滤波、小波去噪和自适应中值滤波等。
(2)图像增强图像增强是指提高图像的对比度和清晰度的过程。
常见的图像增强算法有线性变换、非线性变换和直方图均衡化等。
(3)图像分割图像分割是指将一张大的图像分成若干个具有独立信息的小块的过程。
基于MapReduce的图像处理技术研究随着互联网的快速发展,人们对于图像处理技术的需求越来越大。
传统的图像处理方法往往需要大量的时间和人力成本,而且存在着诸多的技术瓶颈。
为了解决这些问题,近年来基于MapReduce的图像处理技术逐渐走进人们的视野。
本文将介绍MapReduce技术在图像处理领域的应用,并探讨其技术特点、优缺点以及发展前景。
一、MapReduce技术简介MapReduce是一种分布式数据处理模型,最早由Google在2004年提出,用于解决大规模数据处理问题。
它的核心思想是将复杂的数据处理任务分解成若干个小的子任务,然后分配到多个处理节点上并行处理,最后将结果汇总输出。
MapReduce的基本思路可以归纳为“分而治之”,即将整个处理过程分成不同的处理阶段,每个阶段分别由不同的模块负责完成。
其中,“Map”阶段是将输入数据切分成若干个小块,每个小块分别被不同的处理模块进行计算;“Reduce”阶段则是将各个处理模块的计算结果进行合并输出。
这样一来,MapReduce可以有效地解决大规模数据处理问题,并且具有良好的可伸缩性和容错性,因此成为当前分布式计算领域中非常流行的技术之一。
二、MapReduce技术在图像处理中的应用MapReduce技术在图像处理领域中的应用主要有两种:一种是基于Hadoop的MapReduce,另一种是基于Spark的MapReduce。
下面将分别进行介绍。
1、基于Hadoop的MapReduce基于Hadoop的MapReduce已经被广泛应用于图像处理领域,例如图像分类、图像检索、图像识别和图像分割等。
其中,图像分类是指根据图像的特征将其归为某个类别,这种方法通常需要对大量的数据进行训练,然后通过模型来识别新的图像。
图像检索则是利用图像的特征来搜索与之相似的图像,这种方法通常需要对特征进行大规模的计算和处理。
图像识别则是利用机器学习和统计学方法来识别图像中的物体和场景,这种方法通常需要对图像进行特征提取和分类。
基于MapReduce的分布式图像处理研究近年来,随着云计算和大数据技术的逐渐成熟和普及,基于MapReduce的分布式图像处理技术逐渐受到了越来越多人的关注与研究。
本文就基于MapReduce的分布式图像处理技术进行深入研究,探讨其原理、优势和应用。
一、MapReduce的原理和特点MapReduce是由Google公司提出的一种分布式计算框架,用于大规模数据的处理和分析。
它将数据分成若干个小块,每个小块独立进行处理。
Map负责将数据分块,并将结果返回给Reduce,Reduce将所有Map返回的结果进行合并并输出最终结果。
MapReduce的核心思想是数据的分解和并行处理。
MapReduce的特点是灵活、高效和可靠性强。
MapReduce采用了一种横向拆分的思路,能够完成大规模数据的并行处理,提高了计算效率。
同时,MapReduce还具有自动备份、容错恢复等特点,保证了数据的安全性和可靠性。
二、基于MapReduce的图像处理技术图像处理一直是计算机图形学领域的研究热点。
随着数码相机、智能手机等设备的普及,每天都会产生大量的图像数据,因此如何高效处理这些图像数据是一个重要的问题。
传统的图像处理技术通常是基于单机或者集群的方式进行处理。
但是,随着数据规模的不断增大,传统的方式无法满足实际需求。
基于MapReduce的分布式图像处理技术正是为解决这一问题而生的。
下面将就基于MapReduce的分布式图像处理技术进行探讨。
1、图像压缩图像压缩是图像处理技术中的一项重要内容,它能够有效地减少图像的体积和存储空间,提高图像传输和存储效率。
基于MapReduce的分布式图像压缩技术,采用了类似于JPEG压缩的方式。
将图像分为若干个小块,每个小块独立进行处理,采用DCT(离散余弦变换)算法对每个小块进行压缩,再将压缩后的数据通过MapReduce进行合并,输出最终结果。
2、图像分类图像分类也是图像处理技术中的一个重要内容,它能够对图像进行自动分类,为图像检索、图像识别和目标检测等方面提供帮助。
基于MapReduce的数据图检索算法研究的开题报告一、研究背景目前,数据在各行各业中的应用越来越广泛,不同领域的应用需要对所涉及的大量数据进行处理和分析。
在数据处理和分析技术领域中,MapReduce已经成为了一种流行的技术。
MapReduce是一个处理大规模数据集的编程模型,它由Google推出,可以在分布式计算平台上高效地处理大量数据。
现有的MapReduce技术在很多领域都有应用,如搜索引擎、数据挖掘、生物医学、天文学等。
数据图检索是现代数据处理中一个重要的研究方向,它能够快速、准确地识别、查询某些数据信息。
现有的数据图检索算法,基本上都是基于单机环境而研发的,无法处理海量数据的检索任务。
而MapReduce 技术可以很好的解决这个问题,因此本研究希望以MapReduce为基础,研究出一种高效的数据图检索算法。
二、研究目的和意义数据图检索算法的发展有利于促进数据分析和处理领域的进一步发展,同时也有利于提高各行各业的数据处理效率。
本研究旨在探究基于MapReduce的数据图检索算法,通过巨大的计算资源和并行计算能力,实现快速、准确的数据检索,具有如下的研究目的和意义:1.提高数据图检索的效率。
通过MapReduce技术的引入,大大提高算法处理数据图的效率。
2.提高数据图检索的准确度。
利用MapReduce技术,可以快速并行处理数据图,使算法结果更加准确。
3.具有广泛的应用场景。
基于MapReduce的数据图检索算法可以应用到互联网搜索引擎、生物医学、天文学等领域中,具有很好的前景。
三、研究内容和方法本研究将选择一种基于图的数据检索算法作为研究对象,对该算法进行优化,以提高计算效率和准确度。
具体的研究内容如下:1.设计基于MapReduce的数据图检索算法。
在MapReduce的基础上设计高效、准确的算法,提高数据图检索的计算效率和准确度。
2.实现算法原型系统。
基于Hadoop的MapReduce模型,实现设计出的基于MapReduce的数据图检索算法。
HEBEI UNIVERSITY密级:分类号:学校代码:10075学号:20151342硕士学位论文基于MapReduce和卷积神经网络的图像大数据分类研究学位申请人:郝璞指导教师:翟俊海教授学位类别:工学硕士学科专业:软件工程授予单位:河北大学答辩日期:二〇一八年五月Classified Index: CODE: 10075U.D.C: NO: 20151342A Dissertation for the Degree of MasterResearch on Image Big Data Classification Based on MapReduce and Convolution Neural NetworkCandidate: Hao PuSupervisors: Prof. Zhai Jun HaiAcademic Degree Applied for: Master’s DegreeSpecialty: Software of EngineeringUniversity: Hebei UniversityDate of Oral Examination: May, 2018摘要随着科学技术的进步与发展,每天产生数以万计的数据,如何从这些海量的数据中挖掘或发现有价值的知识显得尤为重要。
深度学习是目前机器学习领域最热门的研究方向,轰动全球的A1phaGo就是用深度学习算法训练的。
卷积神经网络是用深度学习算法训练的一种模型,它在计算机视觉领域应用广泛,而且获得了巨大的成功。
然而,在单机环境下,难于处理大数据分类问题。
Hadoop是一种流行的大数据开源框架,用户可方便地把大数据分类任务部署到不同的云计算结点。
此外,Hadoop的MapReduce又为用户提供了方便易用的编程接口。
因此,研究基于MapReduce和卷积神经网络的图像大数据分类具有重要的理论意义和应用价值。
本文工作主要包括两部分:(1)针对如何应用Hadoop处理大数据问题,研究了Hadoop大数据处理的原理,并以大数据压缩近邻为例,提出了基于MapReduce并行化压缩近邻算法。
基于MapReduce 数字图像处理研究田进华,张韧志(黄淮学院河南驻马店463000)摘要:随着海量图像数据的增加,使得需要处理的数据规模越来越大,为了解决在处理海量数据信息时所面临的存取容量和处理速度的问题,在深入研究MapReduce 大规模数据集分布式计算模型的基础之上,本文设计了基于MapReduce 实现对数字图像并行化处理。
实验结果表明:运行在Hadoop 集群上的基于MapReduce 并行化算法具有数据节点规模易扩展、处理速度快、安全性高、容易实现等特点,能够较好地满足海量数据图像的处理的要求。
关键词:Hadoop 平台;海量数据;MapReduce ;图像处理;并行处理中图分类号:TN391.41文献标识码:A文章编号:1674-6236(2014)15-0093-03Research of digital image processing based on MapReduceTIAN Jin 鄄hua ,ZHANG Ren 鄄zhi(Huanghuai University ,Zhumadian 463000,China )Abstract:With the increase of mass image data ,makes the need to deal with the data size is bigger and bigger ,in order to solve the facing access when dealing with huge amounts of data information capacity and processing speed ,the further study of graphs large 鄄scale distributed computing model based on the data set ,in this paper ,based on graphs design for digital image parallel processing.Experimental results show that run on Hadoop cluster graphs based on parallel algorithm is data node size easy extension ,fast processing speed ,high security ,easy to implement ,can well meet the requirements of mass data processing of the image.Key words:Hadoop plateform ;mass data ;MapReduce ;image processing ;parallel processing收稿日期:2014-04-30稿件编号:201404271基金项目:河南省教育厅科学技术研究重点项目(13A520786)作者简介:田进华(1982—),男,河南泌阳人,硕士,实验师。
研究方向:计算机应用。
以互联网为计算平台的云计算,将会涉及非常多的海量数据处理任务[1],海量数据处理是指对大规模数据的计算和分析,通常数据规模可以达到TB 甚至PB 级别。
当今世界最流行的海量数据处理可以说是MapReduce 编程模式。
MapReduce 分布式编程模型允许用户在不了解分布式系统底层实现细节的情况下开发并行应用程序。
用户可以利用Hadoop 轻松地组织计算机资源,进而搭建自己的分布式计算云平台,并且可以充分利用集群的计算和存储能力,完成海量数据的处理。
1MapReduce 计算模型Hadoop 是一个开源分布式计算平台。
以分布式文件系统HDFS 和MapReduce 为核心的分布式计算和分布式存储的编程环境[2]。
MapReduce 是用于大规模数据集分布式的计算模型,实现一个MapReduce 应用,首先,通过Map 程序将数据切割成小块,然后,分配给大量服务器处理,最后,通过Reduce 程序将处理后的结果汇整输出给客户端。
MapReduce的整个架构是由Map 和Reduce 函数组成,当程序输入一大组Key/Value 键值对时,Map 负责根据输入的Key/Value (键值)对,生成中间结果,这生成中间结果同样采用Key/Value (键值)对的形式。
开发者只需要实现Map 和Reduce 函数的逻辑,然后提交给MapReduce 运行环境,计算任务便会在大量计算机组成的集群上被自动、并行地调度执行。
MapReduce 的运行环境是有两个不同类型的节点组成:Master 和Worker 。
Worker 负责数据处理,Master 主要负责任务分配和节点之间数据共享。
需要实现或指定以下编程接口:Map 函数:接收输入的键值对<kl ,vl>,计算生成一组中间的键值对<k2,v2>Reduce 函数:接收键值对集合<k2,v2的列表>,聚集计算得到新键值对<k3,v3>。
Combiner 函数:它是对Map 函数输出的中间数据在本地执行归并,将处理结果再传输给Reduce 节点。
Combiner 可以降低Map 任务节点和Reduce 任务节点之间的通信代价。
InputFormat ,OutputFormat :InputFormat 支持Hadoop 作业输入数据键值对的转换;OutputFormat 表示Hadoop 作业计算结果存储在HDFS 中的格式。
Partitioner 函数:用于对Map 函数输出的中间结果进行划分,Map 任务点根据所提供的Partition 函数,将数据结果划分给相应Reduce 任务节点。
电子设计工程Electronic Design Engineering第22卷Vol.22第15期No.152014年8月Aug.2014-93-《电子设计工程》2014年第15期Hadoop 运行MapReduce 作业的流程图如图1所示。
MapReduce 作业包含四个相对独立的模块。
客户端主要负责MapReduce 作业代码的编写,配置作业相关参数,向JobClient实体提交作业;JobTracker 节点主要负责用户提交作业的初始化,调度作业,与所有的TaskTracker 节点进行通信,协调用户提交作业的执行;TaskTracker 节点负责自主与JobTracker 节点进行通信,根据所分配的数据块执行Map 或Reduce 任务,调用用户定义的Map 或Reduce 函数;HDFS 负责保存作业的数据、配置信息和作业结果等。
2构建图像处理云平台在MapReduce 计算框架中,Hadoop 将输入数据划分成等长的作业分片,每个Map 任务处理一个作业分片,这些Map 任务是并行执行的[3]。
Hadoop 又将每个作业分片划分为多个相同的键值对,每个Map 任务对该分片中每个键值对再调用map 函数来进行处理。
本系统把一个图像文件作为一个作业分片,再把整个作业分片作为一个键值对来处理[4]。
这样每个Map 任务只需调用一次map 函数来处理一个图像文件,进而实现多个图像文件的并行化处理。
本系统只定义了一个Reduce 任务,其调用reduce 函数对每个键值对进行简单的输出操作。
1)键值对类型的设计Hadoop 中map 和reduce 函数的输入和输出是键/值对(Key/Valuepair ),MapReduce 框架并不允许任意的类作为键和值的类型,只有支持序列化的类才能够在这个框架中充当键或者值[5]。
Hadoop 有自己的序列化格式Writable ,实现Writable 接口的类可以作为值类型。
Writable 接口定义了两个方法:一个将其状态写到DataOutput 二进制流,另一个从DataInput 二进制流读取其状态[6]。
实现WritableComparable<T>接口的类既可以作为键类型也可以作为值类型,该接口继承自Writable 和parable 接口。
WritableComparator 是对继承自WritableComparable 类的RawComparator 类的一个通用实现,提供了两个主要功能:第一,对原始compare ()方法的默认实现,能反序列化将在流中进行比较的对象,并调用对象的compare ()方法;第二,充当的是RawComparator 实例的工厂。
Hadoop 自带的org.apache.hadoop.io 包中有广泛的Writable 类,它们形成了如图2所示的层次结构。
本系统使用的键类型为Text ,用来存储图像文件的名;值类型为Image ,实现了Writable 接口,用来存储图像文件的内容。
本系统的键值对在Map 任务和Reduce 任务数据变化流程如图3所示。
任务调用map 函数对每个键值对进行处理,处理前后键Filename 的内容不会发生改变,而存储图像信息的值Image 的内容会发生变化。
Reduce 任务调用reduce 函数实现对其输入的键值对进行简单的键值对输出操作。
2)作业的输入格式设计一个输入分片(split )就是由单个Map 任务处理的输入块,每个分片被划分为若干个记录,每条记录就是一个键值对,map 函数一个接一个处理每条记录。
map 函数用该实现从InputSplit 中读取输入的键值对。
本系统设计了ImageFileInputFormat 类继承自FileInputFormat<Text ,Image>类的实现,把一个图像文件作为一个输入分片,不进行文件分割;ImageRecordReader 类继承自RecordReader <Text ,Image>类的实现,把输入分片转化为一个键值对,即图像文件名作为键Text 类型的一个实例,图像文件内容作为值Image 类型的一个实例。
ImageRecordReader 类实现解码读取存储在HDFS 上作为输入分片的图像文件,获得其字节流,然后将字节流转化为上一节实现的值类型Image 的一个实例,图像文件的名字作为键类型Text 的一个实例,其核心代图3本系统Map 任务和Reduce 任务数据流Fig.3Map task and reduce task ’s data flow in this system Map图1Hadoop 运行MapReduce 作业流程图Fig.1MapReduce job ’s flow chart on Hadoop 图2Writable 类层次结构图Fig.2Writable class's hierarchical structure-94-码如下:FileSplit split=(FileSplit)genericSplit;Configuration conf=context.getConfiguration();Path file=split.getPath();FileSystem fs=file.getFileSystem(conf);FSDataInputStream fileIn=fs.open(split.getPath());byte[]b=new byte[fileIn.available()];fileIn.readFully(b);image=new Image(cvDecodeImage(cvMat(1,b.length,CV_8UC1,new BytePointer(b)),iscolor));fileName=split.getPath().getName().toString();3)作业的输出格式设计MapReduce作业的输出样式用OutputFormat描述。