一种人脸聚类方法、装置和存储介质与流程

文档序号:16405761发布日期:2018-12-25 20:24阅读:341来源:国知局
一种人脸聚类方法、装置和存储介质与流程

本发明涉及通信技术领域,具体涉及一种人脸聚类方法、装置和存储介质。

背景技术

人脸聚类技术是人脸相关算法应用在安防等场景中的一项重要技术。以安防门禁场景为例,人脸聚类技术可以将人脸图像根据身份聚合起来,将针对单张图像的人脸识别转化为针对身份的人脸识别,大大降低因单张随机因素造成的误通过率与误报警率,同时在无注册信息的情况下,将采集到的人群建立身份,进行流向监控或陌生人检测。

目前常用的人脸聚类方案主要包括基于传统聚类算法(如k均值聚类、谱聚类)的人脸聚类方案,基于邻接关系度量距离的人脸聚类方案(如sharednearestneighbor、rank-order等),基于层次聚类的人脸聚类方案(dbscan、cure)等。

在对现有技术的研究和实践过程中,本发明的发明人发现,现有人脸聚类方案的准确性较低。



技术实现要素:

本发明实施例提供一种人脸聚类方法、装置和存储介质,可以提高人脸聚类的准确性。

本发明实施例提供一种人脸聚类方法,包括:

获取待聚类的人脸图像集合,并根据所述人脸图像集合构建人脸关系图,所述人脸关系图包括人脸图像对应的节点;

获取所述人脸关系图中未连接节点之间的人脸特征相似度,并根据所述人脸特征相似度对当前未连接节点进行连接;

当所述人脸关系图中仍存在未连接的未连接节点时,基于邻接关系度量距离的人脸聚类算法,对未连接节点进行连接聚类,得到聚类节点集;

当所述人脸关系图仍存在未连接的孤立节点时,根据孤立节点与聚类节点集之间的人脸特征相似度,对孤立节点进行连接聚类;

在全局内对聚类节点集进行合并,得到所述脸图像集合的聚类结果。

相应的,本发明实施例还提供一种人脸聚类装置,包括:

图像获取单元,用于获取待聚类的人脸图像集合,并根据所述人脸图像集合构建人脸关系图,所述人脸关系图包括人脸图像对应的节点;

相似度聚类单元,用于获取所述人脸关系图中未连接节点之间的人脸特征相似度,并根据所述人脸特征相似度对当前未连接节点进行连接;

邻接聚类单元,用于当所述人脸关系图中仍存在未连接的未连接节点时,基于邻接关系度量距离的人脸聚类算法,对未连接节点进行连接聚类,得到聚类节点集;

孤立节点聚类单元,用于当所述人脸关系图仍存在未连接的孤立节点时,根据孤立节点与聚类节点集之间的人脸特征相似度,对孤立节点进行连接聚类;

聚类合并单元,用于在全局内对聚类节点集进行合并,得到所述脸图像集合的聚类结果。

此外,本发明实施例还提供一种存储介质,所述存储介质存储有多条指令,所述指令适于处理器进行加载,以执行本发明实施例所提供的任一种人脸聚类方法中的步骤。

本发明实施例可以获取待聚类的人脸图像集合,并根据人脸图像集合构建人脸关系图;然后,获取人脸关系图中未连接节点之间的人脸特征相似度,并根据人脸特征相似度对当前未连接节点进行连接;当人脸关系图中仍存在未连接的未连接节点时,基于邻接关系度量距离的人脸聚类算法,对未连接节点进行连接聚类,得到聚类节点集;当人脸关系图仍存在未连接的孤立节点时,根据孤立节点与聚类节点集之间的人脸特征相似度,对孤立节点进行连接聚类;在全局内对聚类节点集进行合并,得到脸图像集合的聚类结果;由于该方案融合了基于层次与基于邻接关系的人脸聚类算法优势,可以大大提升人脸聚类的准确性。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1a是本发明实施例提供的人脸聚类方法的场景示意图;

图1b是本发明实施例提供的人脸聚类方法的流程图;

图2a是本发明实施例提供的人脸聚类方法的另一流程图;

图2b是本发明实施例提供的人脸聚类的整体示意图;

图2c是本发明实施例提供的人脸聚类算法的流程示意图;

图3a是本发明实施例提供的人脸聚类装置的结构示意图;

图3b是本发明实施例提供的人脸聚类装置的另一结构示意图;

图3c是本发明实施例提供的人脸聚类装置的另一结构示意图;

图3d是本发明实施例提供的人脸聚类装置的另一结构示意图;

图3e是本发明实施例提供的人脸聚类装置的另一结构示意图;

图4是本发明实施例提供的网络设备的结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例提供一种人脸聚类方法、装置和存储介质。

其中,该人脸聚类装置具体可以集成在网络设备中,该网络设备可以是终端或服务器等设备。

例如,如图1a所示,网络设备可以获取待聚类的人脸图像集合,并将人脸图像集合中的人脸图像作为节点;比如,可以接收图像采集设备如摄像设备发送的人脸图像;然后,对已知属于同一用户身份的节点进行连接;获取当前未连接节点之间的人脸特征相似度,并根据人脸特征相似度对当前未连接节点进行连接;当仍存在未连接的未连接节点时,基于邻接关系度量距离的人脸聚类算法,对未连接节点进行连接聚类,得到聚类节点集;当人脸关系图仍存在未连接的孤立节点时,根据孤立节点与聚类节点集之间的人脸特征相似度,对孤立节点进行连接聚类;在全局内对聚类节点集进行合并,得到脸图像集合的聚类结果。

其中,网络设备可以采集多个人脸图像及其对应的时空信息,时空信息包括:人脸图像的采集时间以及采集人脸图像的图像采集设备位置(如摄像头位置);根据时空信息将多个人脸图像划分成若干人脸图像集合;将人脸图像集合作为待聚类的人脸图像集合。

以下分别进行详细说明。需说明的是,以下实施例的序号不作为对实施例优选顺序的限定。

本实施例将从人脸聚类装置的角度进行描述,该人脸聚类装置具体可以集成在网络设备中,该网络设备可以是终端或服务器等设备,其中,该终端可以包括平板电脑、笔记本电脑或个人计算机(pc,personalcomputer)等。

如图1b所示,本发明实施例提供了一种人脸聚类方法,具体流程可以如下:

101、获取待聚类的人脸图像集合,并根据人脸图像集合构建人脸关系图像,人脸关系图包括人脸图像对应的节点。

其中,人脸图像集合包括多个人脸图像。该人脸图像可以由图像采集设备采集,比如,可以由摄像头采集等等。

例如,具体可以接收图像采集设备发送的人脸图像,得到人脸图像集合,其中,该图像采集设备可以包括摄像头设备等设备。

本发明实施例中的人脸聚类指的是:将相同身份的人脸图像聚合在一起,或者划分为一类。

在一实施例中,为了提升聚类的准确性,还可以引入人脸图像的时空信息,在聚类之前对人脸图像划分,然后,对划分后的人脸图像集合进行聚类。

比如,步骤“获取待聚类的人脸图像集合”,可以包括:

采集多个人脸图像及其对应的时空信息,时空信息包括:人脸图像的采集时间以及采集人脸图像的图像采集设备位置;

根据时空信息将多个人脸图像划分成若干人脸图像集合,得到待聚类的人脸图像集合。也即划分得到的人脸图像集合即为需要聚类的人脸图像集合。

其中,基于时空信息对人脸图像划分的方式有多种,比如,可以将相同图像采集设备采集的,并且采集时间满足预设时间条件的人脸图像划分到同一集合,或者,将采集时间满足预设时间条件,并且由不同图像采集设备采集到的人脸图像划分到同一集合,等等。

例如,可以对于相同摄像头采集到的人脸图像,可以根据采集时间划分成若干人脸图像集合,比如,可以将一分钟采集到的人脸图像划分到同一个集合,将两分钟采集到的人脸图像划分到同一个集合,将十个小时内采集到人脸图像划分到同一个集合。

其中,为了便于人脸聚类,可以将人脸图像集合中的人脸图像作为节点,以构建人脸关系图,即人脸关系graph,其中,一张人脸图像对应一个节点。

该人脸关系图为一个由人脸图像对应的节点构成的无向图。

在一实施例中,在构建人脸关系图像之后,如果存在已知属于同一身份的节点,那么将对节点进行连接,也即,本发明实施例方法还可以包括对已知属于同一用户身份的节点进行连接。

比如,在人脸关系graph初始化时,如果已知两个节点属于同一用户身份,则连接着两个节点。

由于人脸聚类算法在聚类时,需要使用多个阈值进行聚类,因此,在一实施例中,为了提升人脸聚类的准确性,可以针对不同的人脸图像集合采用不同的阈值组,具体地,预先配置多组阈值,在基于时空信息划分人脸图像集合后,可以基于人脸图像集合对应的时空信息从多组阈值中一组阈值。

也即,本发明实施例方法还可以包括:根据人脸图像集合对应的时空信息从多个预设阈值组中聚类使用的目标预设阈值组。

其中,预设阈值组可以包括:按人脸相似度连接节点使用的阈值、基于邻接关系度量距离的人脸聚类算法使用的阈值、孤立节点连接聚类使用的阈值、聚类节点合并使用的阈值,等等。

102、获取人脸关系图中未连接节点之间的人脸特征相似度,并根据人脸特征相似度对当前未连接节点进行连接。

当人脸关系图中存在未连接节点时,可以基于人脸特征相似度来连接节点,也即,点对点(即节点对节点)考量人脸从属关系。

其中,人脸特征相似度的计算方式可以有多种,比如,可以计算两个节点之间人脸特征的余弦相似度等等。

具体地,可以获取两个未连接节点之间的人脸特征相似度,当人脸特征相似度大于预设阈值时,则连接着两个未连接节点;当人脸特征相似度不大于预设阈值时,则不连接。

其中,预设阈值可以为人脸图像集合对应的目标预设阈值组中的阈值,比如,此时,可以使用目标预设阈值组中按人脸相似度连接节点的阈值。

103、当人脸关系图中仍存在未连接的未连接节点时,基于邻接关系度量距离的人脸聚类算法,对未连接节点进行连接聚类,得到聚类节点集。

通过步骤102可以将人脸关系图像中人脸特征相似度较高的节点连接聚类。在按人脸特征相似度连接聚类后,可以检测人脸关系图中是否还存在未连接的节点,若存在,则可以基于邻接关系度量距离的人脸聚类算法,对未连接节点进行连接聚类。步骤103是从线对线(即邻居节点集与邻居节点集)考量人脸从属关系。

其中,基于邻接关系距离度量的人脸聚类方案并不直接依赖人脸特征与人脸特征之间的绝对距离,而是通过距离的相对关系、共有的邻居列表等信息进行聚类。这类算法在聚类效果的精确度上有着非常良好的表现。该基于邻接关联距离度量的人脸聚类算法可以为rank-order聚类算法。

其中,基于邻接关系距离度量的人脸聚类方案具体实现方式可以包括:先确定节点之间共同的邻居节点,然后,基于邻居节点计算未连接节点之间的度量距离进行连接聚类。也即,步骤“基于邻接关系度量距离的人脸聚类算法,对未连接节点进行连接聚类”,可以包括:

确定未连接节点之间共同的邻居节点;

基于邻居节点获取未连接节点之间的邻接关系度量距离;

根据邻接关系度量距离对未连接节点进行连接聚类。

在一实施例中,还可以先两个未连接节点与邻居节点之间的度量距离,然后,根据度量距离计算两个未连接节点之间的邻接关系度量距离,比如,如rank-order距离,最后,根据邻接关系度量距离对两个未连接节点连接。

比如,以rank-order聚类算法为例,可以在确定两个未连接节点之间共同的邻居节点后,可以获取未连接节点与邻居节点之间的度量距离,然后,根据度量距离计算两个未连接节点之间rank-order距离,当rank-order距离小于预设阈值时,则连接这两个未连接的节点;若不小于,则不连接。其中,rank-order距比较的预设阈值可以为目标预设阈值组中的阈值。也即,在基于邻接关系距离度量的人脸聚类算法进行聚类的阈值可以使用目标预设阈值组中的阈值。

104、当人脸关系图仍存在未连接的孤立节点时,根据孤立节点与聚类节点集之间的人脸特征相似度,对孤立节点进行连接聚类。

其中,孤立节点可以为在经过基于邻接关系距离的连接聚类后,人脸关系图还存在的未连接的节点。其中,聚类节点集为已经出类别如身份的节点集合。

为了提升聚类准确性还可以,还可以从点对面(节点对节点集)考量人脸从属关系,对剩余未连接的节点进行连接聚类。具体地,可以计算孤立节点与聚类节点集之间的人脸特征相似度,然后,基于该人脸特征相似度来对孤立节点连接聚类。该步骤即为孤立节点寻找身份的步骤。

比如,步骤“根据孤立节点与聚类节点集之间的人脸特征相似度,对孤立节点进行连接聚类”,可以包括:

获取孤立节点与聚类节点集中每个节点之间的人脸特征相似度,得到多个人脸特征相似度;

获取目标人脸特性相似度的数量与人脸特征相似度总数量的比值,目标人脸特征相似度为大于第一预设阈值的人脸特征相似度;

当比值大于第二预设阈值时,将孤立节点与聚类节点集中的节点连接。

其中,比值可以为大于第一预设阈值的人脸特征相似度的数量与人脸特征相似度总数量之间的比值。

比如,可以遍历已经聚出类的聚类节点集,计算聚类节点集中每个节点与孤立节点之间的人脸特征相似度,然后,确定人脸特征相似度的总数量,以及大于第一预设阈值的人脸特征相似度的数量,根据这两个数量计算人脸特征相似度通过该第一预设阈值(即大于第一预设阈值)的比率。

其中,对孤立节点连接聚类使用的第一预设阈值可以根据实际需求设定,比如,可以小于步骤102基于人脸相似度连接聚类使用的阈值,该第一预设阈值以及比值比较使用的第二阈值可以为目标预设阈值组中的阈值。

105、在全局内对聚类节点集进行合并,得到脸图像集合的聚类结果。

在经过上述步骤聚类之后,可以得到若干已经聚出类的聚类节点集,为了提升人脸聚类精确性,还可以在全局范围内对聚类节点集进行合并,也即,对已聚出的类别如身份进行合并。

本发明实施例可以从面对面考量人脸从属关系,对于当前已有的类别,两两考察类别之间的相似度,基于类别之间的相似度对类别进行合并。

在一实施例中,首先确定人脸关系图中是否存在待合并的聚类节点集,若存在,对待合并的聚类节点集进行合并,可以在对类别即聚类节点集合并后,更新合并后聚类节点集的类别,然后,继续确定人脸关系图中是否存在待合并的聚类节点集,若存在,重复执行前述步骤进行聚类节点集的合并操作,若不存在,则输出聚类结果。

也即,步骤“在全局内对聚类节点集进行合并,得到聚类结果”,可以包括:

根据当前聚类节点集之间的人脸特性相似度确定是否存在待合并的聚类节点集;

若是,在全局范围内对待合并的聚类节点集进行合并,并更新合并后聚类节点集的类别,返回执行根据聚类节点集之间的人脸特性相似度确定是否存在待合并的聚类节点集的步骤;

若否,则输出聚类结果。

其中,基于聚类节点集之间的人脸特征相似度确定待合并的聚类节点集的方式有多种,比如,在一实施例中,可以预先设置一个相似度阈值,然后,计算两个聚类节点集之间节点对的相似度,当相似度通过(即大于)相似度阈值的节点对数量满足预设条件时,可以确定这两个聚类节点集为待合并的聚类节点集。

其中,预设条件可以根据实际需求设定,比如,可以包括相似度通过(即大于)相似度阈值的节点对数量与节点对总数量的数量比值大于预设阈值。

比如,步骤“根据当前聚类节点集之间的人脸特性相似度确定是否存在待合并的聚类节点集”,可以包括:

获取两个聚类节点集之间的笛卡尔积,得到多个节点对;

获取节点对中节点之间的人脸特征相似度,得到节点对的人脸特征相似度;

获取人脸相似度大于第三预设阈值的节点对与笛卡尔积节点对的数量比值;

当数量比值大于第四预设阈值时,确定两个聚类节点集为待合并的聚类节点集。

本发明实施例中,合并聚类节点集使用的相似度阈值(如第三预设阈值)、比例阈值(第四预设阈值)为目标预设阈值组中的阈值,也即可以采用人脸图像集合对应的目标预设阈值组中的阈值合并聚类节点集或类别。

其中,笛卡尔积即为笛卡尔乘积,笛卡尔乘积是指在数学中,两个集合x和y的笛卡尓积(cartesianproduct),又称直积,表示为x×y,第一个对象是x的成员而第二个对象是y的所有可能有序对的其中一个成员。

假设集合a={a,b},集合b={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}。

其中,输出聚类结果可以包括输出人脸关系图中的所有最大连通分量,其中,每个最大连通分量对应的一个类别如身份。其中,人脸关系图的最大连通分量为无向图的加大连通子图,包括相互连接的节点。求图的连通分量的目的,是为了确定从图中的一个顶点是否能到达图中的另一个顶点,也就是说,图中任意两个顶点之间是否有路径可达。

对于连通图,从图中任一顶点出发遍历图,可以访问到图的所有顶点,即连通图中任意两顶点间都是有路径可达的。

对于非连通图,从图中某个顶点出发遍历图,只能访问到包含顶点的那个连通分量中的所有顶点,而访问不到别的连通分量中的顶点。这就是说,在连通分量中的任意一对顶点之间都有路径,但是如果两个顶点分别处于图的不同连通分量之中,则图中就没有从一个顶点到另一顶点的路径,即从不可达。因此,只要求出图的所有连通分量,就可以知道图中任意两顶点之间是否有路径可达。

因此,根据上述描述,本发明实施例可以以人脸关系图中任一节点出发,遍历该图,输出所有有路径达到该节点的节点,输出的节点即为同一类别的节点。

在一实施例中,可以基于人脸图像的时空信息将多个人脸图像划分成若干集合,并采用上述方法分别若干人脸图像集合进行聚类,可以得到每个人脸图像集合对应的聚类结果。为了提升聚类准确性,还可以对若干人脸图像集合的聚类结果进行合并。此时,本发明实施例方法在得到人脸图像集合的聚类结果之后还可以包括:对若干人脸图像集合的聚类结果进行合并,得到合并后聚类结果。

在一实施例中,为了提升人脸聚类的质量,还可以对合并后聚类结果中的人脸图像进行过滤,比如,可以过滤掉合并聚类结果中质量较低的人脸图像,例如滤除侧脸、模糊等不易识别的人脸图像,减少低质量的冗余图像。此时,本发明实施例方法还可以包括:对合并后聚类结果中的人脸图像进行过滤,得到最终聚类结果。

例如,对于输出的已经聚合出类别如身份的聚类结果,可以以类别如身份的为单位进行人脸图像质量过滤,滤除侧脸、模糊等不易识别的人脸图像。将过来后的聚类结果作为最终聚类结果。

本发明实施例提的人脸聚类算法具有快速、精确的优点,可以应用在各种场景中,比如,可以采用该算法可以进行用户相册范围内的人脸在后台与移动端同时实现自动聚类,只需用户为建立的身份标注姓名即可方便的实现相册的管理、身份的查找等功能。

又比如,在即时通讯的图像小程序等场景下采集聊天内容中的图像,捕捉图像中的人脸并接入本算法进行身份自动聚类,在家庭群、集体出游等众多场景中极大的优化了群相册的使用体验,快速找到自己或特定脸孔出现的照片。

又比如,还可以应用在图像智能管理软件中,利用本算法,以较低开销实现海量人脸图像的聚类,优化了用户在相册寻找特定人物、整理相册等操作的体验。

又比如,该算法还可以应用在智能零售接近方案中,该算法的接入实现了对客流量、顾客行动轨迹、顾客历史入店次数的监控,为线下场景中优化购物体验、指导店铺布置、运营决策提供了高维度高价值高准确度的参考,助力数据驱动的新零售产业。

由上可知,本发明实施例获取待聚类的人脸图像集合,并根据人脸图像集合构建人脸关系图;然后,获取人脸关系图中未连接节点之间的人脸特征相似度,并根据人脸特征相似度对当前未连接节点进行连接;当人脸关系图中仍存在未连接的未连接节点时,基于邻接关系度量距离的人脸聚类算法,对未连接节点进行连接聚类,得到聚类节点集;当人脸关系图仍存在未连接的孤立节点时,根据孤立节点与聚类节点集之间的人脸特征相似度,对孤立节点进行连接聚类;在全局内对聚类节点集进行合并,得到脸图像集合的聚类结果;由于该方案融合了基于层次与基于邻接关系的人脸聚类算法优势,采用多级聚类算法,可以大大提升人脸聚类的准确性和效率。

此外,本发明实施例还额外引入时空信息辅助聚类,可以进一步提高人脸聚类的精确度。

根据前面实施例所描述的方法,以下将以该人脸聚类装置具体集成在网络设备举例作进一步详细说明。

参考图2a,人脸聚类流程可以如下:

201、网络设备采集人脸图像集合,并且获取人脸图像的时空信息。

其中,人脸图像集合包括多个人脸图像。

例如,网络设备具体可以接收图像采集设备如摄像头发送的人脸图像,以及人脸图像对应的时空信息,得到人脸图像集合;其中,该图像采集设备可以包括摄像头设备等。

其中,人脸图像的时空信息可以包括人脸图像的采集时间以及采集人脸图像的图像采集设备位置。比如,人脸图像的采集时间以及采集到该人脸图像的摄像头位置。

202、网络设备根据人脸图像的时空信息将人脸图像集合划分成若干人脸图像子集,并根据人脸图像子集对应的时空信息从多个聚类算法阈值组中选择人脸图像子集对应的阈值组。

其中,基于时空信息对人脸图像划分的方式有多种,比如,可以将相同图像采集设备采集的,并且采集时间满足预设时间条件的人脸图像划分到同一集合,或者,将采集时间满足预设时间条件,并且由不同图像采集设备采集到的人脸图像划分到同一集合,等等。

例如,可以对于相同摄像头采集到的人脸图像,可以根据采集时间划分成若干人脸图像集合,比如,可以将一分钟采集到的人脸图像划分到同一个集合,将两分钟采集到的人脸图像划分到同一个集合,将十个小时内采集到人脸图像划分到同一个集合。

譬如,参考图2b,可以输入人脸图像对应的时空信息,聚类开始时可以人脸图像的时空信息将人脸图像集合切分成若干人脸图像子集。具体地,可以将将采集时间位于相同时间区域内的人脸图像划分成若干子集,将同一个摄像头采集到的人脸图划分成若干子集。

由于人脸聚类算法在聚类时,需要使用多个阈值进行聚类,因此,在一实施例中,为了提升人脸聚类的准确性,可以针对不同的人脸图像集合采用不同的阈值组,具体地,预先配置多组阈值,在基于时空信息划分人脸图像集合后,可以基于人脸图像集合对应的时空信息从多组阈值中一组阈值。比如相同摄像头下采集的时间间隔较短的样本间以较低阈值的阈值组进行聚类。

其中,预设聚类算法阈值组可以包括:按人脸相似度连接节点使用的阈值、基于邻接关系度量距离的人脸聚类算法使用的阈值、孤立节点连接聚类使用的阈值、聚类节点合并使用的阈值,等等。

203、网络设备根据人脸图像子集构建相应的人脸关系图。

为了便于人脸聚类,可以将人脸图像子集中的人脸图像作为节点,以构建人脸关系图,即人脸关系graph,其中,一张人脸图像对应一个节点。该人脸关系图为一个由人脸图像对应的节点构成的无向图。

例如,参考图2c,开始阶段基于输入的人脸图像集合构建相应的人脸关系graph。

204、网络设备对人脸关系中已知属于同一身份的节点进行连接。

其中,人脸图像子集可能存在已知身份的人脸图像,因此,在人脸关系图像中也存在已知身份的节点,网络设备可以对已知属于同一身份的节点进行连接。

205、网络设备获取人脸关系图中未连接节点之间的人脸特征相似度,并根据人脸特征相似度和阈值组对当前未连接节点进行连接。

当人脸关系图中存在未连接节点时,网络设备可以基于人脸特征相似度来连接节点,也即,点对点(即节点对节点)考量人脸从属关系。

其中,人脸特征相似度的计算方式可以有多种,比如,可以计算两个节点之间人脸特征的余弦相似度等等。

具体地,网络设备可以获取两个未连接节点之间的人脸特征相似度,当人脸特征相似度大于阈值组中的第一特征相似度阈值时,则连接着两个未连接节点;当人脸特征相似度不大于预设阈值时,则不连接。

参考图2c,在构建人脸关系图之后,可以按人脸相似度连接节点。本发明实施例中人脸相似度指的是人脸的特征相似度。

206、当人脸关系图中仍存在未连接的未连接节点时,网络设备基于邻接关系度量距离的人脸聚类算法和阈值组,对未连接节点进行连接聚类。

在通过上述步骤按人脸特征相似度连接聚类后,可以检测人脸关系图中是否还存在未连接的节点,若存在,则可以基于邻接关系度量距离的人脸聚类算法,对未连接节点进行连接聚类,也即从从线对线(即邻居节点集与邻居节点集)考量人脸从属关系。

其中,基于邻接关系距离度量的人脸聚类方案并不直接依赖人脸特征与人脸特征之间的绝对距离,而是通过距离的相对关系、共有的邻居列表等信息进行聚类。这类算法在聚类效果的精确度上有着非常良好的表现。该基于邻接关联距离度量的人脸聚类算法可以为rank-order聚类算法。

其中,基于邻接关系距离度量的人脸聚类方案具体实现方式可以包括:先确定节点之间共同的邻居节点,然后,基于邻居节点计算未连接节点之间的度量距离进行连接聚类。

具体地,网络设备可以确定未连接节点之间共同的邻居节点;基于邻居节点获取未连接节点之间的邻接关系度量距离;根据邻接关系度量距离对未连接节点进行连接聚类。

比如,参考图2c,以rank-order聚类算法为例,可以在确定两个未连接节点之间共同的邻居节点后,可以获取未连接节点与邻居节点之间的度量距离,然后,根据度量距离计算两个未连接节点之间rank-order距离,当rank-order距离小于阈值组中的rank-order阈值时,则连接这两个未连接的节点;若不小于,则不连接。

207、当人脸关系图仍存在未连接的孤立节点时,网络设备根据孤立节点与聚类节点集之间的人脸特征相似度以及阈值组,对孤立节点进行连接聚类。

其中,孤立节点可以为在经过基于邻接关系距离的连接聚类后,人脸关系图还存在的未连接的节点。其中,聚类节点集为已经出类别如身份的节点集合。

为了提升聚类准确性还可以,还可以从点对面(节点对节点集)考量人脸从属关系,对剩余未连接的节点进行连接聚类。具体地,网络设备可以计算孤立节点与聚类节点集之间的人脸特征相似度,然后,基于该人脸特征相似度来对孤立节点连接聚类。

比如,网络设备可以获取孤立节点与聚类节点集中每个节点之间的人脸特征相似度,得到多个人脸特征相似度;获取目标人脸特性相似度的数量与人脸特征相似度总数量的比值,目标人脸特征相似度为大于阈值组中的相似度预设阈值的人脸特征相似度;当比值大于阈值组中比例阈值时,将孤立节点与聚类节点集中的节点连接。

其中,比值可以为大于相似度阈值的人脸特征相似度的数量与人脸特征相似度总数量之间的比值。

比如,参考图2c,在rank-order聚类之后,如果人脸关系图中还存在未连接的孤立节点时,可以遍历已经聚出类的聚类节点集,计算聚类节点集中每个节点与孤立节点之间的人脸特征相似度,然后,确定人脸特征相似度的总数量,以及大于阈值组中相似度阈值的人脸特征相似度的数量,根据这两个数量计算人脸特征相似度通过阈值中比例阈值(即大于比例阈值)的比率。

208、网络设备在全局范围内对聚类节点集进行合并,得到脸图像集合的聚类结果。

在经过上述步骤聚类之后,可以得到若干已经聚出类的聚类节点集,为了提升人脸聚类精确性,还可以在全局范围内对聚类节点集进行合并,也即,对已聚出的类别如身份进行合并。

比如,网络设备可以根据当前聚类节点集之间的人脸特性相似度确定是否存在待合并的聚类节点集;若是,在全局范围内对待合并的聚类节点集进行合并,并更新合并后聚类节点集的类别,返回执行根据聚类节点集之间的人脸特性相似度确定是否存在待合并的聚类节点集的步骤;若否,则输出聚类结果。

其中,根据聚类节点集之间的相似度确定待合并节点集的方式有多种,例如,网络设备可以获取两个聚类节点集之间的笛卡尔积,得到多个节点对;获取节点对中节点之间的人脸特征相似度,得到节点对的人脸特征相似度;获取人脸相似度大于阈值组中合并使用的相似度阈值的节点对与笛卡尔积节点对的数量比值;当数量比值大于阈值组中数量比例阈值时,确定两个聚类节点集为待合并的聚类节点集。

其中,笛卡尔积即为笛卡尔乘积,笛卡尔乘积是指在数学中,两个集合x和y的笛卡尓积(cartesianproduct),又称直积,表示为x×y,第一个对象是x的成员而第二个对象是y的所有可能有序对的其中一个成员。

假设集合a={a,b},集合b={0,1,2},则两个集合的笛卡尔积为{(a,0),(a,1),(a,2),(b,0),(b,1),(b,2)}。

其中,输出聚类结果可以包括输出人脸关系图中的所有最大连通分量,其中,每个最大连通分量对应的一个类别如身份。其中,人脸关系图的最大连通分量为无向图的加大连通子图,包括相互连接的节点。求图的连通分量的目的,是为了确定从图中的一个顶点是否能到达图中的另一个顶点,也就是说,图中任意两个顶点之间是否有路径可达。

参考图2c,在为孤立节点寻找身份之后,可以面对面考量人脸从属关系,对于当前已有的类别,两两考察类别间的相似度(类内节点通过一个预先设定的阈值的连接数占两类节点的笛卡尔积连接数的比率),若相似度高于一个预先设定的阈值,则确定这两类为可合并的两类,此时,合并两类,在合并完成后,更新所有类,检查全局范围内在更新后有无可以合并的类,若有,则重复前述步骤,若没有,则算法退出,输出人脸关系graph内的所有最大连通分量,每一个最大连通分量对应一个身份。

经过上述介绍的算法可以对每个人脸图像子集进行聚类,得到每个人脸图像子集对应的聚类结果。

209、网络设备可以对若干人脸图像子集的聚类结果进行合并。

其中,合并的方式可以参考上述在全局范围类合并聚类结果的方式,也即,可以基于聚类节点集之间的相似度进行合并。

例如,参考图2c,网络设备可以将人脸图像子集输入到相应阈值组的聚类算法模块进行聚类,然后,在全局范围内对人脸图像子集的聚类结果进行合并。

210、网络设备对合并后聚类结果进行人脸图像质量过滤,得到最终聚类结果。

比如,参考图2c,对于聚类算法模块输出的合并后聚类结果(包括已聚出的身份),可以以身份为单位过滤掉合并聚类结果中质量较低的人脸图像,例如滤除侧脸、模糊等不易识别的人脸图像,减少低质量的冗余图像。并输出过滤的身份聚类结果,以作为最终输出。

由上可知,本实施例采用了一种从点对点、线对线、点对面到面对面的多级聚类算法,结合了多种聚类算法优势,规避了对应的劣势,提升了人脸聚类的精确度和效率;此外,本发明实施例还额外引入时空信息辅助聚类,可以进一步提高人脸聚类的精确度。

为了更好地实施以上方法,本发明实施例还可以提供一种人脸聚类装置,该人脸聚类装置具体可以集成在网络设备中,该网络设备可以是终端或服务器等设备。

例如,如图3a所示,该人脸聚类装置可以包括图像获取单元301、相似度聚类单元302、邻接聚类单元303、孤立节点聚类单元304以及聚类合并单元305,如下:

图像获取单元301,用于获取待聚类的人脸图像集合,并根据所述人脸图像集合构建人脸关系图,所述人脸关系图包括人脸图像对应的节点;

相似度聚类单元302,用于获取所述人脸关系图中未连接节点之间的人脸特征相似度,并根据所述人脸特征相似度对当前未连接节点进行连接;

邻接聚类单元303,用于当所述人脸关系图中仍存在未连接的未连接节点时,基于邻接关系度量距离的人脸聚类算法,对未连接节点进行连接聚类,得到聚类节点集;

孤立节点聚类单元304,用于当所述人脸关系图仍存在未连接的孤立节点时,根据孤立节点与聚类节点集之间的人脸特征相似度,对孤立节点进行连接聚类;

聚类合并单元305,用于在全局内对聚类节点集进行合并,得到所述脸图像集合的聚类结果。

在一实施例中,参考图3b,邻接聚类单元303,可以包括:邻居节点确定子单元3031、距离获取子单元3032以及邻接聚类子单元3033;

邻居节点确定子单元3031,用于确定未连接节点之间共同的邻居节点;

距离获取子单元3032,用于基于所述邻居节点获取未连接节点之间的邻接关系度量距离;

邻接聚类子单元3033,用于根据邻接关系度量距离对未连接节点进行连接聚类。

在一实施例中,参考图3c,所述孤立节点聚类单元304,可以包括:相似度获取子单元3041、比值获取子单元3042以及连接子单元3043;

相似度获取子单元3041,用于获取孤立节点与聚类节点集中每个节点之间的人脸特征相似度,得到多个人脸特征相似度;

比值获取子单元3042,用于获取目标人脸特性相似度的数量与人脸特征相似度总数量的比值,所述目标人脸特征相似度为大于第一预设阈值的人脸特征相似度;

连接子单元3043,用于当所述比值大于第二预设阈值时,将孤立节点与所述聚类节点集中的节点连接

在一实施例中,参考图3d,所述聚类合并单元305,包括:确定子单元3051、合并更新子单元3052以及输出子单元3053;

确定子单元3051,用于根据当前聚类节点集之间的人脸特性相似度确定是否存在待合并的聚类节点集;

合并更新子单元3052,用于当所述确定子单元确定存在待合并的聚类节点集时,在全局范围内对待合并的聚类节点集进行合并,并更新合并后聚类节点集的类别,触发所述确定子单元3051执行根据聚类节点集之间的人脸特性相似度确定是否存在待合并的聚类节点集;

输出子单元3053,用于当所述确定子单元确定不存在待合并的聚类节点集时,则输出聚类结果。

在一实施例中,输出子单元3053,可以具体用于:

获取两个聚类节点集之间的笛卡尔积,得到多个节点对;

获取节点对中节点之间的人脸特征相似度,得到节点对的人脸特征相似度;

获取人脸相似度大于第三预设阈值的节点对与笛卡尔积节点对的数量比值;

当所述数量比值大于第四预设阈值时,确定所述两个聚类节点集为待合并的聚类节点集。

在一实施例中,参考图3e,人脸聚类装置还可以包括结果合并单元306;

其中,图像获取单元301可以包括:

采集子单元3011,用于采集多个人脸图像及其对应的时空信息,所述时空信息包括:人脸图像的采集时间以及采集人脸图像的图像采集设备位置;

划分子单元3012,用于根据所述时空信息将所述多个人脸图像划分成若干人脸图像集合,得到待聚类的人脸图像集合;

结果合并单元306,用于对若干人脸图像集合的聚类结果进行合并,得到合并后聚类结果;对合并后聚类结果中的人脸图像进行过滤,得到最终聚类结果。

在一实施例中,图像获取单元301还可以根据所述人脸图像集合对应的时空信息从多个预设阈值组中聚类使用的目标预设阈值组。

具体实施时,以上各个单元可以作为独立的实体来实现,也可以进行任意组合,作为同一或若干个实体来实现,以上各个单元的具体实施可参见前面的方法实施例,在此不再赘述。

由上可知,本实施例中人脸聚类装置通过图像获取单元301获取待聚类的人脸图像集合,并根据所述人脸图像集合构建人脸关系图,所述人脸关系图包括人脸图像对应的节点;然后,由相似度聚类单元302获取所述人脸关系图中未连接节点之间的人脸特征相似度,并根据所述人脸特征相似度对当前未连接节点进行连接;由邻接聚类单元303当所述人脸关系图中仍存在未连接的未连接节点时,基于邻接关系度量距离的人脸聚类算法,对未连接节点进行连接聚类,得到聚类节点集;由孤立节点聚类单元304当所述人脸关系图仍存在未连接的孤立节点时,根据孤立节点与聚类节点集之间的人脸特征相似度,对孤立节点进行连接聚类;由聚类合并单元305在全局内对聚类节点集进行合并,得到所述脸图像集合的聚类结果。由于该方案融合了基于层次与基于邻接关系的人脸聚类算法优势,采用多级聚类算法,可以大大提升人脸聚类的准确性和效率。

本发明实施例还提供一种网络设备,具体可以为终端,也可以为服务器,该网络设备可以集成本发明实施例所提供的任一种人脸聚类装置。

例如,如图4所示,其示出了本发明实施例所涉及的网络设备的结构示意图,具体来讲:

该网络设备可以包括一个或者一个以上处理核心的处理器401、一个或一个以上计算机可读存储介质的存储器402、电源403和输入单元404等部件。本领域技术人员可以理解,图4中示出的网络设备结构并不构成对网络设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。其中:

处理器401是该网络设备的控制中心,利用各种接口和线路连接整个网络设备的各个部分,通过运行或执行存储在存储器402内的软件程序和/或模块,以及调用存储在存储器402内的数据,执行网络设备的各种功能和处理数据,从而对网络设备进行整体监控。可选的,处理器401可包括一个或多个处理核心;优选的,处理器401可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器401中。

存储器402可用于存储软件程序以及模块,处理器401通过运行存储在存储器402的软件程序以及模块,从而执行各种功能应用以及数据处理。存储器402可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据网络设备的使用所创建的数据等。此外,存储器402可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。相应地,存储器402还可以包括存储器控制器,以提供处理器401对存储器402的访问。

网络设备还包括给各个部件供电的电源403,优选的,电源403可以通过电源管理系统与处理器401逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源403还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。

该网络设备还可包括输入单元404,该输入单元404可用于接收输入的数字或字符信息,以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。

尽管未示出,网络设备还可以包括显示单元等,在此不再赘述。具体在本实施例中,网络设备中的处理器401会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行文件加载到存储器402中,并由处理器401来运行存储在存储器402中的应用程序,从而实现各种功能,如下:

获取待聚类的人脸图像集合,并根据所述人脸图像集合构建人脸关系图;然后,获取所述人脸关系图中未连接节点之间的人脸特征相似度,并根据所述人脸特征相似度对当前未连接节点进行连接;当所述人脸关系图中仍存在未连接的未连接节点时,基于邻接关系度量距离的人脸聚类算法,对未连接节点进行连接聚类,得到聚类节点集;当所述人脸关系图仍存在未连接的孤立节点时,根据孤立节点与聚类节点集之间的人脸特征相似度,对孤立节点进行连接聚类;在全局内对聚类节点集进行合并,得到所述脸图像集合的聚类结果。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

由上可知,本实施例的网络设备可以获取待聚类的人脸图像集合,并根据所述人脸图像集合构建人脸关系图;然后,获取所述人脸关系图中未连接节点之间的人脸特征相似度,并根据所述人脸特征相似度对当前未连接节点进行连接;当所述人脸关系图中仍存在未连接的未连接节点时,基于邻接关系度量距离的人脸聚类算法,对未连接节点进行连接聚类,得到聚类节点集;当所述人脸关系图仍存在未连接的孤立节点时,根据孤立节点与聚类节点集之间的人脸特征相似度,对孤立节点进行连接聚类;在全局内对聚类节点集进行合并,得到所述脸图像集合的聚类结果;由于该方案融合了基于层次与基于邻接关系的人脸聚类算法优势,采用多级聚类算法,可以大大提升人脸聚类的准确性和效率。

本领域普通技术人员可以理解,上述实施例的各种方法中的全部或部分步骤可以通过指令来完成,或通过指令控制相关的硬件来完成,该指令可以存储于一计算机可读存储介质中,并由处理器进行加载和执行。

为此,本发明实施例提供一种存储介质,其中存储有多条指令,该指令能够被处理器进行加载,以执行本发明实施例所提供的任一种人脸聚类方法中的步骤。例如,该指令可以执行如下步骤:

获取待聚类的人脸图像集合,并根据所述人脸图像集合构建人脸关系图;然后,获取所述人脸关系图中未连接节点之间的人脸特征相似度,并根据所述人脸特征相似度对当前未连接节点进行连接;当所述人脸关系图中仍存在未连接的未连接节点时,基于邻接关系度量距离的人脸聚类算法,对未连接节点进行连接聚类,得到聚类节点集;当所述人脸关系图仍存在未连接的孤立节点时,根据孤立节点与聚类节点集之间的人脸特征相似度,对孤立节点进行连接聚类;在全局内对聚类节点集进行合并,得到所述脸图像集合的聚类结果。

以上各个操作的具体实施可参见前面的实施例,在此不再赘述。

其中,该存储介质可以包括:只读存储器(rom,readonlymemory)、随机存取记忆体(ram,randomaccessmemory)、磁盘或光盘等。

由于该存储介质中所存储的指令,可以执行本发明实施例所提供的任一种人脸聚类方法中的步骤,因此,可以实现本发明实施例所提供的任一种人脸聚类方法所能实现的有益效果,详见前面的实施例,在此不再赘述。

以上对本发明实施例所提供的一种人脸聚类方法、装置和存储介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1