如何建構適合人臉辨識的工作站?
FaceMe®
< 所有文章列表

如何建構適合人臉辨識的工作站?

2022/10/08

本篇文章中,我們將帶您了解如何建構用於人臉辨識的工作站、常見的幾種部署架構、配置、作業系統,並藉由系統優化達到最佳的人臉辨識效能,幫助您在導入人臉辨識、設置工作站時將各項關鍵因素納入評估。

什麼是工作站?

工作站是一種高效能的電腦,其效能遠高於普通的個人電腦,常見於商業或其他專業用途。工作站較之個人電腦可提供更優秀的影像、視訊處理、智能分析與多工資料處理能力等。

技術上來說,工作站由各種硬體所組成,例如高階Intel CPU(Core i 或 Xeon)、AMD CPU(EPYC)、NVIDIA GPU(T4、RTX A5000)。它們通常在 Linux (Ubuntu、Red Hat 或 CentOS)或 Windows Server作業系統上執行。對執行人臉辨識來說,這樣的配置很適合在單一工作站中輸入多個監控視訊流 (如採用RTSP 協定之IP 攝影機),並進行分析與辨識。

工作站是一種高效能的電腦,其效能遠高於普通的個人電腦,由各種硬體所組成

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

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

地端部署

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

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

在最佳化的設計中,地端部署的工作站是否能夠解碼大量的即時視訊資料,是其中一個必須考慮的關鍵因素。監視攝影機會將視訊資料流壓縮為 H.264(AVC)或 H.265(HEVC)以進行傳輸。AI 視覺演算法則需將壓縮的視訊解碼為原始視訊訊號後才能進行分析。透過在工作站中加入 GPU,它們可以將可因此即時解碼大量視訊串流。許多 GPU 可以同時解碼超過 40至80 路的視訊串流。以 NVIDIA 的 GPU 為例,更支援進一步加速 AI 演算法,在不需額外的資料複製 (Data Copy) 下,而於視訊解碼緩衝 (Video Buffer) 中,直接執行深度學習的 AI 演算法進行分析。因此大幅提升 AI 執行效率,並減少記憶體使用。

用於建築物保全和監控的工作站最適合採用地端部署

雲端部署

除了地端部署的選擇外,工作站也可以安裝在雲端或是資料中心。雲端部署是由第三方業者維護(雲端部署可為公有雲、私有雲甚或混合雲皆可),相比之下地端部署則須由業者自行負責維護硬體設備,網路環境等。因此,雲端工作站對使用者來說相對輕鬆。業者也可以視需求輕鬆放大或縮小規模。

如果用戶利用手機等裝置傳送圖像或視訊進行人臉辨識,在這樣的情境下,雲端伺服器是常見的選擇之一。

雲端部署工作站
FaceMe AI人臉辨識引擎適用於各式標案需求,如門禁安控、考勤打卡、智慧零售、金融應用等,歡迎與我們洽詢免費試用、價格、硬體設置等資訊。

配置人臉辨識工作站

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

工作站級別的配置

工作站級別的配置適合需要監控上萬個監視攝影機的地端部署情境。我們推薦使用以下工作站:Intel Core i、Xeon CPU 或 AMD EPYC CPU 搭配 NVIDIA GPU。 以下的配置適合為多路的監視攝影機視訊輸出執行人臉辨識和其他 AI 視覺演算法。美超微(Supermicro™)就有提供符合這些常見配置的工作站產品,它們可在單一機殼中包含多達四到八個 GPU 以處理上百路視訊,尤其是使用 FaceMe 這種人臉辨識演算法時,更能達到出色的表現。

為了達到最佳效能,我們建議使用 RTX/Quadro GPU 系列,例如 Quadro RTX 6000 或是最新上市的 NVIDIA RTX A6000/A5000等。若有預算考量,那麼RTX A2000/A4000 也會是相當合適的解決方案,不過它能處理的流量和視訊頻道會少於較高階的型號。

本文中,我們將以FaceMe模型實測硬體效能。FaceMe的模型可分為3類,分別為:超高精準模型(Ultra High Precision (UH))、較高精準模型 (Very High Precision (VH))、高精準模型 (High Precision Model (H)),您也可以點此了解技術規格。本文我們以 FaceMe VH 模型進行實測,RTX A5000 之人臉辨識效能能達到 454fps。效能最高的 GPU 是 RTX A6000,其測試結果優於其他型號,相比可增加多達 11%效益。

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

伺服器級別的配置

若想將工作站安裝在資料中心或雲端,並且要能夠應付少至數百、多至百萬台裝置的人臉辨識需求,那麼您適合以下的伺服器配置:CPU 和無風扇(被動式冷卻)GPU。

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

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

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

整體來說,在考慮伺服器配置以及最合適的需求時,你應該選擇一套可同時支援伺服器和邊緣部署的人臉辨識演算法。欲了解更多人臉辨識與邊緣運算應用,歡迎閱讀這篇文章

如何優化系統架構,以發揮人臉辨識的最佳效能?

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

FaceMe 通過多次反覆測試對系統架構進行優化,確保達到最佳效能。舉例來說,搭配 NVIDIA RTX A6000 的 FaceMe 在單一工作站時,可以處理 340-410fps 的人臉辨識運算(實際數據可能依使用的 FaceMe 人臉辨識模型有所不同)。這等於每個 GPU 可同時處理 25-41 路的視訊資料串流(每路最高 10fps),是C/P值非常出色的解決方案。下表為我們以兩種FaceMe模型 (VH、UH) 測試了幾種常見 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和 CentOS。Linux 深受喜愛是因為它可以快速、容易地設置 Docker─此一最受歡迎的容器部署和管理平台。

Windows

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

FaceMe SDK 為一跨平台人臉辨識引擎,可支援多種作業系統(Windows, Linux, Android, iOS),快速建置於各種AioT邊緣裝置中,進行各式臉辨應用場景的優化,歡迎來信洽詢試用前往SDK網頁了解更多。

結語:建構符合應用情境的工作站

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

一旦你決定好所需的建置與架構規劃,我們建議在先進行概念驗證(POC),再進行導入,以確保正式啟動之前已完成各項必要改進和調整。

想索取FaceMe人臉辨識引擎免費試用,歡迎與我們洽詢。

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

若要了解人臉辨識最新應用情況,請參閱人臉辨識應用最新趨勢

訊連科技FaceMe®人臉辨識完整解決方案

與業務團隊
進一步聯繫

想更了解FaceMe?請聯繫我們!