一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种人物图像聚类方法及装置与流程

2022-03-09 01:06:25 来源:中国专利 TAG:


1.本技术涉及图像聚类技术领域,尤其涉及一种人物图像聚类方法及装置。


背景技术:

2.人像聚类是将人物图像分类到不同的簇(或类)的过程。其中同一个簇中的人物图像有很大的相似性,而不同簇间的人物图像有很大的相异性。对大量人物图像进行聚类,可为后期检索图像提供数据基础,也可为后期训练用于识别人物图像的模型提供大量的样本数据。
3.目前,常用的人像聚类方式关注人物图像的特征,在该人像聚类方式下,一般是提取大量人物图像的特征,将特征相近的人物图像归为一个簇。但这种人像聚类方式中,一旦人物图像质量较差,则会导致人物图像的聚类结果可靠性不高。


技术实现要素:

4.本技术实施例提供一种人物图像聚类方法及装置,用于提升聚类人物图像的可靠性。
5.第一方面,提供了一种人物图像聚类方法,包括:获得多个卡口各自的卡口特征,其中一个卡口的卡口特征用于描述所述一个卡口自身的位置、以及所述一个卡口与所述多个卡口中除了所述一个卡口之外的其他卡口之间的位置关系;分别基于获得的多个卡口特征,确定所述多个卡口各自在自组织映射网络中对应的优胜神经元,其中一个卡口对应的优胜神经元为所述自组织映射网络包含的多个神经元中与所述一个卡口的卡口特征之间的相似度最大的一个神经元;基于所述多个卡口各自对应的优胜神经元,分别确定所述多个卡口所属的簇;对属于同一个簇内的卡口在预设时间段内对应的人物图像进行聚类,得到聚类结果。
6.在本技术实施例,可提取多个卡口各自的卡口特征,并利用自组织映射网络对卡口特征进行处理,从而确定多个卡口各自对应的优胜神经元,进而根据优胜神经元确定卡口对应的簇,提供了一种利用自组织映射网络对卡口进行聚类的方式,由于对卡口进行聚类时无需考虑人物图像的质量,也就是说,人物图像质量不会影响卡口的聚类效果,并且卡口的位置以及两个卡口之间的位置关系等相对较容易采集且不会发生变化,因此卡口聚类的结果可靠性更高。并且,本技术实施例中利用自组织映射网络对卡口特征进行聚类处理,聚类的效率较高。并且,对于同个卡口上的摄像头采集的人物图像本身就具有一定的共性,例如采集的地点相同以及摄像参数相同等,因此本技术实施例中利用卡口的聚类结果作为图像的聚类结果,也可提高人物图像聚类的准确性。
7.在一种可能的实现方式中,获得多个卡口各自的卡口特征,包括:获取所述多个卡口各自的卡口数据,所述卡口数据包括卡口的位置数据、以及卡口与所述多个卡口中的其他卡口之间的路径数据;分别对获取的多个卡口数据,执行以下步骤:对所述多个卡口中的一个卡口的卡口数据进行主成分分析,获得所述一个卡口的卡口特征。
8.在上述实现方式中,可利用主成分分析对卡口数据进行处理,进而获得卡口特征,有利于降低卡口特征的数据维度,加快后续聚类的效率。
9.在一种可能的实现方式中,获取所述多个卡口各自的卡口数据,包括:接收所述多个卡口各自的位置数据;分别对所述多个卡口执行以下操作:以多个卡口中的一个卡口的位置为中心,以预设半径为搜索半径,搜索所述一个卡口与其他卡口中每个卡口之间的步行路径,所述其他卡口是指所述多个卡口中除了所述一个卡口之外的卡口;基于搜索的步行路径,确定所述一个卡口分别与所述其他卡口之间的路径数据。
10.在一种可能的实现方式中,分别基于获得的多个卡口特征,确定所述多个卡口各自在自组织映射网络中对应的优胜神经元,包括:对所述多个卡口特征,分别执行至少一次迭代操作,其中一次迭代操作包括以下过程:确定所述多个卡口中的一个卡口的卡口特征分别与所述多个神经元各自的权重之间的第一相似度,将取值最大的第一相似度对应的神经元作为优胜神经元;基于邻域半径,确定在所述优胜神经元邻域内的至少一个神经元;基于所述优胜神经元与所述至少一个神经元各自的距离以及学习率,分别更新所述至少一个神经元各自的权重;对邻域半径和学习率进行更新;直到所述自组织映射网络满足预设终止条件,则将最后一次迭代操作获得的优胜神经元作为所述一个卡口对应的优胜神经元。
11.在上述实现方式中,可对卡口特征进行迭代处理,直到自组织映射网络满足预设终止条件,从而获得卡口对应的优胜神经元,使得确定出的优胜神经元准确性更高。
12.在一种可能的实现方式中,对邻域半径和学习率进行更新,包括:按照预设第一速率,对所述自组织映射网络的学习率进行更新;以及,按照预设第二速率,对所述自组织映射网络的邻域半径进行更新;若更新后的学习率小于或等于预设学习率,和/或确定对所述一个卡口的卡口特征进行迭代操作次数满足预设次数,则确定所述自组织映射网络满足所述预设终止条件。
13.在上述实现方式中,提供了多种可能的预设终止条件,丰富了预设终止条件,也使得确定出的优胜神经元准确性更高。
14.在一种可能的实现方式中,基于所述多个卡口各自对应的优胜神经元,分别确定所述多个卡口所属的簇,包括:将对应同一个优胜神经元的卡口归属为同一个簇。
15.在上述实现方式中,可以直接将属于同一个优胜神经元的卡口归属为同一个簇,这样确定卡口所属的簇的方式更为简单直接。
16.在一种可能的实现方式中,将对应同一个优胜神经元的卡口归属为同一个簇,包括:若对应同一个优胜神经元的卡口的总数量大于或等于第一预设数量,且小于或等于第二预设数量,则将对应同一个优胜神经元的卡口归属为同一个簇,其中,所述第一预设数量小于所述第二预设数量。
17.在上述实现方式中,可以在确定对应同一个优胜神经元的卡口的总数量满足一定条件的情况下,才将对应同一个优胜神经元的卡口归属为同个簇,这样可保证属于同个簇的卡口的数量更合理,也就避免了后续同个簇的人物图像过多或过少。
18.在一种可能的实现方式中,将对应同一个优胜神经元的卡口归属为同一个簇,还包括:若对应同一个优胜神经元的卡口的总数量小于所述第一预设数量,则将对应所述同一个优胜神经元的卡口,以及对应与所述同一个优胜神经元的相邻的优胜神经元的卡口均归属为同一个簇;若对应同一个优胜神经元的卡口的总数量大于所述第二预设数量,则将
对应所述同一个优胜神经元的卡口划分归属为至少两个簇,其中,所述至少两个簇中每个簇包括的卡口的总数量大于或等于所述第一预设数量且小于或等于所述第二预设数量。
19.在上述实现方式中,如果对应同一个优胜神经元的卡口的总数量过少,则可将相邻的优胜神经元对应的卡口进行合并,如果对应同一个优胜神经元的卡口的总数量过多,则可将相邻的优胜神经元对应的卡口进行拆分,如此一来,可避免同个簇的卡口过多或者过少。
20.第二方面,提供一种人物图像聚类装置,包括:获得模块,用于获得多个卡口各自的卡口特征,其中一个卡口的卡口特征用于描述所述一个卡口自身的位置、以及所述一个卡口与所述多个卡口中除了所述一个卡口之外的其他卡口之间的位置关系;确定模块,用于分别基于获得的多个卡口特征,确定所述多个卡口各自在自组织映射网络中对应的优胜神经元,其中一个卡口对应的优胜神经元为所述自组织映射网络包含的多个神经元中与所述一个卡口的卡口特征之间的相似度最大的一个神经元,以及基于所述多个卡口各自对应的优胜神经元,分别确定所述多个卡口所属的簇;聚类模块,用于对属于同一个簇内的卡口在预设时间段内对应的人物图像进行聚类,得到聚类结果。
21.在一种可能的实现方式中,获得模块具体用于:获取所述多个卡口各自的卡口数据,所述卡口数据包括卡口的位置数据、以及卡口与所述多个卡口中的其他卡口之间的路径数据;分别对获取的多个卡口数据,执行以下步骤:对所述多个卡口中的一个卡口的卡口数据进行主成分分析,获得所述一个卡口的卡口特征。
22.在一种可能的实现方式中,获得模块具体用于:接收所述多个卡口各自的位置数据;分别对所述多个卡口执行以下操作:以多个卡口中的一个卡口的位置为中心,以预设半径为搜索半径,搜索所述一个卡口与其他卡口中每个卡口之间的步行路径,所述其他卡口是指所述多个卡口中除了所述一个卡口之外的卡口;基于搜索的步行路径,确定所述一个卡口分别与所述其他卡口之间的路径数据。
23.在一种可能的实现方式中,确定模块具体用于:对所述多个卡口特征,分别执行至少一次迭代操作,其中一次迭代操作包括以下过程:确定所述多个卡口中的一个卡口的卡口特征分别与所述多个神经元各自的权重之间的第一相似度,将取值最大的第一相似度对应的神经元作为优胜神经元;基于邻域半径,确定在所述优胜神经元邻域内的至少一个神经元;基于所述优胜神经元与所述至少一个神经元各自的距离以及学习率,分别更新所述至少一个神经元各自的权重;对邻域半径和学习率进行更新;直到所述自组织映射网络满足预设终止条件,则将最后一次迭代操作获得的优胜神经元作为所述一个卡口对应的优胜神经元。
24.在一种可能的实现方式中,确定模块具体用于:按照预设第一速率,对所述自组织映射网络的学习率进行更新;以及,按照预设第二速率,对所述自组织映射网络的邻域半径进行更新;若更新后的学习率小于或等于预设学习率,和/或确定对所述一个卡口的卡口特征进行迭代操作次数满足预设次数,则确定所述自组织映射网络满足所述预设终止条件。
25.在一种可能的实现方式中,聚类模块具体用于:将对应同一个优胜神经元的卡口归属为同一个簇。
26.在一种可能的实现方式中,聚类模块具体用于:若对应同一个优胜神经元的卡口的总数量大于或等于第一预设数量,且小于或等于第二预设数量,则将对应同一个优胜神
经元的卡口归属为同一个簇,其中,所述第一预设数量小于所述第二预设数量。
27.在一种可能的实现方式中,聚类模块具体用于:若对应同一个优胜神经元的卡口的总数量小于所述第一预设数量,则将对应所述同一个优胜神经元的卡口,以及对应与所述同一个优胜神经元的相邻的优胜神经元的卡口均归属为同一个簇;若对应同一个优胜神经元的卡口的总数量大于所述第二预设数量,则将对应所述同一个优胜神经元的卡口划分归属为至少两个簇,其中,所述至少两个簇中每个簇包括的卡口的总数量大于或等于所述第一预设数量且小于或等于所述第二预设数量。
28.第三方面,提供一种人物图像聚类设备,包括:
29.至少一个处理器,以及
30.与所述至少一个处理器通信连接的存储器;
31.其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令实现如第一方面及其可能的实施方式中的任一项所述的方法。
32.第四方面,提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行如第一方面及其可能的实施方式中的任一项所述的方法。
33.关于上述第二方面至第四方面的有益效果可参照前文第一方面论述的有益效果,此处不再赘述。
附图说明
34.图1为本技术实施例提供的适用的一种应用场景示意图;
35.图2为本技术实施例提供的一种人物图像聚类方法的流程示意图;
36.图3为本技术实施例提供的一种自组织映射网络的结构示意图;
37.图4为本技术实施例提供的图3中自组织网络输出的结果示意图一;
38.图5为本技术实施例提供的图3中自组织网络输出的结果示意图二;
39.图6为本技术实施例提供的一种人物图像聚类装置的结构示意图;
40.图7为本技术实施例提供的一种人物图像聚类设备的结构示意图。
具体实施方式
41.为了更好的理解本技术实施例提供的技术方案,下面将结合说明书附图以及具体的实施方式进行详细的说明。
42.为便于更好地理解本技术实施例涉及的技术术语,下面对本技术实施例涉及的技术术语进行介绍。
43.1、本技术实施例中的人像聚类,对多个人物图像进行分组以形成多个集合的过程。其中,人物图像包括人脸图像或人体图像。
44.2、本技术实施例中的时空域划分,时空域包括时间和空间两个,时空域用于表征人员存在和活动的主体世界维度。一个时空域由一组连续的时间点和空间点组成。时间和空间都可作为人员出现在某一时空域的主要载体。空间是人在一段连续时间内活动的地理区间。本技术实施例中空间点被离散化为具体的卡口。时间是表征人在一定空间范围内活
动的时间跨度。
45.3、本技术实施例中的簇或类,能够表征某个时空域在一定时空范围内活动的人物图像的集合。
46.4、本技术实施例中的拓扑映射,拓扑是研究几何图形或空间在连续改变形状后还能保持不变的一些性质的一个学科,它只考虑物体间的位置关系而不考虑它们的形状和大小。拓扑映射是指将决定空域划分的多种属性特征进行投影映射,使之成为二维平面上的点。
47.5、本技术实施例中的卡口,用于架设摄像头。卡口一般安装在固定位置,摄像头可架设在卡口上。本技术实施例中卡口对应的摄像头是指安装在该卡口上的摄像头。
48.应当说明的是,本技术实施例中的“多个”是指两个或两个以上,“a和/或b”包括a、b、以及a和b的三种情况。
49.为了提高人物图像聚类的可靠性,本技术实施例提供了一种人物图像聚类方法。在该人物图像聚类方法中,可采用自组织映射网络(self-organizing maps,som),基于多个卡口的卡口特征,对多个卡口进行聚类,以获得多个卡口各自所属的簇,一个卡口对应至少一个摄像头,而人物图像是通过各个摄像头采集的,因此对多个卡口进行聚类,也就相当于在空域上对人物图像进行了聚类,可将属于一个簇的卡口所对应的人物图像进行聚类,相比现有技术仅采用图像特征进行聚类的方式,由于卡口聚类并不受人物图像质量的影响,因此本技术实施例中基于卡口对人物图像进行聚类的方式,可减少人物图像对聚类结果的影响,进而提高人物图像聚类的可靠性。并且,本技术实施例中可采用som对多个卡口进行聚类,som可对多个卡口的卡口特征进行多次迭代操作处理,可提升对多个卡口进行聚类的准确性和效率。并且,本技术实施例中的卡口特征是卡口的位置以及多个卡口之间的位置关系,这些特征容易采集且不易发生变化,因此有利于更准确地对卡口进行聚类。
50.本技术实施例中的人物图像聚类方法可由人物图像聚类设备执行,人物图像聚类设备可为具有计算功能的设备,例如,服务器、服务器集群或个人计算机等,本技术实施例对此不做限定。服务器可为实体服务器或虚拟服务器。
51.下面结合图1所示的应用场景示意图,对人物图像聚类设备的部署场景进行示例介绍。或者,图1也可理解为本技术实施例中的人物图像聚类设备的部署示意图。
52.如图1所示,该场景示意图包括人物图像聚类设备110、多个卡口、以及安装在每个卡口上的摄像头130。多个卡口的数量大于或等于2,图1中是以多个卡口包括如图1中的第一卡口121、第二卡口122、第三卡口123和第四卡口124这四个卡口为例进行介绍。
53.需要说明的是,一个卡口上可安装一个或多个摄像头130,图1中是以一个卡口上安装一个摄像头130为例。图1中是以人物图像聚类设备110为服务器110进行示例,但并不限制人物图像聚类设备110的具体实现方式。
54.人物图像聚类设备110可从其他设备获取卡口的卡口数据,卡口数据包括卡口的位置数据、以及卡口与多个卡口中的其他卡口之间的路径数据。其他设备是指除了人物图像聚类设备110之外的设备。根据卡口数据对多个卡口进行聚类,进而根据多个卡口的聚类结果对卡口上安装的摄像头所采集的人物图像进行聚类。其中,聚类的具体过程将在下文中介绍。例如,人物图像聚类设备110确定第一卡口121和第二卡口122属于同个簇,那么可以聚集第一卡口121和第二卡口122各自对应的摄像头在预设时间段采集的人物图像。同
理,如果第三卡口123和第四卡口124属于同个簇,那么可以聚集第三卡口123和第四卡口124各自对应的摄像头在预设时间段采集的人物图像。
55.请参照图2,为本技术实施例提供的一种人物图像聚类方法的流程示意图。需要说明的是,图2中以人物图像聚类设备为服务器为例,对本技术实施例中的人物图像聚类方法进行介绍。
56.步骤21,获得多个卡口各自的卡口特征。
57.其中,一个卡口对应一个卡口特征,卡口特征用于描述一个卡口自身的位置以及一个卡口与其他卡口之间的位置关系。其他卡口是指多个卡口中除了这一个卡口之外的卡口。
58.服务器获得多个卡口特征的方式可以有多种,下面以服务器获得一个卡口的卡口特征为例进行介绍。
59.第一种获得一个卡口的卡口特征的方式具体如下。
60.步骤1.1,获取一个卡口的卡口数据。
61.该卡口数据包括该卡口的位置数据和该卡口与其他卡口之间的路径数据。下面对各个数据的含义以及获取方式进行示例介绍。
62.1、该卡口的位置数据用于表征该卡口所在的位置,该位置数据例如该卡口的经纬度数据。
63.示例性的,服务器可以对接该卡口对应的维护平台,从该维护平台获得该卡口的位置数据。
64.可选的,该位置数据还包括该卡口所在的道路数据、内外环数据、商圈数据、兴趣点(point of interest,poi)数据、兴趣面(area of interest,aoi)数据。在地理信息系统中,一个poi可以是一栋房子、一个商铺、一个邮筒或一个公交站等。aoi可理解为poi所在的更大的区域,可为理解为地图上的一块位置。例如,服务器可对电子地图进行逆地理编码,从而获得该卡口所在的道路数据、内外环数据、商圈数据、poi数据或兴趣面aoi数据中的一种或多种。
65.2、该卡口与其他卡口之间的路径数据包括该卡口与其他卡口中每个卡口之间的路径数据。路径数据例如两两卡口之间的最短路径距离、最长路径距离、平均路径距离或可达路径数量中的一项或多项。
66.示例性的,服务器可对电子地图进行逆地理编码,并以卡口所在的位置为中心,以预设半径为搜索半径,从而爬取该卡口与其他卡口中任一卡口之间的步行路径。基于爬取到的步行路径,从而获得该卡口与其他卡口之间的路径数据。
67.在本技术实施例中,以两两卡口之间的路径数据作为卡口数据的一部分,路径数据能够从实际上贴合人类的活动,使得采集的卡口特征与人类的活动属性相符合,有利于后续对卡口对应的摄像头采集的人物图像进行更准确的聚类。
68.作为一个实施例,服务器可直接将步骤1.1获得的数据作为该卡口的卡口特征。
69.第二种获得一个卡口的卡口特征的方式具体如下。
70.服务器可从其他设备获得该卡口的卡口特征。其他设备为除了服务器之外的设备。其他设备获得该卡口的卡口特征的方式可参照服务器获得该卡口的卡口特征的方式,此处不再赘述。
71.以此类推,服务器可获得多个卡口特征,其中一个卡口特征对应一个卡口。
72.步骤1.2,对该卡口的卡口数据进行主成分分析,获得这一个卡口的卡口特征。
73.为了降低数据处理维度,可选的,在本技术实施例中可以对该卡口与其他卡口之间的路径数据相加,具体是对该卡口和其他卡口中其他卡口的各项的同项的路径数据进行相加,从而降低该卡口的卡口数据的处理维度。当然,服务器也可以不对步骤1.1获得的路径数据进行处理,本技术实施例对此不做限定。
74.例如,第一卡口的路径数据包括最短路径和可达路径数量。第一卡口和第二卡口之间的最短路径距离为1km,第一卡口和第二卡口之间的可达路径数量为3个;第一卡口和第三卡口之间的最短路径距离为2km,第一卡口和第三卡口之间的可达路径数量为4个;服务器可将第一卡口和第二卡口之间的最短路径距离与第一卡口和第三卡口之间的最短路径距离求和,服务器可将第一卡口和第二卡口之间的可达路径数量与第一卡口和第三卡口之间的可达路径数量求和。
75.服务器可以对卡口数据进行主成分分析,也可以对卡口数据进行相加之后,在对相加后的数据进行主成分分析。主成分分析可利用正交变换来对一系列可能相关的变量的观测值进行线性变换,从而投影为一系列线性不相关变量的值,这些不相关变量称为主成分。主成分分析之后得到可以得到这些卡口数据线性组合所形成的新特征,以降低数据维度。主成分分析可对部分特征中无关成分予以剔除,并且可减小算法运算的时间复杂度,降低计算成本。
76.步骤22,分别基于获得的多个卡口特征,确定多个卡口各自在自组织映射网络中对应的优胜神经元。
77.在本技术实施例中,服务器可采用som网络对多个卡口进行聚类。例如,服务器可以将多个卡口特征输入som网络,从而获得每个卡口在自组织映射网络中的优胜神经元。一个卡口的优胜神经元是som网络中与该卡口的卡口特征的相似度最大的一个神经元。
78.为了更清楚地说明聚类过程,下面先对som网络的网络结构进行示例介绍。som网络可为层次型结构,包括输入层和输出层,输出层又可以称为竞争层。输出层包括多个神经元,可进行拓扑映射,从而输出一个平面,本技术实施例中以该平面中的行以pr表示,该平面的列以pc表示。例如,以图3所示的自组织映射网络的结构示意图为例,该som网络包括输入层301和输出层302。其中,输出层包括pr*pc个神经元。som网络的模型参数包括邻域半径r、邻域半径的减少率α、学习率η、学习率的减少率γ以及最大迭代操作次数。
79.其中,确定多个卡口中每个卡口的优胜神经元的方式是相同的,下面以确定一个卡口的优胜神经元为例进行介绍。
80.步骤2.1,服务器对该卡口的卡口特征,执行至少一次迭代操作,其中一次迭代操作包括步骤2.1.1至步骤2.1.4所示的过程。
81.步骤2.1.1,确定该卡口的卡口特征与多个神经元各自的权重之间的第一相似度,将取值最大的第一相似度对应的神经元作为优胜神经元。
82.如图3所示,该示例的输出层共有18个神经元(图3中是以18个神经元为例,实际不限制输出层包括的神经元的数量)为例,pr为3,pc为6,输入层共有d个输入神经元,d也可表示输入的该卡口的卡口特征的数量。
83.n=pr
×
pc
×dꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)
84.其中,每个神经元均具有d个连接权重,可表示为权向量w
ci
=[w1,w2,w3,

,wd],ci表示第i个神经元。因此,n表示som网络的连接权值总数。
[0085]
每个卡口特征均与所有层神经元进行相似度比较,作为一个示例,可以将该卡口特征与神经元之间的欧式距离作为该卡口与som网络之间的相似度。
[0086]
欧式距离的计算公式示例如下。
[0087][0088]
其中,m表示实际开启人像聚类的卡口数量,xj(j=1,2,3,

,m表示该卡口的卡口特征,xk表示xj中的第k个变量(维度),ci(i=1,2,3,

,pr
×
pc)表示第i个神经元,wk表示该神经元的权重参数w
i~
中的第k个变量(维度)。
[0089]
在一种可能的实施例中,可以将som网络中各个神经元的权重向量直接作为各个神经元的权重参数。或者,为了减少计算量,也可以对som网络中各个神经元的权重向量进行归一化处理,将归一化处理后的结果作为各个神经元的权重参数。归一化处理的公式可示例如下。
[0090][0091]
其中,w
i~
表示som网络中的权重参数,wi代表输出层第i个神经元的权值向量,||wi||表示wi的模长。
[0092]
以此类推,服务器可以确定该卡口的卡口特征分别与som网络中多个神经元之间的相似度,从而可获得多个相似度,为便于区分,这里称为多个第一相似度。服务器可以确定多个第一相似度中取值最大的一个相似度,将最大的第一相似度对应的神经元作为优胜神经元。
[0093]
如果此时som网络已满足预设终止条件,则可将确定出的优胜神经元作为该卡口对应的优胜神经元。如果som网络不满足预设终止条件,则执行s2.1.2的步骤。
[0094]
步骤2.1.2,基于邻域半径,确定在优胜神经元邻域内的至少一个神经元。
[0095]
服务器可基于邻域半径r,从而确定该优胜神经元邻域内的至少一个神经元。继续以图3所示的例子,神经元a例如为该卡口对应的优胜神经元,r取值为1,那么服务器确定如图3中所示的神经元b、神经元c、神经元d、神经元f和神经元g均为该优胜神经元a邻域内的至少一个神经元。
[0096]
步骤2.1.3,基于优胜神经元与至少一个神经元各自的距离和邻域半径,分别更新至少一个神经元各自的权重。
[0097]
服务器可以根据该目前的优胜神经元与其邻域范围内的至少一个神经元各自的距离,从而更新至少一个神经元的权重参数。一种权重参数的更新公式示例如下。
[0098][0099]
其中,wk表示至少一个神经元中的一个神经元当前的权重参数;xk表示该卡口的卡口特征;η表示该神经元的学习率;r表示邻域半径;dist表示至少一个神经元中的一个神经元与步骤2.1.1中确定出的优胜神经元之间的距离。
[0100]
可选的,至少一个神经元中的一个神经元与步骤2.1.1中确定出的优胜神经元之
间的距离可采用欧式距离表示,本技术实施例对此不做限定。
[0101]
以此类推,服务器可按照上述公式(4)对至少一个神经元中每个神经元的权重参数进行更新,从而获得更新后的至少一个神经元。
[0102]
步骤2.1.4,对邻域半径和学习率进行更新。
[0103]
服务器按照步骤2.1.3对至少一个神经元的权重参数进行更新之后,可以对邻域半径和学习率分别进行更新。例如,服务器按照预设第一速率,对学习率进行更新。一种更新学习率的公式示例如下。
[0104]
η
k 1
=ηk×
α
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0105]
其中,ηk表示som网络当前的学习率的取值;η
k 1
表示对som网络当前的学习率进行更新后的取值;α表示第一速率。
[0106]
同理,服务器可按照预设第二速率,对所述自组织映射网络的邻域半径进行更新。其中,第一速率和第二速率的取值可相同,也可不同。
[0107]rk 1
=rk×
γ
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)
[0108]
其中,rk表示som网络当前的邻域半径的取值;r
k 1
表示对som网络当前的邻域半径进行更新后的取值;γ表示第二速率。
[0109]
可选的,第一速率和第二速率的取值可相同,也可不同。第一速率和第二速率的取值大于0且小于1。
[0110]
步骤2.2,直到som网络满足预设终止条件,则将最后一次迭代操作获得的优胜神经元作为一个卡口对应的优胜神经元。
[0111]
在步骤2.1.4之后,如果确定som网络满足预设终止条件,那么就将步骤2.1.1获得的优胜神经元作为该卡口对应的优胜神经元。如果som网络不满足预设终止条件,则利用步骤2.1.3更新后的神经元,继续执行步骤2.1.1至步骤2.1.4的过程,直到som网络满足预设终止条件,将最后一次迭代操作获得的优胜神经元作为该卡口对应的优胜神经元。
[0112]
示例性的,预设终止条件理解为更新后的学习率小于或等于预设学习率,或者对该卡口的卡口特征进行迭代操作的次数满足预设次数,或者更新后的学习率小于或等于预设学习率且确定对该卡口的卡口特征进行迭代操作次数满足预设次数,本技术实施例不对预设终止条件的内容进行具体限定。
[0113]
在一种可能的实施例中,服务器可保存每个卡口对应的优胜神经元在som网络中的位置索引,后续服务器可根据位置索引确定哪些优胜神经元对应哪些卡口。继续参照图3的例子,例如,服务器保存了卡口2、卡口3和卡口4的位置索引为(0,0),服务器可确定卡口2、卡口3和卡口4均对应第一行和第一列中的第一个神经元。
[0114]
步骤23,基于多个卡口各自对应的优胜神经元,分别确定多个卡口所属的簇。
[0115]
以此类推,服务器可以确定出多个卡口中每个卡口对应的优胜神经元。进一步地,服务器可基于多个卡口各自的优胜神经元,从而确定多个卡口所属的簇(或者又可称为类)。
[0116]
在一种可能的实施例中,服务器可以将对应同一个优胜神经元的卡口归属为一个簇,从而确定出多个卡口各自对应的簇。这样确定卡口对应的簇的方式直接简单。
[0117]
例如,继续以图3所示的例子,服务器可以将矩阵中不为0的神经元分别视为一个簇,将对应于同一个神经元的卡口划分为一个簇。
[0118]
例如,一种som网络输出的结果示意图例如图4所示。该som网络输出了一个二维矩阵。其中,在图4中,该矩阵中的每个位置对应一个卡口,矩阵中每个位置的取值表示具体有多少个卡口对应的优胜神经元是这个位置上的神经元。其中,以矩阵中的第一个数字“3”为例,表示第一个som网络中的第一个神经元为3个卡口对应的优胜神经元,从而确定这3个卡口属于同个簇。其中,矩阵中的“0”表示死亡节点(节点可相当于som网络中的神经元),表示该神经元不对应任何的卡口。
[0119]
在一种可能的实施例中,服务器如果确定对应同一个优胜神经元的卡口的总数量大于或等于第一预设数量,且小于或等于第二预设数量,则将对应同一个优胜神经元的卡口归属为同一个簇,第一预设数量小于第二预设数量。服务器如果确定对应同一个优胜神经元的卡口的总数量小于第一预设数量,则将对应同一个优胜神经元的卡口,以及对应与同一个优胜神经元的相邻的优胜神经元的卡口均归属为同一个簇。服务器如果确定对应同一个优胜神经元的卡口的总数量大于第二预设数量,则将对应同一个优胜神经元的卡口划分归属为至少两个簇,至少两个簇中每个簇包括的卡口的总数量大于或等于第一预设数量且小于或等于第二预设数量。
[0120]
在本技术实施例中,服务器不是直接将归属于同个优胜神经元的卡口归属为同个簇,而是根据属于同个优胜神经元的卡口的数量、第一预设数量和第二预设数量,灵活地划分卡口所属的簇,这样可避免将同个簇内的卡口分布过多或过少,不利于后续人物图像进行聚类。
[0121]
例如,一种som网络输出的结果如图5所示。图5为som网络上输出的包含801个卡口的网格输出结果,从图5所示的矩阵中可以看出具有很多只包含一个卡口的输出节点,这些节点应该与相邻节点进行合并。按照经验,第一预设数量设定为3,第二预设数量设定为20,节点包含卡口的总数量低于第一预设数量与相邻节点进行合并,将高于第二预设数量的节点所包含的卡口进行拆分,如此可保证属于同个簇的卡口的数量大于或等于第一预设数量且小于或等于第二预设数量。
[0122]
如此,服务器相当于对多个卡口进行了聚类,由于不同卡口分布在不同的区域,因此上述过程也就相当于在空域上对多个卡口进行了聚类。
[0123]
需要说明的是,在实际操作中,服务器可直接将多个卡口各自的卡口特征输入至自组织映射网络中,该自组织映射网络可输出多个卡口各自对应的优胜神经元,也就相当于获得了多个卡口各自对应的簇。
[0124]
步骤24,对属于同一个簇内的卡口在预设时间段内对应的人物图像进行聚类,得到聚类结果。
[0125]
服务器可以根据各个人物图像上的时间戳,从而将属于簇的卡口采集的同个预设时间段的人物图像聚集在一次,从而实现对人物图像的初步聚类,相当于基于时空域对人物图像进行聚类。人物图像上的时间戳是指拍摄人物图像记录的时间。
[0126]
例如,假设预设时间段为2021年07月21日9:00到2021年07月21日15:00,某个空间域包含三个卡口(卡口7、8、12),则取这三个卡口在2021年07月21日9:00到2021年07月21日15:00之间的所有抓拍的人物图像属于同个时空域。
[0127]
进一步地,服务器还可以根据人物图像的特征,对属于簇的卡口采集的同个预设时间段的人物图像再进行聚类。
[0128]
在一种可能的实施例中,服务器可以确定每个时空域的聚类评价指标,如果确定聚类评价指标不满足预设评价指标的时空域的人物图像重新进行聚类。
[0129]
基于同一发明构思,本技术实施例提供的一种人物图像聚类装置,该装置可用于实现前文中人物图像聚类设备的功能,或者上述服务器的功能,请参照图6所示的装置的结构示意图。该装置包括获得模块601、确定模块602和聚类模块603。下面对各个模块的功能进行介绍。
[0130]
获得模块601,用于获得多个卡口各自的卡口特征,其中一个卡口的卡口特征用于描述一个卡口自身的位置、以及一个卡口与多个卡口中除了一个卡口之外的其他卡口之间的位置关系;
[0131]
确定模块602,用于分别基于获得的多个卡口特征,确定多个卡口各自在自组织映射网络中对应的优胜神经元,其中一个卡口对应的优胜神经元为自组织映射网络包含的多个神经元中与一个卡口的卡口特征之间的相似度最大的一个神经元,以及基于多个卡口各自对应的优胜神经元,分别确定多个卡口所属的簇;
[0132]
聚类模块603,用于对属于同一个簇内的卡口在预设时间段内对应的人物图像进行聚类,得到聚类结果。
[0133]
在一种可能的实施例中,获得模块601具体用于:获取多个卡口各自的卡口数据,卡口数据包括卡口的位置数据、以及卡口与多个卡口中的其他卡口之间的路径数据;分别对获取的多个卡口数据,执行以下步骤:对多个卡口中的一个卡口的卡口数据进行主成分分析,获得一个卡口的卡口特征。
[0134]
在一种可能的实现方式中,获得模块601具体用于:接收多个卡口各自的位置数据;分别对多个卡口执行以下操作:以多个卡口中的一个卡口的位置为中心,以预设半径为搜索半径,搜索一个卡口与其他卡口中每个卡口之间的步行路径,其他卡口是指多个卡口中除了一个卡口之外的卡口;基于搜索的步行路径,确定一个卡口分别与其他卡口之间的路径数据。
[0135]
在一种可能的实施例中,确定模块602具体用于:对多个卡口特征,分别执行至少一次迭代操作,其中一次迭代操作包括以下过程:确定多个卡口中的一个卡口的卡口特征分别与多个神经元各自的权重之间的第一相似度,将取值最大的第一相似度对应的神经元作为优胜神经元;基于邻域半径,确定在优胜神经元邻域内的至少一个神经元;基于优胜神经元与至少一个神经元各自的距离以及学习率,分别更新至少一个神经元各自的权重;对邻域半径和学习率进行更新;直到自组织映射网络满足预设终止条件,则将最后一次迭代操作获得的优胜神经元作为一个卡口对应的优胜神经元。
[0136]
在一种可能的实施例中,确定模块602具体用于:按照预设第一下降速率,对自组织映射网络的学习率进行更新;以及,按照预设第二下降速率,对自组织映射网络的邻域半径进行更新;
[0137]
若更新后的学习率小于或等于预设学习率,和/或确定对一个卡口的卡口特征进行迭代操作次数满足预设次数,则确定自组织映射网络满足预设终止条件。
[0138]
在一种可能的实施例中,聚类模块603具体用于:将对应同一个优胜神经元的卡口归属为同一个簇。
[0139]
在一种可能的实施例中,聚类模块603具体用于:若对应同一个优胜神经元的卡口
的总数量大于或等于第一预设数量,且小于或等于第二预设数量,则将对应同一个优胜神经元的卡口归属为同一个簇,其中,第一预设数量小于第二预设数量。
[0140]
在一种可能的实施例中,聚类模块603具体用于:若对应同一个优胜神经元的卡口的总数量小于第一预设数量,则将对应同一个优胜神经元的卡口,以及对应与同一个优胜神经元的相邻的优胜神经元的卡口均归属为同一个簇;若对应同一个优胜神经元的卡口的总数量大于第二预设数量,则将对应同一个优胜神经元的卡口划分归属为至少两个簇,其中,至少两个簇中每个簇包括的卡口的总数量大于或等于第一预设数量且小于或等于第二预设数量。
[0141]
基于同一发明构思,本技术实施例提供一种人物图像聚类设备,请参照图7,该计算机设备包括处理器701和存储器702。
[0142]
处理器701可以是一个中央处理单元(central processing unit,cpu),或者为数字处理单元等等。本技术实施例中不限定上述存储器702和处理器701之间的具体连接介质。本技术实施例在图7中以存储器702和处理器701之间通过总线703连接,总线703在图7中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。总线703可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。
[0143]
存储器702可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,ram);存储器702也可以是非易失性存储器(non-volatile memory),例如只读存储器,快闪存储器(flash memory),硬盘(hard disk drive,hdd)或固态硬盘(solid-state drive,ssd)、或者存储器702是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。存储器702可以是上述存储器的组合。
[0144]
处理器701,用于调用存储器702中存储的计算机程序时执行如上述的任一的人物图像聚类方法。进一步地,该处理器701还可以用于实现图6中装置的功能,或者前文中人物图像聚类设备的功能。
[0145]
基于同一发明构思,本技术实施例提供一种计算机存储介质,所述计算机存储介质存储有计算机指令,当所述计算机指令在计算机上运行时,使得计算机执行前文论述的任一的人物图像聚类方法。
[0146]
本领域内的技术人员应明白,本技术的实施例可提供为方法、系统、或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
[0147]
本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
[0148]
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
[0149]
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
[0150]
尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。
[0151]
显然,本领域的技术人员可以对本技术进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献