Android 刷臉登入功能初探

GodZ發表於2017-11-10
產品經理:“最近人工智慧挺火的啊!”
我:“是啊!”
產品經理:“我們也跟個風,做個刷臉登入吧!”
我:“刷臉登入和人工智慧沒啥關係吧。”
產品經理:“不管有沒有關係,我們現在打算做一個刷臉登入的功能,你回去準備準備吧!”
我:“。。。。。。”複製程式碼

開始之前

先介紹一下兩個概念,讓剛接觸這一塊的讀者有個感性的認識。

  1. 人臉檢測
    • 檢測一張照片中是否有人臉,如果有,給出人臉的相關座標,人臉識別(比對)的基礎
  2. 人臉識別(比對)
    • 識別兩張照片是不是一個人。

現在網上大多數介紹文章都弄混了這兩個概念,大多數關於人臉識別(比對)的介紹或demo其實都說的是人臉檢測。

開始研究

經過幾天的研究,比對了市面上現有的幾家產品,作出如下評測:

  • Face++
    • 優點:接入方便,支援SDK,API呼叫等方式,文件清晰
    • 缺點:價格極度的貴,一般的創業公司不會接受,大廠估計都自己去實現了
  • 騰訊優圖
    • 優點:沒啥優點
    • 缺點:接入極度麻煩
  • 科大訊飛
    • 優點:執行速度快,免費,結果準確
    • 缺點:文件較亂,demo是多個功能(語言、人臉識別等)的集合體
      綜合公司的情況和平臺的功能,我決定選用科大訊飛來完成這次的業務需求。

離線功能

我:“上次提的刷臉登入功能可以實現,都不叫事。”
產品經理:“這麼快,可以可以,這次做完了,我給老大提一下這個事。”
我:“呵,好啊。”
產品經理:“哦,對了,記得這次我們們的產品要考慮到離線登入的情況,客戶沒網也要進app裡的。”
我:“????沒網還登入啥啊。”
產品經理:“恩恩,解決一下吧,我還有個會,先走了。都不叫事。”
我:“?????”複製程式碼
  • 又經過一番研究,發現離線功能真的不好實現,第三方基本上都不支援,支援的也是價格很貴,公司接受不了。好吧,只能自己去實現了。
  • 要想實現,就是兩個步驟
    1. 通過openCV獲取兩張照片的人臉資訊並儲存。
    2. 通過javaCV比對儲存的資訊。

最後解決了公司的這次業務需求。

相關文章