CN110110685A - 数据建档方法、装置及服务器 - Google Patents

数据建档方法、装置及服务器 Download PDF

Info

Publication number
CN110110685A
CN110110685A CN201910400316.2A CN201910400316A CN110110685A CN 110110685 A CN110110685 A CN 110110685A CN 201910400316 A CN201910400316 A CN 201910400316A CN 110110685 A CN110110685 A CN 110110685A
Authority
CN
China
Prior art keywords
node
submanifold
target
pending data
root node
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.)
Pending
Application number
CN201910400316.2A
Other languages
English (en)
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.)
Chongqing Unisinsight Technology Co Ltd
Original Assignee
Chongqing Unisinsight 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 Chongqing Unisinsight Technology Co Ltd filed Critical Chongqing Unisinsight Technology Co Ltd
Priority to CN201910400316.2A priority Critical patent/CN110110685A/zh
Publication of CN110110685A publication Critical patent/CN110110685A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2228Indexing structures
    • G06F16/2246Trees, e.g. B+trees
    • 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/172Classification, e.g. identification

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Software Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • Human Computer Interaction (AREA)
  • Multimedia (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种数据建档方法、装置及服务器,涉及特征检索的技术领域,方法包括:接收待处理数据;判断待处理数据对应的特征树是否为空;如果是,建立特征树的根节点;在根节点下创建叶子节点以及包含在叶子节点下的子簇;将待处理数据写入子簇中;根据待处理数据更新根节点和叶子节点的样本特征;如果否,计算待处理数据与特征树中各个根节点和叶子节点的余弦距离,得到余弦距离最小的目标根节点、目标根节点中余弦距离最小的目标叶子节点;将待处理数据写入目标叶子节点下的子簇中;根据待处理数据更新目标根节点和目标叶子节点的样本特征。本发明可以节约时间,增加准确率。

Description

数据建档方法、装置及服务器
技术领域
本发明涉及特征检索技术领域,尤其是涉及一种数据建档方法、装置及服务器。
背景技术
随着深度学习在视频监控领域的广泛应用,针对海量人脸特征数据的数据挖掘成为安防监控中的一大热点技术。目前在安防监控领域,对于人脸特征数据的应用通常是利用CPU(Central Processing Unit,中央处理器)或GPU(Graphics Processing Unit,图形处理器)的强大算力,又或者是使用聚类方式,在数以亿计的海量特征中检索出指定目标。然而如果在海量的特征数据中进行某些业务时,是一个非常耗时的过程。因此需要对特征数据进行分类建档。
现有的数据分类建档方法主要通过暴力搜索或聚类的方法实现。暴力搜索的结果是准确的,但是暴力比对的性能消耗会随着数据量的增长的几何倍的增长,当数据量达到上亿时,即使使用GPU并行计算,消耗的时间也非常多;聚类的方式通过将空间分割成很多子空间,快速的确定在某一个小范围的空间内进行检索,进而完成数据分类建档的操作,这种方法由于只用在小范围内进行检索,准确率较低,同时常规的聚类方式不太适合动态数据的进行聚类。
针对上述现有技术中数据建档方法耗时长、准确率低的问题,目前尚未提出有效解决方案。
发明内容
有鉴于此,本发明的目的在于提供一种数据建档方法、装置及服务器,以节约时间,增加准确率。
第一方面,本发明实施例提供了一种数据建档方法,包括:接收待处理数据;判断待处理数据对应的特征树是否为空;如果是,建立特征树的根节点;在根节点下创建叶子节点以及包含在叶子节点下的子簇;将待处理数据写入子簇中;根据待处理数据更新根节点和叶子节点的样本特征;如果否,计算待处理数据与特征树中各个根节点和叶子节点的余弦距离,得到余弦距离最小的目标根节点、目标根节点中余弦距离最小的目标叶子节点;将待处理数据写入目标叶子节点下的子簇中;根据待处理数据更新目标根节点和目标叶子节点的样本特征。
结合第一方面,本发明实施例提供了第一方面的第一种可能的实施方式,其中,将待处理数据写入目标叶子节点下的子簇中的步骤,包括:判断待处理数据与目标叶子节点中所有子簇的余弦距离是否均大于预设余弦距离阈值;如果是,则在目标叶子节点中建立新的子簇;将待处理数据写入新的子簇中;如果否,则在余弦距离最小的子簇中写入待处理数据。
结合第一方面的第一种可能的实施方式,本发明实施例提供了第一方面的第二种可能的实施方式,其中,在目标叶子节点中建立新的子簇的步骤之后,方法还包括:判断目标叶子节点的子簇的数量是否大于预设子簇数量;如果是,则分裂目标叶子节点。
结合第一方面的第二种可能的实施方式,本发明实施例提供了第一方面的第三种可能的实施方式,其中,分裂目标叶子节点的步骤,包括:计算目标叶子节点的子簇中,每两个子簇之间的余弦距离,得到余弦距离最大的两个目标子簇;将两个目标子簇划分至两个新建的叶子节点下;针对目标叶子节点的子簇中,除两个目标子簇以外的每个子簇,计算当前子簇与两个目标子簇的余弦距离;将当前子簇分配至余弦距离最小的目标子簇对应的叶子节点下。
结合第一方面的第三种可能的实施方式,本发明实施例提供了第一方面的第四种可能的实施方式,其中,方法还包括:判断目标根节点的叶子节点的数量是否大于预设叶子节点数量;如果是,则分裂目标根节点。
结合第一方面的第四种可能的实施方式,本发明实施例提供了第一方面的第五种可能的实施方式,其中,分裂目标根节点的步骤,包括:计算目标根节点的叶子节点中,每两个叶子节点之间的余弦距离,得到余弦距离最大的两个目标叶子节点;将两个目标叶子节点划分至两个新建的根节点下;针对目标根节点的叶子节点中,除两个目标叶子节点以外的每个叶子节点,计算当前叶子节点与两个目标叶子节点的余弦距离;将当前叶子节点分配至余弦距离最小的目标叶子节点对应的根节点下。
结合第一方面,本发明实施例提供了第一方面的第六种可能的实施方式,其中,方法还包括:获取每个线程建立的特征树;通过两两合并的方式合并每个线程对应的特征树,得到最终的特征树;对最终的特征树中包含的子簇进行kmeas聚类处理。
第二方面,本发明实施例还提供一种数据建档装置,包括:待处理数据模块,用于接收待处理数据;特征树判断模块,用于判断待处理数据对应的特征树是否为空;特征树建立模块,用于如果是,建立特征树的根节点;在根节点下创建叶子节点以及包含在叶子节点下的子簇;将待处理数据写入子簇中;根据待处理数据更新根节点和叶子节点的样本特征;特征树写入模块,用于如果否,计算待处理数据与特征树中各个根节点和叶子节点的余弦距离,得到余弦距离最小的目标根节点、目标根节点中余弦距离最小的目标叶子节点;将待处理数据写入目标叶子节点下的子簇中;根据待处理数据更新目标根节点和目标叶子节点的样本特征。
结合第二方面,本发明实施例提供了第二方面的第一种可能的实施方式,其中,特征树写入模块,还用于:判断待处理数据与目标叶子节点中所有子簇的余弦距离是否均大于预设余弦距离阈值;如果是,则在目标叶子节点中建立新的子簇;将待处理数据写入新的子簇中;如果否,则在余弦距离最小的子簇中写入待处理数据。
第二方面,本发明实施例还提供一种服务器,包括存储器、处理器,存储器中存储有可在处理器上运行的计算机程序,处理器执行计算机程序时实现第一方面及其各可能的实施方式之一提供的方法。
本发明实施例带来了以下有益效果:
本发明实施例提供的数据建档方法、装置及服务器,在接收待处理数据后,如果没有对应的特征树,则建立对应的特征树的根节点、叶子节点和子簇,将数据写入子簇并更新样本特征;如果有对应的特征树,则通过层次聚类遍历根节点并找出余弦距离最小的目标根节点,遍历目标根节点的叶子节点并找出余弦距离最小的目标叶子节点,将数据写入目标叶子节点的子簇并更新样本特征。可以节约时间,增加准确率。
本公开的其他特征和优点将在随后的说明书中阐述,或者,部分特征和优点可以从说明书推知或毫无疑义地确定,或者通过实施本公开的上述技术即可得知。
为使本公开的上述目的、特征和优点能更明显易懂,下文特举较佳实施例,并配合所附附图,作详细说明如下。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种数据建档方法的流程图;
图2为本发明实施例提供的一种建立特征树的方法的示意图;
图3为本发明实施例提供的另一种建立特征树的方法的示意图;
图4为本发明实施例提供的另一种建立特征树的方法的示意图;
图5为本发明实施例提供的另一种建立特征树的方法的示意图;
图6为本发明实施例提供的一种建立最终特征树的方法的示意图;
图7为本发明实施例提供的一种数据建档装置的结构示意图;
图8为本发明实施例提供的一种服务器的结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合附图对本发明的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
目前,为了利用海量的抓拍人脸特征数据最大化的进行数据挖掘和利用,需要对人脸特征进行建档,做到一人一档。传统的暴力检索的方式,虽然准确性最好,但是时间消耗太长;常用的kmeans等聚类算法,解决了暴力检索耗时长的问题,但是计算量依旧很大,且内存占用不小,并且kmeans聚类由于只用在小范围内进行检索,准确率较低,同时常规的聚类方式不太适合动态数据的进行聚类。基于此,本发明实施例提供的一种数据建档方法、装置及服务器,该技术应用于特征检索技术领域,尤其可以应用于人脸特征检索领域,具体涉及一种基于改进的层次聚类法进行人脸特征一人一档建档方法。
为便于对本实施例进行理解,首先对本发明实施例所公开的一种数据建档方法进行详细介绍。
实施例1
本发明实施例1提供了一种数据建档方法,参见图1所示的一种数据建档方法的流程图,包括如下步骤:
步骤S102,接收待处理数据。
待处理数据一般为特征数据,具体地,可以是人脸特征数据。人脸特征数据包括256维float(浮点型)数组,用于测量余弦距离。
步骤S104,判断待处理数据对应的特征树是否为空;如果是,则执行步骤S106;如果否,则执行步骤S108。
首选需要判断特征树是否为空,对于特征树为空的情况,需要建立一个新的特征树并写入特征数据,则执行步骤S106;对于特征树不为空的情况,就在该特征树下写入特征数据即可,则执行步骤S108。
步骤S106,建立特征树的根节点;在根节点下创建叶子节点以及包含在叶子节点下的子簇;将待处理数据写入子簇中;根据待处理数据更新根节点和叶子节点的样本特征。
特征树包括根节点、叶子节点以及一种存储子簇的结构。其中,根节点是一个非叶子节点,其中包含了指向子节点的指针以及子节点的数量;非叶子节点中包含了样本点特征,子节点数量,指向父节点和子节点的指针。叶子节点中包含了样本特征,父节点指针,子簇数,子簇。子簇表示的是所属于同一个人的一个聚合体,存放在叶子节点内,保存着子簇样本特征值、子簇所含特征的ID。
具体的特征树为空情形下的特征树创建方法,参见图2所示的一种建立特征树的方法的示意图,最上方为根节点,中间的为该根节点下的一个叶子节点,叶子节点下方有一个椭圆,椭圆内部有一个小圆,椭圆是该叶子节点下的一个子簇,小圆为该子簇的一个样本特征。通过层次聚类的方式建立特征树。构建特征树后,将待处理数据写入子簇,并更新样本特征,完成数据建档步骤。
步骤S108,计算待处理数据与特征树中各个根节点和叶子节点的余弦距离,得到余弦距离最小的目标根节点、目标根节点中余弦距离最小的目标叶子节点;将待处理数据写入目标叶子节点下的子簇中;根据待处理数据更新目标根节点和目标叶子节点的样本特征。
当特征树不为空,则需要在已经创建完成的特征树内部寻找一个余弦距离最小的目标叶子节点,将该待处理数据写入目标叶子节点下的子簇中,并更新目标根节点和目标叶子节点的样本特征。采用一层一层遍历的方法,遍历该特征树下的所有根节点,并确定各个根节点与待处理数据的余弦距离,确定一个余弦距离最小的根节点作为目标根节点;在目标根节点下,遍历所有该目标根节点包括的叶子节点,确定各个叶子节点与待处理数据的余弦距离,确定一个余弦距离最小的叶子节点作为目标叶子节点,将待处理数据写入目标叶子节点的子簇中,更新样本特征,以完成数据建档步骤。
具体的特征树不为空情形下的特征树创建方法,参见图3所示的另一种建立特征树的方法的示意图,在该目标叶子节点的子簇内部,除了之前创建的样本特征之外,还有待处理数据对应的新加入的样本特征,两个样本特征在一个子簇内。
本发明实施例提供的上述方法,在接收待处理数据后,如果没有对应的特征树,则建立对应的特征树的根节点、叶子节点和子簇,将数据写入子簇并更新样本特征;如果有对应的特征树,则通过层次聚类遍历根节点并找出余弦距离最小的目标根节点,遍历目标根节点的叶子节点并找出余弦距离最小的目标叶子节点,将数据写入目标叶子节点的子簇并更新样本特征。可以节约时间,增加准确率。
在将待处理数据写入目标叶子节点下的子簇中的步骤中,需要保证将待处理数据写入于其最接近的子簇中,如果所有子簇都与待处理数据并不接近,则需要建立新的子簇,例如,可以通过以下步骤执行:
(1)判断待处理数据与目标叶子节点中所有子簇的余弦距离是否均大于预设余弦距离阈值;
首先预设一个余弦距离阈值,要保证每一个子簇内的样本特征对应的待处理数据与该子簇的余弦距离不小于预设余弦距离阈值。因此,在确定目标叶子节点后,对叶子节点内所有子簇意义确定待处理数据与子簇的余弦距离,并找到余弦距离最小的值和对应的子簇。如果余弦距离最小的值大于预设余弦距离阈值,则说明需要新建一个子簇;如果如果余弦距离最小的值不大于预设余弦距离阈值,则说明在该子簇下写入待处理数据即可。
(2)如果是,则在目标叶子节点中建立新的子簇;将待处理数据写入新的子簇中;
参见图4所示的另一种建立特征树的方法的示意图,图4中左侧的子簇为余弦距离阈值最小的子簇,但是该子簇对应的余弦距离仍大于预设余弦距离阈值,则只能在目标叶子节点下建立新的子簇,即右侧的子簇,并将待处理数据写入新的子簇。
(3)如果否,则在余弦距离最小的子簇中写入待处理数据。
如果余弦距离阈值最小的子簇对应的余弦距离不大于预设余弦距离阈值,则满足了待处理数据的写入条件,在该子簇下写入待处理数据即可。
本发明实施例提供的上述方法,如果所有子簇都与待处理数据并不接近,则需要建立新的子簇,可以保证将待处理数据写入于其最接近的子簇中。
为了控制特征树的宽度和深度,需要规定每个叶子节点的最大子簇数,也就是预设子簇数量;如果叶子节点的子簇数大于预设子簇数量,则需要将该叶子节点分裂。因此,在目标叶子节点中建立新的子簇的步骤之后,方法还包括:
(1)判断目标叶子节点的子簇的数量是否大于预设子簇数量;
为了保证树的深度,且每个节点子节点的数量不能过多,预设子簇数量针对不同的情况可以设定不同的值,一般为5-20之间。及每个叶子节点的子簇的数量最多为5-20之间。
(2)如果是,则分裂目标叶子节点。
如果目标叶子节点的子簇的数量大于预设子簇数量,则将该目标叶子节点分裂为两个叶子节点。参见图5所示的另一种建立特征树的方法的示意图,图5左侧为分裂前的特征树,右侧为分离后的特征树。
本发明实施例提供的上述方法,如果叶子节点的子簇数大于预设子簇数量,则将该叶子节点分裂,可以控制特征树的宽度和深度。
分离后新的叶子节点的子簇根据子簇距离远近分配。分裂目标叶子节点的步骤,可以按照以下步骤执行:
(1)计算目标叶子节点的子簇中,每两个子簇之间的余弦距离,得到余弦距离最大的两个目标子簇;
找出节点内距离最远的两个子簇,即余弦距离最大的两个目标子簇。采用的方法是来计算每两个子簇之间的余弦距离,最大的一组子簇即为距离最远的两个目标子簇。
(2)将两个目标子簇划分至两个新建的叶子节点下;以余弦距离最大的两个目标子簇为基础,划分到两个新的叶子节点。
(3)针对目标叶子节点的子簇中,除两个目标子簇以外的每个子簇,计算当前子簇与两个目标子簇的余弦距离;将当前子簇分配至余弦距离最小的目标子簇对应的叶子节点下。
将当前叶子节点内的所有子簇按距离分配到分裂的叶子节点中,分配的方法是按照预先距离的大小,选择任意子簇,计算与两个目标子簇的余弦距离,选择余弦距离最小的目标子簇对应的叶子节点加入。本发明实施例提供的上述方法,分离后新的叶子节点的子簇根据子簇距离远近分配到不同的叶子节点。
叶子节点分裂后会导致叶子节点的总数增加,但是为了控制特征树的宽度和深度,一个根节点下的叶子节点的总数不能超过预设叶子节点数量,预设叶子节点的数量在5-20之间。因此,上述方法还包括:
(1)判断目标根节点的叶子节点的数量是否大于预设叶子节点数量;
判断叶子节点分裂导致目标根节点下叶子节点的总数是否超过预设叶子节点数量,如果超过则需要目标分裂根节点。
(2)如果是,则分裂目标根节点。
本发明实施例提供的上述方法,目标根节点下的叶子节点的总数不能超过预设叶子节点数量,可以控制特征树的宽度和深度。
具体来说,分裂目标根节点的步骤,可以通过以下步骤执行:
(1)计算目标根节点的叶子节点中,每两个叶子节点之间的余弦距离,得到余弦距离最大的两个目标叶子节点;分裂叶子节点与分裂根节点的方法类似,首选是找到目标根节点中余弦距离最大的两个目标叶子节点。
(2)将两个目标叶子节点划分至两个新建的根节点下;以余弦距离最大的两个叶子节点为基础,划分到两个新的根节点。
(3)针对目标根节点的叶子节点中,除两个目标叶子节点以外的每个叶子节点,计算当前叶子节点与两个目标叶子节点的余弦距离;将当前叶子节点分配至余弦距离最小的目标叶子节点对应的根节点下。
将当前根节点内的所有叶子节点按距离分配到分裂的根节点中,分配的方法是按照预先距离的大小,选择叶子节点,计算与分裂的两个叶子节点的余弦距离,选择余弦距离最小的叶子节点对应的根节点加入。本发明实施例提供的上述方法,分离后新的根节点的叶子节点根据预先距离远近分配到不同的根节点。
每一个线程都使用上述方法建立特征树,还需要进行合并,上述方法还包括:
(1)获取每个线程建立的特征树;CPU每一个线程建立对应特征树,在单个系统内需要将每个线程建立的特征树合并,得到最终特征树。一颗特征树的构建只能使用一个线程,为了充分利用CPU的多线程特性,可以同时进行多个特征树的构建。但是每一颗特征树的结果只是一部分结果,这些结果可能是有一些交集的,所以需要合并多个树。
(2)通过两两合并的方式合并每个线程对应的特征树,得到最终的特征树;
合并的方法是凉凉合并,合并时每两颗树合并一次,将子簇的样本特征作为一条特征数据,遍历所有子簇进行合并,构建最终特征树。
参见图6所示的一种建立最终特征树的方法的示意图,图6中上方的两颗特征树为不同线程建立的对应的特征树,下方的特征树为合并后的最终特征树,在最终特征树的合并过程中,多个特征树可能是有交集的,比如最下面的子簇实际上可能是属于同一个人的特征,一个子簇被吸纳到另一颗树的子簇中去了,所以合并后子簇数量可能会变少。
(3)对最终的特征树中包含的子簇进行kmeas聚类处理。
对最终的特征树的全部子簇特征进行kmeas聚类,在聚类完成后对每个聚类点进行搜索,进一步降低由构建特征树数据先后顺序的影响。由于特征的进入树的先后顺序,可能导致同一个人被分裂到了不同的子簇中去,此时需要对已经构建完成的特征树的所有子簇特征组一个kmeas聚类,进一步把同一个人聚类到同一个点上,同时由于特征树已经进行过一次聚类,此时需要参与kmeans的特征数量已经大大减小了,可以较快完成。
本发明实施例提供的上述方法,利用CPU的多线程能力建立多个特征树,合并为最终特征树后,对最终的特征树中包含的子簇进行kmeas聚类处理,可以快速完成数据建档,在较短时间内进一步降低由构建特征树数据先后顺序的影响。
本发明实施例提供的一种数据建档方法,在接收待处理数据后,如果没有对应的特征树,则建立对应的特征树的根节点、叶子节点和子簇,将数据写入子簇并更新样本特征;如果有对应的特征树,则通过层次聚类遍历根节点并找出余弦距离最小的目标根节点,遍历目标根节点的叶子节点并找出余弦距离最小的目标叶子节点,将数据写入目标叶子节点的子簇并更新样本特征;如果所有子簇都与待处理数据并不接近,则需要建立新的子簇;如果叶子节点的子簇数大于预设子簇数量,则将该叶子节点分裂;分离后新的叶子节点的子簇根据子簇距离远近分配到不同的叶子节点;目标根节点下的叶子节点的总数不能超过预设叶子节点数量;分离后新的根节点的叶子节点根据预先距离远近分配到不同的根节点;利用CPU的多线程能力建立多个特征树,合并为最终特征树后,对最终的特征树中包含的子簇进行kmeas聚类处理。可以节约时间,增加准确率,保证将待处理数据写入于其最接近的子簇中,控制特征树的宽度和深度,快速完成数据建档,在较短时间内进一步降低由构建特征树数据先后顺序的影响。
实施例2
本发明实施例2提供一种数据建档装置,参见图7所示的一种数据建档装置的结构示意图,包括待处理数据模块71、特征树判断模块72、特征树建立模块73和特征树写入模块74,上述各模块的功能如下:
待处理数据模块71,用于接收待处理数据;
特征树判断模块72,用于判断待处理数据对应的特征树是否为空;
特征树建立模块73,用于如果是,建立特征树的根节点;在根节点下创建叶子节点以及包含在叶子节点下的子簇;将待处理数据写入子簇中;根据待处理数据更新根节点和叶子节点的样本特征;
特征树写入模块74,用于如果否,计算待处理数据与特征树中各个根节点和叶子节点的余弦距离,得到余弦距离最小的目标根节点、目标根节点中余弦距离最小的目标叶子节点;将待处理数据写入目标叶子节点下的子簇中;根据待处理数据更新目标根节点和目标叶子节点的样本特征。
在将待处理数据写入目标叶子节点下的子簇中的步骤中,需要保证将待处理数据写入于其最接近的子簇中,如果所有子簇都与待处理数据并不接近,则需要建立新的子簇。因此,特征树写入模块,还用于:
判断待处理数据与目标叶子节点中所有子簇的余弦距离是否均大于预设余弦距离阈值;
如果是,则在目标叶子节点中建立新的子簇;将待处理数据写入新的子簇中;
如果否,则在余弦距离最小的子簇中写入待处理数据。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的数据建档装置的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
本发明实施例提供的数据建档装置,与上述实施例提供的数据建档方法具有相同的技术特征,所以也能解决相同的技术问题,达到相同的技术效果。
实施例3
本实施例还提供了一种与上述方法实施例相对应的一种服务器,图8所示为一种服务器的结构示意图,该服务器包括存储器100和处理器101,该存储器100中存储有可在处理器101上运行的计算机程序,该处理器101执行该计算机程序时实现财务管理方法。
进一步,图5所示的一种服务器还包括总线102和通信接口103,处理器101、通信接口103和存储器100通过总线102连接。
其中,存储器100可能包含高速随机存取存储器(RAM,Random Access Memory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个通信接口103(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网,广域网,本地网,城域网等。总线102可以是ISA总线、PCI总线或EISA总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一个双向箭头表示,但并不表示仅有一根总线或一种类型的总线。
处理器101可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器101中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器101可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DigitalSignal Processing,简称DSP)、专用集成电路(Application Specific IntegratedCircuit,简称ASIC)、现成可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器100,处理器101读取存储器100中的信息,结合其硬件完成前述实施例的方法的步骤。
本发明实施例所提供的数据建档方法、装置及服务器的计算机程序产品,包括存储了程序代码的计算机可读存储介质,程序代码包括的指令可用于执行前面方法实施例中的方法,具体实现可参见方法实施例,在此不再赘述。
功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

Claims (10)

1.一种数据建档方法,其特征在于,包括:
接收待处理数据;
判断所述待处理数据对应的特征树是否为空;
如果是,建立特征树的根节点;在所述根节点下创建叶子节点以及包含在所述叶子节点下的子簇;将所述待处理数据写入所述子簇中;根据所述待处理数据更新所述根节点和所述叶子节点的样本特征;
如果否,计算所述待处理数据与所述特征树中各个根节点和叶子节点的余弦距离,得到余弦距离最小的目标根节点、所述目标根节点中余弦距离最小的目标叶子节点;将所述待处理数据写入所述目标叶子节点下的子簇中;根据所述待处理数据更新所述目标根节点和所述目标叶子节点的样本特征。
2.根据权利要求1所述的方法,其特征在于,将所述待处理数据写入所述目标叶子节点下的子簇中的步骤,包括:
判断所述待处理数据与所述目标叶子节点中所有子簇的余弦距离是否均大于预设余弦距离阈值;
如果是,则在所述目标叶子节点中建立新的子簇;将所述待处理数据写入所述新的子簇中;
如果否,则在余弦距离最小的子簇中写入所述待处理数据。
3.根据权利要求2所述的方法,其特征在于,在所述目标叶子节点中建立新的子簇的步骤之后,所述方法还包括:
判断所述目标叶子节点的子簇的数量是否大于预设子簇数量;
如果是,则分裂所述目标叶子节点。
4.根据权利要求3所述的方法,其特征在于,分裂所述目标叶子节点的步骤,包括:
计算所述目标叶子节点的子簇中,每两个子簇之间的余弦距离,得到所述余弦距离最大的两个目标子簇;
将两个所述目标子簇划分至两个新建的叶子节点下;
针对所述目标叶子节点的子簇中,除所述两个目标子簇以外的每个子簇,计算当前子簇与所述两个目标子簇的余弦距离;将所述当前子簇分配至余弦距离最小的目标子簇对应的叶子节点下。
5.根据权利要求4所述的方法,其特征在于,所述方法还包括:
判断所述目标根节点的叶子节点的数量是否大于预设叶子节点数量;
如果是,则分裂所述目标根节点。
6.根据权利要求5所述的方法,其特征在于,分裂所述目标根节点的步骤,包括:
计算所述目标根节点的叶子节点中,每两个叶子节点之间的余弦距离,得到所述余弦距离最大的两个目标叶子节点;
将两个所述目标叶子节点划分至两个新建的根节点下;
针对所述目标根节点的叶子节点中,除所述两个目标叶子节点以外的每个叶子节点,计算当前叶子节点与所述两个目标叶子节点的余弦距离;将所述当前叶子节点分配至余弦距离最小的目标叶子节点对应的根节点下。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取每个线程建立的特征树;
通过两两合并的方式合并所述每个线程对应的特征树,得到最终的特征树;
对所述最终的特征树中包含的子簇进行kmeas聚类处理。
8.一种数据建档装置,其特征在于,包括:
待处理数据模块,用于接收待处理数据;
特征树判断模块,用于判断所述待处理数据对应的特征树是否为空;
特征树建立模块,用于如果是,建立特征树的根节点;在所述根节点下创建叶子节点以及包含在所述叶子节点下的子簇;将所述待处理数据写入所述子簇中;根据所述待处理数据更新所述根节点和所述叶子节点的样本特征;
特征树写入模块,用于如果否,计算所述待处理数据与所述特征树中各个根节点和叶子节点的余弦距离,得到余弦距离最小的目标根节点、所述目标根节点中余弦距离最小的目标叶子节点;将所述待处理数据写入所述目标叶子节点下的子簇中;根据所述待处理数据更新所述目标根节点和所述目标叶子节点的样本特征。
9.根据权利要求8所述的装置,其特征在于,所述特征树写入模块,还用于:
判断所述待处理数据与所述目标叶子节点中所有子簇的余弦距离是否均大于预设余弦距离阈值;
如果是,则在所述目标叶子节点中建立新的子簇;将所述待处理数据写入所述新的子簇中;
如果否,则在余弦距离最小的子簇中写入所述待处理数据。
10.一种服务器,包括存储器、处理器,所述存储器中存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现所述权利要求1-7任一项所述的方法。
CN201910400316.2A 2019-05-14 2019-05-14 数据建档方法、装置及服务器 Pending CN110110685A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910400316.2A CN110110685A (zh) 2019-05-14 2019-05-14 数据建档方法、装置及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910400316.2A CN110110685A (zh) 2019-05-14 2019-05-14 数据建档方法、装置及服务器

Publications (1)

Publication Number Publication Date
CN110110685A true CN110110685A (zh) 2019-08-09

Family

ID=67490086

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910400316.2A Pending CN110110685A (zh) 2019-05-14 2019-05-14 数据建档方法、装置及服务器

Country Status (1)

Country Link
CN (1) CN110110685A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367916A (zh) * 2020-03-04 2020-07-03 浙江大华技术股份有限公司 一种数据存储方法及装置
CN112270290A (zh) * 2020-11-10 2021-01-26 佳都新太科技股份有限公司 人脸图像动态聚类方法、装置、电子设备和存储介质
CN116645536A (zh) * 2023-05-15 2023-08-25 广州汽车集团股份有限公司 数据分类方法、装置、电子设备及存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815310A (zh) * 2016-12-20 2017-06-09 华南师范大学 一种对海量文档集的层次聚类方法及系统
US20190087964A1 (en) * 2017-09-20 2019-03-21 Beihang University Method and apparatus for parsing and processing three-dimensional cad model

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106815310A (zh) * 2016-12-20 2017-06-09 华南师范大学 一种对海量文档集的层次聚类方法及系统
US20190087964A1 (en) * 2017-09-20 2019-03-21 Beihang University Method and apparatus for parsing and processing three-dimensional cad model

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
刘建平PINARD: "BIRCH聚类算法原理", 《博客园》 *
钱卫宁等: "聚类树合并——聚类超大规模数据库", 《计算机科学》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111367916A (zh) * 2020-03-04 2020-07-03 浙江大华技术股份有限公司 一种数据存储方法及装置
CN111367916B (zh) * 2020-03-04 2023-03-31 浙江大华技术股份有限公司 一种数据存储方法及装置
CN112270290A (zh) * 2020-11-10 2021-01-26 佳都新太科技股份有限公司 人脸图像动态聚类方法、装置、电子设备和存储介质
CN116645536A (zh) * 2023-05-15 2023-08-25 广州汽车集团股份有限公司 数据分类方法、装置、电子设备及存储介质

Similar Documents

Publication Publication Date Title
CN110110685A (zh) 数据建档方法、装置及服务器
CN104615638B (zh) 一种面向大数据的分布式密度聚类方法
CN109145171A (zh) 一种多尺度地图数据更新方法
CN106919957B (zh) 处理数据的方法及装置
CN110111113B (zh) 一种异常交易节点的检测方法及装置
CN103020288A (zh) 一种动态数据环境下的数据流分类方法
CN108415975A (zh) 基于bdch-dbscan的出租车载客热点识别方法
CN106228554A (zh) 基于多属性约简的模糊粗糙集煤粉尘图像分割方法
CN111259933B (zh) 基于分布式并行决策树的高维特征数据分类方法及系统
CN111460927A (zh) 对房产证图像进行结构化信息提取的方法
CN109376590A (zh) 基于无人车的障碍物分类方法、装置、设备以及存储介质
CN110704560B (zh) 一种基于道路级拓扑的车道线组结构化的方法及装置
CN110458047B (zh) 一种基于深度学习的越野环境场景识别方法及系统
CN108388929A (zh) 基于代价敏感和半监督分类的客户分类方法及装置
CN108805174A (zh) 聚类方法及装置
CN110599453A (zh) 一种基于图像融合的面板缺陷检测方法、装置及设备终端
CN113160188B (zh) 基于圆形特征的鲁棒血细胞检测方法
CN112766170A (zh) 基于簇类无人机图像的自适应分割检测方法及装置
CN105808582A (zh) 基于分层策略的决策树并行生成方法和装置
CN103493067A (zh) 识别视频的字符的方法和装置
CN108764307A (zh) 自然最近邻优化的密度峰值聚类方法
CN109766905A (zh) 基于自组织特征映射网络的目标分群方法
CN109297470B (zh) 一种基于动力因素与路径信息的相似台风匹配算法
CN110555448B (zh) 一种细分派件区域的方法和系统
CN114091578A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20190809