CN112906824B - 车辆聚类方法、系统、设备及存储介质 - Google Patents

车辆聚类方法、系统、设备及存储介质 Download PDF

Info

Publication number
CN112906824B
CN112906824B CN202110335357.5A CN202110335357A CN112906824B CN 112906824 B CN112906824 B CN 112906824B CN 202110335357 A CN202110335357 A CN 202110335357A CN 112906824 B CN112906824 B CN 112906824B
Authority
CN
China
Prior art keywords
vehicle
clustering
data
vehicle image
feature
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
Application number
CN202110335357.5A
Other languages
English (en)
Other versions
CN112906824A (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.)
Suzhou Keda Technology Co Ltd
Original Assignee
Suzhou Keda 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 Suzhou Keda Technology Co Ltd filed Critical Suzhou Keda Technology Co Ltd
Priority to CN202110335357.5A priority Critical patent/CN112906824B/zh
Publication of CN112906824A publication Critical patent/CN112906824A/zh
Application granted granted Critical
Publication of CN112906824B publication Critical patent/CN112906824B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • G06F18/232Non-hierarchical techniques
    • G06F18/2321Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions
    • G06F18/23213Non-hierarchical techniques using statistics or function optimisation, e.g. modelling of probability density functions with fixed number of clusters, e.g. K-means clustering
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • G06F18/214Generating training patterns; Bootstrap methods, e.g. bagging or boosting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2413Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
    • G06F18/24147Distances to closest patterns, e.g. nearest neighbour classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02TCLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
    • Y02T10/00Road transport of goods or passengers
    • Y02T10/10Internal combustion engine [ICE] based vehicles
    • Y02T10/40Engine management systems

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Molecular Biology (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Probability & Statistics with Applications (AREA)
  • Image Analysis (AREA)
  • Traffic Control Systems (AREA)

Abstract

本发明提供了一种车辆聚类方法、系统、设备及存储介质,所述方法包括:对车辆图像进行分组;获取各个车辆图像组的第一输入特征数据,并输入训练好的图卷积网络,得到图卷积网络输出的第一节点的置信度数据;根据第一节点的置信度数据对第一节点进行聚类分簇,得到每个车辆图像组对应的聚类分簇结果;根据多个车辆图像组的特征均值文件得到第二输入特征数据,输入图卷积网络,得到图卷积网络输出的第二节点的置信度数据;根据第二节点的置信度数据对第二节点进行聚类分簇,得到多个车辆图像组对应的聚类分簇结果。本发明通过分组单独聚合然后再多个分组联合,满足海量车辆数据的聚类需求。

Description

车辆聚类方法、系统、设备及存储介质
技术领域
本发明涉及数据处理技术领域,尤其涉及一种车辆聚类方法、系统、设备及存储介质。
背景技术
车辆聚类是智能交通系统领域的重要研究领域之一。监控场景海量车辆抓拍记录,在没有车辆名单的前提下,希望对抓拍到的所有车辆进行分析,确定哪些车辆是同一辆车。上述过程我们称为大规模车辆聚类(建档)。
在深度学习时代,车辆聚类一般采用卷积神经网络(CNN)中提取的特征。车辆ReID的CNN通常把车辆图片映射到一个高维的向量,然后使用一个线性分类器,加Softmax激活函数和交叉熵损失函数来训练。得到了特征后,可以使用余弦相似度来度量特征间的相似度。如果对车辆特征做二范数(L2)归一化,可以使用L2距离来度量。然后考虑选择一种聚类算法。常用的聚类算法大致可以分为以下几类:基于划分的聚类,如K-means算法;基于密度的聚类,如DBSCAN;层次聚类,如HDBSACN;基于图的聚类,需要通过构建图来聚类,如谱聚类算法。如果在大规模车辆抓拍记录中进行车辆建档,在聚类算法选型时,需要考虑特征、参数配置、性能、参数敏感度等方面。实际应用中我们无法知道K值,像K-means、谱聚类算法就无法使用。当数据规模大了以后,传统的聚类算法在计算效率和聚类准确度上都存在问题。
近年来,不少学者将图卷积神经网络(GCN)应用于人脸聚类,取得了不错的效果,如LinkageFace、Learn to Cluster(LTC)等。基于GCN的聚类其本质也是基于图的聚类,而基于GCN的聚类有网络训练参数的概念,而传统的聚类算法是通过人工设定阈值决定的。LinkageFcae算法对每个样本点构建其对应的子图,然后把每个子图送进GCN,巧妙地利用了GCN做节点分类的特性。虽然使用的GCN计算量不大,但在大规模数据上还是吃不消的。Learn to Cluster算法有两个版本,LTC_V1(Learning to Cluster Faces on AffinityGraphy)将聚类问题理解为一个图中的检测问题,利用检测和分割的思想从图中学习如何找簇。算法一开始需要生成大量的候选子图,然后在候选子图上做聚类。LTC_V2(Learningto Cluster Faces via Confidence and Connectivity Estimation,CVPR2020)不需要一开始生成大量的候选子图,是一个完全通过学习的聚类框架。它将聚类问题拆分成两个子问题:估计节点的置信度和节点之间边的连通度。
LTC_V2算法的思想是直接拿整图的邻接矩阵和节点特征进行作为输入进行图卷积网络的训练,此时训练出来的模型输入尺寸已经固定。实际使用时,大规模车辆数据的数量是不固定的。同时在将LTC_V2应用于车辆聚类时,在面对海量车辆数据时,难以一次性满足海量车辆数据的聚类需求。
发明内容
针对现有技术中的问题,本发明的目的在于提供一种车辆聚类方法、系统、设备及存储介质,基于LTC_V2算法的思想,通过分组单独聚合然后再多个分组联合,满足海量车辆数据的聚类需求。
本发明实施例提供一种车辆聚类方法,包括如下步骤:
对车辆图像进行分组,得到多个车辆图像组,将各个车辆图像作为第一节点;
获取各个所述车辆图像组的第一输入特征数据,并输入训练好的图卷积网络,得到所述图卷积网络输出的第一节点的置信度数据;
根据所述第一节点的置信度数据对第一节点进行聚类分簇,得到每个车辆图像组对应的聚类分簇结果;
根据所述聚类分簇结果将各个簇作为第二节点,获取每个车辆图像组的特征均值文件;
根据多个所述车辆图像组的特征均值文件得到第二输入特征数据,输入所述图卷积网络,得到所述图卷积网络输出的第二节点的置信度数据;
根据所述第二节点的置信度数据对第二节点进行聚类分簇,得到多个所述车辆图像组对应的聚类分簇结果。
本发明基于LTC_V2算法的思想对车辆进行聚类,同时考虑到海量车辆数据的需求,通过分组单独聚合然后再多个分组联合,满足海量车辆数据的聚类需求。本发明的车辆聚类方法首先对车辆图像进行分组,并且对每个车辆图像组中的各个节点进行聚类分簇,然后联合多个车辆图像组的分簇结果再一次采用聚类分簇方法,进行进一步聚合,使得不同组中的同类节点可以聚合到一起,从而可以满足海量车辆数据的需求,聚类过程速度快且精确度高。
在一些实施例中,获取各个所述车辆图像组的第一输入特征数据,包括如下步骤:
基于卷积神经网络提取各个所述车辆图像组中每个车辆图像的特征;
对于每个所述车辆图像组,基于所述每个车辆图像的特征构建第一KNN图;
将所述第一KNN图中的K近邻索引和相似度矩阵以压缩系数矩阵的形式存储,得到第一邻接矩阵,对所述第一邻接矩阵进行对称变换并加入自连接;
将所述车辆图像组中各个车辆图像的特征进行拼接得到第一特征图;
将所述第一邻接矩阵和所述第一特征图作为第一输入特征数据。
在一些实施例中,所述获取每个车辆图像组的特征均值文件,包括如下步骤:
针对每个车辆图像组中聚类得到的各个簇,分别计算每个簇中各个车辆图像的特征均值;
将每个车辆图像组中每个簇的特征均值保存为特征均值文件。
在一些实施例中,根据多个所述车辆图像组的特征均值文件得到第二输入特征数据,包括如下步骤:
基于多个车辆图像组中每个簇的特征均值构建第二KNN图;
将所述第二KNN图中的K近邻索引和相似度矩阵以压缩系数矩阵的形式存储,得到第二邻接矩阵,对所述第二邻接矩阵进行对称变换并加入自连接;
将所述多个车辆图像组中每个簇的特征均值进行拼接得到第二特征图;
将所述第二邻接矩阵和所述第二特征图作为第一输入特征数据。
在一些实施例中,采用如下步骤训练所述图卷积网络:
基于车辆图像样本得到车辆样本特征图和样本邻接矩阵;
获取每个车辆图像样本所对应的置信度标签;
从所述车辆样本特征图和样本邻接矩阵中分别获取对应于指定节点数量的数据,得到指定节点数量的特征子图和邻接矩阵子图,作为所述图卷积网络的训练输入数据;
将所述训练输入数据输入所述图卷积网络,得到所述图卷积网络的预测置信度;
基于所述置信度标签和所述预测置信度构建损失函数,反向优化所述图卷积网络。
在一些实施例中,从所述车辆样本特征图和样本邻接矩阵中分别获取对应于指定节点数量的数据,得到指定节点数量的特征子图和邻接矩阵子图,包括如下步骤:
根据所述指定节点数量确定索引数量;
在车辆图像样本的总数的数值范围内随机选取索引数量的随机数,作为各个节点的索引;
从所述车辆样本特征图中获取所述索引所对应的值,构成样本特征子图;
从所述样本邻接矩阵中获取所述索引所对应的值,构成邻接矩阵子图。
在一些实施例中,所述对车辆图像进行分组,得到多个车辆图像组,包括如下步骤:
根据所述图卷积网络的输入数据的指定节点数量,对车辆图像进行分组;
如果最后一个分组的车辆图像数量小于指定节点数量,将不足的部分基于所述最后一个分组的第一个车辆图像的特征值重复填充。
在一些实施例中,所述得到多个车辆图像组对应的聚类分簇结果之后,还包括如下步骤:
统计每个簇中的图像数量;
将图像数量小于预设阈值的簇从聚类结果中剔除。
本发明实施例还提供一种车辆聚类系统,应用于所述的车辆聚类方法,所述系统包括:
图像分组模块,用于对车辆图像进行分组,得到多个车辆图像组,将各个车辆图像作为第一节点;
第一聚类模块,用于获取各个所述车辆图像组的第一输入特征数据,并输入训练好的图卷积网络,得到所述图卷积网络输出的第一节点的置信度数据,以及根据所述第一节点的置信度数据对第一节点进行聚类分簇,得到每个车辆图像组对应的聚类分簇结果;
第二聚类模块,用于根据所述聚类分簇结果将各个簇作为第二节点,获取每个车辆图像组的特征均值文件,根据多个所述车辆图像组的特征均值文件得到第二输入特征数据,输入所述图卷积网络,得到所述图卷积网络输出的第二节点的置信度数据,以及根据所述第二节点的置信度数据对第二节点进行聚类分簇,得到多个所述车辆图像组对应的聚类分簇结果。
本发明的车辆聚类系统首先通过图像分组模块对车辆图像进行分组,并且通过第一聚类模块对每个车辆图像组中的各个节点进行聚类分簇,然后通过第二聚类模块联合多个车辆图像组的分簇结果再一次采用聚类分簇方法,进行进一步聚合,使得不同组中的同类节点可以聚合到一起,从而可以满足海量车辆数据的需求,聚类过程速度快且精确度高。
本发明实施例还提供一种车辆聚类设备,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行所述的车辆聚类方法的步骤。
通过采用本发明所提供的车辆聚类设备,所述处理器在执行所述可执行指令时执行所述的车辆聚类方法,由此可以获得上述车辆聚类方法的有益效果。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被处理器执行时实现所述的车辆聚类方法的步骤。
通过采用本发明所提供的计算机可读存储介质,其中存储的程序在被执行时实现所述的车辆聚类方法的步骤,由此可以获得上述车辆聚类方法的有益效果。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显。
图1是本发明一实施例的车辆聚类方法的流程图;
图2是本发明一实施例的图卷积网络训练的流程图;
图3是本发明一具体实例的图卷积网络训练的流程图;
图4是本发明一具体实例的车辆聚类的流程图;
图5是本发明一实施例的车辆聚类的过程示意图;
图6是本发明一实施例的车辆聚类系统的示意图;
图7是本发明一实施例的车辆聚类设备的结构示意图;
图8是本发明一实施例的计算机存储介质的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的实施方式;相反,提供这些实施方式使得本发明将全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。在图中相同的附图标记表示相同或类似的结构,因而将省略对它们的重复描述。
如图1所示,在一实施例中,本发明提供了一种车辆聚类方法,包括如下步骤:
S210:对车辆图像进行分组,得到多个车辆图像组,将各个车辆图像作为第一节点;
S220:获取各个所述车辆图像组的第一输入特征数据,并输入训练好的图卷积网络,得到所述图卷积网络输出的第一节点的置信度数据;
S230:根据所述第一节点的置信度数据对第一节点进行聚类分簇,得到每个车辆图像组对应的聚类分簇结果;
S240:根据所述聚类分簇结果将各个簇作为第二节点,获取每个车辆图像组的特征均值文件;
S250:根据多个所述车辆图像组的特征均值文件得到第二输入特征数据,输入所述图卷积网络,得到所述图卷积网络输出的第二节点的置信度数据;
S260:根据所述第二节点的置信度数据对第二节点进行聚类分簇,得到多个所述车辆图像组对应的聚类分簇结果。
本发明基于LTC_V2算法的思想对车辆进行聚类,同时考虑到海量车辆数据的需求,通过分组单独聚合然后再多个分组联合,满足海量车辆数据的聚类需求。本发明的车辆聚类方法通过步骤S210可以对车辆图像进行分组,并且通过步骤S220和步骤S230可以对每个车辆图像组中的各个节点进行聚类分簇,然后通过步骤S240~S260可以联合多个车辆图像组的分簇结果再一次采用聚类分簇方法,进行进一步聚合,使得不同组中的同类节点可以聚合到一起,从而可以满足海量车辆数据的需求,聚类过程速度快且精确度高。
如图2所示,进一步地,本发明的车辆聚类方法还包括采用如下步骤训练所述图卷积网络:
S110:基于车辆图像样本得到车辆样本特征图和样本邻接矩阵;
S120:获取每个车辆图像样本所对应的置信度标签;
S130:从所述车辆样本特征图和样本邻接矩阵中分别获取对应于指定节点数量的数据,得到指定节点数量的特征子图和邻接矩阵子图,作为所述图卷积网络的训练输入数据;
S140:将所述训练输入数据输入所述图卷积网络,得到所述图卷积网络的预测置信度;
S150:基于所述置信度标签和所述预测置信度构建损失函数,反向优化所述图卷积网络。
如上所述,LTC_V2算法的思想是直接拿整图的邻接矩阵和节点特征进行作为输入进行训练,此时训练出来的模型输入尺寸已经固定。实际使用时,大规模车辆数据的数量是不固定的。所以本发明针对实际应用情况,对模型输入数据组织形式进行改进。具体地,不仅在具体进行聚类分析时进行分组聚类,并且在训练时通过步骤S130获取对应于指定节点数量的数据,从而使得图卷积网络的输入特征为指定尺寸。
具体地,在该实施例中,所述步骤S130:从所述车辆样本特征图和样本邻接矩阵中分别获取对应于指定节点数量的数据,得到指定节点数量的特征子图和邻接矩阵子图,包括如下步骤:
根据所述指定节点数量确定索引数量;
在车辆图像样本的总数的数值范围内随机选取索引数量的随机数,作为各个节点的索引;
从所述车辆样本特征图中获取所述索引所对应的值,构成样本特征子图,因此,所述样本特征子图是从车辆样本特征图中随机选择得到的指定尺寸的特征子图;
从所述样本邻接矩阵中获取所述索引所对应的值,构成邻接矩阵子图,因此,邻接矩阵子图是从样本邻接矩阵中随机选择得到的指定尺寸的子图。
下面结合图3具体说明一具体实例中图卷积网络GCN的训练过程。
对应于步骤S110和步骤S120,准备训练集特征和标签,具体包括如下步骤(1.1)~(1.4):
(1.1)首先利用车辆ReID(重识别,re-identification)模型,对车辆图像样本提取CNN特征,一张图像对应一个特征,特征维度为512。特征数据保存成二进制bin文件,长度为N×512,即车辆样本特征图;对车辆样本图像添加置信度标签,标签数据保存成文本文件,长度为N,其中N代表训练集中的图片数量。
(1.2)对长度为N×512的特征数据进行L2归一化处理。
(1.3)利用归一化后的特征构建KNN图。常用的最近邻搜索库如Faiss、Annoy、NMSLIB等。这里使用Faiss库,它支持GPU,GPU的运行速度相比于CPU大致提升了一个量级。Faiss提供了许多Index模式,为了保证聚类的精度,这里使用暴力搜索计算模式IndexFlatIP。调用Faiss库的输出为K近邻索引矩阵和相似度矩阵,两个矩阵的大小均为(N×K),其中N表示特征数量,K表示KNN中的K值。
(1.4)将KNN生成的K近邻索引和相似度矩阵以压缩稀疏矩阵的形式存储,得到N×N的样本邻接矩阵(Adj)。并对样本邻接矩阵做对称变换,加入自连接。
(1.5)图卷积网络构建以及第一节点的置信度计算。这里的图卷积网络借鉴LTC_V2算法中提出的GCN-V网络,由一层图卷积和两层全连接层组成。GCN-V网络的作用是对每个节点都进行置信度预测,置信度越高表明越属于那个类别,置信度低的点往往是多个类别的边界点。高置信度的图片其邻居图片也往往属于同一个类别,而低置信度的图片通常与其他类别的图片相邻。所以对每个节点的置信度定义为:
Figure BDA0002997704010000091
其中Ni是vi的邻居节点,yi是vi的真实标签,ai,j是vi和vj间的相似度值。通过置信度来衡量邻居点是否靠近以及是否属于同类。
对应于步骤S130,准备训练输入数据,具体包括步骤(1.6):
(1.6)准备图卷积网络的输入数据。图卷积网络的输入是邻接矩阵和节点的特征。特征子图的索引是通过生成随机数得到的,如训练集有100万数据,确定将训练集数据分成100组,则从100万的随机数中随机选取1万个值,构成索引。然后从整图的样本邻接矩阵中去选取这些索引对应的值,来构成邻接矩阵子图。邻接矩阵子图是对称矩阵。从车辆样本特征图中选取这些索引对应的特征,拼接构成特征子图。此外,需要对邻居矩阵子图做行归一化处理。若不做归一化,在图卷积运算中,与特征子图相乘时会改变特征原来的分布,产生一些不可预测的问题。所以会对邻接矩阵子图先做一个标准化处理,让它的每行值加起来等于1。
对应于步骤S140和S150训练图卷积网络,具体包括步骤(1.7):
(1.7)训练图卷积网络模型。获取子图的真实节点置信度标签的方法与(1.6)相同,即从整图的节点置信度标签中根据索引选取子图的节点置信度标签。关于节点置信度的预测值C'i由GCN-V网络输出得到。损失函数为常用的MSE损失,计算误差并反向传播训练网络。
在该实施例中,所述步骤S210:对车辆图像进行分组,得到多个车辆图像组,包括如下步骤:
根据所述图卷积网络的输入数据的指定节点数量,对车辆图像进行分组,即保证每个车辆图像组中的节点数量可以满足训练好的图卷积网络的输入数据要求;
如果最后一个分组的车辆图像数量小于指定节点数量,将不足的部分基于所述最后一个分组的第一个车辆图像的特征值重复填充,后续在结合图4的具体实例介绍中会举例说明。
在该实施例中,所述步骤S220:获取各个所述车辆图像组的第一输入特征数据,包括如下步骤:
基于卷积神经网络(例如车辆的重定向网络)提取各个所述车辆图像组中每个车辆图像的特征;
对于每个所述车辆图像组,基于所述每个车辆图像的特征构建第一KNN图;
将所述第一KNN图中的K近邻索引和相似度矩阵以压缩系数矩阵的形式存储,得到第一邻接矩阵,对所述第一邻接矩阵进行对称变换并加入自连接;
将所述车辆图像组中各个车辆图像的特征进行拼接得到第一特征图;
将所述第一邻接矩阵和所述第一特征图作为第一输入特征数据,该第一输入特征数据的特征维度与所述图卷积网络要求的输入特征维度一致。
在该实施例中,所述步骤S240:获取每个车辆图像组的特征均值文件,包括如下步骤:
针对每个车辆图像组中聚类得到的各个簇,分别计算每个簇中各个车辆图像的特征均值,例如一个簇中有1000个第一节点,则将该1000个第一节点的特征均值计算平均值,作为该簇的特征均值;
将每个车辆图像组中每个簇的特征均值保存为该车辆图像组的特征均值文件。
在该实施例中,所述步骤S250:根据多个所述车辆图像组的特征均值文件得到第二输入特征数据与获取第一输入特征数据的方法类似,具体地,包括如下步骤:
基于多个车辆图像组中每个簇的特征均值构建第二KNN图;
将所述第二KNN图中的K近邻索引和相似度矩阵以压缩系数矩阵的形式存储,得到第二邻接矩阵,对所述第二邻接矩阵进行对称变换并加入自连接;
将所述多个车辆图像组中每个簇的特征均值进行拼接得到第二特征图;
将所述第二邻接矩阵和所述第二特征图作为第一输入特征数据。
下面结合图4和图5以一个具体实例来进一步介绍步骤S210~S260的具体实施方式。
首先对应于步骤S210,对车辆图像进行分组,包括步骤(2.1):
(2.1)海量数据分组,并且分组构建测试集:针对大规模车辆数据,无法直接一次性完成聚类过程,需要先对数据集进行分组。以1亿车辆数据为例,将数据集按照50万一组进行划分,共分成200组。划分规则按照数据列表的顺序进行。每个车辆图像对应于一个第一节点。
对应于步骤S220,获取各个所述车辆图像组的第一输入特征数据,包括步骤(2.2)~(2.6):
(2.2)利用车辆ReID模型,对每组车辆数据提取CNN特征,一张图像对应一个特征,特征维度为512,得到该组的第一特征图。特征数据保存成二进制bin文件,长度为50万×512,共200份。
(2.3)对第一特征图中的特征进行L2归一化处理。
(2.4)利用第一特征图中的特征构建KNN,构建方式与(1.3)中提到的相同。
(2.5)利用训练好的图卷积网络,生成不同节点大小的模型,如节点大小为4万表示输入的特征图大小为4万×512,输入的邻接矩阵大小为4万×4万。
(2.6)准备图卷积网络推断的输入数据。这里与训练时的选取有所差异。从分组的数据中按顺序选取指定节点大小的索引值。分组的数据集的图片数若不能被指定的节点大小值整除,取到最后会出现剩余数据量小于指定节点大小的情况。假设分组的数据集图片数为50万,指定节点大小为4万,取到最后还剩2万。当以上情况出现时,需要做特殊处理。最后一个第一特征图中后2万的特征由第一个特征值重复填充。因此,最后一个第一邻接矩阵图右下角[20000:40000,20000:40000]区域全部赋值为1,第一个特征与其自身的相似度是1。第一邻接矩阵图的归一化操作与(1.6)中提到的相同。
对应于步骤S220,利用图卷积网络预测置信度,包括步骤(2.7):
(2.7)固定节点大小的图卷积网络推断。假设分组的数据集图片数为50万,指定节点大小为4万,那么需要进行13次推断。将模型推断的置信度结果按顺序进行拼接,截取前50万的值即为这组数据的节点置信度结果。可视化节点置信度如图5所示,用节点图案线型的粗细代表置信度的高低,越粗代表置信度越高,反之,置信度越低。用不同类型的节点图案代表不同类别的车辆。置信度高的节点位于同类的密集分布处,置信度低的节点位于是多个类别的边界处。
对应于步骤S230,每个分组中进行聚类分簇,包括步骤(2.8):
(2.8)聚类分簇。根据第一节点的置信度找到每个第一节点的邻居节点的置信度峰值,保存节点对和其对应的相似度值。然后比较节点对的相似度值与设置的阈值大小,若相似度值大于等于阈值,则将两两节点连接在一起构成边,反之,不能连接成功。最后遍历所有的边,寻找父节点,由此分簇。如图5所示,找到强连接、父节点,最后分簇。
对应于步骤S240,获取每个分组的特征均值文件,包括步骤(2.9):
(2.9)根据每组数据集的聚类结果生成特征均值文件。假设某组数据集得到了1000个簇,簇1中有100张图片,则簇1的均值特征由这100张图片的特征均值表示。由此得到该数据集的特征均值大小为1000×512。
对应于步骤S250和S260,多个分组联合进行置信度预测的聚合分簇,包括步骤(2.10):
(2.10)按规则组合多组聚类结果调用多数据集聚类算法。假设通过上述步骤已经得到了200组聚类结果和特征均值文件。对这200组结果按顺序进行划分,每个集合中包含N组。然后对每个集合调用多数据集聚类算法。多数据集聚类算法的输入特征由集合中多数据集的特征均值拼接构成。多数据集聚类算法的聚类过程与上面提到单数据集聚类算法一致。由于一开始的分组,可能会出现同类的图片分散到了不同组中。经过多数据集聚类算法后,能够融合每个集合中多组数据集聚类结果,让分布在不同组的同类样本聚到一起。
在步骤S260之后,如果还存在没有融合的分组,则进一步采用多数据集聚合算法融合多集合聚类结果,包括步骤(2.11):
(2.11)融合多集合聚类结果。再次调用多数据集聚类算法。统计簇中包含的图片数,若小于设置的阈值,则将其对应的标签更正为-1。这样做的目的是认为该簇同类样本较少,聚类结果可信度不高。认为标签为-1的图片未找到同类,从此次聚类结果中剔除,用于下次新的数据进来再参与聚类。
因此,在该实施例中,所述步骤S600:得到多个车辆图像组对应的聚类分簇结果之后,还包括:统计每个簇中的图像数量;将图像数量小于预设阈值的簇从聚类结果中剔除。
如图6所示,本发明实施例还提供一种车辆聚类系统,应用于所述的车辆聚类方法,所述系统包括:
图像分组模块M100,用于对车辆图像进行分组,得到多个车辆图像组,将各个车辆图像作为第一节点;
第一聚类模块M200,用于获取各个所述车辆图像组的第一输入特征数据,并输入训练好的图卷积网络,得到所述图卷积网络输出的第一节点的置信度数据,以及根据所述第一节点的置信度数据对第一节点进行聚类分簇,得到每个车辆图像组对应的聚类分簇结果;
第二聚类模块M300,用于根据所述聚类分簇结果将各个簇作为第二节点,获取每个车辆图像组的特征均值文件,根据多个所述车辆图像组的特征均值文件得到第二输入特征数据,输入所述图卷积网络,得到所述图卷积网络输出的第二节点的置信度数据,以及根据所述第二节点的置信度数据对第二节点进行聚类分簇,得到多个所述车辆图像组对应的聚类分簇结果。
本发明的车辆聚类系统首先通过图像分组模块M100对车辆图像进行分组,并且通过第一聚类模块M200对每个车辆图像组中的各个节点进行聚类分簇,然后通过第二聚类模块M300联合多个车辆图像组的分簇结果再一次采用聚类分簇方法,进行进一步聚合,使得不同组中的同类节点可以聚合到一起,从而可以满足海量车辆数据的需求,聚类过程速度快且精确度高。
本发明实施例还提供一种车辆聚类设备,包括处理器;存储器,其中存储有所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行所述的车辆聚类方法的步骤。
所属技术领域的技术人员能够理解,本发明的各个方面可以实现为系统、方法或程序产品。因此,本发明的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图7来描述根据本发明的这种实施方式的电子设备600。图7显示的电子设备600仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
如图7所示,电子设备600以通用计算设备的形式表现。电子设备600的组件可以包括但不限于:至少一个处理单元610、至少一个存储单元620、连接不同系统组件(包括存储单元620和处理单元610)的总线630、显示单元640等。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元610执行,使得所述处理单元610执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。例如,所述处理单元610可以执行如图1中所示的步骤。
所述存储单元620可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)6201和/或高速缓存存储单元6202,还可以进一步包括只读存储单元(ROM)6203。
所述存储单元620还可以包括具有一组(至少一个)程序模块6205的程序/实用工具6204,这样的程序模块6205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线630可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备600也可以与一个或多个外部设备700(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备600交互的设备通信,和/或与使得该电子设备600能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口650进行。并且,电子设备600还可以通过网络适配器660与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。网络适配器660可以通过总线630与电子设备600的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备600使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过采用本发明所提供的车辆聚类设备,所述处理器在执行所述可执行指令时执行所述的车辆聚类方法,由此可以获得上述车辆聚类方法的有益效果。
本发明实施例还提供一种计算机可读存储介质,用于存储程序,所述程序被处理器执行时实现所述的车辆聚类方法的步骤。在一些可能的实施方式中,本发明的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述电子处方流转处理方法部分中描述的根据本发明各种示例性实施方式的步骤。
参考图8所示,描述了根据本发明的实施方式的用于实现上述方法的程序产品800,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本发明的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
所述计算机可读存储介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读存储介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。可读存储介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本发明操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或集群上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
通过采用本发明所提供的计算机可读存储介质,其中存储的程序在被执行时实现所述的车辆聚类方法的步骤,由此可以获得上述车辆聚类方法的有益效果。
以上内容是结合具体的优选实施方式对本发明所作的进一步详细说明,不能认定本发明的具体实施只局限于这些说明。对于本发明所属技术领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干简单推演或替换,都应当视为属于本发明的保护范围。

Claims (11)

1.一种车辆聚类方法,其特征在于,包括如下步骤:
对车辆图像进行分组,得到多个车辆图像组,将各个车辆图像作为第一节点;
获取各个所述车辆图像组的第一输入特征数据,并输入训练好的图卷积网络,得到所述图卷积网络输出的第一节点的置信度数据;
根据所述第一节点的置信度数据对第一节点进行聚类分簇,得到每个车辆图像组对应的聚类分簇结果;
根据所述聚类分簇结果将各个簇作为第二节点,获取每个车辆图像组的特征均值文件;
根据多个所述车辆图像组的特征均值文件得到第二输入特征数据,输入所述图卷积网络,得到所述图卷积网络输出的第二节点的置信度数据;
根据所述第二节点的置信度数据对第二节点进行聚类分簇,得到多个所述车辆图像组对应的聚类分簇结果。
2.根据权利要求1所述的车辆聚类方法,其特征在于,获取各个所述车辆图像组的第一输入特征数据,包括如下步骤:
基于卷积神经网络提取各个所述车辆图像组中每个车辆图像的特征;
对于每个所述车辆图像组,基于所述每个车辆图像的特征构建第一KNN图;
将所述第一KNN图中的K近邻索引和相似度矩阵以压缩系数矩阵的形式存储,得到第一邻接矩阵,对所述第一邻接矩阵进行对称变换并加入自连接;
将所述车辆图像组中各个车辆图像的特征进行拼接得到第一特征图;
将所述第一邻接矩阵和所述第一特征图作为第一输入特征数据。
3.根据权利要求1所述的车辆聚类方法,其特征在于,所述获取每个车辆图像组的特征均值文件,包括如下步骤:
针对每个车辆图像组中聚类得到的各个簇,分别计算每个簇中各个车辆图像的特征均值;
将每个车辆图像组中每个簇的特征均值保存为特征均值文件。
4.根据权利要求3所述的车辆聚类方法,其特征在于,根据多个所述车辆图像组的特征均值文件得到第二输入特征数据,包括如下步骤:
基于多个车辆图像组中每个簇的特征均值构建第二KNN图;
将所述第二KNN图中的K近邻索引和相似度矩阵以压缩系数矩阵的形式存储,得到第二邻接矩阵,对所述第二邻接矩阵进行对称变换并加入自连接;
将所述多个车辆图像组中每个簇的特征均值进行拼接得到第二特征图;
将所述第二邻接矩阵和所述第二特征图作为第一输入特征数据。
5.根据权利要求1所述的车辆聚类方法,其特征在于,采用如下步骤训练所述图卷积网络:
基于车辆图像样本得到车辆样本特征图和样本邻接矩阵;
获取每个车辆图像样本所对应的置信度标签;
从所述车辆样本特征图和样本邻接矩阵中分别获取对应于指定节点数量的数据,得到指定节点数量的特征子图和邻接矩阵子图,作为所述图卷积网络的训练输入数据;
将所述训练输入数据输入所述图卷积网络,得到所述图卷积网络的预测置信度;
基于所述置信度标签和所述预测置信度构建损失函数,反向优化所述图卷积网络。
6.根据权利要求5所述的车辆聚类方法,其特征在于,从所述车辆样本特征图和样本邻接矩阵中分别获取对应于指定节点数量的数据,得到指定节点数量的特征子图和邻接矩阵子图,包括如下步骤:
根据所述指定节点数量确定索引数量;
在车辆图像样本的总数的数值范围内随机选取索引数量的随机数,作为各个节点的索引;
从所述车辆样本特征图中获取所述索引所对应的值,构成样本特征子图;
从所述样本邻接矩阵中获取所述索引所对应的值,构成邻接矩阵子图。
7.根据权利要求5所述的车辆聚类方法,其特征在于,所述对车辆图像进行分组,得到多个车辆图像组,包括如下步骤:
根据所述图卷积网络的输入数据的指定节点数量,对车辆图像进行分组;
如果最后一个分组的车辆图像数量小于指定节点数量,将不足的部分基于所述最后一个分组的第一个车辆图像的特征值重复填充。
8.根据权利要求1所述的车辆聚类方法,其特征在于,所述得到多个车辆图像组对应的聚类分簇结果之后,还包括如下步骤:
统计每个簇中的图像数量;
将图像数量小于预设阈值的簇从聚类结果中剔除。
9.一种车辆聚类系统,其特征在于,应用于权利要求1至8中任一项所述的车辆聚类方法,所述系统包括:
图像分组模块,用于对车辆图像进行分组,得到多个车辆图像组,将各个车辆图像作为第一节点;
第一聚类模块,用于获取各个所述车辆图像组的第一输入特征数据,并输入训练好的图卷积网络,得到所述图卷积网络输出的第一节点的置信度数据,以及根据所述第一节点的置信度数据对第一节点进行聚类分簇,得到每个车辆图像组对应的聚类分簇结果;
第二聚类模块,用于根据所述聚类分簇结果将各个簇作为第二节点,获取每个车辆图像组的特征均值文件,根据多个所述车辆图像组的特征均值文件得到第二输入特征数据,输入所述图卷积网络,得到所述图卷积网络输出的第二节点的置信度数据,以及根据所述第二节点的置信度数据对第二节点进行聚类分簇,得到多个所述车辆图像组对应的聚类分簇结果。
10.一种车辆聚类设备,其特征在于,包括:
处理器;
存储器,其中存储有所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1至8中任一项所述的车辆聚类方法的步骤。
11.一种计算机可读存储介质,用于存储程序,其特征在于,所述程序被处理器执行时实现权利要求1至8中任一项所述的车辆聚类方法的步骤。
CN202110335357.5A 2021-03-29 2021-03-29 车辆聚类方法、系统、设备及存储介质 Active CN112906824B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110335357.5A CN112906824B (zh) 2021-03-29 2021-03-29 车辆聚类方法、系统、设备及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110335357.5A CN112906824B (zh) 2021-03-29 2021-03-29 车辆聚类方法、系统、设备及存储介质

Publications (2)

Publication Number Publication Date
CN112906824A CN112906824A (zh) 2021-06-04
CN112906824B true CN112906824B (zh) 2022-07-05

Family

ID=76109362

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110335357.5A Active CN112906824B (zh) 2021-03-29 2021-03-29 车辆聚类方法、系统、设备及存储介质

Country Status (1)

Country Link
CN (1) CN112906824B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114727356B (zh) * 2022-05-16 2022-08-26 北京邮电大学 无人集群组网方法、装置和电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107679078A (zh) * 2017-08-29 2018-02-09 银江股份有限公司 一种基于深度学习的卡口图像车辆快速检索方法及系统
CN108564102A (zh) * 2018-01-04 2018-09-21 百度在线网络技术(北京)有限公司 图像聚类结果评价方法和装置
CN109902732A (zh) * 2019-02-22 2019-06-18 哈尔滨工业大学(深圳) 车辆自动分类方法及相关装置
CN111767954A (zh) * 2020-06-30 2020-10-13 苏州科达科技股份有限公司 车辆细粒度识别模型生成方法、系统、设备及存储介质

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107679078A (zh) * 2017-08-29 2018-02-09 银江股份有限公司 一种基于深度学习的卡口图像车辆快速检索方法及系统
CN108564102A (zh) * 2018-01-04 2018-09-21 百度在线网络技术(北京)有限公司 图像聚类结果评价方法和装置
CN109902732A (zh) * 2019-02-22 2019-06-18 哈尔滨工业大学(深圳) 车辆自动分类方法及相关装置
CN111767954A (zh) * 2020-06-30 2020-10-13 苏州科达科技股份有限公司 车辆细粒度识别模型生成方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN112906824A (zh) 2021-06-04

Similar Documents

Publication Publication Date Title
CN111612039B (zh) 异常用户识别的方法及装置、存储介质、电子设备
CN109086811B (zh) 多标签图像分类方法、装置及电子设备
Fan et al. Querying big graphs within bounded resources
CN110991311A (zh) 一种基于密集连接深度网络的目标检测方法
US11841839B1 (en) Preprocessing and imputing method for structural data
CN113723618B (zh) 一种shap的优化方法、设备及介质
US8650180B2 (en) Efficient optimization over uncertain data
CN112906824B (zh) 车辆聚类方法、系统、设备及存储介质
CN114897085A (zh) 一种基于封闭子图链路预测的聚类方法及计算机设备
CN115062779A (zh) 基于动态知识图谱的事件预测方法及装置
CN112115996B (zh) 图像数据的处理方法、装置、设备及存储介质
CN116109907B (zh) 目标检测方法、装置、电子设备及存储介质
KR20190105147A (ko) 반딧불 알고리즘을 이용한 데이터 클러스터링 방법 및 시스템
Wang et al. Discerning edge influence for network embedding
CN111832435A (zh) 基于迁移与弱监督的美丽预测方法、装置及存储介质
CN115482436B (zh) 图像筛选模型的训练方法、装置以及图像筛选方法
CN116451081A (zh) 数据漂移的检测方法、装置、终端及存储介质
CN111382760A (zh) 图片类别的识别方法、装置及计算机可读存储介质
CN114037912A (zh) 遥感图像的变化检测方法、装置及计算机可读存储介质
CN116246128B (zh) 跨数据集的检测模型的训练方法、装置及电子设备
CN117556425B (zh) 基于图神经网络的智能合约漏洞检测方法、系统和设备
Xue et al. TSC-GCN: A Face Clustering Method Based on GCN
CN116756732A (zh) 基于全局异构图的安卓恶意应用检测方法
CN114492835A (zh) 一种特征填充方法、装置、计算设备及介质
CN115171107A (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