人臉識別哪家強?四種API對比

人臉識別哪家強?四種API對比

來自專欄論智9 人贊了文章

來源:LIIP

編譯:Bing

編者按:有關人臉識別的項目我們已經介紹了很多了,那麼哪種人臉識別的API最好?本文將對比四種API,分別是亞馬遜Rekognition、谷歌Cloud Vision API、IBM Watson Visual Recognition以及微軟的Face API,從成功率、價格和速度三方面分析上述四種軟體服務商的產品。

人臉識別究竟如何工作?

深入分析之前,首先讓我們探究一下人臉識別的工作原理。

Viola-Jones的人臉識別

2001年,Paul Viola和Michael Jone開始了計算機視覺的革命,當時的人臉識別技術並不成熟,識別準確度較低,速度也很慢。直到提出了Viola-Jones人臉識別框架後,不僅成功率大大提高,而且還能實施進行人臉識別。

自從上世紀90年代開展了各項人臉識別、目標識別挑戰賽,這類技術得到了迅猛發展。

深度卷積神經網路

2010年,ImageNet視覺識別挑戰賽開始舉辦,前兩年,大部分參賽隊伍都用Fisher Vectors和支持向量機的結合。但2012年,一切都變了。

多倫多大學的團隊(Alex Krizhevsky、Ilya Sutskever和Geoffrey Hinton)第一次在目標物體識別任務上使用了深度卷積神經網路,並拿到冠軍。他們使用的方法錯誤率為15.4%,而第二名的錯誤率為26.2%。到了2013年,前5名的隊伍全部都開始用深度卷積神經網路。

所以,神經網路到底怎麼工作的呢?下面的視頻會給你答案:

人臉識別哪家強?四種API對比?

mp.weixin.qq.com圖標

亞馬遜、谷歌、IBM、微軟現在在用什麼?

目前為止,各大公司仍然使用深度卷積神經網路或者結合其他深度學習技術進行人臉識別。

  • 亞馬遜:aws.amazon.com/cn/rekognition/faqs/
  • 谷歌:www.youtube.com/watch?v=OcycT1Jwsns&feature=youtu.be&t=2m41s
  • IBM:www.ibm.com/cloud/watson-visual-recognition
  • 微軟:docs.microsoft.com/en-us/azure/cognitive-services/face/overview

這四種工具看起來都差不多,但是結果還有些許不同。首先我們從價格看起。

價格

亞馬遜、谷歌和微軟三家的價格模式類似,都是用量越多收費越少。但是IBM不同,當你的免費額度用完後,每個API介面的價錢都是一樣的。四種工具中,微軟的免費額度是最高的,每月可處理30000張圖片。

價格對比

現有以下三種情況:

  • A:小型創業公司每月處理1000張圖片
  • B:數字生產商每月處理10萬張圖片
  • C:數據中心每月處理1000萬張圖片

動手試試

本文所用代碼可在我的GitHub中找到:github.com/dpacassi/face-detection

建立圖像數據集

要做人臉識別,首先就要建立數據集。本文所用到的圖像是從pexels網站上下載的,你可以直接到我的GitHub中下載。

編寫基礎測試框架

說是「框架」,實際上我的自定義代碼只有兩種類別。然而,這兩種類別很容易地就幫我分析了原始圖像數據,在不同的任務上也只需要少量代碼。

FaceDetectionClient中記錄了圖片存儲的信息、四種工具的細節以及所有處理過的圖像。

比較四種SDK

以下是四種工具支持的語言:

inter-rater 可信度

在讓計算機進行人臉識別之前,我先記錄下了自己所觀察到的圖片中人臉數量。同時,我還找了三位同時對圖片進行識別。

什麼是人臉?

我在進行手動標記時,只要露出四分之一臉就算一個人臉,而我的同事們有的會把不明顯的也算作人臉,或者看到眼睛、鼻子就算一張臉。所以每個人的判斷標準不同。

對這張圖,我們四人有不同的結論,分別是10張、13張、16張和16張人臉。所以我打算取平均值,14。

比較結果

圖中可以看出,微軟智能達到17.55%的人臉檢測率,為什麼成功率如此低?首先,圖片數據集中的確有一些故意刁難識別器的圖像,另外要知道,機器的能力比人類還差得遠,想提高人臉識別的效率,還有很大的進步空間。

雖然亞馬遜的工具能檢測出最多的人臉,但是谷歌和微軟的處理時間明顯更快。

另外,在人臉相對較小的圖片中,同樣還是亞馬遜表現得更好:

在這張圖片中,亞馬遜檢測出了10個人臉,而谷歌為4,IBM和微軟都是0。

不同角度和不完整人臉

看了上面的例子,可能會覺得IBM不中用。IBM的作用在普通圖片上一般般,但是在難度更大的圖片上,IBM的能力就很大了。尤其是在不常見的角度進行人臉識別或者殘缺人臉識別。例如:

邊界框

沒錯,各家的邊界框也有差別。亞馬遜、IBM和微軟都會返回只含有人臉的邊界框。而谷歌不光會圈起來人臉,會連帶整個頭部一起選中。

谷歌

微軟

看出差別了嗎?

誤報率

雖然我的數據集很小(只有33張照片),但是有兩張圖沒有模型識別出人臉。

亞馬遜和谷歌都只識別出了上圖中紋身中的頭像,而微軟識別失敗。只有IBM正確識別到了前面吉他手的人臉。恭喜IBM!

這張照片,谷歌在同一區域檢測出了兩張人臉。莫非看到了人眼看不到的東西?(細思極恐)

結語

雖然每種工具都有自己的有缺點,但總的來說,亞馬遜、谷歌和IBM還不錯,微軟就很一般了,它的分數最低。

微軟竟然沒檢測出其中的人臉


推薦閱讀:

多人臉對比SDK介紹
具備紅外活體的農行「刷臉取款」,通過人臉識別技術,只要簡單幾步就可以無卡取現
阿里安全X實驗室最新黑科技:「人臉識別」3.0版可毫秒識破假人臉
除了結構光,人臉識別還有哪些方案?

TAG:API | 人臉識別 | 計算機視覺 |