作者:許哲豪(Jack)
很高興此次受到研華科技(Advantech)邀約協助測試最新「AI人臉辨識運算智能系統」,這是一款性價比不錯且高度整合的硬體組合,搭配和人臉辨識大廠訊連科技(CyberLink)共同合作開發的工業APP「FaceView」及Intel VPU加開源AI推論工具包OpenVINO (Open Visual Inferencing and Neural Network Optimization Toolkit),開機即可使用,不用自己安裝一堆套件及複雜學習便可輕鬆建立VIP及黑名單客戶,在門禁系統、會員管理等應用相當方便。
對於有能力進行程式開發的客戶,亦提供相關的軟體開發套件(SDK)以利更複雜的應用。以下就簡單從「人臉辨識基準」、「系統環境及應用場景」、「操作介面及步驟」、「二次開發環境」、「測試結果」等方面來幫大家介紹一下。
人臉辨識基準
「人臉辨識」大概是做人工智慧應用最容易入門也最難做到完美的一種應用,就像蛋炒飯看似簡單,只要一個動作沒作好,調味料份量不精確,就無法吃到一份完美的蛋炒飯。同樣地,人臉辨識也是如此,大家都會作,也都說自己很厲害,但誰說了算,一直都是各說各話,直到美國國家標準暨技術研究院(NIST)推出「臉部辨識技術基準測試 (Face Recognition Vendor Test, FRVT)」[1]才有了較公正的第三方認證機制,吸引全世界頂尖團隊提交算法,猶如華山論劍,各憑本事。這項測試自2017年2月後隨時可提交,持續進行,NIST每隔一段時間會整理出一份報告,讓大家知道各家在不同測試項目上的排名。
為了保持測試的公正性,FRVT的測試資料集是不公開的,但有給出一些測試集照片的定義[2],如兒童剝削照片(Child exploitation images)、簽證照片(VISA images)、一般應用(Application images)、嫌疑人照片(Mugshot Images)、過境照片(Border crossing images)及實境照 (Wild images)等。如Fig. 1所示,前兩項是在較受控的環境下拍攝而得,具有高清晰度、尺寸固定及穩定光照等條件,而後兩項影像品質則較差,可能有模糊、尺寸過小、非正面、光照、部份遮蔽及背景複雜等問題,而後者更接近實際應用情境。
目前FRVT提供四種測試,單張對單張辨識(1:1)、單張於資料集中辨識及檢索(1:N)、影像變形(偽造)(Morph)及質量評估(Quality)等四大類[1],一般人臉辨識應用,前兩項就足夠應付,而1:N可視為1:1的延伸,主要用於像門禁、會員系統,快速查找及辨識是否為特定人員。
以1:1舉例,其主要辨識能力以誤識率(False Match Rate, FMR或可稱False Acceptance Rate, FAR)及拒識率(False Non-Match Rate, FNMR或可稱False Rejection Rate, FRR)這兩項指標,其計算公式如下所示。
拒識率(FNMR) = 應判True但為False的數量 / 所有True的數量
誤識率(FMR) = 應判False但為True的數量 / 所有False的數量
用更通俗一點的說法,誤識率就是把不該出現的人認成合法人員的機率,而拒識率則為合法人員被當成不合法人員。前者誤判會導致嚴重損失(如以人臉辨識的提款機盗領等),而後者只是造成使用不便,多辨識兩次通常就能解決,所以最理想的情況是誤識率及拒識率都要接近零。
另外單從統計角度來看誤識率(FMR)及拒識率(FNMR)可能還不夠清楚,因為這兩組數字會有連動關係,若想了解在不同誤識率下的辨識能力,通常會以一組曲線來表示。如Fig. 2所示,橫軸為誤識率,最右側為誤識率1.0(即100%誤判),越往左誤識率越低,即要求越嚴格;縱軸為拒識率,最下方為無拒識0.0(即100%判對),越上方拒識率越高,即辨識能力越差。
為方便呈現其主要變化區域,Fig. 2圖示中兩軸皆以對數表示。所以從Fig. 2中可看出,當誤識率要求越低,其拒識率會隨之提高,反之當不要求誤識率時,拒識率也隨之變低,系統變得沒有辨識能力。
系統環境及應用場景
本次測試「AI人臉辨識運算智能系統」的硬體主要是使用研華Ei-A100 [3] (亦適用於同級產品AIR-100),如Fig. 3所示,內建Microsoft Windows 10企業版2019 LTSC,人臉辨識主要運算是靠Intel Atom E3950 CPU,搭配Intel Movidius Myriad X VPU MA2485 x1完成。
而人臉辨識軟體是使用和CyberLink共同合作開發的工業APP「FaceView」[4],它可利用人臉進行性別、年齡、表情、身份辨識。其核心引擎是訊連的FaceMe,它支援多種硬體加速平台,在這裡主要利用Intel開源AI推論工具包OpenVINO,可支援CPU(AVX指令集)及VPU加速運算。
另外影像輸入裝置可使用USB 2.0/3.0介面的網路攝影機(Webcam),原則上大部份的720P及1080P的攝影機都可以使用。
目前人臉辨識運算智能系統加上FaceView可廣範應用於各種場景[5],包括智慧建築的零接觸電梯或安全門禁系統、智慧零售的標的性廣告播放或客群管理、智慧製造的設備安全或門禁系統、智慧交通的票務系統或公共安全及更多場景,如Fig. 4所示。
操作介面及步驟
開機後點選FaceView即可啟動人臉辨識系統,操作畫面如Fig. 5所示,主頁面中間上方主要有兩個分頁,訪客辨識[Visitor Identification]及訪客管理[Visitor Management],程式啟動後會自動進到訪客辨識頁面開始辨識。而右側會顯示目前訪客清單,包括數量、最後出現時間(Last Time)、合計停留時間(Dwell Time)。
進入訪客管理[Visitor Management]頁面,如Fig. 6 所示,可按右上角 [Create Visitor]新增訪客資料,建立訪客的照片可直接讀取檔案(大頭照、一般生活照)或者直接利用網路攝影機取像,接著輸入訪客的姓名及客戶分群(VIP或黑名單)即可完成設定。若訪客清單較長亦有提供快速查詢功能。
建立好訪客清單後就可回到訪客辨識頁面開始辨識,辨識時除了會列出是屬於重要客戶(VIP)、黑名單客戶(Blacklist)及無法辨識客戶(Unrecognized)外,在臉部圖框下方還會出現性別、年齡及表情等資訊,如Fig. 5所示。另可根據此內容作進階應用,更完整的操作內容可參考官方提供的手冊[6] [7]。
另外右上角有一個齒輪圖案,點擊後可設定進階參數,如Fig. 7所示,包括基本資料、攝影機參數(名稱、解析度、取樣速度、水平翻轉)、AI執行參數(AI模型、誤識率、最小人臉尺寸、VEGA(VPU)加速器致能、執行緒數量)及系統語言(目前只有英文)。
二次開發環境
目前FaceView提供了相當便捷的使用方式,如果想作進一步的二次開發,系統亦有內建相關軟體開發套件(SDK),分別存放在:
C:\Program Files (x86)\Advantech\FaceView SDK
這裡有提供一個簡單的FaceView Utility範例,包括Microsoft Visual Studio專案檔及相關C++原始程式碼。執行後畫面如Fig. 8所示,包括基本參數設定、單張影像和攝影機比對、二張影像比對及影像品質分析功能。更完整的內容說明可參考官方提供的文件[7]。
目前EI-A100自帶Intel OpenVINO相關工具套件包(簡化版)及已優化過的多種人臉辨識模型及參數檔(BIN & XML),若想整合更多OpenVINO提供的模型及充份使用機器上的VPU,則機器中亦有事先安裝好Edge AI Suite,存放在:
C:\Program Files (x86)\Advantech\Edge Ai Suite
而OpenVINO完整套件包就放在此一路徑下。更多OpenVINO用法可參考[8],這裡就不多作介紹了。
測試結果
從上述介紹中可得知FaceView主要是使用CyberLink的FaceMe人臉辨識引擎。根據NIST FRVT最新公佈測試結果[1],如Fig. 9所示,扣除中國、俄國等人臉辨識大廠,CyberLink的算法排名在全世界算是名列前茅的,且為台灣之冠。在1:1大部份的辨識上都能有99%以上正確率((1.0-FNMR)*100%),而在實境照(Wild)中亦能接近97%正確率。
接下來從幾個方式來測試一下FaceView的反應及效能。所有實驗使用Logitech C310 720P網路攝影機進行測試。另外在訪客辨識頁面中,從鍵盤輸入「show」四個字母即可將系統資源使用情況以文字方式出現在畫面左上角,再輸入一次「show」即可關閉文字。
使用大頭照測試
使用解析度較高,影像品質較佳的大頭照(JPG圖檔)作為建立訪客管理清單的資料,再進行測試。測試時試著改變頭部佔比大小(頭部離攝影機距離)、頭部傾斜、側轉及遮蔽等項目看是否能穩定檢出。
測試條件:FPS : 10, AI Model : VH, FAR : 1E-4, VEGA : Enable。
測試結果:如Fig. 10所示,尚可接受,人臉幾乎都可被檢出,但對於影像變化較大的情況,如遮蔽、光照、頭部傾斜、側轉時人臉雖可被檢出,但身份辨識部份則會較無法穩定被認出。
使用實際取像測試
用網路攝影機直接拍攝實際人臉作為建立訪客管理清單的資料,再執行和上一個實驗一樣的內容。
測試條件:FPS : 10, AI Model : VH, FAR : 1E-4, VEGA : Enable。
測試結果:如Fig. 11所示,比前一項結果好,對於影像變化比較大的情況,被身份辨識成功機率較前項實驗高,甚至戴上口罩或用手遮擋部份臉,在大部份情況都能被正確辨識身份。當戴上帽子測試時,若光線不是遮擋太嚴重時,還是可以被檢出。
運作效能測試一 (CPU vs. VPU)
點擊右上齒輪圖案,變更運算加速器「Advantech VEGA Series Accelerator」選項,當設成「Enable」時則表示開啟VPU計算,設成「Disable」時表示不使用VPU只使用CPU,切換後須關閉程式再重新啟動才能作用。
主要測試條件:FPS : 10, AI Model : VH, FAR : 1E-4, VEGA : Enable或Disable。
測試結果:如Fig. 12所示,當開啟VPU時,CPU及RAM使用率明顯下降許多,且辨識速度提升許多。(註:CPU, RAM, Recognized FPS為浮動值,Captured FPS為固定值)
運作效能測試二 (FAR @ 1E-2, 1E-4, 1E-6)
點擊右上齒輪圖案,變更誤識率「False Accept Rate(FAR)」選項,這個選項會影響拒識率及運算量,切換後須關閉程式再重新啟動才能作用。
主要測試條件:FPS : 10, AI Model : VH, VEGA : Enable, FAR : 1E-2, 1E-4, 1E-6。
測試結果:如Fig. 13所示,在誤識率設定越小的情況下,CPU使用量會增加許多且辨識速度也會下降。此時雖然人臉位置還是可以被偵測到,但身份被辨識出來的機率也隨之下降。(註:CPU, RAM, Recognized FPS為浮動值,Captured FPS為固定值)
運作效能測試三 (AI Model @ VH, UH, H1)
為因應不同等級機器,FaceView提供三種AI模型VH, UH, H1可切換,可依精度及速度切換成不同模型,包括超高精準模型(Ultra High Precision, UH),較高精準模型(Very High Precision, VH)及高精準模型(High Precision Model, H1),UH有較高精度但速度較慢,H1速度較快而精度較差,VH則兼顧精度及速度。切換AI模型需點擊左上齒輪圖案,變更AI模型「AI Model」選項,這個選項會影響拒識率及運算量,切換後須關閉程式再重新啟動才能作用。
主要測試條件:FPS : 10, FAR : 1E-4, VEGA : Enable, AI Model : VH, UH, H1。
測試結果:如Fig. 14所示,明顯可看出不同AI模型造成CPU和RAM使需量及辨識速度上的差異,因此一般建議設在VH即可得到較理想的辨識效能。(註:CPU, RAM, Recognized FPS為浮動值,Captured FPS為固定值)
由於這裡沒有辦法大量驗證模型精度,僅能就CPU+VPU執行效能來測試。另外補上一張訊連官方提出的FaceMe(研華FaceView人臉辨識引擎)測試數據供大家參考,如Fig. 15所示。
註:FAR (False Acceptance Rate)等於NIST FRVT的誤識率FMR(False Match Rate),TAR (True Acceptance Rate)為在指定誤識率下的正確接受率,相當於 (1 – 拒識率FNMR) * 100%。
除了以上測試外,變更攝影機取樣速度(10 / 15 / 30 FPS),也會讓CPU、RAM使用率爆增,但實際可執行的速度仍受限於硬體、選定的AI模型、誤識率設定等,不是設多少FPS就一定能達到指定的取樣速度。
經過幾項測試下來,發覺機身溫度明顯較沒有運作FaceView時高上許多,甚至有點燙手。不過由於這台機器是採無風扇設計,所以能快速將內部的熱帶到有大量散熱鰭片的機身表面,也算是一種保護機器穩定運作的方式。若仍嫌溫度過高或想令機器保持在更好的工作環境,則可考慮另外接風扇或提升空氣流動裝置。
小結
此次測試受限於場地及情境,無法大規模、多人數及更複雜的測試,但從單人及多種變化的條件下來測試,初步可得知研華科技「人臉辨識運算智能系統」搭配「工業APP FaceView」是非常容易上手的,而其穩定性及辨識率表現亦是相當不錯的。
在系統整合上,EI-A100提供包含VEGA-320 AI 加速卡、Intel-E3950 CPU、4G RAM、64G SSD、WIN 10 作業系統以及FaceVIew 臉部辨識軟體,具有高度整合性與可靠性,在AI運算時透過Intel VPU的加速也明顯得到較快的反應速度。未來若再加上二次開發,把串流影像人臉辨識及更多人臉辨識應用整合在一起,相信一定能在更多場域得到理想的實證。
參考文獻
[1] National Institute of Standards and Technology (NIST), Face Recognition Vendor Test (FRVT) Ongoing
[2] NIST FRVT 1:1 Latest Report (2020-10-09)
[3] Advantech, Ei-A100 4K Digital Signage Player with One Intel Movidius VPU for AI Facial Recognition
[4] Advantech, DeviceOn.FaceView datasheet
[5] Advantech AIoT Connect, 研華 x 訊連 “FaceView”線上發表會 (Youtube)
[6] Advantech, Quick start guide for FaceView
[7] Advantech, User manual for FaceView
[8] 許哲豪,歐尼克斯實境互動工作室系列發文整理「OpenVINO系列」
延伸閱讀
[A] Advantech AIoT Connect, [開箱影片] 邊緣智能解決方案Ei-A110 助力實踐AIoT
[B] Advantech AIoT Connect, 【線上實作坊】快速部署邊緣AI應用 完美演繹研華Edge AI Suite及Intel OpenVINO 工具包 (Youtube)
[C] Advantech, 邊緣運算落伍了! 3分鐘看懂Edge Intelligence邊緣智能(上集) (Youtube)
[D] Advantech, 看懂Edge Intelligence邊緣智能(下集) (Youtube)
[E] Advantech IoTMart, 邊緣產業應用解決方案(Ei-A, EI-S, Ei-U系列)線上採購
[F] Advantech IoTMart, 邊緣智能系統(AIR, EIS系列)線上採購
[G] Advantech, Industrial App. / FaceView 簡介
(責任編輯:林亮潔)
- 【Edge AI專欄 】 如何使用 Gradio 快速搭建人工智慧應用圖形化人機介面 - 2024/12/23
- 如何使用Intel AI PC及OpenVINO實現虛擬主播 - 2024/12/16
- 【Edge AI專欄】 邊緣端小語言模型崛起,開發板跟上了嗎? - 2024/11/26