CN108874853B - 一种构造人脸图库的方法 - Google Patents
一种构造人脸图库的方法 Download PDFInfo
- Publication number
- CN108874853B CN108874853B CN201810283897.1A CN201810283897A CN108874853B CN 108874853 B CN108874853 B CN 108874853B CN 201810283897 A CN201810283897 A CN 201810283897A CN 108874853 B CN108874853 B CN 108874853B
- Authority
- CN
- China
- Prior art keywords
- picture
- function
- face
- server
- pictures
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
- G06V40/168—Feature 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中,先查看图片的网页源码,生成网址列表,使用浏览器发送请求获取数据,抓取一个或多个xhr并对比Request URL,获得搜索关键词,根据关键词写出需要请求的所有网址,网址中的中文会被编码成UTF-8,每个中文3个字节,每个字节前加上%号,根据网址下载图片;所述步骤2中,使用SFTP server将下载的图片上传到服务器,用Python下的ssh命令创建目录;所述步骤3中,使用多线程断点续传爬取接口函数的返回值;所述步骤5中,使用dele()函数进行图片过滤指将爬取的接口函数返回值和给定的阈值进行比较,如果小于阈值,则删除其对应的图片。
所述步骤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“图片下载”所示,例如,查看网页源码,发现同一张图片有四种网址:
经测试,前三种都有反爬虫措施,用浏览器可以打开,但是刷新一次就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.***.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={wo rd}&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 (4)
1.一种构造人脸图库的方法,其特征在于,包括如下步骤:
步骤 1,使用浏览器从网页上爬取图片;
步骤 2,使用 SFTP server 将图片上传到服务器,用 Python 的 ssh 命令创建目录;
步骤 3,调用服务器提供的图片相似度函数,爬取接口函数的返回值;
步骤 4,使用 rand()函数寻找标准图片;
步骤 5,使用 dele()函数进行图片过滤;
所述步骤 1 中,先查看图片的网页源码,生成网址列表,使用浏览器发送请求获取数据,
抓取一个或多个 xhr 并对比 Request URL,获得搜索关键词,根据关键词写出需要请求的所有网址,网址中的中文被编码成 UTF-8,每个中文 3 个字节,每个字节前加上%号,根据网址下载图片;所述步骤 2 中,使用 SFTP server 将下载的图片上传到服务器,用Python 下的ssh 命令创建目录;所述步骤 3 中,使用多线程断点续传爬取接口函数的返回值;所述步骤 5中,使用 dele()函数进行图片过滤指将爬取的接口函数返回值和给定的阈值进行比较,如果小于阈值,则删除其对应的图片。
2.如权利要求 1 所述的一种构造人脸图库的方法,其特征在于,所述步骤 3 中,所述图片相似度函数的返回值是指求得的两张图片向量的余弦值,所述图片向量基于卷积神经网络提取图片特征,对图片向量做降维归一化处理,使用多层卷积神经网络,提取出图片特征向量,其值范围在-1 到 1 之间。
3.如权利要求 2 所述的一种构造人脸图库的方法,其特征在于,所述步骤 4 中,所述标准图片的定义是,图片上是本人,且图片中的人脸尽可能是正脸,在爬取图片时对每个人脸都抓取 150 张图片,从爬取的 150 张图片中,寻找正脸图片作为标准模板,通过随机算法选出人脸,具体随机算法是:首先,从 150 张中,随机选 20 张,为集合 A,然后从剩余130 张随机选 10 张,为集合 B,接着,让 A 中每张图分别和 B 中所有图对比相似度得分,A 中每张图就对应一个相似度总得分,选出 A 中总得分最高的图片为标准图片。
4.如权利要求 3 所述的一种构造人脸图库的方法,其特征在于,所述步骤 3 中,所述多层卷积神经网络是指层数大于十层的卷积神经网络,所述步骤 5 中,阈值设为 0.6。
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 CN108874853A (zh) | 2018-11-23 |
CN108874853B true 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) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116012924B (zh) * | 2023-01-30 | 2023-06-27 | 人民网股份有限公司 | 人脸图库构建方法、装置及计算设备 |
Citations (4)
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 | 四川长虹电器股份有限公司 | 人脸性别识别方法 |
-
2018
- 2018-04-02 CN CN201810283897.1A patent/CN108874853B/zh active Active
Patent Citations (4)
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 | 四川长虹电器股份有限公司 | 人脸性别识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108874853A (zh) | 2018-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tariq et al. | Gan is a friend or foe? a framework to detect various fake face images | |
DE60129652T2 (de) | Bildwiederauffindungssystem und Methode mit semantischer und eigenschaftenbasierter Relevanzrückmeldung | |
US9489401B1 (en) | Methods and systems for object recognition | |
DE69817176T2 (de) | Verfahren und Vorrichtung zur Eindringdetektion in Rechnern und Rechnernetzen | |
US8868619B2 (en) | System and methods thereof for generation of searchable structures respective of multimedia data content | |
CN104462152B (zh) | 一种网页的识别方法及装置 | |
DE102017011262A1 (de) | Themenverknüpfung und Markierung für dichte Bilder | |
US10366211B2 (en) | Method, device and apparatus for recognizing picture | |
DE102020007571A1 (de) | Einsetzen einer auf natürlicher Sprache beruhenden Verarbeitung und mehrerer Objektdetektionsmodelle zum automatischen Auswählen von Objekten in Bildern | |
DE102019000294A1 (de) | Erstellen unternehmensspezifischer Wissensgraphen | |
US20010044818A1 (en) | System and method for identifying and blocking pornogarphic and other web content on the internet | |
CN111079043B (zh) | 一种关键内容定位方法 | |
DE112016005555T5 (de) | CAPTCHA-Aufgaben auf Bildbasis | |
DE102016011905A1 (de) | Bestimmen der Qualität einer Zusammenfassung eines Multimediainhalts | |
CN110781460A (zh) | 版权认证方法、装置、设备、***及计算机可读存储介质 | |
WO2008073366A2 (en) | Target object recognition in images and video | |
CN105184159A (zh) | 网页篡改的识别方法和装置 | |
CN109472193A (zh) | 人脸检测方法及装置 | |
DE112016005374T5 (de) | Identifizieren von Abfragemustern und zugeordneten aggregierten Statistikdaten unter Suchabfragen | |
DE102016100696A1 (de) | Datensuche und Operator zum Ausschließen ungewünschter Ergebnisse phonetischer Suchen | |
CN108874853B (zh) | 一种构造人脸图库的方法 | |
KR20210051473A (ko) | 동영상 콘텐츠 식별 장치 및 방법 | |
US20150104065A1 (en) | Apparatus and method for recognizing object in image | |
Yang et al. | Finding badly drawn bunnies | |
CN115392238A (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 |