戴口罩也能刷門禁?疫情下AnalyticDB亮出社區管理的寶藏神器!

簡介: 戴口罩也能刷門禁?疫情下AnalyticDB亮出社區管理的寶藏神器!

1、背景介紹

疫情肆虐,有效隔離是儘快戰勝病毒的有效手段,多個地方政府都提出了嚴格的居民出行管理條例,例如杭州市餘杭區2月3日發佈了實行“十項從嚴”管控措施:
640-24.jpeg

這給社區管理帶來新的挑戰,傳統門衛盯人存在以下幾個問題:

  1. 進出人員情況全憑人工記錄,出現錯漏,不能及時對頻繁外出居民有效勸阻。
  2. 缺乏全局角度對居民隔離整體情況的掌控和度量,例如有哪些人頻繁出入,出入總人數.

爲了解決居民出入管理的上述幾個問題,阿里雲智能數據庫向量檢索團隊 免費提供 一套高度兼容戴口罩場景下的人臉識別模型,並基於AnalyticDB的向量檢索能力, 搭建了一套小區人員管理的解決方案, 這個方案將開源給社區。

通過該方案可以有效的提升當下疫情中的小區出入管理效率.同時我們免費提供AnalyticDB給用戶用於與當前肺炎疫情相關的出入管理應用.

下面首先介紹我們的方案,然後會對其中的人臉識別和AnalyticDB向量檢索關鍵技術做詳細介紹,方便開發者能夠做二次開發,最後我們會附上 開源地址

2、小區人員管理解決方案介紹

2.1小區人員管理解決方案功能

1、自動登記入冊小區人口, 基本信息和人臉特徵,界面如下:
640-6.png

2、通過攝像頭自動做人臉識別,返回來訪者家庭的所有出入記錄. 方便社區管理者進行高效的出入管理,在當前疫情環境下, 人們普遍佩戴口罩, 去掉口罩會增加肺炎感染的風險, 所以本方案提供一套支持戴口罩情況下人臉識別的算法. 演示效果如下:

640-20.jpeg

3、可以通過人臉照片和結構化信息的任意組合來檢索住戶的來訪記錄,並提供統計分析能力,爲小區管理者提供全局度量數據. 

640-21.jpeg

2.2 應用架構總體設計

出入管理系統的總體架構如下圖所示. 前端界面通過HTML和javascript實現, 功能包含支持戴口罩場景下的人臉門禁, 通過人臉識別查詢來訪者的全部家庭成員2日內的出入記錄, 人員登記, 後臺通過人臉和結構化信息自由組合搜索來訪記錄等功能.。

人臉識別模塊將包含人臉的視頻轉換成人臉特徵向量, 人臉識別模塊主要使用了Seetafce引擎的人臉檢測和人臉追蹤模塊和AnalyticDB團隊自研的人臉識別, 眼部識別和口罩檢測模型.AnalyticDB負責整個應用中的全部的結構化數據和人臉識別模塊產生的人臉特徵向量的存儲和查詢。

640-22.jpeg

3、關鍵技術介紹

3.1 針對疫情的人臉識別算法

算法流程如下圖所示, 在人員登記過程中我們分別通過人臉識別模型和眼部識別模型提取登記人的面部整體特徵和眼部特徵, 並將提取的特徵向量寫入AnalyticDB. 在查詢過程中, 我們首先會通過口罩檢測模型來檢測來訪人是否有佩戴口罩, 如果沒有佩戴口罩, 我們會使用整體面部的特徵在AnalyticDB中檢索相似的特徵, 如果有特徵與來訪者面部特徵相似度滿足閾值, 則返回對應的結果。

如果來訪者有佩戴口罩, 那麼鼻子,嘴巴等特徵會缺失, 使用整體面部特徵提取模型無法準確的檢索到正確的記錄. 這時我們會使用眼部識別模型提取來訪者眼部, 額頭等不會被口罩遮擋的部位的特徵, 然後再AnalyticDB中檢索之前保存的眼部特徵. 

640-23.jpeg

系統中使用的人臉識別模型, 眼部識別模型和口罩檢測模型將全部開源給社區. 經過測試口罩檢測模型的準確率>99.5%. 人臉識別模型和眼部識別模型在學術界常用的數據集上的準確率如下表所示.
表格.jpg

可以看到僅僅使用眼部特徵, 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

 

 

發佈了270 篇原創文章 · 獲贊 907 · 訪問量 46萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章