CN105677763A - 一种基于Hadoop的图像质量评估*** - Google Patents

一种基于Hadoop的图像质量评估*** Download PDF

Info

Publication number
CN105677763A
CN105677763A CN201511022591.3A CN201511022591A CN105677763A CN 105677763 A CN105677763 A CN 105677763A CN 201511022591 A CN201511022591 A CN 201511022591A CN 105677763 A CN105677763 A CN 105677763A
Authority
CN
China
Prior art keywords
image
image quality
quality measure
mapreduce
hadoop
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN201511022591.3A
Other languages
English (en)
Other versions
CN105677763B (zh
Inventor
王伟凝
蔡成加
赵伟健
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
South China University of Technology SCUT
Original Assignee
South China University of Technology SCUT
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by South China University of Technology SCUT filed Critical South China University of Technology SCUT
Priority to CN201511022591.3A priority Critical patent/CN105677763B/zh
Publication of CN105677763A publication Critical patent/CN105677763A/zh
Application granted granted Critical
Publication of CN105677763B publication Critical patent/CN105677763B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/58Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/583Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Library & Information Science (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Processing Or Creating Images (AREA)

Abstract

本发明公开了一种基于Hadoop的图像质量评估***,包括客户端和Hadoop集群;客户端包括服务选择模块和和图片传输模块;Hadoop集群包括主节点和多个子节点;所述主节点负责作业的初始化、作业的分配、作业的协调执行,同时负责管理集群的文件***;所述子节点上设有图像质量评估模块,负责map任务和reduce任务的执行以及数据块存储;所述主节点上设有通信服务器,所述通信服务器负责接收从客户端发送过来的图像并为每个用户开启一个MapReduce作业进行图像质量评估。本发明利用Hadoop集群的分布式并行计算优势,有效缩短大量图片质量评估的处理时间,提升了用户体验。

Description

一种基于Hadoop的图像质量评估***
技术领域
本发明涉及图像智能处理领域,特别涉及一种基于Hadoop的图像质量评估***。
背景技术
近年来,图像质量评估因其在各种各样应用中潜在的巨大需求,引起了不少学者的关注。图像质量评估能帮助人们挑选出高美感图像,过滤掉低美感图像,把人从令人厌烦的图像管理工作中解放出来。例如,在图像检索中,我们希望计算机不仅能根据图像内容也能根据图像质量检索图像。
如今大部分学者关于图像质量评估的工作旨在利用大量的图像学习图像质量评估模型,对图像进行高低美感的分类和预测图像质量分数。为了提高***的准确度,人们强调图像特征提取的重要性,包括手工特征和局部特征。为了进一步提高准确度,建立巨大图像数据库,用户的评论、地理信息等也被***考虑。总的来说,现有的***缺乏对图像质量评估效率和用户体验的重视。
随着智能手机的普及,人们获取和存储图像越来越容易,图像数量也在剧增。人们希望图像质量评估算法能够帮助管理手机上的图像。由于图像质量评估过程复杂、耗时,在手机上运行图像质量评估算法处理速度慢、效率低下,特别是当图像数量巨大时。
Hadoop是由众多计算机节点构成,实现了分布式存储和并行计算、适合处理大数据的开源软件基础框架,被广泛应用于云计算上。云计算技术的出现为图像处理提供了新的思路。通过结合云计算技术,图像处理效率大大提高。重庆大学张小洪等人发明一种基于Hadoop的海量人脸图像的检索方法(申请号:201310038448.8,公开号:103207889A)。该专利主要利用Hadoop实现图像检索功能,包括对图像数据建立索引,并进行分布式搜索完成人脸图像的快速搜索。由于缺乏客户端的设计,该发明专利的人脸识别方法不能应用于移动终端上。
通过云端丰富的计算资源,Hadoop可以大大减轻终端繁重的计算负担。然而,目前国内外还没发现把Hadoop技术应用在图像质量评估上。此外,Hadoop最初设计用于大文本数据的处理,对于图像数据的处理需要再做改进设计。
发明内容
为了克服现有技术的上述缺点与不足,本发明的目的在于提供一种基于Hadoop的图像质量评估***,可以将客户端上复杂、耗时的图像质量评估算法移至具有丰富计算资源的云端,通过流量换取图像质量评估的高效率和良好的用户体验。
本发明的目的通过以下技术方案实现:
一种基于Hadoop的图像质量评估***,包括客户端和Hadoop集群;
所述客户端包括服务选择模块和图片传输模块;所述服务选择模块用于选择用户需要质量评估的图像和服务,并显示从服务器端返回的图像质量评估的结果;
所述图片传输模块用于通过互联网向服务器端发送用户请求、传输用户图像,以及接收从服务器端返回的结果;
所述Hadoop集群包括主节点和多个子节点;所述主节点负责作业的初始化、作业的分配、作业的协调执行,同时负责管理集群的文件***;所述子节点上设有图像质量评估模块,负责map任务和reduce任务的执行以及数据块存储;所述主节点上设有通信服务器,所述通信服务器负责接收客户端发送的图像并为每个用户开启一个MapReduce作业进行图像质量评估。
所述通信服务器的工作过程如下:
首先,将接收到的每个用户的图像存储在特定目录下,并将该目录上传到HDFS;然后,为每个用户开启一个MapReduce作业;最后,MapReduce调用图像质量评估模块的图像质量评估算法的C++动态链接库处理输入的图像。
所述开启一个MapReduce作业进行图像质量评估,具体为:
(1)建立MapReduce工作流程:建立MapReduce处理多用户请求的工作流程、建立MapReduce处理多图像的工作流程;
(2)定义图像文件的输入数据类型:定义图像输入的数据类型ImgFile类,图像文件输入格式ImgFileInputFormat类,图像键值对读入格式ImgFileRecordReader类;
(3)在map函数中实现图像质量评估:实现MapReduce对图像质量评估的算法和实现MapReduce函数。
所述建立MapReduce工作流程,具体为:
(1-1)建立MapReduce并行处理多用户请求的工作流程:每个用户的数据作为一个MapReduce作业的输入,通过作业调度器实现多作业的并行处理;
(1-2)建立MapReduce处理多图像的工作流程:把整张图像作为一个输入分片,并将整个分片作为一个记录;在map阶段,用户的每张图像将被看作一个分片,由实现了图像质量评估算法的map函数处理;输入图像由<图像文件名,图像内容>的键值对形式表示,输出结果由<图像文件名,图像质量评估结果>的键值对形式表示;在reduce阶段,reduce任务将map任务的结果汇总并输出一个文本文件。
所述定义图像文件的输入数据类型,具体为:
(2-1)定义图像输入的数据类型ImgFile类,图像输入ImgFile类实现Writable接口,定义getImage()成员函数,getHeight()成员函数,getWidth()成员函数;
(2-2)定义图像文件输入格式ImgFileInputFormat类,图像文件输入格式ImgFileInputFormat类继承FlieInputFormat类,支持ImgFile类,将输入的图像文件切分成输入分片方式,增加图像文件读取的定义,以一幅完整图像为一个分片,不进行文件分割;
(2-3)定义图像键值对读入格式ImgFileRecordReader类,图像键值对读入格式ImgFileRecordReader类继承RecordReader类,将输入键值对定义为<图像文件名,图像内容>的形式,并从InputSplit中读取记录的键值对供Mapper处理;所述图像文件名是Text类型的一个实例,所述图像内容是ImgFile类型的一个实例。
所述在map函数中实现图像质量评估,具体为:
(3-1)实现MapReduce对图像质量评估算法的调用,即以Java语言编写的MapReduce程序使用JNI接口调用由C++代码开发的图像质量评估算法,实现图像的分类和质量预测,具体过程为:
首先,生成图像质量评估的核心算法的C++源文件;然后把C++源文件编译成可加载和调用的so文件;最后,将训练好的分类和评估模型存储在数据文件中,以供算法在执行任务中调用;
(3-2)实现MapReduce函数,即在map类和reduce类中实现map和reduce函数,具体为:
在map阶段,首先,map函数接收一张图像并读入为ImgFile类型,作为键值对<图像文件名,图像内容>中的图像内容;然后,获取键值对的图像内容并将其转换成int数组;接着,将int数组输入到JNI函数setSourceImageJni()中设置C++代码中的图像输入;最后,再以函数Evaluate()或Classify()对其进行区域划分、特征提取和分类评估处理;
在reduce阶段,reduce函数汇总map函数输出的每张图像的分类或分数预测结果到一个文本文件中。
所述Hadoop集群使用Hadoop存档工具HadoopArchives节省集群主节点namenode内存,具体为:
首先,在利用MapReduce进行图像质量评估之前用HadoopArchives把图像存档为HAR文件;然后,把HAR文件上传至HDFS;最后把HAR文件作为MapReduce的输入进行处理。
所述Hadoop集群进行图像质量评估时采用任务JVM重用的工作模式,即每个map任务可以重复使用一个相同的JVM,具体为:
把HDOOP_CONF_DIR/mapred-site.xml文件中的mapred.job.reuse.jvm.num.tasks参数设置为-1,JavaVirtualMachine重复使用无限次。
所述Hadoop集群进行图像质量评估时使用FairScheduler作业调度策略,根据各个作业的大小、上传时间调度作业和合理分配计算资源,让所有作业都能得到集群资源的最公平共享。
所述客户端和Hadoop集群之间的通信采用socket技术。
与现有技术相比,本发明具有以下优点和有益效果:
(1)本发明的基于Hadoop的图像质量评估***,通过把复杂的图像质量评估算法移至云端,客户端上的应用变得简单,成为轻客户端;
(2)本发明的基于Hadoop的图像质量评估***,用户数据在云端分布式存储、高效并行处理,通过利用云端丰富的计算资源和优化MapReduce的设计,客户端的请求能得到快速响应,提升了用户体验。
(3)本发明的基于Hadoop的图像质量评估***,图像质量评估算法和模型可以在服务器端轻松完成升级,而客户端不需要在硬件和软件上做任何改变,应用更加方便。
(4)本发明的基于Hadoop的图像质量评估***,针对Hadoop处理图像构建了MapReduce框架,实现了大量图像的并行处理,具有良好的扩展性,可扩展到大批量图像文件格式转换、视频模式识别等应用。
附图说明
图1为本发明的实施例的基于Hadoop的图像质量评估***物理框架。
图2为本发明的实施例的图像质量评估***工作流程图。
图3为本发明的实施例的图像质量评估模块的工作流程图。
图4为本发明的实施例的MapReduce作业的流程图。
具体实施方式
下面结合实施例,对本发明作进一步地详细说明,但本发明的实施方式不限于此。
实施例
如图1所示,一种基于Hadoop的图像质量评估***,包括客户端和Hadoop集群;Hadoop集群包括主节点和多个子节点。通信服务同时在客户端和Hadoop集群上运行,负责传输数据,包括从客户端上传图像和返回图像质量评估结果;所述通信服务采用socket技术。
客户端包括服务选择模块和和图片传输模块;所述服务选择模块用于选择用户需要质量评估的图像和服务,以及显示从服务器端返回的图像质量评估的结果;所述图片传输模块用于通过互联网向服务器端发送用户请求、传输用户图像,以及接收从服务器端返回的结果。
如图2所示,主节点负责作业的初始化、作业的分配、作业的协调执行,同时负责管理集群的文件***;所述子节点上设有图像质量评估模块,负责map任务和reduce任务的执行以及数据块存储;所述主节点上设有通信服务器,所述通信服务器负责接收从客户端发送过来的图像并为每个用户开启一个MapReduce作业进行图像质量评估。
如图3所示,本实施例的图像质量评估模块的工作流程如下:
首先,对图像数据库提取美学特征;然后,通过机器训练和学习建立质量评估模型,包括图像美学分类器和图像美学回归模型;最后,对用户输入的图像,利用已建立的美感等级分类器和美学回归模型实现图像美感等级高低的分类和美学分数的预测。
本实施例的通信服务器的工作过程如下:
首先,将接收到的每个用户的图像存储在特定目录下,并将该目录上传到HDFS;然后,为每个用户开启一个MapReduce作业;最后,MapReduce调用图像质量评估模块的图像质量评估算法的C++动态链接库处理输入的图像。
所述HDFS为Hadoop分布式文件***。
为了利用Hadoop实现并行处理具有多用户的大量图像,构建MapReduce框架来完成图像质量评估,包括建立MapReduce工作流程、定义图像文件的输入数据类型和在map函数中实现图像质量评估算法。具体为:
(1)建立MapReduce工作流程,即建立MapReduce处理多用户请求的工作流程、建立MapReduce处理多图像的工作流程;
(1-1)建立MapReduce并行处理多用户请求的工作流程,即每个用户的数据作为一个MapReduce作业的输入,通过作业调度器实现多作业的并行处理;
(1-2)建立MapReduce处理多图像的工作流程,如图4所示。把整张图像作为一个输入分片,并将整个分片作为一个记录。在map阶段,用户的每张图像将被看作一个分片,由实现了图像质量评估算法的map函数处理。输入图像由<图像文件名,图像内容>的键值对形式表示,输出结果由<图像文件名,图像质量评估结果>的键值对形式表示。在reduce阶段,reduce任务将map任务的结果汇总并输出一个文本文件。
(2)定义图像文件的输入数据类型,即定义图像输入的数据类型ImgFile类,图像文件输入格式ImgFileInputFormat类,图像键值对读入格式ImgFileRecordReader类。具体为:
(2-1)定义图像输入的数据类型ImgFile类,图像输入ImgFile类实现Writable接口,定义getImage(),getHeight(),andgetWidth()等一系列成员函数;
(2-2)定义图像文件输入格式ImgFileInputFormat类,图像文件输入格式ImgFileInputFormat类继承FlieInputFormat类,支持ImgFile类,将输入的图像文件切分成输入分片方式,增加了图像文件读取的定义,以一幅完整图像为一个分片,不进行文件分割;
(2-3)定义图像键值对读入格式ImgFileRecordReader类,图像键值对读入格式ImgFileRecordReader类继承RecordReader类,将输入键值对定义为<图像文件名,图像内容>的形式,并从InputSplit中读取记录的键值对供Mapper处理。所述图像文件名是Text类型的一个实例,所述图像内容是ImgFile类型的一个实例。
(3)在map函数中实现图像质量评估算法,即实现MapReduce对图像质量评估算法的调用和实现MapReduce函数。具体为:
(3-1)实现MapReduce对图像质量评估模块的调用,即以Java语言编写的MapReduce程序使用JNI接口调用由C++代码开发的图像质量评估算法,实现图像的分类和分数预测。具体为:
首先,生成图像质量评估的核心算法的C++源文件;然后把C++源文件编译成可加载和调用的so文件;最后,将训练好的分类和评估模型存储在数据文件中,以供算法在执行任务中调用。
所述基于Hadoop的图像质量评估***使用Hadoop文件缓存工具HadoopDistributedCache将so文件和训练好的分类和评估模型数据文件部署到集群中的各个节点中。
(3-2)实现MapReduce函数,即在map类和reduce类中实现map和reduce函数,具体为:
在map阶段,首先,map函数接收一张图像并读入为ImgFile类型,作为键值对<图像文件名,图像内容>中的图像内容;然后,获取键值对的图像内容并将其转换成int数组;接着,将int数组输入到JNI函数setSourceImageJni()中设置C++代码中的图像输入;最后,再以函数Evaluate()或Classify()对其进行区域划分、特征提取和分类评估等处理。
在reduce阶段,reduce函数汇总map函数输出的每张图像的分类或分数预测结果到一个文本文件中。
Hadoop在处理大量小文件方面的表现欠佳,为了适应Hadoop集群处理大量小图像文件的应用,提高***性能,对Hadoop集群进行优化,包括节省内存和任务JVM重用。
所述节省内存,即使用Hadoop存档工具HadoopArchives节省集群主节点namenode内存,具体为:
首先,在利用MapReduce进行图像质量评估之前用HadoopArchives把图像存档为HAR文件;然后,把HAR文件上传至HDFS;最后把HAR文件作为MapReduce的输入进行处理。
所述任务JVM重用,即每个map任务可以重复使用一个相同的JVM。具体为:
把HDOOP_CONF_DIR/mapred-site.xml文件中的mapred.job.reuse.jvm.num.tasks参数设置为-1,JavaVirtualMachine可以重复使用无限次。
Hadoop默认使用FIFO调度器,对于并发多用户不同图像数请求,***性能不高。为了使各用户的作业能得到集群资源的最公平共享,提高用户体验,本实施例使用FairScheduler作业调度策略,根据各个作业的大小、上传时间等调度作业和合理分配计算资源,具体为:
把HADOOP_CONF_DIR/mapred-site.xml文件中的mapred.jobtracker.taskScheduler参数设置成org.apache.hadoop.mapred.FairScheduler。另外,把mapred.fairscheduler.sizebasedweight参数设置成true,当开启该选项后,***会将作业大小作为分配计算资源的决定因素之一。
在本实施例中,本实施例在具有64G内存的戴尔precisionT5610工作站虚拟机VMwareWorkstation11上构建Hadoop集群,集群由1个主节点和5个子节点组成,构成每个节点的基础软件包括:Ubuntu10.04LTS操作***、Hadoop0.21.0、JRE1.6.0_33、OpenCV-2.2.0。单机的配置和集群的每个节点相同。本实施例以10组数量分别为100至1000张的图像作为输入,处理时间为作业开始到作业处理完成。单机与Hadoop集群不同图像数输入处理时间的对比如表1:
表1Hadoop集群与单机处理时间对比
100 200 300 400 500 600 700 800 900 1000
单机(秒) 10.01 23.30 34.69 43.16 52.76 61.39 70.23 79.77 90.70 100.70
集群(秒) 1.83 3.62 5.15 6.30 7.77 9.10 10.43 11.93 13.30 15.03
通过上述表格,可以看出单机的处理时间比Hadoop集群的时间长很多。当图像数量越大,单机处理作业的时间大大增加,集群的优势更加明显。可见,Hadoop集群的应用使图像质量评估***的效率显著提高。
本实施例通过模拟并发用户不同图像数的请求,来验证FairScheduler的调度策略。并发用户数为3,分别为用户1、用户2和用户3,所输入的图像数分别为5、40和500。***默认FIFO的调度策略,因此并发用户的不同请求顺序将影响各个用户对应的作业完成时间。3个作业的可能请求顺序为1-2-3,1-3-2,2-1-3,2-3-1,3-1-2和3-2-1。本实施例计算了每个用户在FIFO和FairScheduler调度策略下的6个请求顺序的平均处理时间和处理时间的标准差。FIFO和FairScheduler两种调度策略下的对比如表3所示:
表2FairScheduler和FIFO调度策略的对比
由上表可以得出:第一,当***处理图像数量较小时,使用FairScheduler调度策略花费的平均用时比FIFO少。FairScheduler调度策略有效缩短了作业的等待时间,使其所花费的时间比FIFO大大减小。一个短的作业将在合理的时间内完成,即便另一个用户的长时间作业还在运行过程中。第二,使用FairScheduler调度策略的用户用时标准差均小于使用FIFO调度策略的标准差。显然,当使用FIFO调度策略不同的作业序列时用户的等待时间相当不同,而FairScheduler却相对稳定。可见,FairScheduler调度策略的使用能让每个用户公平地共享集群资源,提高用户的体验。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受所述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

Claims (10)

1.一种基于Hadoop的图像质量评估***,其特征在于,包括客户端和Hadoop集群;
所述客户端包括服务选择模块和图片传输模块;所述服务选择模块用于选择用户需要质量评估的图像和服务,并显示从服务器端返回的图像质量评估的结果;所述图片传输模块用于通过互联网向服务器端发送用户请求、传输用户图像,以及接收从服务器端返回的结果;
所述Hadoop集群包括主节点和多个子节点;所述主节点负责作业的初始化、作业的分配、作业的协调执行,同时负责管理集群的文件***;所述子节点上设有图像质量评估模块,负责map任务和reduce任务的执行以及数据块存储;所述主节点上设有通信服务器,所述通信服务器负责接收客户端发送的图像并为每个用户开启一个MapReduce作业进行图像质量评估。
2.根据权利要求1所述的基于Hadoop的图像质量评估***,其特征在于,所述通信服务器的工作过程如下:
首先,将接收到的每个用户的图像存储在特定目录下,并将该目录上传到HDFS;然后,为每个用户开启一个MapReduce作业;最后,MapReduce调用图像质量评估模块的图像质量评估算法的C++动态链接库处理输入的图像。
3.根据权利要求2所述的基于Hadoop的图像质量评估***,其特征在于,所述开启一个MapReduce作业进行图像质量评估,具体为:
(1)建立MapReduce工作流程:建立MapReduce处理多用户请求的工作流程、建立MapReduce处理多图像的工作流程;
(2)定义图像文件的输入数据类型:定义图像输入的数据类型ImgFile类,图像文件输入格式ImgFileInputFormat类,图像键值对读入格式ImgFileRecordReader类;
(3)在map函数中实现图像质量评估:实现MapReduce对图像质量评估模块的算法和实现MapReduce函数。
4.根据权利要求3所述的基于Hadoop的图像质量评估***,其特征在于,所述建立MapReduce工作流程,具体为:
(1-1)建立MapReduce并行处理多用户请求的工作流程:每个用户的数据作为一个MapReduce作业的输入,通过作业调度器实现多作业的并行处理;
(1-2)建立MapReduce处理多图像的工作流程:把整张图像作为一个输入分片,并将整个分片作为一个记录;在map阶段,用户的每张图像将被看作一个分片,由实现了图像质量评估算法的map函数处理;输入图像由<图像文件名,图像内容>的键值对形式表示,输出结果由<图像文件名,图像质量评估结果>的键值对形式表示;在reduce阶段,reduce任务将map任务的结果汇总并输出一个文本文件。
5.根据权利要求3所述的基于Hadoop的图像质量评估***,其特征在于,所述定义图像文件的输入数据类型,具体为:
(2-1)定义图像输入的数据类型ImgFile类,图像输入ImgFile类实现Writable接口,定义getImage()成员函数,getHeight()成员函数,getWidth()成员函数;
(2-2)定义图像文件输入格式ImgFileInputFormat类,图像文件输入格式ImgFileInputFormat类继承FlieInputFormat类,支持ImgFile类,将输入的图像文件切分成输入分片方式,增加图像文件读取的定义,以一幅完整图像为一个分片,不进行文件分割;
(2-3)定义图像键值对读入格式ImgFileRecordReader类,图像键值对读入格式ImgFileRecordReader类继承RecordReader类,将输入键值对定义为<图像文件名,图像内容>的形式,并从InputSplit中读取记录的键值对供Mapper处理;所述图像文件名是Text类型的一个实例,所述图像内容是ImgFile类型的一个实例。
6.根据权利要求3所述的基于Hadoop的图像质量评估***,其特征在于,所述在map函数中实现图像质量评估,具体为:
(3-1)实现MapReduce对图像质量评估算法的调用,即以Java语言编写的MapReduce程序使用JNI接口调用由C++代码开发的图像质量评估算法,实现图像的分类和质量预测,具体过程为:
首先,生成图像质量评估的核心算法的C++源文件;然后把C++源文件编译成可加载和调用的so文件;最后,将训练好的分类和评估模型存储在数据文件中,以供算法在执行任务中调用;
(3-2)实现MapReduce函数,即在map类和reduce类中实现map和reduce函数,具体为:
在map阶段,首先,map函数接收一张图像并读入为ImgFile类型,作为键值对<图像文件名,图像内容>中的图像内容;然后,获取键值对的图像内容并将其转换成int数组;接着,将int数组输入到JNI函数setSourceImageJni()中设置C++代码中的图像输入;最后,再以函数Evaluate()或Classify()对其进行区域划分、特征提取和分类评估处理;
在reduce阶段,reduce函数汇总map函数输出的每张图像的分类或分数预测结果到一个文本文件中。
7.根据权利要求1所述的基于Hadoop的图像质量评估***,其特征在于,所述Hadoop集群使用Hadoop存档工具HadoopArchives节省集群主节点namenode内存,具体为:
首先,在利用MapReduce进行图像质量评估之前用HadoopArchives把图像存档为HAR文件;然后,把HAR文件上传至HDFS;最后把HAR文件作为MapReduce的输入进行处理。
8.根据权利要求1所述的基于Hadoop的图像质量评估***,其特征在于,所述Hadoop集群进行图像质量评估时采用任务JVM重用的工作模式,即每个map任务可以重复使用一个相同的JVM,具体为:
把HDOOP_CONF_DIR/mapred-site.xml文件中的mapred.job.reuse.jvm.num.tasks参数设置为-1,JavaVirtualMachine重复使用无限次。
9.根据权利要求1所述的基于Hadoop的图像质量评估***,其特征在于,所述Hadoop集群进行图像质量评估时使用FairScheduler作业调度策略,根据各个作业的大小、上传时间调度作业和合理分配计算资源,让所有作业都能得到集群资源的最公平共享。
10.根据权利要求1所述的基于Hadoop的图像质量评估***,其特征在于,所述客户端和Hadoop集群之间的通信采用socket技术。
CN201511022591.3A 2015-12-29 2015-12-29 一种基于Hadoop的图像质量评估*** Active CN105677763B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201511022591.3A CN105677763B (zh) 2015-12-29 2015-12-29 一种基于Hadoop的图像质量评估***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201511022591.3A CN105677763B (zh) 2015-12-29 2015-12-29 一种基于Hadoop的图像质量评估***

Publications (2)

Publication Number Publication Date
CN105677763A true CN105677763A (zh) 2016-06-15
CN105677763B CN105677763B (zh) 2019-08-20

Family

ID=56298092

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201511022591.3A Active CN105677763B (zh) 2015-12-29 2015-12-29 一种基于Hadoop的图像质量评估***

Country Status (1)

Country Link
CN (1) CN105677763B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126601A (zh) * 2016-06-20 2016-11-16 华南理工大学 一种社保大数据分布式预处理方法及***
CN106371908A (zh) * 2016-08-31 2017-02-01 武汉鸿瑞达信息技术有限公司 基于粒子群算法的图像视频过滤任务分配的优化方法
CN106549949A (zh) * 2016-10-31 2017-03-29 广西东方道迩科技有限公司 一种图像数据处理***及其图像数据处理方法
CN108256118A (zh) * 2018-02-13 2018-07-06 腾讯科技(深圳)有限公司 数据处理方法、装置、***、计算设备以及存储介质
CN108900335A (zh) * 2018-06-28 2018-11-27 泰康保险集团股份有限公司 基于Hadoop的工作流管理方法和装置
CN110378332A (zh) * 2019-06-14 2019-10-25 上海咪啰信息科技有限公司 一种集装箱码头箱号和车号识别方法及***
CN113836130A (zh) * 2021-09-28 2021-12-24 深圳创维智慧科技有限公司 数据质量评估方法、装置、设备及存储介质
CN115422126A (zh) * 2022-11-04 2022-12-02 浪潮软件股份有限公司 一种证照ofd版式文件快速转图片的方法、***及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI779808B (zh) * 2021-08-30 2022-10-01 宏碁股份有限公司 影像處理方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103207889A (zh) * 2013-01-31 2013-07-17 重庆大学 一种基于Hadoop的海量人脸图像的检索方法
US20140270494A1 (en) * 2013-03-15 2014-09-18 Sri International Computer vision as a service

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103207889A (zh) * 2013-01-31 2013-07-17 重庆大学 一种基于Hadoop的海量人脸图像的检索方法
US20140270494A1 (en) * 2013-03-15 2014-09-18 Sri International Computer vision as a service

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
WEINING WANG 等: "A System of Image Aesthetic Classification and Evaluation Using Cloud Computing", 《CCPR 2014》 *
王贤伟: "基于Hadoop的外观专利图像检索***的研究与实现", 《中国优秀硕士学位论文全文数据库 信息科技辑》 *

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126601A (zh) * 2016-06-20 2016-11-16 华南理工大学 一种社保大数据分布式预处理方法及***
CN106371908A (zh) * 2016-08-31 2017-02-01 武汉鸿瑞达信息技术有限公司 基于粒子群算法的图像视频过滤任务分配的优化方法
CN106549949A (zh) * 2016-10-31 2017-03-29 广西东方道迩科技有限公司 一种图像数据处理***及其图像数据处理方法
CN108256118A (zh) * 2018-02-13 2018-07-06 腾讯科技(深圳)有限公司 数据处理方法、装置、***、计算设备以及存储介质
CN108256118B (zh) * 2018-02-13 2023-09-22 腾讯科技(深圳)有限公司 数据处理方法、装置、***、计算设备以及存储介质
CN108900335A (zh) * 2018-06-28 2018-11-27 泰康保险集团股份有限公司 基于Hadoop的工作流管理方法和装置
CN110378332A (zh) * 2019-06-14 2019-10-25 上海咪啰信息科技有限公司 一种集装箱码头箱号和车号识别方法及***
CN113836130A (zh) * 2021-09-28 2021-12-24 深圳创维智慧科技有限公司 数据质量评估方法、装置、设备及存储介质
CN113836130B (zh) * 2021-09-28 2024-05-10 深圳创维智慧科技有限公司 数据质量评估方法、装置、设备及存储介质
CN115422126A (zh) * 2022-11-04 2022-12-02 浪潮软件股份有限公司 一种证照ofd版式文件快速转图片的方法、***及装置

Also Published As

Publication number Publication date
CN105677763B (zh) 2019-08-20

Similar Documents

Publication Publication Date Title
CN105677763A (zh) 一种基于Hadoop的图像质量评估***
US11455189B2 (en) Task scheduling simulation system
CN111400326B (zh) 一种智慧城市数据管理***及其方法
CN107515878B (zh) 一种数据索引的管理方法及装置
CN105045607A (zh) 一种实现多种大数据计算框架统一接口的方法
MX2014008007A (es) Topologias de borde de nube.
CN105550268A (zh) 大数据流程建模分析引擎
CN102750406A (zh) 一种基于模型集和差异模型的电网模型多版本管理方法
CN106126601A (zh) 一种社保大数据分布式预处理方法及***
CN107291539B (zh) 基于资源重要程度的集群程序调度方法
CN110968579B (zh) 执行计划的生成与执行方法、数据库引擎及存储介质
CN114610474B (zh) 一种异构超算环境下多策略的作业调度方法及***
CN102929646B (zh) 应用程序生成方法及装置
CN113407649A (zh) 数据仓库建模方法、装置、电子设备及存储介质
CN103699656A (zh) 一种基于GPU的面向海量多媒体数据的MapReduce平台
CN102508919A (zh) 数据处理方法及***
CN110471754A (zh) 作业调度中的数据展示方法、装置、设备及存储介质
CN112422977A (zh) 音视频转码任务的分配方法和分配装置
CN104239470A (zh) 一种面向分布式环境的空间数据复合处理***和方法
CN108287889A (zh) 一种基于弹性表模型的多源异构数据存储方法和***
CN102932416A (zh) 一种信息流任务的中间数据存储方法、处理方法及装置
CN112182031B (zh) 数据查询方法及装置、存储介质、电子装置
CN108319604B (zh) 一种hive中大小表关联的优化方法
CN116089414B (zh) 基于海量数据场景的时序数据库写入性能优化方法及装置
CN112132641A (zh) 电子***生成***及方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant