萬人馬拉松賽事,人臉識別系統如何快速、準確完成校驗?

萬人馬拉松賽事,人臉識別系統如何快速、準確完成校驗?

萬人馬拉松賽事,人臉識別系統如何快速、準確完成校驗?

作者 | 阿里文娛技術專家墨賢

出品 | AI科技大本營(ID:rgznai100)

大麥的人臉閘機在2019年杭州馬拉松上成功的完成了刷臉入場功能的首秀,相比傳統的馬拉松入場核驗方案在入場體驗和入場效率上都有了很大的提升,下面介紹一下大麥的人臉識別是如何支持馬拉松賽事的。

万人马拉松赛事,人脸识别系统如何快速、准确完成校验?万人马拉松赛事,人脸识别系统如何快速、准确完成校验?

馬拉松賽事流程介紹

馬拉松賽事的流程主要分三步:

第一步,參賽者到馬拉松官方網站報名,報名成功後會通知選手;

第二步,報名成功的選手需攜帶身份證到官方指定的地點領取裝備;

第三步,比賽當天攜帶號碼簿驗票入場進行比賽。

万人马拉松赛事,人脸识别系统如何快速、准确完成校验?

我們面臨的挑戰是:

1、如何在指定時間內完成參賽者的裝備領取工作:既要保證快速領取不造成人員積壓,又要保證裝備不會領錯;

2、 如何保證比賽當天在短時間內完成幾萬人的入場核驗工作。

万人马拉松赛事,人脸识别系统如何快速、准确完成校验?

大麥人臉識別解決方案

在介紹大麥的人臉識別方案之前,首先介紹人臉比對的幾個常用術語:

1比1:1比1是指用照片跟人進行比對,通過算法判定照片和人是否是同一個人,簡單理解就是證明“你就是你”。

万人马拉松赛事,人脸识别系统如何快速、准确完成校验?

1比N:1比N是指在N個人的照片庫裡(底庫)進行查找,通過算法判定這個人是否在這些照片裡面,通俗來講就是“我是誰”。

万人马拉松赛事,人脸识别系统如何快速、准确完成校验?

清楚了馬拉松賽事的流程之後,下面介紹大麥是如何支持現場領取裝備和比賽當天入場核驗的,在我們的方案裡面比賽當天的入場核驗是壓力最大,風險最高的,而且這個也是依賴前兩步的。

選手入場比賽時不會攜帶手機和證件,那如何進行驗票呢?

大麥傳統做法:提前跟主辦溝通,在號碼簿中放置一個射頻芯片,芯片號與號碼簿上的號碼一一對應,這樣通過驗票設備掃描到芯片後會查詢到這個選手的參賽信息,包括照片(來源於第1步和第2步),為什麼需要照片?只有拿到照片然後和本人進行比對才能確認是不是本人還是替跑,這就用到了人臉識別,也就是上面所說的1比1比對。

万人马拉松赛事,人脸识别系统如何快速、准确完成校验?

這個方案是可行的,但面臨兩個問題:

1、 號碼簿是第三方公司負責的,經常會遇到號碼簿裡沒有芯片或者芯片號跟號碼簿上的號碼不一致(實際發生率還比較高),這就會造成選手無法直接核驗入場,需要人工處理;

2、 這種入場方案需要先核驗芯片,再進行人臉比對,在馬拉松賽事中有一些力不從心,因為幾萬名選手需要在短短的半個多小時完成入場,壓力可想而知。

如何優化選手入場,既避免號碼簿芯片的問題又能快速準確的核驗?

這就用到人臉識別的1比N,我們提前拿到所有選手的照片,選手直接刷臉進行比對,快速核驗入場。

万人马拉松赛事,人脸识别系统如何快速、准确完成校验?

這個優化的方案需要做到以下兩點:

1、 安全的人臉比對算法,該進去的人放行通過,不該進去的人拒絕開閘;

2、 提前獲取所有選手的照片,而且照片質量需要足夠好,用作人臉比對的底庫

人臉比對算法這塊要求是比較嚴格的,馬拉松賽事每年都有很多替跑的人,我們的人臉算法必須要能找出替跑者,而且大麥的驗票場景像演唱會的門票動輒上千,是決不允許讓無票的人入場,當然也要讓買了票的人能夠正常通過,這樣的場景與刷臉支付場景比較像,因此我們使用了成熟的金融級別的人臉算法。

獲取所有選手的照片的問題,我們是通過前面介紹的報名和領裝備的環節解決的:

我們會要求選手在報名的時候提交一張本人的照片,但是這不能保證所有人都提交了質量足夠好的照片,而且提交的照片是本人。這就需要在現場領取裝備的時候解決,因為這影響到比賽時能否正常順利入場。

下面介紹我們是如何在完成領取裝備的同時獲取到選手的照片:

我們都知道,入場驗票時是需要票的,選手在使用身份證領裝備的時候其實他的身份證就是一張票,選手使用大麥的閘機系統刷身份證後,系統會根據身份證號讀取到選手的信息,然後會通過閘機的打印系統打印出一張小票,選手拿著小票到相應的窗口領取參賽裝備。但是這樣無法滿足主辦的要求,必須要求選手持本人身份證到現場領取裝備,當然也無法滿足我們自己的需求——獲取到所有選手的照片。因此我們在選手刷身份證的時候對他進行了1比1比對,確認是本人後再去採集一張用戶現場的照片,這就完成了身份確認和照片的獲取。

在這個方案裡,領取裝備的這個流程其實是可以優化的,用戶在第1步報名時提交的照片有很多是質量很好可以直接用的,沒有必要到現場再進行一次採集,對於這部分用戶我們有了他們的照片之後會引導他們直接通過1比N人臉刷臉比對入場打印小票進行領取裝備,這個方案的優點是:

1、 直接刷臉,無需刷身份證+1比1比對+採集,讓領取效率更高,避免現場排隊

2、 解決了很多已上傳人臉的用戶忘帶身份證或者身份證丟失導致的無法領取裝備的問題

万人马拉松赛事,人脸识别系统如何快速、准确完成校验?万人马拉松赛事,人脸识别系统如何快速、准确完成校验?

小結:我們通過報名的時候引導選手提交照片,通過現場引導讓提交照片的選手直接刷臉領取裝備,對於刷臉識別失敗和未成功提交人臉的選手通過1比1進行本人確認並進行人臉採集,這樣就確保了所有選手的照片都到了我們的人臉底庫,也就使得我們在比賽當天可以讓選手直接使用1比N比對直接刷臉入場。

万人马拉松赛事,人脸识别系统如何快速、准确完成校验?

保護用戶隱私與數據安全

我們的人臉識別入場的方案是基於用戶的照片,這就涉及到用戶的隱私,我們會在馬拉松報名的時候提前告知用戶,獲得用戶的授權,我們需要做的更多的是如何保證用戶照片的安全。下面介紹我們的方案:

閘機識別到用戶後需要顯示用戶的照片,為了保護用戶的照片不被洩露,我們對讀取用戶照片的接口做了授權判斷,非授權設備無法獲取照片數據,只有已授權的設備才能獲取到照片數據,且是已經進行過加密處理的,保證了數據不會從端上洩露。

現場採集用戶照片時,我們會將採集到的照片進行編碼之後再進行一次加密操作,加密之後上傳到服務端,上傳成功之後會立即刪掉本地的照片。在本場比賽結束之後服務器會自動將所有照片刪掉。

通過以上操作,保證了用戶的照片數據安全,也就保護了用戶的隱私。

万人马拉松赛事,人脸识别系统如何快速、准确完成校验?

人臉閘機軟件架構演進

講完了我們的人臉識別方案,下面再介紹一下我們的軟件架構是如何支撐我們的人臉識別入場:

我們的閘機採用的是安卓系統,開發閘機的人臉核驗系統跟開發普通的安卓應用稍有不同,我們需要針對硬件進行適配:機芯(擺閘、輥閘),打印機,二維碼模塊,RFID模塊,身份證模塊等。

那整個閘機的軟件架構很自然的就成下面的樣子:

万人马拉松赛事,人脸识别系统如何快速、准确完成校验?

這樣的方案用起來是沒有問題的,但是時間長了會發現幾個問題:

  • 無論是改動業務代碼還是硬件驅動代碼都需要針對整個應用升級

  • 隨著閘機型號的增多,程序中會有各種型號的驅動,導致硬件驅動的代碼臃腫,不易維護

  • 關於硬件的適配,由於跟業務代碼合在一起,只能我們自己來做,無法交給閘機的廠商

因此在這個基礎上我們對軟件架構進行了優化: 業務程序與驅動程序分開,採用了面向接口編程的思想,業務程序通過AIDL的方式將命令給到驅動程序。

万人马拉松赛事,人脸识别系统如何快速、准确完成校验?

這樣的好處顯而易見:

  • 業務和驅動代碼不再耦合在一起,各自獨立,業務應用只需關心業務邏輯,驅動應用做好硬件驅動的事情

  • 業務程序無需關心驅動程序如何實現,驅動程序的實現可以交由廠家實現,我們制定標準就好了

  • 業務程序和驅動程序獨立升級,按需升級

  • 每種型號的設備使用統一的業務程序,只安裝自身的驅動程序,不再需要將所有的不同型號的設備驅動代碼都放在一起

万人马拉松赛事,人脸识别系统如何快速、准确完成校验?

人臉識別能力優化

我們採用了安全的人臉識別算法,但這不表示算法就能解決我們現場的所有問題,大麥的現場環境較刷臉支付場景更為複雜,下面介紹我們是如何優化和提升我們的人臉識別能力:

1、解決底庫增大&&降低誤識率

研究過人臉算法的同學應該清楚,再完美的人臉算法也會有誤識的情況,也就是誤識率,而且隨著底庫的變大,誤識率也會跟著上升。馬拉松的場景幾萬人很正常,既要降低誤識率又要滿足底庫的變大,看似一個矛盾的問題,而且算法層面目前是無法解決,但必須要解決業務問題,我們的思路是:既然算法無法解決,那隻能通過業務去解決,我們知道馬拉松賽事還細分為全馬,半馬,情侶跑,迷你跑,家庭跑等不同的種類,那我們就可以根據這些不同的種類將人群分開,這樣就做到了減少了底庫,那誤識率自然會降低。

2、人臉數據全流程打通

上面講過通過報名網站進行人臉採集或者現場刷身份證進行現場採集,完成人臉採集,但是還有一種情況是用戶既沒有在報名時上傳照片,有沒有攜帶身份證,這些用戶只能通過大麥APP進行採集,那如何保證APP上採集了之後能馬上入場領取裝備?那就需要把整個流程打通,具體如下:

万人马拉松赛事,人脸识别系统如何快速、准确完成校验?

3、動態遠程調優

馬拉松的人臉識別場景其實要比人臉支付的場景複雜,人臉支付大多是在室內,光線的影響會相對小一些,而馬拉松既要考慮室內場景(領取裝備)又要考慮戶外場景(開跑入場),面臨著曝光過度、逆光側臉和遠距離等的影響,因此需要根據具體環境來進行調優,我們通過在管理端動態修改影響人臉算法的各種參數,以及是否採用降級方案等,遠程下發到現場所有設備,確保選手順利高效入場,不會引起排長隊的問題。

万人马拉松赛事,人脸识别系统如何快速、准确完成校验?

總結

我們根據馬拉松賽事實際的業務場景,將人臉識別功能1比1和1比N應用到馬拉松賽事,開啟了馬拉松行業的新的入場模式,但是我們的路還很長,人臉算法需要繼續提升:提高識別率與降低誤識率,不同環境下人臉算法的優化配置,室內與戶外的不同驗票方案以及已經開始商業化的5G能否給我們的業務帶來新的突破,我們會將人臉識別功能應用到更多的核驗場景,持續提升現場用戶的入場體驗和通行效率。

 

【end】



有獎徵文


萬人馬拉松賽事,人臉識別系統如何快速、準確完成校驗?
  • 超輕量級中文OCR,支持豎排文字識別、ncnn推理,總模型僅17M

  • 網紅直播時的瘦臉、磨皮等美顏功能是如何實現的?

  • 比特幣最主流,以太坊大跌,區塊鏈技術“萬金油”紅利已結束 | 區塊鏈開發者年度報告

  • 一文了解 Spring Boot 服務監控,健康檢查,線程信息,JVM堆信息,指標收集,運行情況監控!

  • 用 3 個“鴿子”,告訴你閃電網絡是怎樣改變加密消息傳遞方式的!

  • 出生小鎮、高考不順、復旦執教、闖蕩硅谷,59 歲陸奇為何如此“幸運”?

你點的每個“在看”,我都認真當成了AI


分享到:


相關文章: