探究新型指纹比对系统在移动警务中的应用*

2022-04-24 09:58阎其成高亮朱显珉
警察技术 2022年2期
关键词:警务指纹人工智能

阎其成 高亮 朱显珉

1. 上海市公安局徐汇分局 2.北京至简墨奇科技有限公司

引言

生物识别(Biometric)源自希腊字Bio(生命)及Metric(可计量),是通过人体生理如指纹、脸部或虹膜等身体器官组织及行为模式的特征来识别一个人的身份[1]。指纹是人各不同和触物留痕的,曾被称为“证据之首”,其具有易采集、检验比对成本较廉价的特点。上世纪九十年代以来,我国开始将计算机辅助指纹人工比对的技术应用到公安领域。传统的指纹比对技术基于经典指纹特征理论,人工对指纹进行前期分析处理和特征标注,由计算机辅助与数据库里已标注特征的指纹样本进行比对,最终再由人工对比对结果进行检视验证。历经三十余年的发展,传统指纹比对技术已不能满足公安工作实时性、时效性也即“快采”和“快比”的要求。

本文介绍的智能移动警务应用依托于新型人工智能比对技术,采用手机现场拍摄可疑对象指纹并实时发送比对请求,60秒内就可得到精确比对结果,进行身份信息的生物性同一认定。

一、新型指纹比对系统架构

新型人工智能指纹比对系统基于面向未来生物识别需求,采用了存算分离、多算法融合、多级比对、无限弹性扩展的分布式架构设计,具备下一代指纹比对系统所需的高精度、高性能、智能化、易拓展等特征。新型人工智能指纹比对技术无需人工标注特征,且比对排前准确率高、对于低质量指纹处理能力强,大大简化了指纹比对的流程,使指纹在移动设备上实现快速比对的实战应用成为可能,其总体架构如图1所示。

架构主要有三层。底层数据存储:基于SeaweedFS 和Cassandra的分布式存储系统,用于存储和管理原始的指纹图像数据和特征数据;中间层搜索引擎(Search Engine):系统的“肌肉”,主要完成计算工作,该层实现提取多尺度特征的多种人工智能算法,分别构造高效的索引和缓存,并实现多算法融合和多级比对,支持异构计算;顶层服务资源管理:系统的“大脑”,该层是一组服务,用来管理搜索引擎、存储、查询请求、事务、分布式资源调度、容错以及所有相关的元数据和记录信息,包括数据库格式、密钥管理、用量统计数据等。

二、新型指纹比对系统工作原理

新型指纹比对系统通过人工智能和机器学习模型进行自动提取特征,不论是在训练阶段还是在推理阶段,都不需要人工标注,这得益于该系统独有的小样本学习技术。

(一)数据存储

数据存储SeaweedFS是非常适合于大量小文件存储的分布式系统。SeaweedFS分布式文件系统是一款使用go语言编写的开源分布式文件系统,是经过与其他开源分布式文件系统进行对比之后选取的一款最适合企业内部自建文件管理系统底层的文件系统[2]。其没有将所有的元数据存储在一个中心结点中,中心结点只存储分卷服务器的分卷(Volumes),分布式的分卷服务器来管理文件和它们的元数据,这样大大降低了中心结点的并发压,并且支持文件的O(1)快速读取。Cassandra是一个高性能的NoSQL存储系统,采用了去中心化的P2P方式来保证数据一致性[3]。从而保证了数据的最终一致性,在指纹系统中用于存储不同算法提取的特征。合起来,存储层提供了几乎无限的高可用、高性能和弹性存储能力。

(二)搜索引擎

搜索引擎可以分成特征提取、索引结构、比对引擎三个部分。

1. 特征提取

传统算法主要依靠细节特征点比对,如图2所示。

经研究,指纹除了传统特征点还有很多信息。例如纹线的曲率、疏密分布、宏观走向、拓扑结构等,以及大量的不能直接用规则描述但是有区分度的信息,这些都可以被用来区分不同的指掌纹,提高鉴别能力[4]。这些信息分布在不同的尺度上,有的在像素层级,有的在指纹的整体图像层级,所以具备多尺度的特征。这些特征是需要有特殊的方法标记固定。新型指纹识别系统采用了人工智能技术来提取多尺度特征,如图3所示。在从像素到整体图像的每一个中间尺度上,都提取了不同标签、向量和图等不同的特征,多尺度特征表示将传统指纹特征的信息量扩大了上万倍。提升特征数量和提取维度对系统的比对精度有巨大提升作用。

2. 索引结构

特征的索引结构对比对的性能有决定性的影响[5]。在指纹系统的多尺度特征中,存在细节特征、拓扑特征、向量特征、几何特征和图形特征等多样化的特征。系统对这些特征分配了不同的索引结构,例如,对于向量特征使用了多种量化索引的特征以支持近似和精确查询。索引是列存储的内存结构[6]。对于索引来说,特别是向量和部分的几何索引结构,列存储的性能要显著优越于行存储。索引是向量优化的,意味着很多的指令可以以批次(Batch)的方式进行,以节约I/O和提高缓存效率。同样的做法也被用于很多向量搜索工具中。

3. 比对引擎

系统比对引擎由一组异构的比对服务器组成,支持CPU、GPU、NPU等不同的计算单元[7]。引擎将不同种类的特征分配到不同的计算单元上去,在保证准确率的情况下实现加速。在比对过程中,向量和大尺度被首先分配到GPU/NPU中去,利用其强大的并行计算能力,对特征进行初步的比对和过滤;对结果使用CPU进行几何特征的比对和精确匹配,以及对于多种算法的候选列表进行再排序以优化最终的结果。

系统根据请求的优先级、准确率要求、系统配置、任务负载等要素来制定请求的执行方式。当系统收到一个查询请求时,调度器根据系统的负载和比对的数据块生成比对任务并分发到存有相应索引的服务器进行比对,返回最近似的候选[8]。比对引擎是弹性扩展和容错的。集群通过Raft协议实现分布式一致性协议,当有服务器出现单点错误时(磁盘错误、断电等),该结点的数据会被分配到其他节点上去。在服务器冗余度较高时,服务器故障造成的瞬间读写负载并不会被立刻分摊出去,而是通过缓存机制逐渐完成,这样降低对任务队列的性能波动。在实际运行中,不论库容的大小,只要硬件资源足够,系统总是能够在O(1)的时间内完成比对请求。

(三)服务资源管理

服务资源管理层是多用户模式综合管理层,这一层提供的大部分微服务都是贯穿的。它也是一个分布式的设计,所以比传统的管理层更加灵活稳定。所有的用户请求都经过服务资源管理这一层,包括对象解析、权限控制和执行策略。

1. 优化过的PosgreSQL数据库引擎

所有的信息都会被保存在数据库中,并需要支持高效的增删查改操作。PosgreSQL是一个先进的SQL和NoSQL混合引擎,同时支持结构化和半结构化的字段,更加适合云服务业务不断演化的需求。新型的人工智能指纹比对技术对PosgreSQL 做了优化,极大改进了十亿级别数据量的查询速度。

2. 基于公平队列的任务管理

系统需要支持不同用户、不同优先级、不同应用(Web/App)的比对任务,系统设计了一套公平队列算法,保证不同用户的任务之间能够相对公平的使用系统资源,优先级高、实时性要求高的任务得到尽快处理的同时,低优先级的任务也能够分配到一定的系统资源而不至于完全阻塞[9]。指纹的查询管理和优化是一个典型的多级优化结构,查询管理维护一个任务队列,包括执行计划的信息。所有用于优化的数据都被设计为自动分析和维护。系统通过一定的规则来缩小搜索空间,以减小策略错误。一旦查询任务优化完成,执行计划就会被发送到搜索引擎部分。在搜索引擎的执行过程中,服务资源管理层持续监控查询的状态并且收集性能指标。

三、便携式移动指纹比对APP的使用

(一)在手机上便捷应用APP

当前,公安民警在巡逻、街面盘查过程中,使用移动警务终端设备的应用场景主要是通过身份信息查询、反馈实现快速核查功能,具有一定局限性[10]。传统指纹算法受比对速度与比对精度的限制,很难实时返回精确的比对结果,且人工标注的问题使得指纹在治安盘查中应用比较困难,无法大范围推广。而新型的人工智能比对算法比对的速度与精度大幅提升,可以满足实时返回结果的需要,使移动警务活动中便捷使用指纹生物特征进行人员核查成为可能。警用手机安装指纹核查比对APP,民警可在移动警务过程中,手持终端设备采集人员指纹进行双重比对,其生物性身份等反馈信息将迅速推送到终端设备。

(二)后台数据库分类设计

以往,可疑人员为隐瞒自己的身份信息往往不会随身携带证件,而民警不得不将可疑人员带回派出所才有可能进行指纹或DNA的采集和检验比对,来确定其身份。利用新型的人工智能指纹比对技术,民警通过手机即可采集可疑人员指纹,上传比对并实时返回结果,做到了“快采、快比、快反”(如图5、图6所示),使民警在移动勤务中查控人员的效率大大提高,同时也让犯罪可疑人员甚至洗白身份的逃犯无处藏身、无所遁形。

四、结语

本文对新型人工智能指纹比对系统的架构、工作原理以及APP的应用做了详细的阐述。立足当前社会人员流动实际,着眼公安管理精准性和便民工作发展新方向,实现刑事技术生物特征数据采集终端与警务PDA手机等便携式移动终端的技术融合。

猜你喜欢
警务指纹人工智能
像侦探一样提取指纹
为什么每个人的指纹都不一样
2019:人工智能
人工智能与就业
环球警务专访
数读人工智能
唯一的指纹
下一幕,人工智能!
浅谈港航公安网上警务公开的现状和问题
警务训练中腹痛的成因及预防