余铭华
摘要 为满足移动执法过程中对人像比对的要求,设计实现了基于Android的移动警用人像识别比对系统。系统由Android客户端、人像比对服务端组成,基于内外网数据交换安全原因需要,系统构建REST架构服务利用安全隔离网闸实现内外网数据交换。系统对提交的图片利用图像处理技术,进行人脸检测、人脸定位、人脸建模、模板匹配比对等过程,从而完成人像识别比对功能。本文阐述了移动人像识别比对系统的流程,并对设计、实现过程做了详细介绍。经测试,该系统对人像识别的准确度和实时性都能达到移动执法应用中人像比对的要求。
【关键词】人像识别比对系统 移动警务设备Android
1 引言
人像识别技术以人脸信息为基础,其包括人像检测、人像预处理、人像特征、匹配识别四个部分,不仅可以实现人像的静态检索和动态比对,还可实现人脸结合人体的人像应用。由于人像识别应用具有直观、高效、准确、方便等特点,随着人像识别的突破性发展以及人体部位和要素的识别与分析快速推进,在公安管理中已经得到有效的应用,切实的解决了目前公安管理工作中的盲点,对常住人口、暂住人口、重点人口、在押人员、出入境人员等信息实现了网络化、实时化管理,为公安系统工作提供了有效手段。
伴随着公安执法工作所涉及的范围越来越广,执法工作量的日益增加。在公安移动执法过程中,需要随时随地获得公安业务信息数据的支持来解决在通缉、协查、堵截、搜查等一线执法工作中所发现的嫌疑人身份查询比对问题,实现快速现场执法,提高工作效率。
本项目基于公安部门工作的移动性、突发性、紧迫性等特点,在人像识别比对系统应用的基础上,结合网闸数据交换技术,将人像识别比对系统在移动警务中拓展应用。
2 系统概况
移动警用人像识别比对系统由Android客戶端、数据交换网闸、WebService接口服务、人像识别比对服务端四部分组成。系统通过网闸完成了跨网的络数据交换,利用WebService接口实现了人像1:1比对、人像1:N比对,结果查询等功能,满足了移动执法中查询身份信息的应用需求。
3 系统设计与实现
3.1 系统拓扑
基于Android的移动警用人像识别比对系统的网络拓扑结构如图1所示。
3.2 流程设计
按照业务场景需要和数据交换方式,基于Android的移动警用人像识别比对系统的业务处理流程设计如下:
(1)在Android客户端,操作用户输入警号进行系统登录,系统会检查SQLite数据库是否有相应的登录记录,如果有记录,系统直接进入到功能操作界面,如果没有记录,系统将连接到后台确认该登录用户是否存在,如果存在则登录并在客户端SQLite数据库中创建记录;登录用户如果在后台不存在则进入用户注册,在完成注册后将在客户端SQLite数据库创建记录,然后进入到功能操作界面。
(2)用户登录后在功能操作界面中,可以选择直接拍照或从相册中选择文件来获取人脸照片,并依据使用需求选择同步方式或异步方式来完成人像1:1比对或人像1:N比对。
(3) Android客户端对人像照片进行人脸检测和预处理,并将比对请求发送给Intemet外网服务器上部署的WebService服务程序。
(4) Intemet外网服务器部署的WebService服务程序接受Android客户端请求,将请求生成XML格式文件,并生成的XML文件放到网闸外网的共享请求目录,同时等待指定时间。
(5)通过在网闸中配置内外网的共享请求目录与共享响应目录,网闸会定时扫描内外网服务器的指定的若干目录,检查有无新增文件,有则同步过去。
(6)公安业务内网服务器Webservice服务程序内部定时扫描指定请求目录,在网闸将Internet外网服务器的请求文件同步到公安业务内网服务器的请求目录后,公安业务内网程序检测到请求文件则立即触发调用本地的Webservice服务,请求人像比对。
(7)人像比对系统服务端接到比对请求后,完成比对,并将比对结果队列生成响应文件放到响应目录。
(8)网闸检测响应目录的新增文件,将文件同步到Internet外网服务器的响应目录,Internet外网服务器程序线程接受到请求后,一直等待指定时间,扫描响应目录下有无比对结果响应文件产生,读取到响应文件后,返回给Internet外网Android客户端调用者。
(9) Android客户端对返回的数据进行界面展示,完成人像1:N比对。
3.3 Android客户端的设计
Android客户端的系统设计主要包括用户界面UI、Socket通信、SQLite数据库设计。Android主要由Activity显示界面,Service服务,Broadcast Receiver广播接收器,ContentProvider内容提供者等四大基本组件组成,每个组件在应用程序中都可以完成不同的任务,既可以单独被激活,又可以由其它应用程序激活。
对Android客户端功能进行如下功能设计:
3.3.1 人脸检测预处理功能
自动检测识别提交图片中的人脸,并对图片中的人脸进行定位和姿态矫正。
3.3.2 人像1:1比对功能模块
实现对两张照片进行人像识别比对,输出两张照片是否为同一人,根据实际应用方式不同,实现两种模式:
模式一、输入两张目标人照片,自动建模比对,确认是否为同一人。
模式二、输入一张目标人照片与目标证件号码或者姓名,通过证件号码或者姓名在人像目标库中读取照片,确认与目标人是否为同一人。
3.3.3 人像1:N比对功能模块
实现摄像头采集(或选择)一张图像,与人像比对特征库进行匹配比对,可选择一个或多个比对目标库,根据相似度值从高到低,返回一定数量的候选比对结果。返回的候选比对结果的数量可自定义。为加快比对速度,支持用户选择比对条件,如性别、区域、年龄段等。比对结果为候选人列表形式,信息项包括照片、相似度(分数)、人员信息等,结果候选人按照相似度排序输出。
3.3.4 查看结果功能模块
查看已经提交的所有的比对记录和比对结果。可以通过证件号,报警类型,任务创建时间,比对类型,库别和任务状态等信息进行单个或者组合查询。
3.3.5 系统配置功能模块
可以设置相似度、年龄范围、性别、比对方式、比對库别等比对参数,同时可配置连接后台的服务器IP地址和端口,以及版本更新和本地日志、数据、照片清理。
3.4 网闸数据交换设计
网闸数据交换实现方法是通过用户在信息系统上发送一个请求,请求到达前置机时,进入等待状态,请求被打包成文件,存入数据共享A区的对应文件夹内,通过网闸进行文件摆渡到共享数据B区的相应文件夹内,后置机监测到共享数据B区的新文件生成,对文件进行解析并删除该文件,调用远端提供的WebService数据接口,执行解析出来的请求,并把执行结果打包成文件,放入共享数据区B的对应文件夹,再次通过网闸,把文件摆渡到数据共享A区的对应文件夹下,前置机监测到新文件,解析文件后把结果返回给刚才等待状态的请求,并删除文件。收到返回结果后,恢复会话,显示结果。
基于网闸数据交换实现原理,分别在网闸的前置机和后置机上构建REST架构服务,服务功能设计如下:
3.4.1 前置机上程序设计
前置机上程序监听Android客户端请求,在收到请求后将请求内容进行结构化,生成结构化数据的XML请求文件,并将该XML请求文件写入网闸摆渡文件目录中,待网闸将该请求文件摆渡到后置机中的对应目录后,同时新建一个进程对返回结果进行处理,等待返回结果文件,利用唯一标识与之前的请求进行对应管理,将结果返回给Android客户端,同时对返回结果文件进行备份。
3.4.2 后置机上程序设计
在后置机中,服务一直监听文件夹。如果有新的文件摆渡来,将信息读出,同时将该文件备份后删除。将数据读出后,独立新建一个进程,对该请求进行处理。取得比对调用结果后,将比对结果写入文件,经由网闸摆渡回前置机。
3.5 WebService接口服务设计
服务器端使用的是SSH2框架的技术,开发的接口功能包括登录、退出、获取基础数据字典、人像1:N比对、获取1:N比对结果、查询任务信息、数据调用等接口。接口访问必须先提供身份证明(Licence)登录,经验证成功获取会话ID,使用会话ID调用其他接口。
3.5.1 登录
使用Licence串请求验证,以获取会话ID,并使用会话ID以调用其他接口。
3.5.2 获取基础数据字典接口
调用成功后返回基础数据字典,如比对库、比对条件等。
3.5.3 人像1:N比对接口
比对图片中的人像和指定范围类的所有目标的人像,返回满足条件的比对结果列表。
3.5.4 获取人像1:N比对结果
根据任务ID号,获取任务的相关信息,返回比对结果列表。
3.5.5 查询任务信息接口
根据任务ID号,获取比对任务的相关信息,返回比对任务详情。
3.5.6 身份查询接口
通过身份证号或姓名获取身份信息,返回人像照片和基本信息。
3.5.7 数据调用接口
服务器端在得到“HTTP POST或GET请求”后,把需要返回的数据进行XML编辑,然后发送回Android客户端。
3.5.8 升级功能接口
检测系统是否存在更新升级,确认存在升级更新包后返回更新安装包。
4 系统验证
Android客户端采用华为honor 5C手机进行测试,服务器端使用Tomcat7.0部署WebService,并保证客户端与服务器端网络连接正常。启动软件,这时软件提示输入登录警号,验证通过后进入到操作界面,点击“人像比对”,调用手机摄像头,拍摄人像数据后,点击“比对”,确认比对参数,完成比对任务提交,比对成功后返回比对结果,并提示完成相关处理操作。Android客户端人像比对过程及结果界面如图2所示。
5 结束语
本文基于Android平台设计并实现了移动警用人像识别比对系统,该系统实现了人脸检测、人脸预处理、人像1:1比对、人像1:N比对等功能,系统客户端可以在不同硬件平台的Android设备中安装,实测结果证明了该系统的准确性和实时性,系统能够满足移动警务的应用场景,后续将提高系统的可扩展性。
参考文献
[1]王映辉,人脸识别
原理、方法与技术[M].北京:科学出版社,2010.
[2]周丽芳,李伟生,黄颖.模式识别原理及工程应用[M].北京:机械工业出版社.2013.
[3]柯元旦,宋锐.Android程序设计[M],北京:北京航空航天大学出版社,2010.
[4]李新辉,邹绍芳.Android移动应用开发项目教程[M].北京:人民邮电出版社.2014.
[5]徐昕军,袁媛,苏剑臣,杨峰.基于Android平台的行为分析系统研究[J],计算机应用与软件,2016,33 (04): 223-226.
[6]崔娜,基于Android的移动终端应用程序开发与研究[J],电脑知识与技术,2016,12 (29):38-39.
[7]袁媛.基于Android平台的软件开发方法研究[J]电子技术与软件工程,2016 (12):72-72.
[8]梁开文,基于Android平台软件开发方法的研究与应用[J],工程技术:文摘版,2016 (09): 00255-00255.
[9]吴缇.基于物理隔离网闸的银行文件安全传输系统的设计与实现[D].四川:电子科技大学,2013.