CN106777167A - 基于Spark框架的海量人脸图像检索系统及检索方法 - Google Patents

基于Spark框架的海量人脸图像检索系统及检索方法 Download PDF

Info

Publication number
CN106777167A
CN106777167A CN201611190945.XA CN201611190945A CN106777167A CN 106777167 A CN106777167 A CN 106777167A CN 201611190945 A CN201611190945 A CN 201611190945A CN 106777167 A CN106777167 A CN 106777167A
Authority
CN
China
Prior art keywords
image
retrieved
local area
spark
retrieval
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
CN201611190945.XA
Other languages
English (en)
Other versions
CN106777167B (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.)
Shanghai Advanced Research Institute of CAS
Original Assignee
Shanghai Advanced Research Institute of CAS
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 Shanghai Advanced Research Institute of CAS filed Critical Shanghai Advanced Research Institute of CAS
Priority to CN201611190945.XA priority Critical patent/CN106777167B/zh
Publication of CN106777167A publication Critical patent/CN106777167A/zh
Application granted granted Critical
Publication of CN106777167B publication Critical patent/CN106777167B/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/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2272Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2458Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
    • G06F16/2471Distributed queries
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/70Information retrieval; Database structures therefor; File system structures therefor of video data
    • G06F16/78Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/783Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content
    • G06F16/7837Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using objects detected or recognised in the video content
    • G06F16/784Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using metadata automatically derived from the content using objects detected or recognised in the video content the detected or recognised objects being people

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Software Systems (AREA)
  • Library & Information Science (AREA)
  • Fuzzy Systems (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Computational Linguistics (AREA)
  • Processing Or Creating Images (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Image Analysis (AREA)

Abstract

本发明提供一种基于Spark框架的海量人脸图像检索系统及检索方法,其中,所述检索系统包括:前端处理系统;与所述前端处理系统连接的Spark分布式流式计算集群;与所述Spark分布式流式计算集群连接的HDFS分布式文件系统;以及与所述Spark分布式流式计算集群连接的HBase分布式列式数据库。通过本发明提供的基于Spark框架的海量人脸图像检索系统及检索方法,解决了现有的人脸检索方法效率低的问题。

Description

基于Spark框架的海量人脸图像检索系统及检索方法
技术领域
本发明属于视频人脸图像检索技术领域,特别是涉及一种基于Spark框架的海量人脸图像检索系统及检索方法。
背景技术
近年来随着网络带宽技术和物联网行业的进步,智能手机等智能终端设备和应用迅速普及,围绕图像检索技术的相关研究越来越深入。在传统互联网端,谷歌、百度等大型互联网公司先后推出了以图搜图应用,著名电子商务平台淘宝网推出了通过图片搜索相似商品的功能。在移动互联网端,伴随着互联网知识的高速传播,植物类型识别、宠物狗品种识别等创新应用蓬勃发展。
在人脸搜索领域,目前,普遍采用的人脸图像检索技术为传统的BoVW(Bag ofVisual Words)视觉词袋检索模型,其技术要点在于,借鉴了文本检索技术中的词袋模型,通过提取图像中的视觉特征描述符(descriptor,也称特征点)并加以聚类形成视觉词汇表,对于一个待检索的图像,通过检测出的一组视觉词汇来表示,从视觉词汇表中找到相关的单词,计算拥有这些视觉单词的图像跟检索图像的相似度并以此排序,从而得到检索结果。这种方法在大规模人脸图像的场景下,将出现两点瓶颈,一是单机情况下,单位时间内能够处理的人脸图像数量有限,即便是开启多线程,其处理效率依然受限于机器的CPU核心数,无法无限扩展;二是视觉特征描述符的聚类过程缓慢,由于视觉特征描述符是高维向量,如果采用单机进行K均值聚类,其时间消耗将非常高。
鉴于此,有必要设计一种新的基于Spark框架的海量人脸图像检索系统及检索方法用于解决上述技术问题。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种基于Spark框架的海量人脸图像检索系统及检索方法,用于解决现有的人脸检索方法效率低的问题。
为实现上述目的及其他相关目的,本发明提供一种基于Spark框架的海量人脸图像检索系统,所述检索系统包括:
前端处理系统,与用户进行交互,用于采集待检索图像并将所述待检索图像发送给Spark分布式流式计算集群,及将检索结果反馈给用户;
与所述前端处理系统连接的Spark分布式流式计算集群,在索引阶段,用于从HDFS分布式文件系统中读取海量人脸图像数据,并对读取的海量人脸图像数据进行分布式并行处理,生成视觉单词词汇表和倒排索引表;在检索阶段,用于对待检索图像进行分布式并行处理,根据视觉单词词汇表和倒排索引表对处理后的待检索图像进行分布式并行检索,生成检索结果,并将检索结果反馈给前端处理系统;
与所述Spark分布式流式计算集群连接的HDFS分布式文件系统,用于存储海量人脸图像数据;
与所述Spark分布式流式计算集群连接的HBase分布式列式数据库,用于存储视觉特征单词词汇表及倒排索引表。
优选地,所述Spark分布式流式计算集群包括:
驱动器,在索引阶段,用于从HDFS分布式文件系统中读取海量人脸图像数据和从执行器中读取局部区域图像,进行拆分后分配给执行器;在检索阶段,用于将前端处理系统发送的待检索图像发送给执行器,再从执行器中读取局部区域图像,进行拆分后重新分配给执行器,以及对局部区域相似图像进行处理,生成相似图像列表并反馈给前端处理系统;
以及和所述驱动器连接的多个执行器,在索引阶段,用于分别接收、处理驱动器分配的人脸图像和局部区域图像,生成视觉单词词汇表和倒排索引表;在检索阶段,用于接收、处理驱动器发送的待检索图像和待检索图像的局部区域图像,并根据视觉单词词汇表和倒排索引表,分别对待检索图像的局部区域图像进行检索,生成局部区域相似图像。
优选地,所述执行器通过OpenCV视频/图像处理库对接收的人脸图像和待检索图像进行人脸检测,识别出局部区域图像。
本发明还提供一种如上述任一项所述的基于Spark框架的海量人脸图像检索系统的检索方法,所述检索方法包括索引阶段和检索阶段,其中,
索引阶段:Spark分布式流式计算集群从HDFS分布式文件系统中读取海量人脸图像数据,并对读取的海量人脸图像数据进行分布式并行处理,生成视觉单词词汇表和倒排索引表,并保存到HBase分布式列式数据库中;
检索阶段:前端处理系统接收到用户请求后,采集待检索图像后并将所述待检索图像发送给Spark分布式流式计算集群;所述Spark分布式流式计算集群对待检索图像进行分布式并行处理后,再从HBase分布式列式数据库中获取视觉单词词汇表及倒排索引表,并采用Spark Transformation及Spark Action操作对处理后的待检索图像进行分布式并行检索,生成检索结果,最后将检索结果通过前端处理系统反馈给用户。
优选地,所述索引阶段包括:
1.1)驱动器从HDFS分布式文件系统中读取海量人脸图像数据,并以图像为粒度进行数据拆分,将读取的人脸图像数据分配给各执行器;
1.2)各执行器分别接收驱动器分配的人脸图像数据,并通过OpenCV视频/图像处理库对接收到的每张人脸图像进行人脸检测,识别出每张人脸图像的局部区域图像,并计算得到每张局部区域图像对应的视觉特征描述符向量;
1.3)驱动器以局部区域图像为粒度对所有执行器中的局部区域图像进行拆分,将同一类局部区域图像分配到同一执行器;
1.4)各执行器根据分配的局部区域图像对应的视觉特征描述符向量,通过聚类算法对其内的视觉特征描述符向量进行聚类,生成视觉单词词汇表并保存到HBase分布式列式数据库中,再通过对视觉单词词汇表中的视觉单词进行分类统计,并根据分类统计结果计算视觉单词的权重,生成倒排索引表,保存到HBase分布式列式数据库中,其中,所述倒排索引表以key-value键值对的形式表示。
优选地,所述检索阶段包括:
2.1)前端处理系统接收用户的检索请求后,采集待检索图像,并将所述待检索图像发送给驱动器;
2.2)驱动器将接收的待检索图像发送给任一执行器,该执行器通过OpenCV视频/图像处理库对接收的待检索图像进行人脸检测,识别出所述待检索图像的局部区域图像,并计算得到每张局部区域图像对应的视觉特征描述符向量;
2.3)驱动器以局部区域图像为粒度对待检索图像的所有局部区域图像进行拆分,使任一局部区域图像均对应一执行器;
2.4)各执行器分别从HBase分布式列式数据库中读取视觉单词词汇表,根据视觉单词词汇表对其内的局部区域图像对应的视觉特征描述符向量进行分类统计,得到视觉特征描述符向量对应的视觉单词及该视觉单词对应的key-value键值对,并统计该视觉单词出现的次数;
2.5)各执行器分别从HBase分布式列式数据库中读取倒排索引表,并采用SparkTransformation操作中的join算子将2.4)中获得的key-value键值对与倒排索引表进行匹配,得到局部区域相似图像;
2.6)驱动器根据各局部区域相似图像的key-value键值对,进行分类统计,得到待检索图像的相似图像,并计算各相似图像的权重,再根据计算结果采用Spark Action操作中的collect算子对相似图像进行降序排列,得到相似图像列表,最后通过前端处理系统反馈给用户。
优选地,所述key-value键值对包括key和value两部分,其中,
所述key包括<局部区域ID_视觉单词ID>;
所述value包括含有该视觉单词的人脸图像列表,及列表中该视觉单词在对应的人脸图像中的权重。
优选地,所述局部区域图像包括左眼、右眼、鼻子、左嘴角、及右嘴角。
优选地,所述局部区域图像还包括额头、左眉毛、右眉毛、左耳朵、右耳朵、下颌、左脸颊、或右脸颊中的一种或多种。
如上所述,本发明的基于Spark框架的海量人脸图像检索系统及检索方法,具有以下有益效果:
1.本发明通过将Spark框架与人脸检索相结合,形成了基于Spark框架的分布式人脸图像检索系统,并利用多个执行器分布式并行处理的方式,解决了在索引阶段和检索阶段进行大数据处理时效率低的问题,大大提高了索引构建及图像检索的速度。
2.本发明所述的检索系统能够根据实际场景的数据规模及划分的局部区域图像进行合理增加或减少执行器的数量,具有极好的可扩展性。
3.本发明所述检索方法通过采用局部区域划分方法将人脸图像划分成多个局部区域图像,在进行人脸图像检索时,不仅减少了视觉单词噪点,还提高了检索速度;而且划分的局部区域数量越多,检索速度提升越大。
附图说明
图1显示为本发明所述检索系统的结构示意图。
图2显示为本发明所述检索方法的流程图。
图3显示为本发明所述索引阶段的流程图。
图4显示为本发明所述检索阶段的流程图。
元件标号说明
1 Spark分布式流式计算集群
1.1)~1.4) 步骤
2.1)~2.6) 步骤
具体实施方式
以下通过特定的具体实例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。
请参阅图1至图4。需要说明的是,本实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图式中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
实施例一
如图1所示,本实施例提供一种基于Spark框架的海量人脸图像检索系统,所述检索系统包括:
前端处理系统,与用户进行交互,用于采集待检索图像并将所述待检索图像发送给Spark分布式流式计算集群,及将检索结果反馈给用户;
与所述前端处理系统连接的Spark分布式流式计算集群,在索引阶段,用于从HDFS分布式文件系统中读取海量人脸图像数据,并对读取的海量人脸图像数据进行分布式并行处理,生成视觉单词词汇表和倒排索引表;在检索阶段,用于对待检索图像进行分布式并行处理,根据视觉单词词汇表和倒排索引表对处理后的待检索图像进行分布式并行检索,生成检索结果,并将检索结果反馈给前端处理系统;
与所述Spark分布式流式计算集群连接的HDFS分布式文件系统,用于存储海量人脸图像数据;
与所述Spark分布式流式计算集群连接的HDFS分布式文件系统,用于存储视觉特征单词词汇表及倒排索引表。
具体的,所述Spark分布式流式计算集群包括:
驱动器,在索引阶段,用于从HDFS分布式文件系统中读取海量人脸图像数据和从执行器中读取局部区域图像,进行拆分后分配给执行器;在检索阶段,用于将前端处理系统发送的待检索图像发送给执行器,再从执行器中读取局部区域图像,进行拆分后重新分配给执行器,以及对局部区域相似图像进行处理,生成相似图像列表并反馈给前端处理系统;
以及和所述驱动器连接的多个执行器,在索引阶段,用于分别接收、处理驱动器分配的人脸图像和局部区域图像,生成视觉单词词汇表和倒排索引表;在检索阶段,用于接收、处理驱动器发送的待检索图像和待检索图像的局部区域图像,并根据视觉单词词汇表和倒排索引表,分别对待检索图像的局部区域图像进行检索,生成局部区域相似图像。
需要说明的是,所述执行器通过OpenCV视频/图像处理库对接收的人脸图像和待检索图像进行人脸检测,识别出局部区域图像;其中,所述局部区域图像包括左眼、右眼、鼻子、左嘴角、及右嘴角。
进一步需要说明的是,所述局部区域图像还可以包括额头、左眉毛、右眉毛、左耳朵、右耳朵、下颌、左脸颊、或右脸颊中的一种或多种。
实施例二
如图2所示,本实施例还提供一种如实施例一所述的基于Spark框架的海量人脸图像检索系统的检索方法,所述检索方法包括索引阶段和检索阶段,其中,
索引阶段:Spark分布式流式计算集群从HDFS分布式文件系统中读取海量人脸图像数据,并对读取的海量人脸图像数据进行分布式并行处理,生成视觉单词词汇表和倒排索引表,并保存到HBase分布式列式数据库中;
检索阶段:前端处理系统接收到用户请求后,采集待检索图像后并将所述待检索图像发送给Spark分布式流式计算集群;所述Spark分布式流式计算集群对待检索图像进行分布式并行处理后,再从HBase分布式列式数据库中获取视觉单词词汇表及倒排索引表,并采用Spark Transformation及Spark Action操作对处理后的待检索图像进行分布式并行检索,生成检索结果,最后将检索结果通过前端处理系统反馈给用户。
下面请参阅图3至图4对索引阶段和检索阶段进行详细说明。
如图3所示,所述索引阶段包括:
1.1)驱动器从HDFS分布式文件系统中读取海量人脸图像数据,并以图像为粒度进行数据拆分,将读取的人脸图像数据分配给各执行器。
优选地,在本实施例中,驱动器从HDFS分布式文件系统中读取10万张人脸图像数据,并将10万张人脸图像平均分配给5个执行器,即每个执行器接收2万张人脸图像。
1.2)各执行器分别接收驱动器分配的人脸图像数据,并通过OpenCV视频/图像处理库对接收到的每张人脸图像进行人脸检测,识别出每张人脸图像的局部区域图像,并计算得到每张局部区域图像对应的视觉特征描述符向量。
具体的,所述局部区域图像包括左眼、右眼、鼻子、左嘴角、及右嘴角;当然,所述局部区域还包括额头、左眉毛、右眉毛、左耳朵、右耳朵、下颌、左脸颊、或右脸颊中的一种或多种。优选地,在本实施例中,所述局部区域图像包括左眼、右眼、鼻子、左嘴角、及右嘴角。
具体的,处理局部区域图像的方法为任一种能够得到视觉特征描述符向量的方法,优选地,在本实施例中,采用尺度不变特征转换算子(SIFT:Scale-invariant featuretransform)计算得到每张局部区域图像对应的视觉特征描述符向量。
具体为每个执行器各接收2万张人脸图像,通过OpenCV视频/图像处理库在每张人脸图像上识别出左眼、右眼、鼻子、左嘴角、及右嘴角5个局部区域图像,再通过SIFT计算得到每张局部区域图像对应的视觉特征描述符向量。
需要说明的是,通过对海量人脸图像进行拆分,并通过使用SparkTransformation操作中的map、flatMap、reduceByKey算子对多个执行器进行分布式并行处理,大大提高了处理速度。
1.3)驱动器以局部区域图像为粒度对所有执行器中的局部区域图像进行拆分,将同一类局部区域图像分配到同一执行器。
具体为驱动器对5个执行器中的50万个局部区域图像进行拆分,将同一类的局部区域图像分配到同一执行器,即将10万个左眼分配到一个执行器中,10万个右眼分配到一个执行器中,10万个鼻子分配到一个执行器中,10万个左嘴角分配到一个执行器中,10万个右嘴角分配到一个执行器中。
1.4)各执行器根据分配的局部区域图像对应的视觉特征描述符向量,通过聚类算法对其内的视觉特征描述符向量进行聚类,生成视觉单词词汇表并保存到HBase分布式列式数据库中,再通过对视觉单词词汇表中的视觉单词进行分类统计,并根据分类统计结果计算视觉单词的权重,生成倒排索引表,保存到HBase分布式列式数据库中,其中,所述倒排索引表以key-value键值对的形式表示。
具体的,所述聚类算法为任一种能实现对所述视觉特征描述符向量进行聚类的算法,优选地,在本实施例中,所述聚类算法为k-means(k-平均算法)聚类算法。
具体的,所述key-value键值对包括key和value两部分,其中,
所述key包括<局部区域ID_视觉单词ID>;
所述value包括含有该视觉单词的人脸图像列表,及列表中该视觉单词在对应的人脸图像中的权重。
具体为每个执行器均采用k-means聚类算法对接收到的10万个局部区域图像对应的视觉特征描述符向量进行聚类,生成视觉单词词汇表,并保存到HBase分布式列式数据库中;然后在通过对视觉单词词汇表中的视觉单词进行分类统计,并根据分类统计结果计算视觉单词的权重,生成倒排索引表,保存到HBase分布式列式数据库中。
如图4所示,所述检索阶段包括:
2.1)前端处理系统接收用户的检索请求后,采集待检索图像,并将所述待检索图像发送给驱动器。
2.2)驱动器将接收的待检索图像发送给任一执行器,该执行器通过OpenCV视频/图像处理库对接收的待检索图像进行人脸检测,识别出所述待检索图像的局部区域图像,并计算得到每张局部区域图像对应的视觉特征描述符向量。
具体为执行器接收到待检索图像后,通过OpenCV视频/图像处理库在待检索图像上识别出左眼、右眼、鼻子、左嘴角、及右嘴角5个局部区域图像,再通过SIFT计算得到每个局部区域图像对应的视觉特征描述符向量。
2.3)驱动器以局部区域图像为粒度对待检索图像的所有局部区域图像进行拆分,使任一局部区域图像均对应一执行器;
具体为驱动器对待检索图像的5个局部区域图像进行拆分,将局部区域图像与执行器一一对应,即将左眼分配到一个执行器中,右眼分配到一个执行器中,鼻子分配到一个执行器中,左嘴角分配到一个执行器中,右嘴角分配到一个执行器中。
2.4)各执行器分别从HBase分布式列式数据库中读取视觉单词词汇表,根据视觉单词词汇表对其内的局部区域图像对应的视觉特征描述符向量进行分类统计,得到视觉特征描述符向量对应的视觉单词及该视觉单词对应的key-value键值对,并统计该视觉单词出现的次数。
2.5)各执行器分别从HBase分布式列式数据库中读取倒排索引表,并采用SparkTransformation操作中的join算子将2.4)中获得的key-value键值对与倒排索引表进行匹配,得到局部区域相似图像;
2.6)驱动器根据各局部区域相似图像的key-value键值对,进行分类统计,得到待检索图像的相似图像,并计算各相似图像的权重,再根据计算结果采用Spark Action操作中的collect算子对相似图像进行降序排列,得到相似图像列表,最后通过前端处理系统反馈给用户。
综上所述,本发明的基于Spark框架的海量人脸图像检索系统及检索方法,具有以下有益效果:
1.本发明通过将Spark框架与人脸检索相结合,形成了基于Spark框架的分布式人脸图像检索系统,并利用多个执行器分布式并行处理的方式,解决了在索引阶段和检索阶段进行大数据处理时效率低的问题,大大提高了索引构建及图像检索的速度。
2.本发明所述的检索系统能够根据实际场景的数据规模及划分的局部区域图像进行合理增加或减少执行器的数量,具有极好的可扩展性。
3.本发明所述检索方法通过采用局部区域划分方法将人脸图像划分成多个局部区域图像,在进行人脸图像检索时,不仅减少了视觉单词噪点,还提高了检索速度;而且划分的局部区域数量越多,检索速度提升越大。
所以,本发明有效克服了现有技术中的种种缺点而具高度产业利用价值。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (9)

1.一种基于Spark框架的海量人脸图像检索系统,其特征在于,所述检索系统包括:
前端处理系统,与用户进行交互,用于采集待检索图像并将所述待检索图像发送给Spark分布式流式计算集群,及将检索结果反馈给用户;
与所述前端处理系统连接的Spark分布式流式计算集群,在索引阶段,用于从HDFS分布式文件系统中读取海量人脸图像数据,并对读取的海量人脸图像数据进行分布式并行处理,生成视觉单词词汇表和倒排索引表;在检索阶段,用于对待检索图像进行分布式并行处理,根据视觉单词词汇表和倒排索引表对处理后的待检索图像进行分布式并行检索,生成检索结果,并将检索结果反馈给前端处理系统;
与所述Spark分布式流式计算集群连接的HDFS分布式文件系统,用于存储海量人脸图像数据;
与所述Spark分布式流式计算集群连接的HBase分布式列式数据库,用于存储视觉特征单词词汇表及倒排索引表。
2.根据权利要求1所述的基于Spark框架的海量人脸图像检索系统,其特征在于,所述Spark分布式流式计算集群包括:
驱动器,在索引阶段,用于从HDFS分布式文件系统中读取海量人脸图像数据和从执行器中读取局部区域图像,进行拆分后分配给执行器;在检索阶段,用于将前端处理系统发送的待检索图像发送给执行器,再从执行器中读取局部区域图像,进行拆分后重新分配给执行器,以及对局部区域相似图像进行处理,生成相似图像列表并反馈给前端处理系统;
以及和所述驱动器连接的多个执行器,在索引阶段,用于分别接收、处理驱动器分配的人脸图像和局部区域图像,生成视觉单词词汇表和倒排索引表;在检索阶段,用于接收、处理驱动器发送的待检索图像和待检索图像的局部区域图像,并根据视觉单词词汇表和倒排索引表,分别对待检索图像的局部区域图像进行检索,生成局部区域相似图像。
3.根据权利要求2所述的基于Spark框架的海量人脸图像检索系统,其特征在于,所述执行器通过OpenCV视频/图像处理库对接收的人脸图像和待检索图像进行人脸检测,识别出局部区域图像。
4.一种如权利要求1~3任一项所述的基于Spark框架的海量人脸图像检索系统的检索方法,其特征在于,所述检索方法包括索引阶段和检索阶段,其中,
索引阶段:Spark分布式流式计算集群从HDFS分布式文件系统中读取海量人脸图像数据,并对读取的海量人脸图像数据进行分布式并行处理,生成视觉单词词汇表和倒排索引表,并保存到HBase分布式列式数据库中;
检索阶段:前端处理系统接收到用户请求后,采集待检索图像后并将所述待检索图像发送给Spark分布式流式计算集群;所述Spark分布式流式计算集群对待检索图像进行分布式并行处理后,再从HBase分布式列式数据库中获取视觉单词词汇表及倒排索引表,并采用Spark Transformation及Spark Action操作对处理后的待检索图像进行分布式并行检索,生成检索结果,最后将检索结果通过前端处理系统反馈给用户。
5.根据权利要求4所述的基于Spark框架的海量人脸图像检索方法,其特征在于,所述索引阶段包括:
1.1)驱动器从HDFS分布式文件系统中读取海量人脸图像数据,并以图像为粒度进行数据拆分,将读取的人脸图像数据分配给各执行器;
1.2)各执行器分别接收驱动器分配的人脸图像数据,并通过OpenCV视频/图像处理库对接收到的每张人脸图像进行人脸检测,识别出每张人脸图像的局部区域图像,并计算得到每张局部区域图像对应的视觉特征描述符向量;
1.3)驱动器以局部区域图像为粒度对所有执行器中的局部区域图像进行拆分,将同一类局部区域图像分配到同一执行器;
1.4)各执行器根据分配的局部区域图像对应的视觉特征描述符向量,通过聚类算法对其内的视觉特征描述符向量进行聚类,生成视觉单词词汇表并保存到HBase分布式列式数据库中,再通过对视觉单词词汇表中的视觉单词进行分类统计,并根据分类统计结果计算视觉单词的权重,生成倒排索引表,保存到HBase分布式列式数据库中,其中,所述倒排索引表以key-value键值对的形式表示。
6.根据权利要求4所述的基于Spark框架的海量人脸图像检索方法,其特征在于,所述检索阶段包括:
2.1)前端处理系统接收用户的检索请求后,采集待检索图像,并将所述待检索图像发送给驱动器;
2.2)驱动器将接收的待检索图像发送给任一执行器,该执行器通过OpenCV视频/图像处理库对接收的待检索图像进行人脸检测,识别出所述待检索图像的局部区域图像,并计算得到每张局部区域图像对应的视觉特征描述符向量;
2.3)驱动器以局部区域图像为粒度对待检索图像的所有局部区域图像进行拆分,使任一局部区域图像均对应一执行器;
2.4)各执行器分别从HBase分布式列式数据库中读取视觉单词词汇表,根据视觉单词词汇表对其内的局部区域图像对应的视觉特征描述符向量进行分类统计,得到视觉特征描述符向量对应的视觉单词及该视觉单词对应的key-value键值对,并统计该视觉单词出现的次数;
2.5)各执行器分别从HBase分布式列式数据库中读取倒排索引表,并采用SparkTransformation操作中的join算子将2.4)中获得的key-value键值对与倒排索引表进行匹配,得到局部区域相似图像;
2.6)驱动器根据各局部区域相似图像的key-value键值对,进行分类统计,得到待检索图像的相似图像,并计算各相似图像的权重,再根据计算结果采用Spark Action操作中的collect算子对相似图像进行降序排列,得到相似图像列表,最后通过前端处理系统反馈给用户。
7.根据权利要求5所述的基于Spark框架的海量人脸图像检索方法,其特征在于,所述key-value键值对包括key和value两部分,其中,
所述key包括<局部区域ID_视觉单词ID>;
所述value包括含有该视觉单词的人脸图像列表,及列表中该视觉单词在对应的人脸图像中的权重。
8.根据权利要求4所述的检索方法,其特征在于,所述局部区域图像包括左眼、右眼、鼻子、左嘴角、及右嘴角。
9.根据权利要求8所述的检索方法,其特征在于,所述局部区域图像还包括额头、左眉毛、右眉毛、左耳朵、右耳朵、下颌、左脸颊、或右脸颊中的一种或多种。
CN201611190945.XA 2016-12-21 2016-12-21 基于Spark框架的海量人脸图像检索系统及检索方法 Active CN106777167B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611190945.XA CN106777167B (zh) 2016-12-21 2016-12-21 基于Spark框架的海量人脸图像检索系统及检索方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611190945.XA CN106777167B (zh) 2016-12-21 2016-12-21 基于Spark框架的海量人脸图像检索系统及检索方法

Publications (2)

Publication Number Publication Date
CN106777167A true CN106777167A (zh) 2017-05-31
CN106777167B CN106777167B (zh) 2020-05-12

Family

ID=58893529

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611190945.XA Active CN106777167B (zh) 2016-12-21 2016-12-21 基于Spark框架的海量人脸图像检索系统及检索方法

Country Status (1)

Country Link
CN (1) CN106777167B (zh)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107526772A (zh) * 2017-07-12 2017-12-29 湖州师范学院 Spark平台下基于SURF‑BIT算法的图像检索系统
CN107943952A (zh) * 2017-11-24 2018-04-20 北京赛思信安技术股份有限公司 一种基于Spark框架进行全文检索的实现方法
CN108595596A (zh) * 2018-04-19 2018-09-28 厦门启尚科技有限公司 一种图像相似度检索方法
CN109815652A (zh) * 2018-12-18 2019-05-28 浙江工业大学 一种基于Spark的实时主动性图片跟踪保护方法
CN110647545A (zh) * 2019-09-11 2020-01-03 旭辉卓越健康信息科技有限公司 一种基于Spark流式处理的人脸实时抓拍反馈系统
CN111400299A (zh) * 2020-06-04 2020-07-10 成都四方伟业软件股份有限公司 一种多种数据融合质量检验的方法及系统
CN112241684A (zh) * 2020-09-16 2021-01-19 四川天翼网络服务有限公司 一种人脸检索分布式计算方法及系统
CN112307829A (zh) * 2019-07-31 2021-02-02 北京博雅慧视智能技术研究院有限公司 一种数字视网膜海量目标检索时空矩阵呈现方法

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136062A (zh) * 2011-03-08 2011-07-27 西安交通大学 一种基于多分辨lbp的人脸检索方法
CN102982165A (zh) * 2012-12-10 2013-03-20 南京大学 一种大规模人脸图像检索方法
CN104376052A (zh) * 2014-11-03 2015-02-25 杭州淘淘搜科技有限公司 一种基于商品图像的同款商品合并方法
CN105205169A (zh) * 2015-10-12 2015-12-30 中国电子科技集团公司第二十八研究所 一种分布式图像索引与检索方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102136062A (zh) * 2011-03-08 2011-07-27 西安交通大学 一种基于多分辨lbp的人脸检索方法
CN102982165A (zh) * 2012-12-10 2013-03-20 南京大学 一种大规模人脸图像检索方法
CN104376052A (zh) * 2014-11-03 2015-02-25 杭州淘淘搜科技有限公司 一种基于商品图像的同款商品合并方法
CN105205169A (zh) * 2015-10-12 2015-12-30 中国电子科技集团公司第二十八研究所 一种分布式图像索引与检索方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107526772A (zh) * 2017-07-12 2017-12-29 湖州师范学院 Spark平台下基于SURF‑BIT算法的图像检索系统
CN107943952A (zh) * 2017-11-24 2018-04-20 北京赛思信安技术股份有限公司 一种基于Spark框架进行全文检索的实现方法
CN107943952B (zh) * 2017-11-24 2020-10-13 北京赛思信安技术股份有限公司 一种基于Spark框架进行全文检索的实现方法
CN108595596A (zh) * 2018-04-19 2018-09-28 厦门启尚科技有限公司 一种图像相似度检索方法
CN109815652A (zh) * 2018-12-18 2019-05-28 浙江工业大学 一种基于Spark的实时主动性图片跟踪保护方法
CN109815652B (zh) * 2018-12-18 2020-12-25 浙江工业大学 一种基于Spark的实时主动性图片跟踪保护方法
CN112307829A (zh) * 2019-07-31 2021-02-02 北京博雅慧视智能技术研究院有限公司 一种数字视网膜海量目标检索时空矩阵呈现方法
CN112307829B (zh) * 2019-07-31 2024-05-03 北京博雅慧视智能技术研究院有限公司 一种数字视网膜海量目标检索时空矩阵呈现方法
CN110647545A (zh) * 2019-09-11 2020-01-03 旭辉卓越健康信息科技有限公司 一种基于Spark流式处理的人脸实时抓拍反馈系统
CN111400299A (zh) * 2020-06-04 2020-07-10 成都四方伟业软件股份有限公司 一种多种数据融合质量检验的方法及系统
CN112241684A (zh) * 2020-09-16 2021-01-19 四川天翼网络服务有限公司 一种人脸检索分布式计算方法及系统

Also Published As

Publication number Publication date
CN106777167B (zh) 2020-05-12

Similar Documents

Publication Publication Date Title
CN106777167A (zh) 基于Spark框架的海量人脸图像检索系统及检索方法
WO2020238293A1 (zh) 图像分类方法、神经网络的训练方法及装置
Wang et al. Large-scale multimodal gesture recognition using heterogeneous networks
CN110147483B (zh) 一种标题重建方法及装置
WO2017113232A1 (zh) 一种基于深度学习的产品分类方法及装置
CN108614884A (zh) 一种基于卷积神经网络的服装图像检索方法
CN106095391B (zh) 基于大数据平台和算法模型的计算方法及系统
US10482146B2 (en) Systems and methods for automatic customization of content filtering
CN106855883A (zh) 基于视觉词袋模型的人脸图像检索方法
CN111768457B (zh) 图像数据压缩方法、装置、电子设备和存储介质
CN110751027B (zh) 一种基于深度多示例学习的行人重识别方法
WO2021047587A1 (zh) 手势识别方法、电子设备、计算机可读存储介质和芯片
CN111125469A (zh) 一种社交网络的用户聚类方法、装置以及计算机设备
Dai et al. Video scene segmentation using tensor-train faster-RCNN for multimedia IoT systems
Chalasani et al. Egocentric gesture recognition for head-mounted ar devices
CN103761286B (zh) 一种基于用户兴趣的服务资源检索方法
CN110909817B (zh) 分布式聚类方法及系统、处理器、电子设备及存储介质
WO2015176417A1 (zh) 一种用于认知状态识别的特征分组归一化方法
Pogorelov et al. A comparison of deep learning with global features for gastrointestinal disease detection
Liu et al. Dual-recommendation disentanglement network for view fuzz in action recognition
CN114333062A (zh) 基于异构双网络和特征一致性的行人重识别模型训练方法
CN104778205B (zh) 一种基于异构信息网络的移动应用排序和聚类方法
CN111191527B (zh) 属性识别方法、装置、电子设备及可读存储介质
Li et al. Action recognition with spatio-temporal augmented descriptor and fusion method
Zhdanov et al. Improving human action recognition through hierarchical neural network classifiers

Legal Events

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