CN108874853A - 一种构造人脸图库的方法 - Google Patents

一种构造人脸图库的方法 Download PDF

Info

Publication number
CN108874853A
CN108874853A CN201810283897.1A CN201810283897A CN108874853A CN 108874853 A CN108874853 A CN 108874853A CN 201810283897 A CN201810283897 A CN 201810283897A CN 108874853 A CN108874853 A CN 108874853A
Authority
CN
China
Prior art keywords
picture
function
face
pictures
server
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
CN201810283897.1A
Other languages
English (en)
Other versions
CN108874853B (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.)
Focus Technology Co Ltd
Original Assignee
Focus Technology Co Ltd
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 Focus Technology Co Ltd filed Critical Focus Technology Co Ltd
Priority to CN201810283897.1A priority Critical patent/CN108874853B/zh
Publication of CN108874853A publication Critical patent/CN108874853A/zh
Application granted granted Critical
Publication of CN108874853B publication Critical patent/CN108874853B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)

Abstract

本发明公开了一种构造人脸图库的方法,包括如下步骤:步骤1,使用浏览器从网页上爬取图片;步骤2,使用SFTP server将本地图片上传到服务器,用Python下的ssh命令创建目录;步骤3,调用服务器提供的图片相似度函数,爬取接口函数的返回值;步骤4,使用rand()函数寻找标准图片;步骤5,使用dele()函数进行图片过滤。本方法灵活简便,可以根据不同的需求建立不同的深度学习训练图库。

Description

一种构造人脸图库的方法
技术领域
本发明涉及图片爬取领域,特别是涉及一种构造人脸图库的方法。
背景技术
由于人脸识别需要大量的训练图库,训练库的大小对人脸识别的准确性影响较大,训练库越大,在一定程度上,可以提高准确性,所以图库的建立就显得十分重要。但是,如何能找到数十万百万高质量的人脸图片,用来提供模型的训练?常见的有二种方法:第一种,调用别人提供的图库接口,这个只能提供试用,因为图库如果缺失了你需要的样本,可能会导致准确性的降低;第二种,自己建立图库,首先容易想到的是在网上抓取图片,但是抓取到的图片会出现质量参差不齐,需要进一步对图片进行过滤清洗。第二种方法灵活,可以根据不同的需求建立不同的图库,所以本文的主要工作是对抓取的图片进行清洗过滤。
本发明希望通过对抓取的图片进行清洗过滤,来构造一个数十万的图库,用于人脸识别的训练。
发明内容
本发明所要解决的技术问题是克服现有技术的不足,提供一种构造人脸图库的方法。
为解决上述技术问题,本发明提供一种构造人脸图库的方法,包括如下步骤:
步骤1,使用浏览器从网页上爬取图片;
步骤2,使用SFTP server将图片上传到服务器,创建目录使用Python的ssh命令;
步骤3,调用服务器提供的图片相似度函数,爬取接口函数的返回值;
步骤4,使用rand()函数寻找标准图片;
步骤5,使用dele()函数进行图片过滤。
所述步骤1中,先查看图片的网页源码,生成网址列表,使用浏览器发送请求获取数据,下载图片;所述步骤2中,使用SFTP server将图片上传到服务器,用Python下的ssh命令创建目录;所述步骤3中,使用多线程断点续传爬取接口函数的返回值;所述步骤4中,rand()函数寻找标准图片;所述步骤5中,dele()函数是指将爬取的接口函数返回值和给定的阈值进行比较,如果小于阈值,则删除其对应的图片。
所述步骤1中,使用浏览器发送请求获取数据时,抓取一个或多个xhr并对比Request URL,获得搜索关键词,根据关键词写出需要请求的所有网址,网址中的中文会被编码成UTF-8,每个中文3个字节,每个字节前加上%号,根据网址下载图片。
所述步骤3中,所述图片相似度函数的返回值是求两张图片向量的余弦值,所述图片向量基于CNN提取图片特征,对图片向量做降维归一化处理,使用多层卷积神经网络,提取出图片特征向量,其值范围在-1到1之间。
所述步骤4中,所述标准图片的定义是,图片上是本人,且图片中的人脸尽可能是正脸,在爬取图片时对每个人脸都抓取150张图片,从爬取的150张图片中,寻找正脸图片作为标准模板,通过随机算法选出人脸,具体随机算法是:首先,从150张中,随机选20张,为集合A,然后从剩余130张随机选10张,为集合B,接着,让A中每张图分别和B中所有图对比相似度得分,A中每张图就对应一个相似度总得分,选出A中总得分最高为标准图片。
所述步骤3中,所述多层卷积神经网络是指层数大于十层的卷积神经网络,所述步骤5中,阈值设为0.6。
本发明所达到的有益效果:方法灵活简便,可以根据不同的需求建立不同的深度学习训练图库。
附图说明
图1为本发明的示例性实施例中的图片过滤的方法处理流程图;
图2为本发明的示例性实施例中的爬取图片的方法处理流程图;
具体实施方式
下面结合附图和示例性实施例对本发明作进一步的说明:
如图1、图2所示,本发明的示例性实施例展示了一种基于爬取图片并过滤的方法,主要重点在于图片的过滤,通过建立模型,进行图片的过滤清洗。具体包括:
1、爬取图片到本地S10
可以先基于搜索引擎的图片网站,爬取许多图片网址信息,下载到数据库中,根据图片网址进行多线程图片的下载。
其中,根据图片网址进行多线程图片的下载如图2的步骤S15“生成网址列表”、S16“发送请求获取数据”、S17“解析数据得到网址”和S18“图片下载”所示,例如,查看网页源码,发现同一张图片有四种网址:
"thumbURL":
"http://img1.imgtn.bdimg.com/it/u=757023778,2840825931&fm=21&gp=0.GIF",
"middleURL":
"http://img1.imgtn.bdimg.com/it/u=757023778,2840825931&fm=21&gp=0.GIF",
"hoverURL":
"http://img1.imgtn.bdimg.com/it/u=757023778,2840825931&fm=23&gp=0.GIF",
"objURL":"http://imgsrc.baidu.com/forum/w=580/sign=b3bcc2f88a5494ee87220f111df4e0e1/78fed309b3de9c82913abac86a81800a18d84344.GIF"
经测试,前三种都有反爬虫措施,用浏览器可以打开,但是刷新一次就403Forbidden。用爬虫获取不到图片。第四种objURL是图片的源网址,打开浏览器如Chrome,按F12,切换到Network标签,然后将网页向下拉。这时浏览器地址栏的网址并没有改变,而网页中的图片却一张张增加,说明网页在后台与服务器交互数据。下拉网页,再抓一个xhr,对比一下它们的Request URL,URL末尾有三处变化,最后一项看上去是时间戳,经过测试,直接把它删了也没事,那么只需要研究pn和gsm值。继续下拉,到底的时候点加载更多图片,多抓几个xhr对比一下URL的末尾部分:
pn=120&rn=60&gsm=78
pn=180&rn=60&gsm=b4
pn=240&rn=60&gsm=f0
pn=300&rn=60&gsm=12c
pn=360&rn=60&gsm=168
pn是一个60为步长的等差数列。gsm看上去是16进制,转换成十进制,发现它就是pn值,试了也可以删掉。经测试,rn是步长值,最大只能取60,填入大于60的数,仍然以60为步长。如果删了rn,则步长值变为30。pn是图片编号,从0开始。看看这两项:
queryWord=%E9%95%BF%E8%80%85%E8%9B%A4
word=%E9%95%BF%E8%80%85%E8%9B%A4
这就是本次搜索的关键词,网址中的中文会被编码成UTF-8,每个中文3个字节,每个字节前加上%号。那么,我们可以写出指定关键词需要请求的所有网址:
def buildUrls(word):
word=urllib.parse.quote(word)
url=r"http://image.baidu.com/search/acjson?tn=resultjson_com&ipn=rj&ct=201326592&fp=result&queryWord={word}&cl=2&lm=-1&ie=utf-8&oe=utf-8&st=-1&ic=0&word={word}&face=0&istype=2nc=1&pn={pn}&rn=60"urls=(url.format(word=word,pn=x)for x in itertools.count(start=0,step=60))return urls
根据网址就可以下载图片。
2、本地图片传至服务器S11
通过SFTP server,基于python语言,多线程的把本地图片上传到服务器文件夹中,方便下一步调用图片相似度函数。
函数sftp_put_dir(self)主要功能是连接服务器,上传本地图片到远程/home/image/下。
3、调用图片相似度函数S12
调用服务器提供的相似度函数接口,多线程爬取函数返回值。调用两张图片的相似度函数,相似度主要求两张图片向量的余弦值,相比其它图片相似度方法,如PSNR峰值信噪比,基于对应像素点间的误差,并未考虑到人眼的视觉特性,会经常出现评价结果与人的主观感觉不一致的情况,而计算特征点和感知哈希算法,计算量大,十分耗时。这里的图片向量是基于CNN提取的特征向量,使用大于十层的卷积神经网络,对图片向量做降维归一化处理,提取出图片特征向量,其值范围在-1到1之间。图片相似度函数保存在服务器上,提供了一个接口函数用来本地线程的访问,接口函数返回两张图片的余弦值。在爬取接口函数的返回值时,会遇到服务器拒绝访问,返回值异常等问题,这时需要做好断点续传工作,避免重复访问已调用过的图片。
4、寻找标准图片S13
标准图片的定义,图片上是本人,且图片中的人脸尽可能是正脸。在爬取图片时对每个人脸都抓取150张图片,从爬取的150张图片中,寻找正脸图片作为标准模板。一开始通过人工筛选出正脸,但工作量太大。后来通过随机算法选出人脸,反复试验,最终选出的正脸效果很不错。具体随机算法:首先,从150张中,随机选20张,为集合A,然后从剩余130张随机选10张,为集合B,接着,让A中每张图分别和B中所有图对比相似度得分,A中每张图就对应一个相似度总得分,选出A中总得分最高为标准图片。该函数rand_model(name)为整个程序最主要的函数,用于寻找标准的人脸图片,找到得分最高的,作为标准图片,也即步骤14的模板图片。
5、图片过滤S14
对于每个人名文件夹,每个文件夹中的所有图片和一张标准图片进行图片相似度匹配,即调用相似度函数,爬取服务器返回值,根据爬取的返回值和给定的阈值进行比较,如果小于阈值,就说明此图片的质量太差,可能不是本人,可以把照片给删除。最后,得到每人大约50张高质量的图片。
函数dele(name,x,model)功能是把爬取的图片相似度值和阈值比较,低于阈值的就直接删除,此处设定的阈值是0.6,此值是根据相似度得分,和对应的图片比对,最后选定的,过滤出来的图片效果最佳,基本符合图库所需的图片质量要求。
本发明主要用于提供一种构造人脸图库的方法,本方法灵活简便,可以根据不同的需求建立不同的深度学习训练图库。
以上实施例不以任何方式限定本发明,凡是对以上实施例以等效变换方式做出的其它改进与应用,都属于本发明的保护范围。

Claims (6)

1.一种构造人脸图库的方法,其特征在于,包括如下步骤:
步骤1,使用浏览器从网页上爬取图片;
步骤2,使用SFTP server将图片上传到服务器,用Python的ssh命令创建目录;
步骤3,调用服务器提供的图片相似度函数,爬取接口函数的返回值;
步骤4,使用rand()函数寻找标准图片;
步骤5,使用dele()函数进行图片过滤。
2.如权利要求1所述的一种构造人脸图库的方法,其特征在于,所述步骤1中,先查看图片的网页源码,生成网址列表,使用浏览器发送请求获取数据,下载图片;所述步骤2中,使用SFTP server将下载的图片上传到服务器,用Python下的ssh命令创建目录;所述步骤3中,使用多线程断点续传爬取接口函数的返回值;所述步骤4中,rand()函数寻找标准图片;所述步骤5中,dele()函数指将爬取的接口函数返回值和给定的阈值进行比较,如果小于阈值,则删除其对应的图片。
3.如权利要求2所述的一种构造人脸图库的方法,其特征在于,所述步骤1中,使用浏览器发送请求获取数据时,抓取一个或多个xhr并对比Request URL,获得搜索关键词,根据关键词写出需要请求的所有网址,网址中的中文会被编码成UTF-8,每个中文3个字节,每个字节前加上%号,根据网址下载图片。
4.如权利要求3所述的一种构造人脸图库的方法,其特征在于,所述步骤3中,所述图片相似度函数的返回值是求两张图片向量的余弦值,所述图片向量基于CNN提取图片特征,对图片向量做降维归一化处理,使用多层卷积神经网络,提取出图片特征向量,其值范围在-1到1之间。
5.如权利要求4所述的一种构造人脸图库的方法,其特征在于,所述步骤4中,所述标准图片的定义是,图片上是本人,且图片中的人脸尽可能是正脸,在爬取图片时对每个人脸都抓取150张图片,从爬取的150张图片中,寻找正脸图片作为标准模板,通过随机算法选出人脸,具体随机算法是:首先,从150张中,随机选20张,为集合A,然后从剩余130张随机选10张,为集合B,接着,让A中每张图分别和B中所有图对比相似度得分,A中每张图就对应一个相似度总得分,选出A中总得分最高为标准图片。
6.如权利要求4所述的一种构造人脸图库的方法,其特征在于,所述步骤3中,所述多层卷积神经网络是指层数大于十层的卷积神经网络,所述步骤5中,阈值设为0.6。
CN201810283897.1A 2018-04-02 2018-04-02 一种构造人脸图库的方法 Active CN108874853B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810283897.1A CN108874853B (zh) 2018-04-02 2018-04-02 一种构造人脸图库的方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810283897.1A CN108874853B (zh) 2018-04-02 2018-04-02 一种构造人脸图库的方法

Publications (2)

Publication Number Publication Date
CN108874853A true CN108874853A (zh) 2018-11-23
CN108874853B CN108874853B (zh) 2019-08-02

Family

ID=64326619

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810283897.1A Active CN108874853B (zh) 2018-04-02 2018-04-02 一种构造人脸图库的方法

Country Status (1)

Country Link
CN (1) CN108874853B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116012924A (zh) * 2023-01-30 2023-04-25 人民网股份有限公司 人脸图库构建方法、装置及计算设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101211341A (zh) * 2006-12-29 2008-07-02 上海芯盛电子科技有限公司 图像智能模式识别搜索方法
CN102270234A (zh) * 2011-08-01 2011-12-07 北京航空航天大学 一种图像搜索方法及其搜索引擎
CN104778481A (zh) * 2014-12-19 2015-07-15 五邑大学 一种大规模人脸模式分析样本库的构建方法和装置
CN107506737A (zh) * 2017-08-29 2017-12-22 四川长虹电器股份有限公司 人脸性别识别方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101211341A (zh) * 2006-12-29 2008-07-02 上海芯盛电子科技有限公司 图像智能模式识别搜索方法
CN102270234A (zh) * 2011-08-01 2011-12-07 北京航空航天大学 一种图像搜索方法及其搜索引擎
CN104778481A (zh) * 2014-12-19 2015-07-15 五邑大学 一种大规模人脸模式分析样本库的构建方法和装置
CN107506737A (zh) * 2017-08-29 2017-12-22 四川长虹电器股份有限公司 人脸性别识别方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116012924A (zh) * 2023-01-30 2023-04-25 人民网股份有限公司 人脸图库构建方法、装置及计算设备
CN116012924B (zh) * 2023-01-30 2023-06-27 人民网股份有限公司 人脸图库构建方法、装置及计算设备

Also Published As

Publication number Publication date
CN108874853B (zh) 2019-08-02

Similar Documents

Publication Publication Date Title
Tariq et al. Gan is a friend or foe? a framework to detect various fake face images
US9411827B1 (en) Providing images of named resources in response to a search query
DE60129652T2 (de) Bildwiederauffindungssystem und Methode mit semantischer und eigenschaftenbasierter Relevanzrückmeldung
US9489401B1 (en) Methods and systems for object recognition
CN104915447B (zh) 一种热点话题追踪及关键词确定方法及装置
DE102019000294A1 (de) Erstellen unternehmensspezifischer Wissensgraphen
US8897508B2 (en) Method and apparatus to incorporate automatic face recognition in digital image collections
US20010044818A1 (en) System and method for identifying and blocking pornogarphic and other web content on the internet
US10366211B2 (en) Method, device and apparatus for recognizing picture
DE112016005555T5 (de) CAPTCHA-Aufgaben auf Bildbasis
DE112019005489T5 (de) Bestimmung visueller attribute zur inhaltsauswahl
CN111079043B (zh) 一种关键内容定位方法
DE102020007571A1 (de) Einsetzen einer auf natürlicher Sprache beruhenden Verarbeitung und mehrerer Objektdetektionsmodelle zum automatischen Auswählen von Objekten in Bildern
CN109815386B (zh) 一种基于用户画像的构建方法、装置及存储介质
DE112016005374T5 (de) Identifizieren von Abfragemustern und zugeordneten aggregierten Statistikdaten unter Suchabfragen
CN108509893A (zh) 基于微表情识别的影视评分方法、存储介质及智能终端
CN104281629B (zh) 从网页中提取图片的方法、装置及客户端设备
CN109241325A (zh) 一种基于深度特征的大规模人脸检索方法和设备
US20150104065A1 (en) Apparatus and method for recognizing object in image
CN108874853B (zh) 一种构造人脸图库的方法
CN110598787B (zh) 一种基于自定步长学习的软件bug分类方法
CN116680343A (zh) 基于融合多模态信息的实体和关系表示的链接预测方法
CN113239256B (zh) 生成网站签名的方法、识别网站的方法及装置
Yang et al. Finding badly drawn bunnies
CN104899320A (zh) 网页修复方法、终端、服务器及系统

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