基于人脸识别联合Web与APP开发的区域多目标追踪系统

2020-11-21 06:49李成渊刘远杰
江苏科技信息 2020年28期
关键词:开源人脸人脸识别

李成渊,俞 越,刘远杰

(无锡城市职业技术学院,江苏无锡214000)

0 引言

新型冠状病毒疫情暴发以来,按照流行病学研究特点,根据病毒传播特性以及人员聚集防控要求,整个社会对相关人员历史轨迹跟踪数据的需求,达到了前所未有的高度。

历史数据(Historical data),是指以往记录的原始记录;可视化(Visualization),是指一种视觉上的认知效果,因此数据可视化,顾名思义则是关于原始记录经过清洗、整合后得到的数据视觉表现形式的科学技术研究[1]。文不如表,表不如图。在信息爆炸的大数据时代,如何从海量的数据中快速提取到人们最感兴趣的内容并形象地呈现出来,是数据可视化研究的主要目标[2]。

个人轨迹数据蕴含了时间、地点、方向等重要信息,同时具有时空特征。个人轨迹数据在校园移动跟踪和个性化展现等应用领域都具有极其重要的价值。本系统利用虹软公司的人脸检测及跟踪来获取个人轨迹的数据,采用基于B/S架构、跨平台的可视化方法,完成基于Web与APP的轨迹数据可视化系统设计,也可以被大众所理解的方式将轨迹数据的时空属性随时间动态演变的过程表达出来,便于将区域内个人轨迹实时展现出来,为区域智能足迹查询管理,及疫情下的人员流量数据得到了很好的展现[3]。

1 系统设计

本项目主要利用人脸识别技术,针对校园环境,使用多目标行踪监察与追溯,并将统计数据完成信息可视化。

数据采集:以虹软开发平台的人脸识别SDK 接口作为特征提取、数据采集、信息比对的主要工具,通过在校园内特定场景设置监控设想平台,统计路经人员的追溯数据。

数据存储:MySQL建立人脸特征信息库及行踪数据信息库。

数据可视化:以时间、地点、对象信息为数据基础,通过Echarts开源工具库结构javascript代码,调用百度开源api 接口,完成相应人员在所设定区域的路径跟踪以及最终采集数据的可视化展现。

数据展示:Web 端前端提供JavaScript 语言和HTML5 技术,构建查询入口,结合内嵌的百度地图,完成校园区域多目标跟踪可视化展现的设计。

基于以上项目分析流程,本次数据可视化展示充分地通过人脸识别实现校园多目标跟踪及可视化,并且通过web端查询展示可视化结果。

基于以上描述,本系统应该包括对用户行为数据的采集功能,数据存储功能,分析结果可视化功能,以及可视化结果展示功能。先将以系统用例和文字描述的形式具体展现系统需求,为系统的设计和实现提供依据和基础,并以学校区域为例。

2 系统详细设计

根据需求对系统进行架构设计,然后拆分系统进行功能设计,把系统分为数据可视化后端与数据可视化前端两大部分,并对数据采集、数据存储、数据可视化、可视化展现等几个关键模块的技术设计进行了详细描述。

依据以上的需求分析内容,本系统基于人脸识别实现,包括数据采集、数据存储、数据可视化、可视化展示几个主要模块。系统的架构设计如图1所示。

图1 系统的架构设计

本系统的前端数据可视化部分Echarts实现,通过JSP中的session 内置对象以键值对存储(获取)数据。后端基于虹软人脸识别SDK、MySQL、JavaScript,其中包括了数据采集,数据存储,可视化展示3 个主要部分。根据系统的具体需求分析内容和系统整体的架构设计,具体如下。

(1)数据采集模块主要通过虹软开发平台所提供的ArcFace 离线SDK(ArcFace-V3.0)接口,进行人脸跟踪完成特征提取、采集,同时连接数据库与已获取特征值比对后给出姓名提示,并将轨迹存储。

(2)数据存储模块主要通过redis建立人脸库、通过MySQL建立人员信息和路径库。

数据可视化模块主要通过Echarts可视化开源库完成数据图表绘制,以及结合百度地图API绘制路径地图。

(3)可视化展示模块主要由Web 端前端提供JavaScript语言和HTML5技术,结合内嵌的百度地图,实现校园区域多目标跟踪可视化以及用户查询的设计。

特征采集使用网络摄像头进行,用rtsp协议连接摄像头不间断地获取视频流。RTSP中所有的操作都是通过服务器和客户端的消息应答机制完成的,其中消息包括请求和应答两种。RTSP 是对称的协议,客户机和服务器都可以发送和回应请求,使用虹软sdk定位人脸并每隔0.5 s 采集图像进行识别,虹软离线SDK,包含人脸检测、性别检测、年龄检测、人脸识别、RGB活体检测、IR活体检测等能力。

2.1 数据存储模块的实现

与Memcaehed 具有很多相似特征,但其具有更多优秀特性,如支持简单事务控制,支持主从复制等。Redis提供常规数值及List、Zset、Hset数据类型。

2.2 个人信息库和路径信息库

数据库在信息技术中占据着中心地位,企业是现代计算机信息发展与操作的关键基础。需要理性认识数据库设计的需求,把握其概念策划与逻辑策划,为数据库设计与功能实现提供条件。当前,在市场中应用较多的数据库产品在本质上表现为关系数据库产品。在本系统设计操作中,后台数据库选定为MySQL 5.5 这类数据库,可以实现大批数据的高效率处理,且能够与MyEclipse 实现高度兼容,操作质量突出。

系统连接和操作数据库的具体实现方法:使用JDBC 加载驱动;通过Connection 对象连接数据库;使用executeQuery 执行命令提取到人脸特征值(1 032 byte)。

2.3 数据可视化模块的实现

项目将数据进行统计和分析,对数据使用JavaScript结合Echarts 可视化开源库完成表格、柱状图、嵌套饼图等图表的绘制,实现数据可视化。并且结合了百度地图API 接口,在有限监控屏幕中,合理化布局,给出对应的统计图表。如图2所示为数据统计图表可视化。

图2 数据统计图表可视化

3 结语

本系统主要使用Java语言,通过虹软开发平台所提供的ArcFace 离线SDK(ArcFace-V3.0)接口,进行人脸跟踪,完成特征提取、采集,同时连接数据库与已获取特征值比对后给出姓名提示,并将轨迹存储;再使用Echarts 可视化开源库完成数据图表绘制,以达到综合统计数据的展示效果。同时,web端前端提供JavaScript语言和HTML5技术,结合内嵌的百度地图,完成校园区域多目标跟踪可视化的设计。

猜你喜欢
开源人脸人脸识别
人脸识别 等
有特点的人脸
一起学画人脸
揭开人脸识别的神秘面纱
五毛钱能买多少头牛
2019开源杰出贡献奖
人脸识别技术的基本原理与应用
三国漫——人脸解锁
人脸识别在高校安全防范中的应用
大家说:开源、人工智能及创新