一种基于Hadoop的图像质量评估系统技术方案

技术编号:14992721 阅读:275 留言:0更新日期:2017-04-03 23:18
本发明专利技术公开了一种基于Hadoop的图像质量评估系统,包括客户端和Hadoop集群;客户端包括服务选择模块和和图片传输模块;Hadoop集群包括主节点和多个子节点;所述主节点负责作业的初始化、作业的分配、作业的协调执行,同时负责管理集群的文件系统;所述子节点上设有图像质量评估模块,负责map任务和reduce任务的执行以及数据块存储;所述主节点上设有通信服务器,所述通信服务器负责接收从客户端发送过来的图像并为每个用户开启一个MapReduce作业进行图像质量评估。本发明专利技术利用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函数,具体为:在本文档来自技高网
...

【技术保护点】
一种基于Hadoop的图像质量评估系统,其特征在于,包括客户端和Hadoop集群;所述客户端包括服务选择模块和图片传输模块;所述服务选择模块用于选择用户需要质量评估的图像和服务,并显示从服务器端返回的图像质量评估的结果;所述图片传输模块用于通过互联网向服务器端发送用户请求、传输用户图像,以及接收从服务器端返回的结果;所述Hadoop集群包括主节点和多个子节点;所述主节点负责作业的初始化、作业的分配、作业的协调执行,同时负责管理集群的文件系统;所述子节点上设有图像质量评估模块,负责map任务和reduce任务的执行以及数据块存储;所述主节点上设有通信服务器,所述通信服务器负责接收客户端发送的图像并为每个用户开启一个MapReduce作业进行图像质量评估。

【技术特征摘要】
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处理多图像的工作流程:把整张图像作为一个输入分

\t片,并将整个分片作为一个记录;在map阶段,用户的每张图像将被看作一个
分片,由实现了图像质量评估算法的map函数处理;输入图像由<图像文件名,
图像内容>的键值对形式表示,输出结果由<图像文件名,图像质量评估结果>的
键值对形式表示;在reduce阶段,reduce任务将map任务的结果汇总并输出一
个文本文件。
5.根据权利要求3所述的基于Hadoop的图像质量评估系统,其特征在于,
所述定义图像文件的输入数据类型,具体为:
(2-1)定义图像输入的数据类型ImgFile类,图像输入ImgFile类实现Writable
接口,定义getImage()成员函数,getHeight()成员函数,getWidth()成员函数;
(2-2)定义图像文件输入格式ImgFileInputFormat类,图像文件输入格式
ImgFileInputFormat类继承FlieInputFormat类,支持ImgFile类,将...

【专利技术属性】
技术研发人员:王伟凝蔡成加赵伟健
申请(专利权)人:华南理工大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1