分類
Information Security

人臉辨識 — NIST & FRVT

「臉部辨識技術基準測試」由美國國家標準暨技術研究院所設立,該計畫獲美國聯邦調查局及國防部等國安部門贊助及協辦,為全球規模最大且最具權威的臉部辨識演算法評比,結果亦受全球高度矚目及信賴,吸引美、日、中、俄、歐等全球臉部辨識頂尖團隊投入此測試。

研究一下什麼是『臉部辨識技術基準測試』

美國國家標準暨技術研究院,簡稱NIST(National Institute of Standards and Technology),其隸屬於美國商務部,前身為國家標準局,從事一些應用基礎研究及測量技術和測試方法等,提供標準參考數據及有關服務。國家標準技術研究所美国 国家标准技术研究所( National Institute of Standards and Technology,简写为 NIST)的前身为 国家标准局(NBS,1901年~1988年),是一家测量标准 实验室,属于 美国商务部…zh.wikipedia.org

執行人臉識別測試的單位階層如下

Information Technology Laboratory
>>Information Access Division
>>>>Image Group

Information Technology Laboratory,縮稱ITL,是NIST七個研究實驗室之一,涵蓋計算機科學,數學,統計學和系統工程等領域。根據網路的文章,ITL實驗室有將近500名研究人員,年預算額近1.5億美元。

ITL底下再細分為七個研究部門

  1. 計算機安全部(Computer Security Divsion, CSD)
  2. 先進網絡技術部(Advanced Network Technologies Division)
  3. 應用和計算數學部( Applied and Computational Mathematics Division)
  4. 應用資安部(Applied Cyber​​security Division)
  5. 資訊擷取部( Information Access Division)
    底下再分為 圖像組(Image Group)、多模式信息組(Multimodal Information Group)、檢索組(Retrieval Group)、可視化和可用性組(Visualization and Usability Group)
  6. 軟體與系統部( Software and Systems Division)
  7. 統計工程部(Statistical Engineering Division)

Image Group內的工作主要是針對生物資訊的識別技術做研究,使這些技術所蒐集的數據在各機構之間共享,並且提升整體之生物識別技術準確程度。

包含指紋、虹膜、臉部、紋身等,並各自在再細分為若干個project,而FRVT便是臉部項目之下的一項研究計畫。

Face Recognition Vendor Test (FRVT),其主要目的是測試人臉識別算法水準,由於是相對獨立的第三方測試,受商業因素影響較小,因此相對比較公平公正,是目前全球最具權威臉部辨識演算法評比之一。Face Recognition Vendor Test (FRVT) OngoingFRVT is an ongoing activity, and all evaluations run continuously with no submission deadlines. For the FRVT 1:1, 1:N…www.nist.gov

可以看出在目前FRVT底下還有四個測驗集正在執行,分別為 1:1、1:N、MORPH 及 Quality,如下圖,可以從上方連結進入之後,再找到各別測驗集可以看到更詳細的說明、及最新的報告。

先來看一下主項目的說明

FRVT Summary

FRVT is an ongoing activity, and all evaluations run continuously with no submission deadlines. For the FRVT 1:1, 1:N, and Quality tracks, participants may send ONE submission as often as every four calendar months from the last submission for evaluation. For FRVT MORPH, the number and schedule of submissions is currently not limited, so participants can send submissions at any time. Algorithm submissions will be processed on a first-come first-serve basis for inclusion in subsequent reports.

這邊講的是FRVT的接受測試方式,最一開始,FRVT測評在之前一共舉辦過五次(FRVT 2000, FRVT 2002,FRVT 2006, FRVT 2010, FRVT 2013)。

而從2017 年2 月份開始,NIST 開始組織新的人臉識別測評,不同於以往的測評,這次測評沒有截止日期,參加測評者可以根據自身進度提交算法,每隔一段時間出一次報告。

FRVT 1:1的頁面並沒有完整的說明怎樣叫1:1測試,主要也是因為概念很簡單,就是把一張照片裡有一個人頭,去對比另一張也有一個人頭的照片,看看這兩個人是不是同一個人。

主要用來比賽的精準度,真正的算法有點數學,有些難理解。但概念上,有在我們上一篇提過。人臉辨識 — 基本流程/測試標準因工作關係投入研究人臉辨識 此篇主要為網路資料整理 若有問題或指教歡迎留言或來信medium.com

誤識率(FAR)=(本應FALSE的判錯 / 所有FALSE )

拒識率(FRR)=(本應TRUE的判錯 / 所有TRUE )

再白話一點 FAR 就是兩個不同的人不小心判成同一個人。FRR就是兩個同一個人不小心判成不同人。

然後在FRVT裡,主要會用FMR及FNMR作為名詞

FAR, False Acceptance Rate = FMR, False Match Rate
FRR, False Rejection Rate = FNMR, False Non-Match Rate

FNMR和FMR代價往往不太一樣,誤識會是一個很嚴重的事故(可以假裝別人,取款、辦帳戶),相比之下,拒識結果相對可以接受(只是辨不出來,造成不便)。

所以如果只統計識別率,並不能完整的解釋臉辨系統的性能。通常的作法是,調節算法閾值,得到不同FNMR和FMR,然後畫出拒識和誤識相關曲線(即ROC曲線),NIST就是應用ROC來計算及比較算法的性能

至於ROC怎麼算,就交給工程師吧,一般產品應用單位只要分的出來FNMR跟FMR就很好了ROC和CMC曲线的理解(FAR, FRR的理解)ROC曲线 ROC曲线 意为受试者工作特征曲线 (receiver operating characteristic curve,简称ROC曲线)。曲线上没一个点反映着对同一信号刺激的感受性。 横轴:负正类率(false postive…zhuanlan.zhihu.com

下一步,就是測驗用的資料集

FRVT資料集是完全不公開的,沒錯,完全不公開,不管是測試、或實際用來做測驗的都沒有,只有簡略的幾段話描述。
如下圖舉Visa照的例子。

從文字中可以想像一下,你所使用的測試集大概會有哪些照片、解析度的範圍、人種、國家、年齡等等

FRVT測試不限定資料集,也會包含歐美人種,想收集覆蓋這麼多國家的人臉數據已經是非常困難了,其次,就算收集到一些數據,跟FRVT所要求的多種場景也會有差別

最新的版本主要分為五種類型的資料集

  • 簽證照片(Visa)。簽證照片是非常清晰、正面、無遮擋的一種受控測試場景,成像質量很高,且覆蓋了多達上百個國家的人臉數據。
  • 嫌疑人照片(Mugshot)。嫌疑人照片也是比較高清的,跟簽證照片相比,嫌疑人兩張照片間的年齡跨度一般會更大,有很多都超過了十年的年齡間隔。
  • 自然場景照片(Wild)。自然場景的照片是在非限制場景下採集的,各種光照,角度,遮擋,模糊,低分辨率的情況都可能會出現。
  • 兒童照片( Child exploitation)。兒童照片也是在非限制場景下採集的,因為年齡分佈跟大家的訓練集可能差別比較大,所以也是非常難的一個任務。
  • 網路攝影機(Webcam)。使用一般網路攝影機所拍攝的照片,容易有過曝、或光線不足的情況,不過由於架設角度固定,所以照片對人臉的角度,會比Wild來的受控。

然後可以看到這個測試,其實更新資料集的頻率滿高的,可以看到2019年2月的時候更換了mugshot database、2019年7月再新增Visa-Border資料集。

資料集的更新、新增、汰換不適用,會讓整體的測驗更有挑戰性,也展示NIST對於此驗證的嚴謹與重視,畢竟資料集的搜集十分耗費成本,同時也需要許多特殊管道(譬如犯罪資料庫、人權組織…等等)。

下一步,就是測試方法

在FRVT的測試中,NIST要求每個廠商或者研究機構都要提供完整的算法代碼,並且由NIST在同一個平台上來運行所有提交,得到最終各個測試集上的結果。

對於算法的運行時間也有著很嚴格的限制,所有提交都只能使用不超過CPU單線程1秒的計算資源來處理一張圖片從人臉檢測、人臉對齊到人臉特徵提取和識別的所有功能。

另外順帶一提的是CPU這件事情,原先的FRVT的測試中,是允許GPU的使用,直到2019年2月之後,NIST不再開放GPU使用,只能做CPU使用。我不太確定這個的主要原因是什麼,雖然可以讓測試環境更加單純,可以更佳的評比出演算法本身的優勢,不過GPU作為新一代AI應用的重要武器,使得FRVT本身會排除掉一些以GPU為主攻的演算法。

下一步,就是測試結果

順便來看一下 11/19的結果

解讀一下這個表,最左邊第一欄就是序號、第二欄就是演算法的名稱,其實大多都可以看得出來廠商名稱,譬如第一個3divi,就是俄羅斯的臉辨公司。然後第30、31 是ctbcbank 中國信託,第34、35是cyberlink 訊連,都是台灣的公司,看得出來訊連還是略勝一籌,不過兩個都是台灣的廠商,加油!

從第三欄開始都是FNMR,也就是配對失敗率(沒把李四認出是李四)。觀察FNMR的前提是,必須要先固定FMR(誤認率,把張三誤當成李四),因為兩者會互相影響,如下圖。

FNMR is the proportion of mated comparisons below a threshold set to achieve the FMR given in the header on the fourth row

而固定的FMR都列出於第四列,NIST也很貼心的在FNMR值的旁邊放上排名值,黃底的就是表現最好的第一名(FNMR最低)。

至於沒有出現的值是怎麼回事

Missing entries for visa, mugshot and wild images generally mean the algorithm did not run to completion. For child exploitation, missing entries arise because NIST executes those runs only infrequently

除了child exploitation之外,多代表這個演算法可能有問題,或是針對該類資料集表現太差,導致無法完成。

最後,來談一下殘酷的排名

在FRVT 1:1的頁面上,可以看到有排名(下圖是2019/11/19的報告結果)

The algorithms are ordered in terms of lowest mean rank across mugshot, visa, visa border, and wild datasets, rewarding broad accuracy over a good result on one particular dataset.

這個排行將mugshot, visa, visa border, and wild等資料集的測驗結果排名平均,也就是說,你不一定要每一項都是最好的,你只要整體平均好就好。

但事實上,實際情形的臉辨環境會比較偏向mugshot跟wild,所以如果某算法在Visa數據集上表現不錯,但是其在Mugshot和Wild數據集性能一般,代表針對受控環境下人臉識別性能較好,而無約束環境下人臉識別性能相對不足,也就是說在實際開放環境應用時,此算法會比較吃虧。

不過如何,整體排名還是可以代表一些意義。前三名分別為,visionlabs(俄羅斯)、deepglint(中國)、Ever AI(美國)。

再來是1:N,因為看過1:1,1:N的一些術語就比較容易理解。

The evaluation used four datasets — frontal mugshots, profile views, webcam photos and wild images — and the report lists accuracy results alongside developer names

mugshot、profile、webcam、wild是主要的四個資料集

The primary dataset is comprised of 26.6 million reasonably wellcontrolled live portrait photos of 12.3 million individuals.

資料集的數量大概有2.6千萬張照片、1.2千萬個人

From Fall 2019 this report will be updated continuously as new algorithms are submitted to FRVT, and run on new datasets. Participation in the one-to-many identification track requires a devloper to first demonstrate high accuracy in the one-to-one verification track of FRVT.

從2019年秋季開始,也跟1:1一樣變成提交測驗沒有截止日期,參加測評者可以根據自身進度提交算法,每隔一段時間出一次報告。

不過特別的是,要做1:N,就得先證明你的1:1實力。
下列兩個條件,必須符合其一,才可以提交1:N測驗。

  • VisaMC dataset: FNMR of 0.025 or less at FMR=0.0001
  • Mugshot dataset: FNMR of 0.025 or less at FMR=0.00001

接著來看1:N的測驗指標

在1:1的部分,我們會拿兩個人頭照片來比,由系統先判定True or False,再來看答案確認這兩個是不是應該屬於同一個人,所以其實就是對或錯。

但是在1:N時,會有幾個情境,譬如健身房的會員資料庫,當一個會員走進來的時候,演算法必須從庫裡面,找到屬於這個會員的資料,或是辨識出他不屬於此庫內的任何一人。另外一個情境,就是犯罪照片裡面有很多人,要從其中辨識出哪一個是我要找的罪犯。

就像上圖的流程這般,會找出這個1:N的辨識效能

  • 錯誤拒絕辨識率(FNIR),註冊使用者被錯誤辯識為其他註冊使用者比例
    False Negative Identification Error Rate
  • 錯誤接受辯識率(FPIR),非註冊使用者被辨識為某個註冊使用者比例
    False Positive Identification Error Rate

由於此兩個辨識率是互相關聯的,所以演算法的優劣,是將FPIR固定在一定閾值時,由FNIR的高低來判斷的。

在四個資料集內,有幾百萬張圖,這些圖內有些是同一個人,並且根據其拍攝日期接近做排序,使得測驗上還可以分為三種類型

第一種,我只挑時間上最相近(Most Recent)的,所以同一個人的只會有一張,我只是辨識出是哪一個就好。

第二種,同一個人會好幾張照片(Lifetime Consolidated),有時候資訊更多是件好事,但有時候不是,反而會干擾特徵值,對於演算法來說是一個挑戰。

第三種,所有的照片都混在一起,你不知道哪些是同一個人,這更難。

下一步,看結果,由於算法更複雜、資料集分類方式也多,所以測驗結果的總表會有很多張,我們挑某一張來看看就好。

FNIR at FPIR = 0.001 for five enrollment population sizes, N

表格裡的數字,主要就是FNIR,並指定FPIR為0.001。藍色小數字是排序,誤辨率約低越好,可以看到有水準的演算法,誤辨率都小於0.1%,代表整體的正確率達到98%以上。

2019/9/11發布的最新1:N報告中,其實好的名次都集中在三間廠商身上,包含微軟(美國)、優圖(中國)跟NEC(日本)。此外,商湯、Visionlabs、Ever AI、IDEMIA,也都是表現相當不錯的廠商。

結論

  1. FRVT並不代表動態影像的識別效能

無論是1:1或1:N,基本上都以靜態的影像做測驗,當然1:N會比較偏向真實情境的人臉辨識設置,因為攝影機內可能一次抓到多個人頭,再去找到、並識別出是否為會員、是否為員工等目標。Face in Video Evaluation (FIVE)The Face in Video Evaluation (FIVE) is being conducted to assess the capability of face recognition algorithms to…www.nist.gov

NIST也有做過Face in Video的測驗,不過沒有持續更新,最新的報告停留在2017年。且當時這個FIVE測驗也不屬於FRVT,當然後續可能會加入FRVT的一個新系列,或是與1:1、1:N測驗合併。

所以目前較新的FRVT(還有持續在更新、接受測驗),包含1:1及1:N,都沒有根據動態影像來做判別,動態影像的關鍵在於每秒多個frame的識別,每張frame雖然都可以被視為一張靜態影像,不過由於frame之間的時間很短,所以演算法除了識別之外,還要針對每張frame進行追蹤,提供識別的效果更好(因為人行進中會有多個角度出現),使得演算法對於角度的識別、跨frame的資訊溝通、系統資源的運用,都必須要更精準、更有效率。

2. 資料庫會影響到地區適用性

NIST是美國的官方機構,所以外界多推測其資料庫在歐美人士臉孔的比例會比較高,這其實也對於以東方臉孔作為主要訓練集的廠商,可能會比較吃虧。不過殘酷的是,其實許多大廠比較有資源,可以找到更多的臉孔訓練集來訓練,這些都是需要投注大量成本。也可以從這個端倪看到,中國AI的市場熱錢很多,讓很多公司都投注資源在參加這些訓練,來展示實力。

3. 測驗環境與真實環境的差異

NIST不再開放GPU使用,只能做CPU使用,而且CPU只用單線程。這樣做可以讓測試環境更加單純,可以更佳的評比出演算法本身的優勢。另外,辨識速度也不是FRVT的重要項目,只要在一定時間內識別出即可,代表FRVT強調的是精準度。

測試中最好與最差的演算法差距在1%左右,而真實環境中,這1%相對顯得不是這麼重要,而是系統的敏捷、穩定性,希望在動態辨識的環境中,可以維持迅速的辨識速度,及系統長期使用的穩定性,才是重要的目標。而GPU是AI應用的重要武器,再加上現在的CPU多線程運算能力越來越強大,所以有些大量識別資料庫的需求,及識別時間上的縮短要求,都可以靠這些技術能力來克服。

不過有一點可以多注意,就是NVRT的資料集條件的多元性,以1:1為例,除了一班的VISA照,還有mugshot、wild等多樣的照片條件,而越極端的資料集,例如wild,更可以比較出演算法在嚴苛條件下,是否還能精準抓取人臉特徵值,無論是以何種方式來矯正,都更能代表真實環境下,常常會出現各式不同角度、明亮程度,這些演算法的適應性。

所以看懂這些報告之後,再看看本篇文章最上方的廠商新聞稿,就瞭解似乎有點誇大。不過作為台灣本土的演算法,在市場環境不明朗之下,要投入資源來參加世界級的比賽本身就很困難,所以整體的表現仍十分值得肯定。

另外,也再分享一個新聞Facial Recognition: The Ugly TruthThe UK is one of the most surveilled countries in the world, with closed-circuit televisions (CCTV) cameras everywhere…www.eetimes.com

eetimes記者Sally Ward-Foxton今年6月的報導指出人臉辨識的『ugly truth』。

英國警察在購物中心、運動場和街道等公共場所進行real-time人臉辨識技術的試驗。根據NEC的說法,其演算法可以容忍質量低下的圖像,例如壓縮的監視視頻,人臉兩眼之間距離只需24像素以上即可作於識別。

不過很可惜的,在某幾次測驗中,有96%被識別出是嫌疑犯的民眾,都是無辜被誤認的。這個代表幾種意義,第一種,嫌疑犯本身的圖像質量太差,第二種,系統的閥值太低,第三種,攝影機所獲取的影像質量太差,第四種,演算法本身不夠好(不過NEC已經是全球名列前茅的技術之一)。

接著,報導也指出人臉辨識大量部署之『道德性』、『合法性』

有許多研究都指出,人臉辨識在有色人種的辨識準確率較低,甚至也有指出女性的辨識準確率也不如男性高。所以技術發展本身可能就造成歧視。

接著,英國法律規定了警察收集指紋和DNA的條件,以及在採集數據後會發生什麼情況,但目前不涵蓋人臉識別圖像和數據。後續只能靠GDPR來做為輔助,不過角色不太一樣,GDPR指的是個人隱私資料,而非專注於生物識別資料的法律。

所以未經人們的同意,並且在他們不知情的情況下,透過街道上的攝影機獲取數據,不分青紅皂白地蒐集人臉圖像,還能定位人員並跟踪他們的動作。這件事本身,將會慢慢醞釀成大型的社會議題。

In the same way that we’ve seen the science of genetically modified foods get set back 10 years because the public in Europe wouldn’t support it, we need to find a path which gets social license to operate.

人臉辨識技術需要找到一條獲得社會許可的途徑,這個是Ada Lovelace Institute副主席Shah所發表的言論,他說目前最好的方式是先暫停這類技術的部署,直到完成整體評估、以及與社會各團體的討論。

資料來源:https://weilihmen.medium.com/%E4%BA%BA%E8%87%89%E8%BE%A8%E8%AD%98-nist-frvt-6d2f063fb159

作者: stevencho

從事資訊工作二十多年,對資安極具熱情,在 Network Security, Endpoint Security, 及 Mobile Security 等資安領域有超過十年以 上的經驗。曾任職精誠資訊資安產品代理部門技術經理,負責 資安產品之技術支援與大型企業導入專案。此外,他也取得了 ISO 27001 主導稽核員證書及 Check Point 的 CCSA 與 CCSE 等防 火牆產品的專業證照。