在本篇文章中,我們將與你分享如何在工作站中,以最佳化的方式發揮人臉辨識相關的應用和功能。

什麼是工作站?

工作站是一種高性能的電腦,其效能遠高於普通的個人電腦。常見於商業或其他專業用途。工作站較之個人電腦可提供更加的影像處理與多工運算能力。

從技術上來說,工作站是由各種硬體所組成,例如高端 x86 Intel CPU(Core i 或 Xeon)、AMD CPU 和 NVIDIA GPU。它們通常在 Linux 或 Windows 作業系統上執行。對執行人臉辨識來說,這樣的配置很適合在單一工作站中執行並管理多個即時視訊資料流。

人臉辨識工作站的使用案例

人臉辨識工作站的使用案例橫跨多種產業。通常使用情境是將擷取多張臉孔的多個視訊輸出進行即時分析,例如於場域中設置多組網路安控攝影機(IP Camera)的安控系統。此外,在某些情況下,工作站也需要同時執行其他應用程式。讓我們來看看幾個例子以及其運作方式。

保全和監控

保全維安是各種公私有建築物的主要考量。像發電廠、公共運輸場站、商業和辦公大樓、工廠、學校等環境中,個人的安全保障以及資產的保護更是至關重要。人臉辨識工作站便是執行這項任務的絕佳方案。它可以安裝在建築物的 IT 機房或電腦室中,在導入人臉辨識功能後,可以監控整個場所中數十到數百個監視器或智慧裝置的視訊輸出。

舉例來說,將智慧門鎖、監視攝影機和自助服務站連線到執行人臉辨識的工作站後,這些裝置也可以執行人臉偵測。這可大幅節省工作站實際執行人臉辨識所用的計算能力。

行動裝置及網頁應用程式

人臉辨識也可部署到雲端或資料中心的伺服器,為行動裝置或網頁應用程式提供服務。在這些使用案例中,有成千上萬的圖像或視訊透過一般使用者的裝置擷取後,傳回工作站以進行人臉辨識和驗證。

例如:銀行用戶使用行動網銀 App 來辦理業務。當用戶開啟應用程式時,系統會提示他們使用臉部資料作為登入ID。裝置會擷取臉部的向量特徵,將資料加密為一個小檔案後,傳送回伺服器進行人臉辨識和驗證,以確認用戶確實為帳戶持有人。確認後,用戶便可以使用應用程式來操作行動交易等業務需求。

另一個例子是使用網頁應用程式來租借車子、腳踏車或摩托車的服務。想要租車的使用者在相關網頁選取需要的服務後,不需再手動輸入駕駛人駕照這類的資訊,網路攝影機會擷取、加密和傳送即時的臉部向量資料回伺服器,驗證使用者是否為註冊會員並核對其駕照的詳細資料。確認後,使用者便能完成預定。整個過程僅需幾秒就可以完成。

常見的人臉辨識工作站架構

常見的工作站架構有兩種:內部部署或雲端部署。下面我們將詳細說明兩種情況下各自需要考慮的因素。

內部部署

用於建築物保全和監控的工作站最適合採用這種架構,透過網路(內部網路)可直接將各個裝置連線到工作站。在這樣的環境中,整棟大樓、工廠或校園可能會有多達數萬個執行人臉辨識的攝影機,且會將資料全部傳送回工作站。使用內部網路可以確保資料的安全性,不但可以控管所有圖像和視訊資料,還能讓資料受到組織防火牆的保護。

除了安全因素外,內部網路也為工作站的效能提供了合適的條件。許多監視攝影機都以 1080p 的視訊資料流運作,這將占掉約 2-8mbps 的頻寬。而高速的內部網路可以符合這樣高頻寬的需求。

在最佳化的設計下,內部部署的工作站可以解碼大量的即時資料。這是其中一個要考慮的關鍵因素。監視攝影機會將視訊資料流壓縮為 H.264(AVC)或 H.265(HEVC)以進行傳輸。然後 AI 視覺演算法會將壓縮的視訊解碼為原始的視訊緩衝。透過在工作站中加入 GPU,它們可以即時解碼這些資料。許多 GPU 可以同時解碼超過 40 路的視訊資料流。尤其是 NVIDIA 的 GPU 可以加速 AI 演算法,除了解碼視訊緩衝外,還能提供出色的處理時間和計算能力。

雲端部署

除了內部部署的選擇外,工作站也可以安裝在雲端或是資料中心。不論是公用或私人雲端,或是兩者的混合架構皆適用。雲端安裝是由第三方業者維護,而內部部署是由自家業者負責。因此,雲端工作站對使用者來說相對輕鬆。業者也可以視需求輕鬆放大或縮小規模。然而,雲端部署須面對比內部部署還要高的安全風險。若企業選擇在資料中心租借空間,但安裝自己的伺服器或工作站,便可以有效地控管風險。但若同時選擇在共享的機器上租借虛擬的處理方案,會增加資料外洩的風險,因為資料會由第三方業者管理。

當使用案例中需要透過手機等裝置傳送圖像或視訊以進行人臉辨識時,雲端伺服器是最常見的選擇。

常見的人臉辨識工作站配置

兩種最常見的配置選擇為工作站或伺服器級別。下面我們將簡述兩種情況。

工作站級別的配置

工作站級別的配置適合大部分需要監控上萬個監視攝影機的內部部署。

工作站:Intel Core i、Xeon CPU 或 AMD 伺服器等級的 CPU 搭配 NVIDIA Quadro GPU

以下的配置適合為多路的監視攝影機視訊輸出執行人臉辨識和其他 AI 視覺演算法。美超微(Supermicro™)製作了符合這些常見配置的工作站。它們通常在單一架構中包含多達四個 GPU 以處理上百路視訊,尤其是使用 FaceMe® 這種已完全針對人臉辨識演算法最佳化的解決方案時,更能達到出色的表現。

為了達到最佳效能,我們建議使用 Quadro GPU 系列,例如 Quadro RTX 6000/8000,或是最新上市的 NVIDIA RTX A6000。若預算有限,那麼 Quadro RTX 5000 會是比較合適的解決方案。不過,它能處理的流量和視訊頻道會少於較高等級的型號。Quadro RTX 6000 和 Quadro RTX 8000 具有相似的人臉辨識效能。我們使用 FaceMe® VH 模型進行了測試,這兩款型號都能達到 340fps。Quadro RTX 5000 可支援 220fps。效能最高的 GPU 是 RTX A6000,其測試結果優於其他型號,可達到 410fps。

其它像是 GeForce 系列 GPU 的可用選項(例如 RTX 3090)雖然可以用較低的成本提供高效能,但它們不適合用在全年無休的使用情境,而且只有一年的保固期。基於這些原因,Quadro 系列提供了最佳的選擇。所有 Quadro 系列 GPU 的架構均經過精心設計。均搭載風扇且不需嚴格控管溫度/濕度。它們的靈活性高,幾乎可以部署於各種場所,包括智慧辦公室、工廠和商業大樓。

伺服器級別的配置

若想將工作站安裝在資料中心或雲端,並且要能夠應付數百甚至上百萬裝置的人臉辨識需求,那麼你需要伺服器級別的配置。

伺服器:CPU 和無風扇(被動式冷卻)GPU

因為伺服器級別的配置需裝載在資料中心和伺服器機房,因此需要嚴格控管溫度和濕度。GPU 通常會搭載排熱的風扇,以維持高效處理繁重的工作量。但是像 Tesla V100 或 T4 這種被動式冷卻的顯示卡不搭載任何風扇。取而代之的是散熱器。它們需要系統提供通過散熱器的良好氣流,以確保 GPU 在熱限度內運作。使用被動式冷卻的無風扇 GPU 最適合用在伺服器和資料中心的環境中。

我們建議使用威强電工業(iEi)HTB-200-C236 或研華科技(Advantech)MIC-770 系統。兩個系統的設計皆可提供良好的氣流,滿足 NVIDIA T4 的散熱器需求。溫度受到控管後,可在 GPU 充分運行時將其維持在熱限度內。如欲了解更多關於認證伺服器的細節,請參考NVIDIA 認證伺服器目錄

最適合執行人臉辨識的伺服器和 GPU 數量取決於尖峰時刻下每秒所需的傳輸量。另外也需考慮使用者數量,包括每天的有效使用者以及頻率。我們以 FaceMe® VH 模式進行了測試,發現在 GPU 溫度受到良好控制的情形下,T4 能夠支援 192fps 的人臉辨識。

為了節省伺服器的計算能力,我們建議將伺服器的部分工作量移到邊緣執行。例如,你可以邊緣執行人臉偵測,然後在伺服器上執行人臉辨識。這種分工可以釋放伺服器的處理能力,使其只處理有人臉的影像畫面。你也可以完全使用高端智慧型手機(例如使用 Snapdragon 處理器的 Android 手機)來邊緣執行人臉偵測、擷取臉部模板和防偽辨識。這樣伺服器只需處理來自中低端智慧型手機(例如舊版 iPhone)的臉部擷取需求。

整體來說,在考慮伺服器配置以及最合適的需求時,你應該選擇可同時支援伺服器和邊緣部署的人臉辨識演算法。

最佳化系統架構以發揮人臉辨識的最佳效能

正如我們在人臉辨識的原理及邊緣運算應用 2021 所提到的,要設計出能在高效能工作站或搭配 GPU(或 VPU)的個人電腦上執行的頂尖人臉辨識系統並不容易。系統中有數十個並行的視訊資料流在 CPU、GPU 和記憶體之間運轉。若缺乏合適的系統架構建置,即使是最強大的人臉辨識演算法也要花費許多處理時間。系統架構應該隨時以最小化 CPU、GPU 和記憶體之間的資料流程為目標。

FaceMe® 通過多次反覆測試對系統架構進行了最佳化,以確保能達到最佳效能。舉例來說,搭配 NVIDIA RTX A6000 的 FaceMe® 在單一工作站時,可以處理 340-410fps 的人臉辨識運算(實際數據可能因使用的 FaceMe® 人臉辨識模型而有所不同)。這等於每個 GPU 要處理 25-41 路的並行視訊資料流(每路最高 10fps),是價格性能相當出色的解決方案。下表為我們使用最新型號測試了少數幾種常見 GPU 的人臉辨識效能:

GPU
人臉辨識效能(FPS)
Quadro RTX 5000
VH: 220 fps, UH: 150 fps
Quadro RTX 8000 / 6000
VH: 340 fps, UH: 240 fps
NVIDIA RTX A6000
VH: 410 fps, UH: 340 fps
Tesla T4
VH: 200 fps, UH: 130 fps

* 使用 1080p 圖像進行測試(每張圖像只出現一張臉)。

最適合用於人臉辨識的工作站作業系統

兩種最常用於伺服器和工作站的作業系統為 Windows 和 Linux。兩者皆有其獨特的優缺點,你需要先考慮這些差異再決定該採用哪種系統。首先要決定打算使用哪種應用程式或軟體開發套件(SDK)。像 FaceMe® 這樣的頂尖人臉辨識演算法可同時支援 Linux 和 Windows 系統,且皆能提供同等的功能和效能表現。這讓平台的安排和管理擁有更多彈性。讓我們來進一步了解這兩種作業系統。

Linux (Ubuntu, Red Hat, CentOS)

Linux 是伺服器級別配置中最常見的作業系統,因為無需支付授權費。特點是採用開源模式、可靠和穩定,可以全年無休地運作。Linux 的控制和管理也比較容易。基於上述原因,我們非常推薦採用 Linux 系統。

在 Linux 的發行版之中,Ubuntu 是最熱門的選擇,接著是 Debian 和 Red Hat。Ubuntu 深受喜愛是因為它可以快速地建立 Docker,這是一款最受歡的容器部署和管理平台。

Windows

Windows 是目前市佔率最高的桌面作業系統,和 Linux 相比,許多 IT 團隊也比較熟悉這套系統。在這種情況下,選擇執行 Windows 系統的伺服器會是不錯的選擇。除此之外,若你希望系統執行其它 Microsoft 的應用程式(例如 Exchange 電子郵件服務、Microsoft SQL 資料庫或 Active Directory 憑證服務),那麼維持作業系統的一致性是比較明智的做法。這讓開發人員可以輕鬆地編寫、部署和維護伺服器上的所有應用程式組件。

建構適合你的工作站

在建構最適合你執行人臉辨識特定需求的工作站時,有許多因素需要納入考量。在評估各種選項時,其中一個最重要的就是了解自己的使用案例和效能需求,以及決定要採用內部部署還是雲端部署。

一旦你決定好所需的建置和設計,我們建議在安裝應用程式以進行即時和實際使用之前,先進行概念驗證(POC)項目。這樣可以知道在正式啟動之前所需的任何改進和調整。

如欲了解更多關於人臉辨識的原理、如何在各式應用場景中進行優化以及相關的技術細節說明,請參考人臉辨識的原理及邊緣運算應用

若要了解人臉辨識在 2021 年的應用情況,請參閱人臉辨識2021應用趨勢分析