简介: 戴口罩也能刷门禁?疫情下AnalyticDB亮出社区管理的宝藏神器!

1、背景介绍

疫情肆虐,有效隔离是尽快战胜病毒的有效手段,多个地方政府都提出了严格的居民出行管理条例,例如杭州市余杭区2月3日发布了实行“十项从严”管控措施:

这给社区管理带来新的挑战,传统门卫盯人存在以下几个问题:

  1. 进出人员情况全凭人工记录,出现错漏,不能及时对频繁外出居民有效劝阻。
  2. 缺乏全局角度对居民隔离整体情况的掌控和度量,例如有哪些人频繁出入,出入总人数.

为了解决居民出入管理的上述几个问题,阿里云智能数据库向量检索团队 免费提供 一套高度兼容戴口罩场景下的人脸识别模型,并基于AnalyticDB的向量检索能力, 搭建了一套小区人员管理的解决方案, 这个方案将开源给社区。

通过该方案可以有效的提升当下疫情中的小区出入管理效率.同时我们免费提供AnalyticDB给用户用于与当前肺炎疫情相关的出入管理应用.

下面首先介绍我们的方案,然后会对其中的人脸识别和AnalyticDB向量检索关键技术做详细介绍,方便开发者能够做二次开发,最后我们会附上 开源地址

2、小区人员管理解决方案介绍

2.1小区人员管理解决方案功能

1、自动登记入册小区人口, 基本信息和人脸特征,界面如下:

2、通过摄像头自动做人脸识别,返回来访者家庭的所有出入记录. 方便社区管理者进行高效的出入管理,在当前疫情环境下, 人们普遍佩戴口罩, 去掉口罩会增加肺炎感染的风险, 所以本方案提供一套支持戴口罩情况下人脸识别的算法. 演示效果如下:

3、可以通过人脸照片和结构化信息的任意组合来检索住户的来访记录,并提供统计分析能力,为小区管理者提供全局度量数据.

2.2 应用架构总体设计

出入管理系统的总体架构如下图所示. 前端界面通过HTML和javascript实现, 功能包含支持戴口罩场景下的人脸门禁, 通过人脸识别查询来访者的全部家庭成员2日内的出入记录, 人员登记, 后台通过人脸和结构化信息自由组合搜索来访记录等功能.。

人脸识别模块将包含人脸的视频转换成人脸特征向量, 人脸识别模块主要使用了Seetafce引擎的人脸检测和人脸追踪模块和AnalyticDB团队自研的人脸识别, 眼部识别和口罩检测模型.AnalyticDB负责整个应用中的全部的结构化数据和人脸识别模块产生的人脸特征向量的存储和查询。

3、关键技术介绍

3.1 针对疫情的人脸识别算法

算法流程如下图所示, 在人员登记过程中我们分别通过人脸识别模型和眼部识别模型提取登记人的面部整体特征和眼部特征, 并将提取的特征向量写入AnalyticDB. 在查询过程中, 我们首先会通过口罩检测模型来检测来访人是否有佩戴口罩, 如果没有佩戴口罩, 我们会使用整体面部的特征在AnalyticDB中检索相似的特征, 如果有特征与来访者面部特征相似度满足阈值, 则返回对应的结果。

如果来访者有佩戴口罩, 那么鼻子,嘴巴等特征会缺失, 使用整体面部特征提取模型无法准确的检索到正确的记录. 这时我们会使用眼部识别模型提取来访者眼部, 额头等不会被口罩遮挡的部位的特征, 然后再AnalyticDB中检索之前保存的眼部特征.

系统中使用的人脸识别模型, 眼部识别模型和口罩检测模型将全部开源给社区. 经过测试口罩检测模型的准确率>99.5%. 人脸识别模型和眼部识别模型在学术界常用的数据集上的准确率如下表所示.

可以看到仅仅使用眼部特征, AnalyticDB的模型在LFW数据集上仍然有99+%以上的识别准确率.

3.2 AnalyticDB向量版特性介绍
分析型数据库(AnalyticDB)是阿里云上的一种高并发低延时的PB级实时数据仓库,可以毫秒级针对万亿级数据进行即时的多维分析透视和业务探索。

AnalyticDB for MySQL 全面兼容MySQL协议以及SQL:2003 语法标准, AnalyticDB forPostgreSQL 支持标准 SQL:2003,高度兼容 Oracle 语法生态. 目前两款产品都包含向量检索功能, 可以支持人脸, 人体, 车辆等的相似查询和推荐系统。

目前AnalyticDB在真实应用场景中可以支持10亿级别的向量数据的查询, 100毫秒级别的响应时间. AnalyticDB已经在多个城市的安防项目中大规模部署.

在一般的包含向量检索的的应用系统中, 通常开发者会使用向量检索引擎(例如Faiss)来存储向量数据, 然后使用关系型数据库存储结构化数据. 在查询时也需要交替查询两个系统, 这种方案会有额外的开发工作并且性能也不是最优。

AnalyticDB支持结构化数据和非结构化数据(向量)的检索,仅仅使用SQL接口就可以快速的搭建起以图搜图或者图片+结构化数据混合检索等功能. AnalyticDB的优化器在混合检索场景中会根据数据的分布和查询的条件选择最优的执行计划,在保证召回的同时,得到最优的性能。

在我们的出入管理系统中, 我们通过AnalyticDB实现了同时使用照片, 性别, 年龄, 起始时间, 终止时间来查询出入记录的功能.

这样的以图搜图+结构化搜索功能, 可以通过一条SQL实现:

注:*左右滑动阅览

select  name, # 姓名gender, # 性别age, # 年龄time, # 出入时间l2_distance(feature, array[-0.017,-0.032,...]::real[]) as distance # 向量距离
from demo.person a, demo.face_feature b, demo.access_record c
where a.pid = c.pid and a.pid = b.pid and name = '张三' # 姓名条件and gender = '男' and age = 30 # 性别条件and time >= '2020-02-07' # 起始时间条件and time <= '2020-02-09' # 结束时间条件order by distance; # 用向量相似度排序

其中表demo.person存储了每个人的基本信息,demo.face_feature存储了人脸特征向量, demo.access_record存储了所有的来访记录. pid是每个人的独有ID.

结构化信息+非结构化信息(图片)混合检索在实际应用中被广泛使用的. 例如在人脸门禁系统被部署在多个小区时, 我们使用一张表存储了所有小区的人脸特征, 在人脸检索时我们只需要检索当前小区的人脸特征. 在这种情况下, 使用AnalyticDB我们只需要在SQL中增加where 小区名 ='xxx' 就可以轻易实现.

详细介绍参考阿里云使用文档:

分析型数据库PostgreSQL版:

https://help.aliyun.com/document_detail/123163.html

分析型数据库MySQL版:

https://help.aliyun.com/document_detail/117825.html

4、结尾

开源地址在这里 

https://github.com/aliyun/alibabacloud-AnalyticDB-python-demo-face-recognition

戴口罩也能刷门禁?疫情下AnalyticDB亮出社区管理的宝藏神器!相关推荐

  1. 疫情下AnalyticDB亮出社区管理的宝藏神器 !

    1.背景介绍 疫情肆虐,有效隔离是尽快战胜病毒的有效手段,多个地方政府都提出了严格的居民出行管理条例,例如杭州市余杭区2月3日发布了实行"十项从严"管控措施: 这给社区管理带来新的 ...

  2. 手机、手环NFC刷门禁卡

    手机.手环NFC刷门禁卡,全教程! 此教程教您将门禁卡.考勤卡.会员卡.停车卡.电梯卡等等各种卡片模拟进NFC手机里,从而用手机代替门禁卡.视频教程(https://nfctool.cn/nfcpho ...

  3. iPhone刷门禁卡的设置方法

    要想让苹果手机实现刷门禁卡的功能,需要曲线实现.首先需要我们在苹果手机上添加一种类型的公交卡.请先在手机屏幕上找到「钱包」应用,打开它. 在钱包中请点击右上角的+按钮,如图所示. 随后请点击「扫描或添 ...

  4. vivo手机支持html,vivo手机也能刷门禁了,只有这三款手机支持,教你如何开通使用...

    随着NFC功能的普及,现在越来越多厂商开始重视NFC的应用发展,希望借此来提升用户体验.继小米和华为之后,现在vivo也开通了门卡模拟功能.官方介绍,门禁卡模拟是vivo钱包提供的一种门卡模拟功能,使 ...

  5. 小米手机、华为手机、一加手机、小米手环NFC刷门禁卡教程!

    此教程教您将门禁卡.考勤卡.会员卡.停车卡.电梯卡等等各种卡片模拟进NFC手机里,从而用手机代替门禁卡 一.软硬件准备 NFC Tool 手机上的IC卡读写编辑软件,搭配蓝牙读卡器或者OTG读卡器,可 ...

  6. 门禁信息推送不了服务器,MIUI下周推送新功能, 友商不要羡慕! 小米6/MIX2等可直刷门禁!...

    原标题:MIUI下周推送新功能, 友商不要羡慕! 小米6/MIX2等可直刷门禁! 你的手机支持NFC吗?作为智能手机的附属功能,NFC功能很早前就已经出现.早在2005年,诺基亚就推出了第一款支持NF ...

  7. ID卡拆解做成手机刷门禁(类似NFC功能)

    小区门禁是ID卡,频率是125K  手机NFC功能是只能刷IC卡13.56M的,所以要想手机刷iD卡就得自己动手补装了 准备材料: 手机防磁贴和线圈 (你可以直接购买线圈,但是要复制卡号到你线圈里面, ...

  8. 小米手环/华为手环复制无法识别的加密校园卡(可刷门禁,只需一张卡,最简单方式)

    小米手环复制校园卡(最简单方式),解决小米手环不能复制门禁卡. 注意,这里的校园卡是加密卡,一般不容易破解,这里只是读取并写入0扇区的第一行数据,只能够身份识别充当门禁卡,不能进行消费等其他行为.(写 ...

  9. 人脸识别门禁_小区人脸识别门禁或取代传统门禁刷卡方式

    可以说,社区是一个人口聚集的小型社会.首先社区的人流量很大,进出是十分频繁.其次,社区的大门以及各处进出口是业主与访客.外来人员等进进出出最关键的通道.因此,每个社区都会有一套成型的门禁系统,常见的是 ...

最新文章

  1. 使用Silverlight Toolkit TreeView(树形控件)
  2. 【 FPGA 】FIR 滤波器之半带抽取器(Half-band Decimator)
  3. Nancy之结合tinyfox给我们的应用提供简单的数据服务
  4. windows配置maven环境并换源
  5. 波卡链Substrate (7)Grandpa + Babe
  6. MySQL dump文件导入
  7. [HDOJ2586]How far away?(最近公共祖先, 离线tarjan, 并查集)
  8. 2021牛客暑期多校训练营5
  9. 外设驱动库开发笔记36:NTC负温度系数热电阻测温驱动
  10. 如何提高PHP代码的质量?第二部分 单元测试
  11. 数据安全:1.98亿购车者的购车记录公之于众
  12. 一款好看透明个人主页源码
  13. 利用pytorch实现图像分类
  14. 51单片机向PC端发送字符
  15. 普通马甲包app上架App Store5.2.1或3.21被拒原因解析
  16. android怎么做表格显示数据
  17. 如何使用“MRT”恶意软件删除工具
  18. 研究生学习初入门之导师大致方向
  19. ThreadLocal.withInitial
  20. H.264是什么?H.265是什么?视频码率是什么?了解视频原理

热门文章

  1. 掌握这些 NumPy Pandas 方法,快速提升数据处理效率!
  2. 你还在用Python做数据分析么?
  3. xampp打开mysql的admin访问被拒绝_U盘插入电脑提示无法访问?别怕,我找到解决办法了...
  4. 机器学习-特征处理/归一化/标准化/降维03
  5. c语言send方法,高效编写代码的方法(九):了解objc_msgSend
  6. [小程序]微信小程序获取input并发送网络请求
  7. failed to find romfile vgabios-stdvga.bin
  8. DBUtils连接池,websocket
  9. CKEditor4.4.5 插入高度代码及上传图片
  10. poj 2506 Tiling (递推)