System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及数据管理,尤其涉及特征数据的管理方法及系统。
技术介绍
1、在图像识别、自然语言处理等领域,通常通过提取目标的特征向量,与数据库中的特征向量进行比对,根据比对结果得出处理结果;常规的特征比对方法是全库对比,即遍历特征库中所有记录,计算相似度,取得最相似的一个或多个结果。这种方法的比对结果可靠性高,但数据规模变大时,也面临一系列负面影响:检索效率和精度均存在不同程度的下降;删除数据导致原来连续的内存空间碎片化,处理碎片化的内存空间造成额外时间消耗的同时也带来了内存复用率不高等潜在问题。
2、当下常规的解决办法有:乘积量化、逆向文件系统、逆向文件系统量化等,在提高检索效率和降低内存占用率等方面进步明显,但高比对精度和低比对时延的应用效果依旧难以兼得。
技术实现思路
1、本专利技术的目的在于针对现有技术的不足提供特征数据的管理方法及系统,旨在解决在进行特征比对时速度与准确度不可兼得的问题。
2、本专利技术通过以下技术方案来实现上述目的:
3、一种特征数据的管理方法,包括:
4、构建对象步骤:为特征数据库中的每个特征数据创建包括特征标识、特征形成时间、存储地址、数据来源、数据描述字段及特征向量数据的特征数据对象得到库特征对象;
5、构建红黑树步骤:将所述库特征对象中除所述特征向量数据之外的其他属性作为所述库特征对象的查询索引key,将所述库特征对象的存储地址作为value,构建所述库特征对象对应的红黑树,红黑树节点即
6、查询步骤:接收到查询目标后,获取所述查询目标的与所述查询索引key对应的属性作为索引属性,从所述红黑树中查找与所述索引属性相匹配的所有所述查询索引key对应的库对象节点,并获取对应的value,根据所述value查找到库特征对象并输出;
7、删除步骤:接收到删除指令后,先查询到要删除的库特征对象,再将对应的库对象节点从所述红黑树中删除,将删除的库对象节点的value存入所述指针容器;
8、存储步骤:接收到存储指令后,创建被存储的特征数据对应的特征数据对象和红黑树节点分别得到待存特征对象和存储对象节点,从所述指针容器中查找空闲地址进行存储,若所述指针容器为空,则分配新的存储空间进行存储;
9、清空步骤:接收到清空指令后,遍历所述红黑树获取到每个库对象节点,释放所述库对象节点对应的库特征对象的存储空间,再将所述库对象节点的value值设为空,最后将所述库对象节点从红黑树中删除。
10、进一步的,所述构建红黑树步骤还包括:
11、将所述库特征对象的特征形成时间作为所述库特征对象的查询索引key;
12、创建存储所述库特征对象的存储地址的指针,将所述指针作为库特征对象的value,所述库特征对象为根据所述特征数据库中的特征数据创建的对象。
13、进一步的,所述查询步骤包括:
14、匹配索引步骤:根据库对象节点的查询索引选择所述查询目标的索引属性,从所述红黑树中查找到与所述索引属性匹配的查询索引key,并获取到对应的库特征对象的value;
15、计算相似度步骤:根据查询到的value获取到对应的库特征对象,计算所述库特征对象的特征向量数据与所述查询目标的特征向量数据的相似度,并排序;
16、输出查询结果步骤:根据特征向量数据的相似度由高到低,输出对应的预定数量的库特征对象作为查询结果。
17、进一步的,所述计算相似度步骤中,计算两个特征向量数据的余弦距离,经过归一化后的特征向量余弦距离计算公式:
18、d=x1·x2
19、d表示两个特征向量数据之间的余弦距离,x1表示查询目标的归一化后的特征向量数据,“·”表示点积或内积,x2表示由查询索引查询到的库特征对象的归一化后的特征向量数据。
20、进一步的,所述删除步骤包括:
21、查询删除目标步骤:从所述红黑树中查找要删除的库特征对象得到删除目标;
22、目标无效化步骤:为所述删除目标设置失效字段,所述失效字段表示:在查询到带有失效字段的库特征对象时将所述库特征对象跳过;
23、删除库特征节点步骤:将所述查询目标对应的库特征节点从红黑树中删除,并调整其余的红黑树节点之间的连接关系,调整红黑树至平衡状态;
24、存储指针步骤:将所述删除目标的value存入到所述指针容器。
25、进一步的,所述存储步骤包括:
26、准备步骤:构建要存储的特征数据对应的特征数据对象和红黑树节点得到待存特征对象和待存特征节点;
27、计算大小步骤:计算所述待存特征对象所需的存储空间的大小得到特征体积,所述特征体积表示所述待存特征对象所占存储空间的大小;
28、存储步骤:若所述指针容器不为空,则根据所述特征体积从指针容器中获取一个指针,将所述待存特征对象存储到获取的指针指向的存储空间,若所述指针为空,则为所述待存特征对象分配存储空间并存储;
29、加入红黑树步骤:将所述待存特征节点添加到红黑树中,所述待存特征对象即变为库特征对象,所述待存特征节点即成为库特征节点。
30、一种特征数据的管理系统,应用上述的特征数据管理方法,包括:
31、构建对象模块:为特征数据库中的每个特征数据创建包括特征标识、特征形成时间、存储地址、数据来源、数据描述字段及特征向量数据的特征数据对象得到库特征对象;
32、构建红黑树模块:将所述库特征对象中除所述特征向量数据之外的其他属性作为所述库特征对象的查询索引key,将所述库特征对象的存储地址作为value,构建所述库特征对象对应的红黑树,红黑树节点即为库特征对象对应的库对象节点,并创建所述红黑树对应的指针容器;
33、查询模块:接收到查询目标后,获取所述查询目标的与所述查询索引key对应的属性作为索引属性,从所述红黑树中查找与所述索引属性相匹配的所有所述查询索引key对应的库对象节点,并获取对应的value,根据所述value查找到库特征对象并输出;
34、删除模块:接收到删除指令后,先查询到要删除的库特征对象,再将对应的库对象节点从所述红黑树中删除,将删除的库对象节点的value存入所述指针容器;
35、存储模块:接收到存储指令后,创建被存储的特征数据对应的特征数据对象和红黑树节点分别得到待存特征对象和存储对象节点,从所述指针容器中查找空闲地址进行存储,若所述指针容器为空,则分配新的存储空间进行存储;
36、清空模块:接收到清空指令后,遍历所述红黑树获取到每个库对象节点,释放所述库对象节点对应的库特征对象的存储空间,再将所述库对象节点的value值设为空,最后将所述库对象节点从红黑树中删除。
37、进一步的,所述构建红黑树模块还包括:
38、将所述本文档来自技高网...
【技术保护点】
1.一种特征数据的管理方法,其特征在于,包括:
2.根据权利要求1所述的特征数据的管理方法,其特征在于,所述构建红黑树步骤还包括:
3.根据权利要求1所述的特征数据的管理方法,其特征在于,所述查询步骤包括:
4.根据权利要求3所述的特征数据的管理方法,其特征在于,所述计算相似度步骤中,计算两个特征向量数据的余弦距离,经过归一化后的特征向量余弦距离计算公式:
5.根据权利要求1所述的特征数据的管理方法,其特征在于,所述删除步骤包括:
6.根据权利要求1所述的特征数据的管理方法,其特征在于,所述存储步骤包括:
7.一种特征数据的管理系统,应用权利要求1—6任一项所述的特征数据管理方法,其特征在于,包括:
8.根据权利要求7所述的特征数据的管理系统,其特征在于,所述构建红黑树模块还包括:
9.根据权利要求7所述的特征数据的管理系统,其特征在于,所述查询模块包括:
【技术特征摘要】
1.一种特征数据的管理方法,其特征在于,包括:
2.根据权利要求1所述的特征数据的管理方法,其特征在于,所述构建红黑树步骤还包括:
3.根据权利要求1所述的特征数据的管理方法,其特征在于,所述查询步骤包括:
4.根据权利要求3所述的特征数据的管理方法,其特征在于,所述计算相似度步骤中,计算两个特征向量数据的余弦距离,经过归一化后的特征向量余弦距离计算公式:
5.根据权利要求1所述的...
【专利技术属性】
技术研发人员:李宗南,王亚兵,许金金,胡刚,苗应亮,魏新建,
申请(专利权)人:盛视科技股份有限公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。