一种基于WIFI探针与摄像头技术的数据分析方法与流程

文档序号:16881031发布日期:2019-02-15 22:09阅读:658来源:国知局
一种基于WIFI探针与摄像头技术的数据分析方法与流程
本发明涉及数据分析
技术领域
,具体为一种基于wifi探针与摄像头技术的数据分析方法。
背景技术
:wifi探针作为一种成熟的技术,其基本原理是,当移动设备用户开启无线连接并进入到wifi探针的扫描范围内,其发送出的数据可被探针截获并能分析出此数据帧mac层与物理层的一些信息,如发送与接收设备的mac地址、帧类型、信号强度等。目前,在特定场景部署若干个wifi探针,可以实现对于该场景的客流统计分析、实时热力分析、员工考勤打卡等功能。当前对于wifi探针技术的利用,仅仅能够获取特定场景的到访总数、实时热力情况,即使知道某个mac地址,由于wifi探针数据的单一性,并不能反映出该mac对应人员的全貌信息。无法将不同对象的空间、时间信息进行匹配,如果能够将wifi探针技术与人脸识别技术相结合,则其存在着潜在的巨大应用价值,如何找出被探针扫描到的mac与被抓拍的人像一一对应关系,并将其抽象为一种数据挖掘模型,是实现wifi探针技术与人脸识别技术融合的关键,目前尚未有相关技术的文献公开。技术实现要素:本发明意在提供一种基于wifi探针与摄像头技术的数据分析方法,能够建立wifi探针扫描到的mac数据与被抓拍的人像之间一一对应关系,并将其抽象为一种数据挖掘模型以供后续分析使用。为了解决上述技术问题,本申请提供如下技术方案:一种基于wifi探针与摄像头技术的数据分析方法,包括以下步骤:s100:建立人像数据库和wifi探针数据库,根据人像数据库和wifi探针数据库建立人像数据对象和wifi数据对象;s200:生成时间窗口键值对序列,预定义时间窗口并以时间窗口为键,分别以该时间窗口内出现的人像数据对象组成的列表和该时间窗口内出现的wifi数据对象组成的列表为值,建立人像数据时间窗口键值对序列和wifi数据时间窗口键值对序列;s300:将s200中得到的人像数据时间窗口键值对序列和wifi数据时间窗口键值对序列进行关联并映射为联合事务集;s400:设定支持度阈值参数,对s300中得到的联合事务集进行频繁项集挖掘,得到频繁项集结果,从频繁项集结果中筛选出只包含一个人像数据对象和一个wifi数据对象的结果;s500:对s400中筛选出来的结果进行唯一性校验,如果满足唯一性,则结束计算,如果不满足唯一性,则返回s400步骤,并调整支持度阈值参数重新进行计算。本发明技术方案中,首先获取并建立人像数据库以及wifi探针数据库,通过设置时间窗口,将人像数据和wifi探针数据按照时间窗口进行映射,形成人像数据时间窗口键值对序列和wifi数据时间窗口键值对序列,然后融合两个键值对序列为一个联合事务集,通过频繁项集挖掘算法对该联合事务集进行挖掘,得到频繁项集结果,频繁模式是指数据集中频繁出现的项集、序列或子结构,然后从该结果中筛选出符合规则的结果,就可以得到wifi数据与人像数据之间的对应关系,然后再通过唯一性校验得到两者的一一对应关系。本申请中,通过将wifi探针扫描数据和摄像头抓拍照片数据转换为数据挖掘模型适用的数据,应用数据挖掘技术,找出wifi数据和人像照片之间一一对应的关系。在实际应用中,仅仅知道的一种设备的数据是无法得到某个人的全貌信息的,wifi数据和人像数据互为补充,可以获取某人静态的特征信息和动态的轨迹信息,在商场精准营销、公安抓捕等很多方面有较大的应用前景。进一步,s100具体包括以下步骤:s100-1:根据抓拍的路人照片库,建立目标人像库;s100-2:为目标人像库中每一个人设置id;s100-3:根据目标人像库对路人照片库中的人像进行识别,根据识别结果建立人像数据库,人像数据库的字段包括人像id、相似度以及抓拍时间戳;s100-4:获取wifi探针的扫描结果,根据扫描结果建立wifi探针数据库,wifi探针数据库的字段包括mac地址、信号强度以及扫描时间戳;s100-5:根据人像数据库建立人像数据对象;s100-6:根据wifi探针数据库建立wifi数据对象。首先建立路人照片库,然后再在路人照片库中选择需要识别和关联的人群建立人像数据库,通过wifi探针获取扫描结果并建立wifi探针数据库。进一步,s100-3中建立人像数据库时会对识别结果进行筛选,从识别结果中筛选出相似度大于相似度阈值的人像数据,s100-4中建立wifi探针数据库时会对扫描结果进行筛选,从扫描结果中筛选出信号强度大于信号强度阈值的wifi探针数据。通过相似度阈值和信号强度阈值对人像数据和wifi探针数据进行过滤,去除信号不好的wifi探针数据或者识别率不高的人像数据,增加数据分析正确率。进一步,s200具体包括以下步骤:s200-1:定义一个时间窗口时长为n分钟;s200-2:加载人像数据库和wifi探针数据库,分别将抓拍时间戳和扫描时间戳映射为时间窗口的形式;s200-3:将人像数据库映射为以抓拍时间戳对应的时间窗口为键,该时间窗口内所有人像数据对象组成的列表为值的人像数据时间窗口键值对序列;s200-4:将wifi探针数据库映射为以扫描时间戳对应的时间窗口为键,该时间窗口内所有wifi数据对象组成的列表为值的wifi数据时间窗口键值对序列。首先定义时间窗口的时长,然后将抓拍时间戳和扫描时间戳映射为时间窗口的形式,最后建立相应的键值对序列,实现人像数据库和wifi探针数据库的键值对映射转化。进一步,s200-3和s200-4中采用spark的reducebykey算子进行键值对序列的映射。spark是专为大规模数据处理而设计的快速通用的计算引擎,实现了高效的dag执行引擎,可以通过内存方式来高效地处理数据流。进一步,s300中联合事务集以时间窗口为键,以人像数据对象列表和wifi数据对象列表拼接成的列表为值。进一步,s300中采用spark的join算子对人像数据时间窗口键值对序列和wifi数据时间窗口键值对序列进行关联。通过spark的算子快速而高效的将数据进行关联。进一步,s400具体包括以下步骤:s400-1:设置支持阈值,以s300中得到的联合事务集为参数,调用频繁项集挖掘算子进行频繁项集挖掘,得到频繁项集结果;s400-2:对频繁项集结果进行过滤,过滤出每项事务列表中只包括一个人像数据对象和一个wifi数据对象的子集作为结果。进一步,s400-1中采用的挖掘算子是spark的fpgrowth算子。通过spark的fpgrowth对数据进行频繁项集挖掘,计算效率高,处理速度快。附图说明图1为本发明一种基于wifi探针与摄像头技术的数据分析方法实施例中的流程图。具体实施方式下面通过具体实施方式进一步详细说明:如图1所示,本实施例的一种基于wifi探针与摄像头技术的数据分析方法,包括以下步骤:s100:建立人像数据库和wifi探针数据库,根据人像数据库和wifi探针数据库建立人像数据对象和wifi数据对象;s200:生成时间窗口键值对序列,预定义时间窗口并以时间窗口为键,分别以该时间窗口内出现的人像数据对象组成的列表和该时间窗口内出现的wifi数据对象组成的列表为值,建立人像数据时间窗口键值对序列和wifi数据时间窗口键值对序列;s300:将s200中得到的人像数据时间窗口键值对序列和wifi数据时间窗口键值对序列进行关联并映射为联合事务集;s400:设定支持度阈值参数,对s300中得到的联合事务集进行频繁项集挖掘,得到频繁项集结果,从频繁项集结果中筛选出只包含一个人像数据对象和一个wifi数据对象的结果;s500:对s400中筛选出来的结果进行唯一性校验,如果满足唯一性,则结束计算,如果不满足唯一性,则返回s400步骤,并调整支持度阈值参数重新进行计算。具体的,s100包括以下步骤:s100-1:根据抓拍的路人照片库,建立目标人像库;s100-2:为目标人像库中每一个人设置id;s100-3:根据目标人像库对路人照片库中的人像进行识别,根据识别结果建立人像数据库,人像数据库的字段包括人像id、相似度以及抓拍时间戳;建立人像数据库时会对识别结果进行筛选,从识别结果中筛选出相似度大于相似度阈值的人像数据;s100-4:获取wifi探针的扫描结果,根据扫描结果建立wifi探针数据库,wifi探针数据库的字段包括mac地址、信号强度以及扫描时间戳;建立wifi探针数据库时会对扫描结果进行筛选,从扫描结果中筛选出信号强度大于信号强度阈值的wifi探针数据;s100-5:根据人像数据库建立人像数据对象;s100-6:根据wifi探针数据库建立wifi数据对象。s200具体包括以下步骤:s200-1:定义一个时间窗口时长为n分钟;s200-2:加载人像数据库和wifi探针数据库,分别将抓拍时间戳和扫描时间戳映射为时间窗口的形式;s200-3:采用spark的reducebykey算子将人像数据库映射为以抓拍时间戳对应的时间窗口为键,该时间窗口内所有人像数据对象组成的列表为值的人像数据时间窗口键值对序列;s200-4:采用spark的reducebykey算子将wifi探针数据库映射为以扫描时间戳对应的时间窗口为键,该时间窗口内所有wifi数据对象组成的列表为值的wifi数据时间窗口键值对序列。s300中采用spark的join算子对人像数据时间窗口键值对序列和wifi数据时间窗口键值对序列进行关联,联合事务集以时间窗口为键,以人像数据对象列表和wifi数据对象列表拼接成的列表为值。s400具体包括以下步骤:s400-1:设置支持阈值,以s300中得到的联合事务集为参数,采用fpgrowth算子进行挖掘,得到频繁项集结果;s400-2:对频繁项集结果进行过滤,过滤出每项事务列表中只包括一个人像数据对象和一个wifi数据对象的子集作为结果。具体的,本实施例中,以商场访客的人像照片数据与其手机的mac进行数据匹配来举例,首先在商场入口处安装抓拍摄像头,并部署好摄像头抓拍后台系统以存储抓拍图像数据;然后在商场入口处安装一个wifi探针设备,并部署好探针的后台系统,使得探针的扫描数据能发送到服务器。wifi探针的后台系统可与摄像头抓拍系统部署到同一服务器。摄像头抓拍系统的路人照片库数据结构的主要字段如表一所示:表一字段类型描述snapidlong抓拍人像iddetailstring结构化抓拍特征json字符串snaptimetimestamp抓拍时间戳摄像头抓拍系统的目标人像库数据结构的主要字段如表二所示:表二字段类型描述faceidlong自定义库的人像iddetailstring结构化抓拍特征json字符串调用摄像头抓拍系统的相似度识别接口,得到的识别结果,形成人像数据库的数据结构的主要字段如表三所示:表三字段类型描述snapidlong抓拍人像idfaceidlong自定义库的人像idsnaptimetimestamp抓拍时间戳wifi探针数据库的数据结构的主要字段如表四所示:表四字段类型描述probestring探针的macmacstring被扫描到的macrssidouble信号强度scantimetimestamp扫描时间戳然后根据上述抓拍识别记过得人像数据对象:caseclasssnapobj(faceid:sting);定义wifi探针数据的对象:caseclassmacobj(mac:sting)利用spark分别加载人像数据库的数据表和wifi探针数据库的数据表到spark集群,得到snap_df和probe_df。利用spark将snap_df和probe_df先转换为spark弹性分布式数据集(以下简称为rdd),再将snaptime通过时间窗口函数映射为snapminute,faceid映射为对象snapobj(faceid),得到新的rdd命名为snap_rdd;将scantime通过时间窗口函数映射为scanminute,mac映射为对象macobj(mac),得到新的rdd命名为probe_rdd。对于上一步中得到的snap_rdd,通过spark的reducebykey算子,以snapminute为键,聚合snapobj(faceid)为一个序列作为值,形成新的rdd,命名为snapreducerdd;同理,对于probe_rdd,以scanminute为键,聚合macobj(mac)为一个序列作为值,形成新的rdd,命名为probereducerdd。利用spark的join算子,找snapminute和scanminute的相等关系,组合上一步中得到的snapreducerdd和probereducerdd,并将结果映射为以snapminute为键,seq[snapobj(faceid)]和seq[macobj(mac)]拼接为新序列为值的新rdd,其值形式如下:seq(snapobj(faceidi),...,snapobj(faceidj),macobj(mack),...,macobj(macl))然后将得到的rdd映射为适用于sparkmllib的数据集,命名为transets。利用spark机器学习工具mllib的fpgrowth算子,设定支持度参数阈值minsupport,对上一步得到的transets进行频繁项集挖掘,得到如下形式的初步频繁项集结果,有如下三种形式:snapobj(faceidi),...,snapobj(faceidj),macobj(mack),...,macobj(macl)snapobj(faceidi),...,snapobj(faceidj)snapobj(faceidj),macobj(mack)为了得到人像数据与wifi的mac的匹配结果,将最后一种结果过滤出来。整理过滤出来的结果,对于每个人像照片,其对应的共同出现的mac可能不只一个,如下所示(以两个为例):snapobj(faceidj),macobj(maci)snapobj(faceidj),macobj(mack)对于上述情况,需要返回前述步骤中调整支持度阈值,使得人脸照片与mac一一对应,进而建立了人脸数据与其手机mac地址的对应关系。以上的仅是本发明的实施例,方案中公知的具体结构及特性等常识在此未作过多描述,所属领域普通技术人员知晓申请日或者优先权日之前发明所属
技术领域
所有的普通技术知识,能够获知该领域中所有的现有技术,并且具有应用该日期之前常规实验手段的能力,所属领域普通技术人员可以在本申请给出的启示下,结合自身能力完善并实施本方案,一些典型的公知结构或者公知方法不应当成为所属领域普通技术人员实施本申请的障碍。应当指出,对于本领域的技术人员来说,在不脱离本发明结构的前提下,还可以作出若干变形和改进,这些也应该视为本发明的保护范围,这些都不会影响本发明实施的效果和专利的实用性。本申请要求的保护范围应当以其权利要求的内容为准,说明书中的具体实施方式等记载可以用于解释权利要求的内容。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1