一种从m部图中得到极大完全子图的数据库搜索方法技术

技术编号:15982754 阅读:47 留言:0更新日期:2017-08-12 05:40
本发明专利技术提供一种从m部图中得到极大完全子图的数据库搜索方法,所述搜索方法应用于从人脸识别数据库,所述方法通过建立无向图模型,构成一个k阶极大完全子图,并通过邻接链表来存储无向图G,以正序边和最大顶点为基本量,通过剪枝法对无向图G的顶点数和k阶完全子图的计算量Tk进行计算,从而得到该极大完全子图的空间复杂度和时间复杂度,完成对极大完全子图的搜索,并将搜索结果用于人脸识别数据中,通过寻找频繁项集,大幅减少对数据库的访问,提高识别效率。

【技术实现步骤摘要】
一种从m部图中得到极大完全子图的数据库搜索方法
本专利技术属于人脸研判分析系统
,具体涉及一种从m部图中得到极大完全子图的数据库搜索方法。
技术介绍
极大完全子图有着十分广泛的应用。在管理决策方面,一些管理事物问题如人员管理、运输调度等均可抽象为求解极大完全子图问题。在数据挖掘方面,关联规则的挖掘是数据挖掘研究的重要内容之一,利用极大完全子图来寻找频繁项集,可以在很大程度上减少对数据库的访问,提高CPU的利用率。最大完全子图问题是一个著名的组合优化问题,它也是最早被证明的NP-完全问题之一。由于理论研究及应用的需要,人们致力于寻找一些可行的算法。总体上分为两类:一类是求解最大完全子图的确定性算法,如上个世纪80年代提出的深度优先列举算法。另一类是求解最大完全子图的启发式算法,如顺序贪婪启发式算法。这些算法无论是确定性算法还是启发式方法,其寻找完全子图的过程大部分都是先寻找极大完全子图集,再从中找出顶点个数最多的作为最大完全子图。因此,研究有效的极大完全子图算法既具有理论意义也具有应用价值。重庆大学计算机学院和东北大学机械工程与自动化学院的郭平、康艳荣、史晓晨于2006年在计算机科学学报上发表论文《基于最大Code码的极大完全子图搜索算法》。论文中提出了一种寻找图的极大完全子图的FMCSG算法,该算法基于逆导出子图概念,首选将图分解成若干个逆导出子图,然后找出每个逆导出子图的所有极大完全子图,从而得到原图的所有极大完全子图。该算法用邻接矩阵表示图,在寻找极大完全子图时根据得到的code码及时减掉非极大code码的子矩阵,从而减少对矩阵的遍历次数,提高了算法的效率。云南师范大学信息学院的时燕和张玉琢与2016年在电脑知识与技术学报上发表论文《一种改进的极大完全子图挖掘算法》。论文主要是针对郭平等人提出的FMCSG算法进行了改进,并设计了相关的数据结构,提升了算法的运行效率。其核心操作是在由阶矩阵生成阶矩阵时,依据一定的规则,避免一些不必要的判断操作。现有的极大完全子图搜索算法的研究对象都是普通图,这类算法的时间复杂度和空间复杂度都比较高。比如,当图的顶点个数为n时,基于最大Code码的极大完全子图搜索算法的时间复杂度为T(n)=T(n-1)*T(n-1)+O(n2),空间复杂度为O(n2)。改进的极大完全子图挖掘算法虽然做了一些优化,但是时间复杂度和空间复杂度的量级并没有改变。本专利技术针对一种比较特殊的图—m部图提出了搜索其所有的k(3≤k≤m)阶极大完全子图的算法。m部图不同于普通图之处在于它的所有顶点可以划分为多个集合,任意一条边的两个顶点都是来自于不同的集合。轨迹查人功能是指用户在地图上通过标注多个点位操作或者多次框选区域操作勾画出一条运动轨迹,系统可找出运动轨迹和指定轨迹具有一定吻合度的人员及其对应的活动详情,同时计算出每个人员的运动轨迹与指定轨迹的吻合度。此功能主要用于刑侦、科研以及一些安全领域,用户只需要掌握一个大概的时间范围和目标人物的活动轨迹,即可通过软件的智能分析将目标人员从海量人脸照片数据中挖掘出来。运动轨迹上的每一个节点对应现实场景中的一个区域,每个区域架设数量不等的人脸相机。在一定时间范围内,每个区域的人脸相机都会采集到很多数量的人脸照片。分别从多个不同的区域中按照时间先后顺序拿出多张人脸照片,若它们是同一个人的照片,我们就找到了活动轨迹与指定轨迹具有一定吻合度的人员。由于人脸比对之间总会存在一些误差,所以比较合理的做法就是:若多张人脸照片两两相似度较高,就认为它们是同一个人的照片。根据传统数据分析经验,大多数领域内的类似功能只需将给定条件转换成相应的数据库查询语句去数据库进行查询操作,然后对结果集分组并计算每组数据数量即可。此方式也是目前软件市场上最常见的一种实现方式。但其并不适用于人脸识别.传统数据分析方式应用于人脸分析领域的话,会有以下的不足之处:1.城市相机每分每秒都在产生大量的人脸照片,当数据量增长到一定程度时,基于关系型数据库做查询的传统数据分析方式将不能满足查询性能要求。2.人脸照片通过特征提取后得到的数据只有一些二进制特征文件,在这些数据中并没有一个标识/标签足以判别两条或多条特征文件对应的是同一个人。这将导致查询结果集无法按人进行分组操作。3.传统的数据分析方式在功能核心步骤(如:如何确定多张照片为同一个人)的研判规则制定上大多依赖头脑风暴,导致研判结果质量不稳定。4.传统的数据分析方式大多由一些基本的统计分析操作(累加、平均、分组、条件过滤等)组合而成,而人脸数据只是一些图片以及从这些图片中识别出来的非结构化特征数据,传统的数据统计分析操作无法在非结构化数据上应用.
技术实现思路
为了解决上述问题,本专利技术提供一种从m部图中得到极大完全子图的数据库搜索方法,所述搜索方法应用于从人脸识别数据库,所述方法通过建立无向图模型,构成一个k阶极大完全子图,并通过邻接链表来存储无向图G,以正序边和最大顶点为基本量,通过剪枝法对无向图G的顶点数和k阶完全子图的计算量Tk进行计算,从而得到该极大完全子图的空间复杂度和时间复杂度,完成对极大完全子图的搜索,并将搜索结果用于人脸识别数据中,通过寻找频繁项集,大幅减少对数据库的访问,提高识别效率;进一步地,所述方法包括:S1:构建无向图模型G,其中,G=(V,E)是m部无向图,V表示顶点的集合,E表示边的集合;S2:对m部图进行遍历,获取k阶完全子图;S3:找出S2中每个k阶完全子图的最大顶点;S4:遍历与最大顶点有边相连的顶点集合S;S5:判断S力的每个顶点U是否与k阶图内其他顶点均有边相连,如果有,进行S6,如果无,进行S7;S6:k阶完全子图与U合并生成k+1阶完全子图,判断k是否与m相同,如果相同,终止,如果不同,则k=k+1,以U作为最大顶点继续遍历操作,进行S4;S7:无法扩展,该无向图最大为N阶完全子图;S8:通过顶点集合V,边的集合E和数组Adj三个数据,对S6和S7中获得的N阶完全子图或k阶完全子图进行伪代码换算;S9:对S8中换算的结果,进行算法的时间复杂度和空间复杂度计算;S10:将S9中的搜索结果代入人脸识别数据库;S11:通过寻找人脸数据库中的频繁项集,减少对数据库的访问,完成人脸识别过程;进一步地,所述S1中构建无向图模型G时,为了简化问题,设置每个顶点集合的顶点数目都为num,图G中对应每个区域的顶点集合分别记为Vi,i=1,2,...,m,则V={u:u∈Vi,i=1,2,...,m},E={(u,v):u∈Vi,v∈Vj,i≠j,i,j=1,2,...,m};进一步地,所述S1中无向图G通过邻接链表进行存储,所述邻接链表为多条链表构成的数组,记为Adj,链表中存储正序边的链接关系,对于每一个节点u∈V,邻接链表Adj[u]包含所有与顶点u之间且构成正序边(u,v)的结点v;进一步地,所述S8中伪代码换算具体为:S81:k=3,每条边(u,v)∈G.E,每个顶点x∈G.Adj[v];S82:令x∈G.Adj[u],将{u,v,x}插入到表示k阶极大完全子图的集合;S83:令k=4:m,每一个v为Ak-1中的最大顶点,每一个x∈G.Adj[v];S84:令x∈G.Adj[Ak],则v与Ak-1中的本文档来自技高网
...
一种从m部图中得到极大完全子图的数据库搜索方法

【技术保护点】
一种从m部图中得到极大完全子图的数据库搜索方法,所述搜索方法应用于从人脸识别数据库,其特征在于,所述方法通过建立无向图模型,构成一个k阶极大完全子图,并通过邻接链表来存储无向图G,以正序边和最大顶点为基本量,通过剪枝法对无向图G的顶点数和k阶完全子图的计算量Tk进行计算,从而得到该极大完全子图的空间复杂度和时间复杂度,完成对极大完全子图的搜索,并将搜索结果用于人脸识别数据中,通过寻找频繁项集,大幅减少对数据库的访问,提高识别效率。

【技术特征摘要】
1.一种从m部图中得到极大完全子图的数据库搜索方法,所述搜索方法应用于从人脸识别数据库,其特征在于,所述方法通过建立无向图模型,构成一个k阶极大完全子图,并通过邻接链表来存储无向图G,以正序边和最大顶点为基本量,通过剪枝法对无向图G的顶点数和k阶完全子图的计算量Tk进行计算,从而得到该极大完全子图的空间复杂度和时间复杂度,完成对极大完全子图的搜索,并将搜索结果用于人脸识别数据中,通过寻找频繁项集,大幅减少对数据库的访问,提高识别效率。2.根据权利要求1所述的搜索方法,其特征在于,所述方法包括:S1:构建无向图模型G,其中,G=(V,E)是m部无向图,V表示顶点的集合,E表示边的集合;S2:对m部图进行遍历,获取k阶完全子图;S3:找出S2中每个k阶完全子图的最大顶点;S4:遍历与最大顶点有边相连的顶点集合S;S5:判断S里的每个顶点U是否与k阶图内其他顶点均有边相连,如果有,进行S6,如果无,进行S7;S6:k阶完全子图与U合并生成k+1阶完全子图,判断k是否与m相同,如果相同,终止,如果不同,则k=k+1,以U作为最大顶点继续遍历操作,进行S4;S7:无法扩展,该无向图最大为N阶完全子图;S8:通过顶点集合V,边的集合E和数组Adj三个数据,对S6和S7中获得的N阶完全子图或k阶完全子图进行伪代码换算;S9:对S8中换算的结果,进行算法的时间复杂度和空间复杂度计算;S10:将S9中的搜索结果代入人脸识别数据库;S11:通过寻找人脸数据库中的频繁项集,减少对数据库的访问,完成人脸识别过程。3.根据权利要求2所述的搜索方法,其特征在于,所述S1中构建无向图模型G时,为了简化问题,设置每个顶点集合的顶点数目都为num,图G中对应每个区域的顶点集合分别记为Vi,i=1,2,...,m,则V={u:u∈Vi,i=1,2,...,m},E={(u,v):u∈Vi,v∈Vj,i≠...

【专利技术属性】
技术研发人员:殷永李越
申请(专利权)人:东方网力科技股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1