實戰分享:如何規劃一款人臉識別考勤門鎖產品

3 評論 8836 瀏覽 75 收藏 31 分鐘

本文通過一款人臉識別考勤門禁產品,分享初做AI產品過程中的思考和總結,特別對人臉識別性能指標做了詳細的說明。

目錄

  1. 為什么是人臉識別
  2. 確定需求和場景
  3. 整體方案設計
  4. 產品開發
  5. 產品測試-人臉識別指標詳解
  6. 總結

隨著AI技術興起的浪潮,各種傳統硬件不斷被智能化,以提高效率和體驗??v觀市面上的AI硬件產品,無非有兩種:

  • 一種是傳統硬件企業以硬件為主進行AI賦能,比如智能門鎖、智能冰箱等,核心還是硬件;
  • 另一種就是互聯網企業以提供AI服務和內容為主的載體終端,比如智能音箱、翻譯機等,核心是AI服務能力和內容;

硬件不同于軟件,做硬件成本很高,但是隨著市場不斷擴大,競爭也越來越大,產品開始同質化導致價格不斷降低,利潤也越來越低。所以對于傳統硬件公司來說,一方面需要引入新的AI元素對產品進行創新打造差異化,另一方面也要不斷滿足用戶新的需求,保持市場地位。

互聯網公司在軟件服務上有明顯的優勢——擅長AI技術研發以及設備管理系統、業務管理系統、APP等平臺開發,海量數據收集和內容提供,具有很強的產品運營能力和營銷意識。戰略上作為軟件服務的延伸,互聯網企業也可能會開發硬件產品,打造新的端到端的閉環。

做為創業者,直接從硬件入手門檻非常高,硬件涉及到ID結構、組裝生產、供應鏈管理和銷售渠道等方面,需要長期的摸索積累;在這個機會稍縱即逝的關口,這顯然不合適。所以,不妨將自己定位為一個AI技術解決方案和服務商,為傳統硬件企業賦能,這樣既能貼合傳統硬件企業轉型升級的迫切需求,又能避開跟大型互聯網企業的直接競爭。

本文通過針對200人以內企業的人臉識別考勤門禁一體機方案,分享一下關于做AI產品的一些思考和總結。

一、為什么是人臉識別

人臉識別,是基于人的臉部特征信息進行身份識別的一種生物識別技術。說到生物識別,通常應用在智能門禁中的其他生物識別技術主要包括指紋、靜脈、虹膜、聲紋。對比如下圖所示:

目前消費者對智能門禁的關注順序如下:首先是安全性;然后是長期穩定性(5~10年)、便利性、準確性和成本;其他因素還有外觀、品牌等。綜合上表可以看出,在生物識別上,人臉識別具有很大的優勢。

目前市面上關于人臉識別考勤一體機的價格主要集中在千元左右,靜脈識別和虹膜識雖然在安全性上很有優勢,但便利性不夠、成本太高;聲紋識別準確性中等,且容易受到噪音干擾,因此也很少選擇這種方案。

目前市面所有的智能考勤門禁一體機,指紋識別基本上都是標配,相比與人臉識別來說,指紋不夠安全也不夠便利,而且對小孩和老人的手指支持不好。

綜上所述,相比其他生物識別方式,人臉識別非常有優勢,而且隨著算法的提升和活體檢測等技術的補充,人臉識別在安全性和穩定性上會越來越高,這塊趨勢將越來也明顯。

這里普及一下人臉識別的幾個特點:

  • 非侵擾性:人臉識別無需被識別者主動配合采集設備,在不干擾人們的正常行為情況下就能較好地達到識別效果。
  • 非接觸性:人臉圖像信息的采集不需要用戶與設備直接接觸。
  • 并發性:在實際應用場景下可以進行多個人臉的分揀、判斷及識別。
  • 友好性:通過人臉識別身份的方法與人類的習慣一致,人和機器都可以使用人臉圖片進行識別。
  • 便捷性:采集設備簡單,使用快捷。常見攝像頭在在數秒內即可完成圖像采集。

通過人臉識別,能夠在保證安全性的前提下,快速地同時對多人進行識別,完成快速解鎖通行和排隊考勤等應用場景,體驗非常好

二、確定需求和場景

需求分析是產品經理的基本功,做需求分析的時候一定要結合具體的場景。

比如我們的人臉識別考勤門禁一體機,主要是用于200人以內的中小公司,一般安裝在公司大門口,使用時間早晚比較集中,使用對象包括員工和HR等。不同的場景對需求的具體滿足方式提出了不同的要求,也就是對產品方案的要求。

一般客戶會提出大概的需求,產品經理需要仔細考慮每一個需求描述,結合自身對競品、場景和技術的了解,設計產品方案,并反復與客戶溝通。比如客戶提出了如下需求:

  1. 人臉識別 數量:不低于200PCS用戶
  2. 刷卡功能 數量:200組
  3. 密碼功能 數量:50組
  4. 顯示屏 2.4 TFT
  5. 低功耗:待機功耗小于50ua
  6. 喚醒和對比時間小于1.5秒
  7. 采用4節干電池供電
  8. 常規門鎖功能
  9. 內置藍牙模塊
  10. 手機APP開門
  11. 考勤功能
  12. 動態密碼功能 10分鐘內1次有效 通過手機生成
  13. 時效密碼功能(10組)通過手機下發
  14. ………

當收集到很多需求時,建議首先對問題進行分類并根據經驗和分析進行補全,比如分為嵌入式硬件需求、嵌入式軟件需求、APP需求、管理后臺需求和其他需求,如下圖所示:

這里只是做一下簡單的介紹,實際做產品需求分析時候會有大量的溝通和細節上的決策,涉及到用戶訪談、競品分析、場景分析、卡諾分析等多種復雜的過程。

三、整體方案設計

作為AI賦能方案商,我們的專注點通常在人臉識別嵌入式模塊和互聯網平臺服務上,而外觀結構、生產組裝以及認證銷售都由傳統廠商負責。

目前關于人臉識別考勤門禁一體機主要有兩種方案:

一是終端采集到人臉照片后將圖片上傳到云端服務器,由服務器對照片進行實時處理,并將處理結果返回給終端設備,這種方案對網絡的依賴比較強,同時處理能力也比較強。

二是將訓練好的人臉識別模型部署到終端設備上,設備采集到人臉照片后直接處理,只將處理結果反饋到云端,這種方案不依賴外部環境,但對設備本身的計算能力有較高的要求。

隨著終端設備計算能力的不斷提升和成本下降,第二種方案在體驗和成本上的優勢將越來越大。系統架構如下圖所示:

人臉識別考勤門鎖系統主要有以下幾個組成部分:

1. 終端設備:由雙目攝像頭或其他如3D Tof攝像頭(圖像采集、活體檢測)、補光板(適應昏暗環境)、AI芯片(提供模型運行算力)、MCU(業務系統)和觸摸屏幕(人機交互界面)等關鍵元器件和機械零件等組成。

2. 固件:內置了人臉檢測、圖片預處理、特征提取、特征對比、活體檢測、人臉識別等算法模型SDK和門鎖應用程序,其中機器學習算法可在外掛的AI芯片上進行加速運算,應用程序在MCU上進行運算;更好的方案是算法模型和應用程序都運行在集成了AI加速單元的SoC芯片上。

3. IOT平臺:通常擁有AI能力的硬件會通過wifi或2/3/4G無線網絡等方式聯網,與云端服務器進行通信。因為終端設備數量眾多,且比較分散,也不會實時聯網,所以通過IOT平臺對設備進行管理,包括設備管理、生命周期管理、固件更新、數據存儲、可視化監控等。同時IOT作為管道負責設備端與云端Sass系統之間的數據交互。

4. 門鎖Saas系統:人臉識別考勤門鎖產品的客戶通常為企業用戶,一般會提供一個多租戶的Sass管理后臺,以滿足用戶門鎖管理、報警管理、員工管理、考勤管理等復雜的需求。

5. 小程序:因App開發和維護成本較高,采用小程序實現輕量級的門鎖Saas系統中的功能,方便管理員進行移動辦公管理。

6. 人臉識別平臺:包括人臉數據、標注平臺和模型訓練平臺,將訓練好的模型打包成SDK移植到芯片上供業務系統進行調用。

四、產品開發

人臉識別考勤門禁產品方案開發主要涉及到三個方面,分別是:

1. 人臉識別模塊:包括人臉數據集準備、人臉數據標注、服務器端訓練模型,模型SDK封裝和模型遷移到終端環境等;

2. 嵌入式軟硬件:人臉識別相關芯片、補光板、活體檢測、防撬傳感器、屏幕等硬件功能模塊和人臉注冊識別解鎖流程以及設備端用戶管理等軟件功能模塊;

3. 互聯網平臺:主要指設備連接和通信管理的IOT平臺,輕量級的小程序管理端以及完整功能的考勤門禁Saas平臺。

4.1 人臉識別模塊開發

人臉識別平臺通常包括人臉數據庫、標注數據庫和標注工具、模型訓練和測試平臺。

通常我們可以采用公開的已經標注好的人臉數據集進行模型訓練,為了實現更好的模型效果,也很有必要建立自有的人臉數據庫,并通過標注平臺對數據進行標注。然后通過Opencv、Dlib、Tensorflow、Cafe等平臺對人臉數據集和標注文件進行不斷訓練和測試,從而得出符合預期的人臉檢測、特征提取、特征對比、活體檢測等模型。

整個人臉識別平臺大概如下圖所示:

模型訓練好,通常還需要對模型進行裁剪遷移到實際運行環境中并封裝成SDK供嵌入式業務系統進行調用,其中還涉及到模型在真實環境中參數的調整和優化。一般的人臉識別流程如下圖所示:

關于人臉識別流程,網上有很多資料,寫的非常詳細,具體查看:

1)《人臉識別產品設計,AI產品經理需要了解的實戰干貨》

2)《人臉識別 | AI產品經理需要了解的CV通識(二)》

3) AMiner 第十三期研究報告《2018人臉識別研究報告》

人臉采集:通過攝像頭實時采集人臉圖片,采集人臉數據時需要注意一下關鍵相應因素:

1. 圖像大?。喝四槇D像過小會影響識別效果,人臉圖像過大會影響識別速度。非專業人臉識別攝像頭常見規定的最小識別人臉像素為60*60或100*100以上。在規定的圖像大小內,算法更容易提升準確率和召回率。圖像大小反映在實際應用場景就是人臉離攝像頭的距離。

2. 圖像分辨率:越低的圖像分辨率越難識別。圖像大小綜合圖像分辨率,直接影響攝像頭識別距離?,F4K攝像頭看清人臉的最遠距離是10米,7K攝像頭是20米。

3. 光照環境:過曝或過暗的光照環境都會影響人臉識別效果??梢詮臄z像頭自帶的功能補光或濾光平衡光照影響,也可以利用算法模型優化圖像光線。

4. 模糊程度:實際場景主要著力解決運動模糊,人臉相對于攝像頭的移動經常會產生運動模糊。部分攝像頭有抗模糊的功能,而在成本有限的情況下,考慮通過算法模型優化此問題。

5. 遮擋程度:五官無遮擋、臉部邊緣清晰的圖像為最佳。而在實際場景中,很多人臉都會被帽子、眼鏡、口罩等遮擋物遮擋,這部分數據需要根據算法要求決定是否留用訓練。

6. 采集角度:人臉相對于攝像頭角度為正臉最佳。但實際場景中往往很難抓拍正臉。因此算法模型需訓練包含左右側人臉、上下側人臉的數據。工業施工上攝像頭安置的角度,需滿足人臉與攝像頭構成的角度在算法識別范圍內的要求。

人臉檢測:人臉圖像采集完成后需要通過“人臉檢測”技術判斷圖像中是否存在人臉。如果存在人臉則繼續流程,否則重新采集圖像。

人臉圖像預處理:系統獲取的原始圖像由于受到各種條件的限制和隨機干擾,往往不能直接使用,必須在圖像處理的早期階段對它進行圖像預處理。所謂圖像預處理就是基于人臉檢測結果,對圖像進行灰度矯正、噪聲過濾等處理,并最終服務于特征提取的過程。

人臉圖像特征提?。?/strong>人臉特征提取就是對人臉進行特征建模將一張人臉圖像轉化為一串固定長度的數值的過程。輸入是“一張人臉圖像(帶人臉坐標框)”,經過人臉關鍵點定位后,輸出人臉相應的一個數值串(特征)。

人臉圖像匹配與識別:特征提取后,便可以任意兩個人臉特征進行比對,得到投特征之間的相似度。通過設定一個閾值,當相似度超過這一閾值,則把匹配得到的結果輸出。人臉驗證、人臉識別、人臉檢索和人臉聚類都是在人臉特征比對的基礎上加一些策略來實現。相對人臉特征提取過程,單次的人臉比對耗時極短,幾乎可以忽略;

人臉活體檢測:人臉活體(FaceLiveness)是判斷人臉圖像是來自真人還是來自攻擊假體(照片、視頻、換臉、面具、遮擋以及屏幕翻拍等)的方法。和前面所提到的人臉技術相比,人臉活體不是一個單純算法,而是一個問題的解法。這個解法將用戶交互和算法緊密結合,不同的交互方式對應于完全不同的算法。

4.2 嵌入式開發

關于嵌入式軟件硬件開發流程具體可參考我之前的一篇文章《【從軟到硬】做智能硬件的6個月,全流程詳解》,這里再詳細說明一下實際開發過程中可能會遇到的問題和需要注意的地方。

1. 要選擇合適分辨率的雙目攝像頭,考慮AI芯片對圖像的處理能力;同時需要調教攝像頭,以便采集到質量更高的圖像,并配合模型算法,調整模型參數。

2. 考慮盡量減少電池更換的頻率,延長續航時間,降低設備的功耗,當門鎖面前無人經過的時候盡量保持休眠狀態,可通過單獨的傳感器做設備激活,比如紅外傳感器,檢測到有人經過時,再啟動設備上的其他模塊。

3. 考慮設備所處的光線環境,針對強光環境通過濾光片進行過濾,針對弱光環境,要能夠及時通過補光板進行補光。

4. 考慮設備的安全性,當有人撬鎖時,能夠檢測出來并及時通知到用戶,比如在設備內部加入光感傳感器,見光后表示設備被拆解;或者在設備關鍵結合部加入運動傳感器,感受到部件分離時進行報警。

5. 補充第4條,考慮有人通過照片等方式對門鎖進行破解或陌生人非法開鎖的情況,對可疑人員進行拍照捕捉,并及時通知到管理人員。

6. 選擇合適的設備通訊協議,比如MQTT比TCP能夠支持更大的并發量,盡量減少設備與服務端的連接,一方面減少資源消耗,另一方面也可以降低設備功耗。

7. 預先定義好人臉識別模塊和業務模塊的數據協議,以及業務模塊與服務端的數據協議,方便模塊化開發,以及模塊之間的對接,提高整體的開發效率。

4.3 互聯網平臺開發

這里的互聯網平臺主要包括IOT平臺、考勤門鎖Saas平臺和小程序,在涉及到硬件的互聯網端開發的時候,區別于純軟件產品,功能夠用就行了;切忌過度開發,既增加研發成本,也可能開發出來一堆不實用的功能。

IOT平臺有很多開源平臺可以選擇,比如github上人氣最高的ThingsBoard就是個不錯的選擇,功能齊全,架構簡單,可視化組件豐富,對于中小型企業應用綽綽有余了。

考勤門鎖Saas平臺主要考慮如何接收設備數據并進行展示,以及針對用戶的雙向管理和考勤功能。小程序是為管理員提供的輔助管理客戶端,主要用戶消息接收,功能上應當盡量簡化,主要功能模塊如下圖所示(部分):

五、產品測試

產品測試除了常規的嵌入式軟硬件測試、互聯網平臺功能測試和整個系統聯調測試;還要著重強調一下人臉識別算法的測試,網上有很多介紹關于人臉識別性能的指標,但是都不好理解,這里通過具體數據舉例詳細說明一下。

通常評價一個人臉識別算法的好壞分兩個方面:識別率(準確率、召回率、誤識率、拒識率和ROC曲線等)和識別速度。

為了便于理解,這里先舉一個人臉識別門鎖的模型測試的例子,然后再對相關指標進行說明會更加清晰。人臉識別模型測試方法為比較兩個人臉照片是否為同一人,假設如下:

假設一:測試數據集中有100個人,每個人10張人臉照片,那么正樣本(同一個人的照片兩兩組合)數量為 100 * (10 * 9 / 2)= 4500個;負樣本(不同人的照片兩兩組合)數量為 100 * 99 /2 *10 * 10 = 495000個。

假設二:判斷兩張圖片特征相似度時,閾值為80,超過80則判斷為同一人;低于80則判斷為不同人。

假設三:測試結果如下圖所示,其中P表示同一人,N表示不同人,T表示預測結果為真,N表示預測結果為假。

5.1 準確率(Accuracy)

準確率是指我們的模型預測正確的結果所占的比例。準確率的定義如下:

Accuracy = (TP+TN) / (TP+TN+FP+FN)

上面的例子中可以計算出 :

模型的準確率 = (500+490000)/(4500 + 495000) = 98.2%

這個結果足以說明,我們的模型非常不錯,絕大部分樣本預測正確。但是仔細一看會發現問題,我們4500個正樣本中只有500個被正確預測,大部分(另外4000個)正樣本沒有成功預測出來;相反在495000個負樣本中只有5000個沒有被預測出來,模型關于正負樣本的預測結果差異巨大。

造成這一結果的原因在于正負樣本數據集極度不平衡,如果只是預測負樣本,那么這個模型或許還可以,但人臉識別更需要對正樣本的預測,所以我們還需要關注召回率和精確率。

5.2 召回率與拒識率

召回率(recall,TPR,命中率):在所有正類別樣本中,被正確識別為正類別的比例。從數學上講,召回率的公式如下:

Recall = TP/(TP+FN)

上面的例子中可以計算出:

模型的召回率 = 500 /4500 = 11.11%

由此可見此模型人臉識別成功率很低。

拒識率(False Reject Rate,FRR)與召回率相反,是指在所有正類別樣本中,被錯誤識別為負類別的比例。比如張三拿著李四的手機人臉解鎖成功了,公式如下:

FRR = FN/(FN+TP)= 1-TPR

上面的例子中可以計算出:

模型的拒識率= 4000/(4000 + 500)= 88.89%

也就是說大部分將會被人臉識別門鎖拒絕訪問。

5.3 誤識率(FAR)

誤識率(False Accept Rate,FAR,FPR,假報警率,錯判率)是指將他人誤認為指定人員的概率,公式如下:

FPR=FP/(FP+TN)

上面的例子中我們可以計算出:

模型的誤報率 = 5000 /(5000 + 490000)= 1.01%

也就是說在一個人臉識別門鎖上,100個陌生人中,有一個可以識別通過,存在很大的安全隱患。

誤識率(FAR)決定了系統的安全性,召回率(FRR)決定了系統的易用程度。在實際中,FAR對應的風險遠遠高于FRR,因此生物識別系統中,會將FAR設置為一個非常低的范圍,如萬分之一甚至百萬分之一,在FAR固定的條件下,FRR低于5%,這樣的系統才有實用價值。

5.4 ROC曲線

如上面例子中的判斷兩個圖片是否相似的閾值設置為 80,大于這個值的實例劃歸為正類,小于這個值則劃到負類中。

如果減小閥值,減到70,固然能識別出更多的正類,也就是提高了識別出的正例占所有正例的比類,即召回率(TPR);但同時也將更多的負實例當作了正實例,即提高了誤識率(FPR)。為了形象化這一變化,我們引入ROC曲線——ROC,受試者工作特征曲線,是比較兩個分類模型好壞的可視化工具。

(a)橫軸為誤識率FPR,縱軸為召回率TPR,理想情況下,TPR應該接近1,FPR應該接近0。

ROC曲線上的每一個點對應于一個閾值,對于一個模型,每個閾值下會有一個TPR和FPR。比如閾值最大時,TP=FP=0,對應于原點;閾值最小時,TN=FN=0,對應于右上角的點(1,1)。

(b)隨著閾值不斷增加,TP和FP都減小,TPR和FPR也減小,ROC點向左下移動。

ROC曲線怎么看?曲線越陡峭,曲線上的點越接近(0,1),表示檢測器性能越好。

5.5 識別速度

識別一副人臉圖像的時間,包括人臉圖像的采集、檢測、預處理、特征提取到匹配和識別出來為止的總時間。除了總體時間的計算意外,其中人臉檢測的時間可以作為一個重要的衡量標準,并可以直觀的感受出來。

人臉檢測速度是從采集圖像完成到人臉檢測完成的時間,通常用幀率(frame-per-second,FPS)來表示。時間越短,檢測模型效果越好。

這里也有一個問題,常見的人臉檢測算法基本是一個“掃描”加“判別”的過程;即算法在圖像范圍內掃描,再逐個判定候選區域是否是人臉的過程,因此人臉檢測算法的計算速度會受圖像尺寸(VGA640*480)、圖像中人臉大?。?0*80)和數量、圖像背景復雜度等因素影響。

通常在測試一個人臉檢測速度時,通過控制輸入圖像越小、圖像中人臉越少、圖像中人臉越大、圖像背景越簡單(比如白底)和使用越高性能的處理器,使得檢測算法速度越快。

六、總結

以上是自己在人臉識別考勤門鎖產品的規劃設計,和研發過程中對人臉識別AI產品的個人理解和總結。

技術是產品存在的基礎,在AI技術還沒有完全統一和標準化的時候,作為產品經理需要對AI技術有一定的了解。最基本的要求是要知道什么事情AI能做,什么事情AI不能做,對技術的能力有邊界感,不然很難順利的將用戶需求轉化為產品需求;然后更進一步地知道什么好做,什么不好做,以便更好的進行開發量的評估和模塊的劃分。

在與技術人員進行需求溝通的過程中,對于不明白的技術一定要多請教,不能讓技術問題限制了對產品的思考;如果對技術有一定了解,也需要克制自己,不要告訴技術應該怎么去實現。產品經理永遠都是一個提出問題和分析問題的人,而不是去解決問題的人。

參考資料

關于人臉識別流程,網上有很多資料,寫的非常詳細,感謝前人的努力。

1)《人臉識別產品設計,AI產品經理需要了解的實戰干貨》

2)《人臉識別 | AI產品經理需要了解的CV通識(二)》

3)AMiner 第十三期研究報告《2018人臉識別研究報告》

4)《2018中國智能門鎖行業研究報告》

 

作者:Ocean,公眾號:pm_know_practice

本文由 @Ocean 原創發布于人人都是產品經理。未經許可,禁止轉載

題圖來自Unsplash,基于CC0協議

更多精彩內容,請關注人人都是產品經理微信公眾號或下載App
評論
評論請登錄
  1. 很厲害!

    回復
  2. 指標那里好像有錯誤 TN和FN反了

    來自浙江 回復
  3. 牛批!很全面!

    來自上海 回復