CN103207889A - 一种基于Hadoop的海量人脸图像的检索方法 - Google Patents
一种基于Hadoop的海量人脸图像的检索方法 Download PDFInfo
- Publication number
- CN103207889A CN103207889A CN2013100384488A CN201310038448A CN103207889A CN 103207889 A CN103207889 A CN 103207889A CN 2013100384488 A CN2013100384488 A CN 2013100384488A CN 201310038448 A CN201310038448 A CN 201310038448A CN 103207889 A CN103207889 A CN 103207889A
- Authority
- CN
- China
- Prior art keywords
- hadoop
- hbase
- facial image
- image data
- image
- 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.)
- Pending
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Processing Or Creating Images (AREA)
- Image Analysis (AREA)
Abstract
本发明属于计算机领域,具体涉及一种基于Hadoop的海量人脸图像的检索方法,该方法主要包括如下步骤,步骤a:将海量人脸图像上传至Hadoop分布式文件系统HDFS,通过Hadoop的Mapreduce框架读取图像原始数据并存储在HBase中;步骤b:从HBase中读取原始图像数据,通过特征提取算法进行降维,把降维后的图像数据存储在HBase中;步骤c:通过Hadoop的Mapreduce框架从HBase中读取降维后的图像数据,对图像数据建立分布式搜索引擎Katta的索引,然后将Katta索引部署到Hadoop的集群环境中;步骤d:实现自定义评分的图像查询,在该查询中实现图像分类算法;步骤e:将待测人脸图像数据封装到自定义评分的图像查询中,通过分布式搜索引擎Katta完成人脸图像检索。
Description
技术领域
本发明属于计算机领域,具体涉及一种基于Hadoop的海量人脸图像的检索方法。
背景技术
人脸识别技术具有广泛的研究和实用价值,已成为模式识别与计算机智能领域中的一个热门课题。许多的研究者都对人脸识别算法进行了深入的研究,而基于这些算法的人脸识别系统很多,但是这些系统都存在一个无法避免的问题:当系统数据库中含有海量的人脸数据时,它们的人脸识别速度不能令人接受。
在传统的识别技术下,提高人脸识别速度主要采用两种方法:改进人脸识别算法和提高计算机配置,对于前者方法,改进一个人脸识别算法需要很长的时间,而且取得的效果并不好,随着人脸图像库的数据大量增加,算法的改变总不能适应新的变化;对于后者方法,需要的成本会随着图像库的数据量增加而增加,同时计算机配置总是有限制的,当图像数据量达到一定程度,计算机的配置不能无限制地增加,无法解决根本问题。
所以,有必要提出一种新的技术方案,以解决在低配置硬件环境中的海量人脸图像的检索速度问题。
发明内容
发明目的:针对现有技术存在的上述问题和不足,本发明的目的是提供一种基于Hadoop的海量人脸图像的检索方法,解决海量人脸图像识别速度慢的问题,实现在低配置的硬件环境中完成海量人脸图像的快速检索。
技术方案:为解决上述技术问题,本发明采用如下技术方案:一种基于Hadoop的海量人脸图像的检索方法,其特征在于:具体包括如下步骤:
步骤a:将海量人脸图像上传至Hadoop分布式文件系统HDFS,通过Hadoop的Mapreduce框架读取图像原始数据并存储在HBase中;
步骤b:从HBase中读取原始图像数据,通过特征提取算法进行降维,把降维后的图像数据存储在HBase中;
步骤c:通过Hadoop的Mapreduce框架从HBase中读取降维后的图像数据,对图像数据建立分布式搜索引擎Katta的索引,然后将Katta索引部署到Hadoop的集群环境中;
步骤d:实现自定义评分的图像查询,在该查询中实现图像分类算法;
步骤e:将待测人脸图像数据封装到自定义评分的图像查询中,通过分布式搜索引擎 Katta完成人脸图像检索。
相对于现有技术,本发明具有如下有益效果:
1、本发明将海量人脸图像数据存储在分布式数据库HBase中,为海量人脸图像数据的存储提供了一个可行的解决方案,缓解了传统方法中单机存储图像数据的压力。
2、本发明基于Hadoop平台,将人脸识别任务分发到由低配置的计算机组成的集群环境中,通过分布式搜索引擎Katta对图像进行检索,既节约了系统运行成本,又提高了人脸识别的速度。
附图说明
图1:方法整体过程的说明图
图2:HBase存储结构图
图3:PCA初始矩阵流程图
图4:Hadoop的Mapreduce框架创建Katta索引的说明图
具体实施方式
下面结合附图和实施例对本发明的技术做进一步的说明,应理解这些实施例仅用于说明本发明而不用于限制本发明的范围,在阅读本发明之后,本领域技术人员对发明的各种等价形式的修改均落于本申请所得权利要求所限定的范围。
如图1所示,本发明提供一种基于Hadoop的海量人脸图像的检索方法,具体包括如下步骤:
步骤a:将海量人脸图像上传至Hadoop分布式文件系统HDFS,通过Hadoop的Mapreduce框架读取图像原始数据并存储在HBase中:
a1:将海量人脸图像上传至HDFS,所有的人脸图像都分布式存储在Hadoop集群中的各个结点上;
a2:实现自定义的图像输入格式,继承FileInputFormat类,在createRecordReader函数中实例化一个RecordReader对象,然后在RecordReader类中实现nextKeyValue函数,完成Mapreduce的输入key/value的赋值;
a3:通过Hadoop的Mapreduce框架读取图像数据;
a4:通过HBase提供的Writables工具把a3中每个Mapreduce任务中读取的数据转换为字节数组,然后将这些字节数组插入到HBase表中,图像数据在HBase表中的存储结构如图2所示,一行存储一个类别的数据,行键为图像的类别信息,列名为图像名称,存储值为图像的数据;
步骤b:从HBase中读取原始图像数据,通过特征提取算法进行降维,把降维后的图像数据存储在HBase中:
b1:首先从HBase中读取图像数据,并把数据类型从字节数组转换为数据向量,然后将所有的图像数据读取到一个矩阵中,构建PCA(主成分分析法)算法的初始矩阵,构建初始矩阵流程如图3所示;
b2:通过特征提取算法对b1中初始矩阵进行变换,得到特征值和特征向量,降低原始图像数据的维度,然后将低维的图像数据转换为字节数组并存储在HBase中,低维的图像数据存储结构与a4中原始数据存储结构一致;
步骤c:通过Hadoop的Mapreduce框架从HBase中读取降维后的图像数据,对图像数据建立分布式搜索引擎Katta的索引,然后将Katta索引部署到Hadoop的集群环境中:
c1:通过Hadoop的Mapreduce框架从HBase表中读取数据,在每个Mapreduce任务中通过Lucene的索引器建立Katta索引碎片,将索引碎片上传至HDFS中同一文件夹下构成Katta索引。Mapreduce框架创建索引的流程图如图4所示。
c2:通过Katta的索引部署类将Katta索引部署到Hadoop的集群环境中;
步骤d:实现自定义评分的图像查询,在该查询中实现图像分类算法:
d1:首先创建一个简单Query对象,将简单Query对象作为参数传入CustomScoreQuery的构造函数,通过简单Query对象构建CustomScoreQuery对象,CustomScoreQuery对象即为自定义评分图像查询的对象,该对象与普通的Query对象一样添加到搜索器中进行搜索;
d2:覆盖CustomScoreQuery类中的getCustomScoreProvider方法,getCustomScoreProvider方法中包含一个IndexReader对象,通过该对象在域缓存中根据指定域读取计算图像相似度时需要的图像数据,在CustomScoreQuery的CustomScore函数中完成分类算法,最终的评分结果默认情况是按照该函数的返回值从大到小的顺序排列;
步骤e:将待测人脸图像数据封装到自定义评分的图像查询中,通过分布式搜索引擎Katta完成人脸图像检索。
e1:通过人脸检测算法从摄像头等视频采集设备获取人脸图像,对该人脸图像进行灰度化等预处理;
e2:获取e1中的待测人脸图像数据,通过特征提取算法对该数据进行降维处理;
e3:将e2中的低维待测人脸图像数据封装在自定义评分的图像查询中;
e4:将e3中的自定义评分的图像查询添加到Katta的搜索方法中,在Hadoop的集群环境中完成人脸图像检索,输出待测人脸图像的类别信息。
实施例:
本实施例中采用5万和10万张图像作为图像检索数据库,图像为灰度图像,原始图像大小为:112*92,降维后的维度为100,由1台master和5台slave构建人脸识别的云环境,两种数据量分别在单机上直接读取文件建立索引、单机上从HBase数据表中读取数据建立索引和从HBase表中读取数据通过Mapreduce框架建立索引的速度如表1、表2。
表1
由上述两个表格可知,从HBase表中读取数据创建索引文件比直接读取文件建立索引的时间减少很多,而采用Mapreduce从HBase表中读取虽然比直接从HBase读取数据创建索引文件耗时要多,但从上表也可看出随着图像数据量成倍的增加,Mapreduce读取HBase表创建索引的时间并没有成倍增加,而直接从HBase中读取数据创建索引时间则成倍增加,经 分析是由于本文实验采用的数据量并不够大,耗费的时间多用于了Mapreduce任务的分配以及环境中各个机器的数据通信,当数据量足够大时,Mapreduce的优势才能够显现出来
两种数据量在最近邻分类和线性回归分类算法中的识别速度分别如下表3、表4:
表3
由上述两表可知,通过Katta进行分布式图像搜索,在检索时间的问题上能够很好地解决,相比传统方式的检索时间大大减少,达到预期的目标,而对于Lucene单机检索在数据量较小时比较适用,当图像数据量较大时,只需增加集群环境中的结点数进行Katta分布式搜索,系统的运行成本不会大量增加。
最后说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的宗旨和范围,其均应涵盖在本发明的权利要求范围当中。
Claims (6)
1.一种基于Hadoop的海量人脸图像的检索方法,其特征在于:具体包括如下步骤:
步骤a:将海量人脸图像上传至Hadoop分布式文件系统HDFS,通过Hadoop的Mapreduce框架读取图像原始数据并存储在HBase中;
步骤b:从HBase中读取原始图像数据,通过特征提取算法进行降维,把降维后的图像数据存储在HBase中;
步骤c:通过Hadoop的Mapreduce框架从HBase中读取降维后的图像数据,对图像数据建立分布式搜索引擎Katta的索引,然后将Katta索引部署到Hadoop的集群环境中;
步骤d:实现自定义评分的图像查询,在该查询中实现图像分类算法;
步骤e:将待测人脸图像数据封装到自定义评分的图像查询中,通过分布式搜索引擎Katta完成人脸图像检索。
2.根据权利要求1所述一种基于Hadoop的海量人脸图像的检索方法,其特征在于:所述步骤a中,是通过Hadoop的Mapreduce框架读取图像数据,将同一类别的图像数据存储在HBase的一行中,同一类别下的不同图像数据存储在不同的列中。
3.根据权利要求1所述一种基于Hadoop的海量人脸图像的检索方法,其特征在于:所述步骤c中,是通过Hadoop的Mapreduce框架读取HBase表中的图像数据,在Mapreduce任务中建立Katta索引。
4.根据权利要求1所述一种基于Hadoop的海量人脸图像的检索方法,其特征在于:所述步骤d中,是实现了自定义评分的图像查询,将图像分类算法添加到该查询中。
5.根据权利要求1所述一种基于Hadoop的海量人脸图像的检索方法,其特征在于:所述步骤e中,是把待测人脸图像数据封装在自定义评分的图像查询中。
6.根据权利要求1所述一种基于Hadoop的海量人脸图像的检索方法,其特征在于:所述步骤e中,是将封装后的待测人脸图像数据添加到分布式搜索引擎Katta的搜索方法中,在Hadoop集群环境中完成人脸图像检索。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100384488A CN103207889A (zh) | 2013-01-31 | 2013-01-31 | 一种基于Hadoop的海量人脸图像的检索方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2013100384488A CN103207889A (zh) | 2013-01-31 | 2013-01-31 | 一种基于Hadoop的海量人脸图像的检索方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103207889A true CN103207889A (zh) | 2013-07-17 |
Family
ID=48755111
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2013100384488A Pending CN103207889A (zh) | 2013-01-31 | 2013-01-31 | 一种基于Hadoop的海量人脸图像的检索方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103207889A (zh) |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577604A (zh) * | 2013-11-20 | 2014-02-12 | 电子科技大学 | 一种用于Hadoop分布式环境的图像索引结构 |
CN103678691A (zh) * | 2013-12-26 | 2014-03-26 | 世纪禾光科技发展(北京)有限责任公司 | 一种基于hadoop的通用创建索引方法及系统 |
CN105094828A (zh) * | 2015-07-28 | 2015-11-25 | 北京京东尚科信息技术有限公司 | Hadoop数据文件的生成方法与解析方法 |
CN105677763A (zh) * | 2015-12-29 | 2016-06-15 | 华南理工大学 | 一种基于Hadoop的图像质量评估系统 |
CN105808589A (zh) * | 2014-12-31 | 2016-07-27 | 中国电信股份有限公司 | 文件处理的方法和装置 |
CN103678691B (zh) * | 2013-12-26 | 2016-11-30 | 世纪禾光科技发展(北京)有限公司 | 一种基于hadoop的通用创建索引方法及系统 |
CN106203508A (zh) * | 2016-07-11 | 2016-12-07 | 天津大学 | 一种基于Hadoop平台的图像分类方法 |
CN106407463A (zh) * | 2016-10-11 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种基于Hadoop的图像处理方法及系统 |
CN108268533A (zh) * | 2016-12-30 | 2018-07-10 | 南京烽火软件科技有限公司 | 一种用于图像检索的图像特征匹配方法 |
CN111814760A (zh) * | 2020-08-24 | 2020-10-23 | 湖南视觉伟业智能科技有限公司 | 人脸识别方法及系统 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663577A (zh) * | 2012-04-13 | 2012-09-12 | 苏州盛世华安智能科技有限公司 | 一种基于云平台的智慧城市物联系统 |
-
2013
- 2013-01-31 CN CN2013100384488A patent/CN103207889A/zh active Pending
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102663577A (zh) * | 2012-04-13 | 2012-09-12 | 苏州盛世华安智能科技有限公司 | 一种基于云平台的智慧城市物联系统 |
Non-Patent Citations (2)
Title |
---|
多雪松等: "基于Hadoop的海量数据管理系统", 《微计算机信息》 * |
陈广钊: "基于MapReduce的海量图像检索技术研究", 《西安电子科技大学硕士学位论文》 * |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103577604A (zh) * | 2013-11-20 | 2014-02-12 | 电子科技大学 | 一种用于Hadoop分布式环境的图像索引结构 |
CN103577604B (zh) * | 2013-11-20 | 2018-07-06 | 电子科技大学 | 一种用于Hadoop分布式环境的图像索引结构 |
CN103678691A (zh) * | 2013-12-26 | 2014-03-26 | 世纪禾光科技发展(北京)有限责任公司 | 一种基于hadoop的通用创建索引方法及系统 |
CN103678691B (zh) * | 2013-12-26 | 2016-11-30 | 世纪禾光科技发展(北京)有限公司 | 一种基于hadoop的通用创建索引方法及系统 |
CN105808589A (zh) * | 2014-12-31 | 2016-07-27 | 中国电信股份有限公司 | 文件处理的方法和装置 |
CN105094828B (zh) * | 2015-07-28 | 2018-09-11 | 北京京东尚科信息技术有限公司 | Hadoop数据文件的生成方法与解析方法 |
CN105094828A (zh) * | 2015-07-28 | 2015-11-25 | 北京京东尚科信息技术有限公司 | Hadoop数据文件的生成方法与解析方法 |
CN105677763A (zh) * | 2015-12-29 | 2016-06-15 | 华南理工大学 | 一种基于Hadoop的图像质量评估系统 |
CN105677763B (zh) * | 2015-12-29 | 2019-08-20 | 华南理工大学 | 一种基于Hadoop的图像质量评估系统 |
CN106203508A (zh) * | 2016-07-11 | 2016-12-07 | 天津大学 | 一种基于Hadoop平台的图像分类方法 |
CN106407463A (zh) * | 2016-10-11 | 2017-02-15 | 郑州云海信息技术有限公司 | 一种基于Hadoop的图像处理方法及系统 |
CN108268533A (zh) * | 2016-12-30 | 2018-07-10 | 南京烽火软件科技有限公司 | 一种用于图像检索的图像特征匹配方法 |
CN108268533B (zh) * | 2016-12-30 | 2021-10-19 | 南京烽火天地通信科技有限公司 | 一种用于图像检索的图像特征匹配方法 |
CN111814760A (zh) * | 2020-08-24 | 2020-10-23 | 湖南视觉伟业智能科技有限公司 | 人脸识别方法及系统 |
CN111814760B (zh) * | 2020-08-24 | 2021-06-01 | 湖南视觉伟业智能科技有限公司 | 人脸识别方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103207889A (zh) | 一种基于Hadoop的海量人脸图像的检索方法 | |
US11048966B2 (en) | Method and device for comparing similarities of high dimensional features of images | |
US10789231B2 (en) | Spatial indexing for distributed storage using local indexes | |
US9053386B2 (en) | Method and apparatus of identifying similar images | |
Douze et al. | Polysemous codes | |
Esuli | Use of permutation prefixes for efficient and scalable approximate similarity search | |
WO2018064962A1 (zh) | 数据存储方法、电子设备和计算机非易失性存储介质 | |
CN107045531A (zh) | 一种优化hdfs小文件存取的系统及方法 | |
CN102915365A (zh) | 基于Hadoop的分布式搜索引擎构建方法 | |
CN104834693A (zh) | 基于深度搜索的视觉图像检索方法及系统 | |
CN107515931B (zh) | 一种基于聚类的重复数据检测方法 | |
CN109166615A (zh) | 一种随机森林哈希的医学ct图像存储与检索方法 | |
Wang et al. | Duplicate discovery on 2 billion internet images | |
US8898139B1 (en) | Systems and methods for dynamic visual search engine | |
CN104778182A (zh) | 基于HBase的数据导入方法和系统 | |
CN104933143A (zh) | 获取推荐对象的方法及装置 | |
CN105589908A (zh) | 用于事务集合的关联规则计算方法 | |
CN103279489A (zh) | 一种元数据的存储方法、装置 | |
Ma et al. | St-hbase: a scalable data management system for massive geo-tagged objects | |
EP3123360B1 (en) | Partition filtering using smart index in memory | |
CN107273443B (zh) | 一种基于大数据模型元数据的混合索引方法 | |
Yin et al. | Content‐Based Image Retrial Based on Hadoop | |
Elleuch et al. | Multi-index structure based on SIFT and color features for large scale image retrieval | |
CN102831146A (zh) | 数据库子串过滤索引系统及其构建、查询方法 | |
US10872103B2 (en) | Relevance optimized representative content associated with a data storage system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20130717 |