開箱即用的人臉識別算法大盤點
人工智能領(lǐng)域最近幾年的發(fā)展可以說是如火如荼,這里面既有創(chuàng)業(yè)者的磨刀霍霍,也有資本的一路執(zhí)著狂跟,還有學(xué)生和程序員群體的熱情追隨;仡櫲斯ぶ悄茴I(lǐng)域從2012年的星星之火,到15年左右的瘋狂態(tài)勢,再到18年理性的聲音初現(xiàn)。有人開始對人工智能抱有懷疑的態(tài)度,認(rèn)為這一波AI并沒有想象中那么強。
但是,不可否認(rèn),人工智能真的在一些領(lǐng)域中得到了很好的落地,其中最典型的就是人臉識別的相關(guān)應(yīng)用,F(xiàn)在我們乘車可以無票自動人證核驗通行;通過人臉驗證身份在線辦各種證件手續(xù),也不再需要跑到各個局去現(xiàn)場辦理;還有很方便的手機人臉解鎖等等?梢哉f,人臉識別還是一個真正實用的技術(shù)。
人臉識別的流程介紹
對于一個落地可用的人臉識別系統(tǒng),一般要包含以下幾個步驟:
1) 人臉檢測——將人臉從圖像中檢測出來;
2) 人臉關(guān)鍵點檢測——從檢測到的人臉中檢測關(guān)鍵點(landmark);
3) 人臉對齊——根據(jù)人臉關(guān)鍵點,將人臉"扭正";
4) 人臉特征提取——把"扭正"的人臉?biāo)瓦M特征提取網(wǎng)絡(luò),產(chǎn)生特征向量(例如128維、512維的特征向量);
5) 人臉比對——將人臉特征和底庫里面存儲的人的特征向量進行比較。
從上面的流程可以看到,一個真正work的人臉識別系統(tǒng),是包含多個流程的。在多數(shù)場合,中間還需要加一個"活體檢測"的步驟,也就是判斷人臉是真的人臉,還是別人拿照片或者視頻錄像假冒的;如果你是從視頻中檢測人臉,還需要加一個"人臉質(zhì)量分"判斷,也就是判斷一個視頻序列中哪個人臉質(zhì)量最好,然后將最好的這個人臉?biāo)腿氲饺四樧R別系統(tǒng)。
有哪些可用的人臉識別算法
在上面一節(jié),我們簡要介紹了如何做一個人臉識別系統(tǒng)?梢哉f,要做好這個系統(tǒng)還是需要很大工作量的。從算法層面,要解決特征提取模型、活體檢測、人臉圖像質(zhì)量檢測三塊硬骨頭。此外,還需要考慮如何優(yōu)化低功耗、高性能等工程化問題。
還好,現(xiàn)在有一些AI科技公司開放了成熟的人臉識別算法,可以讓程序員很快可以完成部署。那么當(dāng)前有哪些可用的免費人臉識別算法,目前市面上主流的開箱即用的人臉識別算法又有哪些呢?下邊,小算農(nóng)為大家整理一下。
按照調(diào)用方式來看,主要分為兩種:云服務(wù)API和離線SDK。
云服務(wù)API
云服務(wù)API本質(zhì)上是"在線請求,返回結(jié)果",從功能上來說它是一個接口。多數(shù)人臉識別廠商將算法布置在云端,將API接口向有需求的公司開放。終端設(shè)備與云端連接后,人臉識別過程都在云端進行,消耗云端算力,本地端只需要上傳照片,接收結(jié)果。
云服務(wù)人臉識別API的優(yōu)勢主要有:
輕量級,集成方便,基本上任何語言都可以通過Http調(diào)用云服務(wù)API;
多為APP或一些網(wǎng)頁在使用。
當(dāng)然,凡事都有兩面性,云服務(wù)API也有不少劣勢:
無法離線運行,需要網(wǎng)絡(luò)流量成本,在一些特定場景下無法使用(無網(wǎng)絡(luò)、無法訪問公網(wǎng)的企業(yè)機構(gòu));
云端API廠商只能在較少調(diào)用量下(基本是產(chǎn)品測試階段),提供免費使用。一旦規(guī)模化商用,尤其是App端等場景下大規(guī)模調(diào)用收費高昂;
受網(wǎng)絡(luò)影響大,受網(wǎng)絡(luò)穩(wěn)定性影響較大,存在一定延遲,這樣即使算法、算力再給力,也無法彌補網(wǎng)絡(luò)的延遲。
在人臉識別API云服務(wù)里,國內(nèi)的BAT應(yīng)該是最大的玩家,如果你打開阿里云、百度云、騰訊云,會發(fā)現(xiàn)他們提供了齊全的人臉識別相關(guān)的服務(wù),另外,國內(nèi)的"CV四小龍"、圖普等眾多公司也提供云端人臉識別API。
大致價格如下表所示:
表 1 人臉比對API價格表
可以看到如果單純使用人臉比對,且調(diào)用量比較小的話,采用云服務(wù)API的價格還是可以接受的。但是,需要注意的是,表中僅是人臉比對的API價格,上文也提到了,一個完整的人臉識別系統(tǒng)至少還要包括人臉檢測+人臉活體檢測+人臉識別+人臉檢索這四個過程,需要分別購買四個模塊的API,加起來價格并不便宜。
離線人臉識別SDK
離線人臉識別SDK則是另外一種選擇,SDK也就是軟件開發(fā)工具包,算法廠商將人臉識別功能封裝成SDK,分發(fā)給其他公司使用。接收方下載安裝后使用,算法在本地端運行。
相比云服務(wù)API,離線SDK主要有以下優(yōu)點:
本地運行,可離線使用,不受網(wǎng)絡(luò)環(huán)境影響,響應(yīng)速度快;
人臉數(shù)據(jù)儲存在本地,無需與服務(wù)端進行數(shù)據(jù)交互,安全性高;
部分公司提供了免費的SDK(例如知名的虹軟視覺開放平臺提供的免費人臉識別SDK,全平臺覆蓋,文檔齊全)
國內(nèi)提供人臉識別SDK的知名公司及其價格:
表 2 部分主流廠商人臉識別SDK價格
筆者經(jīng)過統(tǒng)計,發(fā)現(xiàn)提供離線人臉SDK的公司相比提供云服務(wù)API的公司要少很多。另外,商業(yè)公司的離線人臉識別SDK一般價格比較貴。不過,虹軟視覺開放平臺卻有提供免費、離線的人臉識別SDK。它不僅支持商用、擁有多個平臺版本,而且還提供了非常齊全的文檔。
知道虹軟的人臉識別SDK是因為筆者在知乎搜索,有沒有離線版的人臉識別的sdk可以使用的?看到大家在回答中都重點推薦了科創(chuàng)板上市企業(yè)虹軟科技。于是筆者也去官網(wǎng)試了一下,發(fā)現(xiàn)該公司的確提供了四大平臺的SDK,而且,最關(guān)鍵的是,它是完全免費的!
使用后發(fā)現(xiàn),虹軟提供了人臉識別、認(rèn)證核驗、活體檢測三大主流應(yīng)用的免費算法。
另外,對于不同平臺的人臉識別SDK,虹軟都提供了Demo代碼。例如,下面是人臉識別SDK的安卓Demo(所有代碼都在下載的安卓SDK里面,打開Android Studio加載項目即可編譯安裝)。
其中人臉識別Demo的主頁如圖所示,因為是Demo所以相對簡單。
下邊是人臉屬性識別的效果頁面,從圖片可以看出,算法檢測出了人臉、估計出了年齡、性別、人臉三個角度,是否是活體以及特征提取和相似度的計算。
另外,筆者也嘗試了Ubuntu版本的人臉識別以及Windows版本的人證合一的SDK,發(fā)現(xiàn)調(diào)用起來都非常的方便,官方寫的Demo代碼也非常的簡潔易懂。
總結(jié)
經(jīng)過小算農(nóng)的總結(jié),從性價比來看,離線SDK使用本地算力可以做到完全免費商用。而云服務(wù)API是基于云端算力,很難真正免費開放,尤其是用戶規(guī);径荚趲资f甚至上百萬、上千萬的APP產(chǎn)品應(yīng)用中,云端調(diào)用的收費還是比較高昂的。
從應(yīng)用場景來看,云端API受到網(wǎng)絡(luò)條件制約。對于追求低時延,穩(wěn)定高效、用戶體驗的閘機門禁、刷臉考勤、人臉測溫通行等產(chǎn)品應(yīng)用中,也更推薦離線SDK。
因此綜合來看,虹軟視覺開放平臺的免費離線人臉SDK,是一個比較不錯的選擇。順便提一個細(xì)節(jié),筆者自己在嘗試用虹軟SDK搭建一個應(yīng)用時,遇到了關(guān)于"活體檢測和人臉特征值提取多線程調(diào)用"的小疑問。于是,通過工單系統(tǒng)提交了技術(shù)支持需求,不到1天時間就得到了相關(guān)技術(shù)人員的1對1輔導(dǎo),畢竟是科創(chuàng)板上市企業(yè)。
所以也推薦大家可以去他們的官網(wǎng)下載體驗一下。

請輸入評論內(nèi)容...
請輸入評論/評論長度6~500個字
最新活動更多
推薦專題
- 1 UALink規(guī)范發(fā)布:挑戰(zhàn)英偉達(dá)AI統(tǒng)治的開始
- 2 北電數(shù)智主辦酒仙橋論壇,探索AI產(chǎn)業(yè)發(fā)展新路徑
- 3 “AI寒武紀(jì)”爆發(fā)至今,五類新物種登上歷史舞臺
- 4 降薪、加班、裁員三重暴擊,“AI四小龍”已折戟兩家
- 5 國產(chǎn)智駕迎戰(zhàn)特斯拉FSD,AI含量差幾何?
- 6 光計算迎來商業(yè)化突破,但落地仍需時間
- 7 東陽光:2024年扭虧、一季度凈利大增,液冷疊加具身智能打開成長空間
- 8 地平線自動駕駛方案解讀
- 9 封殺AI“照騙”,“淘寶們”終于不忍了?
- 10 優(yōu)必選:營收大增主靠小件,虧損繼續(xù)又逢關(guān)稅,能否乘機器人東風(fēng)翻身?