[2022更新] 如何建造ARM架構的人臉辨識 AIoT 裝置
FaceMe®
< 所有文章列表

[2022更新] 如何建造ARM架構的人臉辨識 AIoT 裝置

2022/11/11

本篇文章中,我們將與您分享如何於採用ARM 架構(如:Jetson、Qualcomm、MediaTek和NXP)的AIoT(人工智慧物聯網)裝置中,以最佳化的方式發揮人臉辨識效能? 應考量的因素又有哪些呢? 透過詳盡的解析與案例,協助您打造出各種具備人臉辨識功能的 AIoT裝置。

什麼是 ARM架構的 AIoT 裝置?

首先,我們先來定義 ARM 架構的 AIoT 裝置。AIoT 裝置是連線到網際網路,並透過 AI 演算法執行工作的裝置。實際的裝置內部是採用ARM架構的 SOC(單晶片系統)或 SOM(系統模組),搭配一般性用途的 CPU 和用於加速的 GPU 或 DSP。許多 AIoT 廠商也在 SOC 或 SOM 中導入了 APU(人工智慧處理器)或 NPU(神經網絡處理器),讓 AI 應用程式可以提升在邊緣裝置端(而非在雲端伺服器)的執行效率。

ARM 架構的裝置的具備功耗優勢,與 x64架構的電腦相比,可耗費較少能源。ARM 處理器常用於輕量化的邊緣 AIoT 裝置,如:資訊服務站(KIOSK)、工業用平板、電子看板、穿戴式和行動裝置。

設計人臉辨識 AIoT 裝置應考量的四大要素

導入人臉辨識技術於AIoT裝置時,依據應用的場景與設備,我們須考量四大要素:計算效能、費用、外型規格、功率消耗。以下將針對四大要素做更詳盡的分析。

運算效能

在決定運算效能的需求前,你需要先思考欲執行的任務目的與其複雜程度。例如,您只需要裝置一次辨識一張人臉還是同時辨識多張人臉?

讓我們舉智慧門鎖與門禁管制的範例來做說明。當你只需要裝置在每次有人接近時辨識一張臉,那麼運算效能較低的小型 AI 模型即可符合你的需求FaceMe®的高精準模型(H)模型便足以應付這樣的使用案例。。不過,如果想要在繁忙的賣場出入口所安置的攝影機執行人臉辨識,用以辨識阻擋名單上的人員,由於攝影機位置較高,且人物行走導致視訊畫面模糊,你便需要具有更精準強大運算能力的 AI 模型。

你也需要決定應用情境中是否需要執行人臉辨識,或只需要收集人口統計資訊。以智慧零售的應用來說,若只需要透過智慧看板來辨別人口統計資訊(如年齡和性別),那麼運算效能較低的裝置選擇就能滿足你的需求。若智慧看板也需要執行人臉辨識與身分驗證,便需要較高的運算效能。

建置費用

AIoT 裝置的運算效能越高,所需的費用也越高。各家晶片廠商(例如 NVIDIA、Intel、Qualcomm 等)各有其定價策略,並根據不同的連接或擴充介面(如:Wi-Fi、HDMI 或 USB)推出不同等級的產品線和價格。例如:NVIDIA Jetson 因其良好的效能成為了常見的晶片組解決方案,但是也因此價格較高。因此,若預算是你在 AI 和人臉辨識專案上的關鍵考慮因素,你必須將效能需求納入考量。

外形規格

外形規格即是AIoT裝置的尺寸。若使用之裝置需要符合特定大小(例如安裝在門上的智慧門鎖),那尺寸因素很有可能會限制你的選擇。但若裝置配有大型電子螢幕,在規格選擇上便有較多彈性。

功率消耗

運算效能和功率密切相關。裝置的效能越高,功率也越高。不過,當使用專用的晶片來加速視覺技術和 AI 演算法時,就可以提高能源的使用效率。

導入 APU(人工智慧處理器)的 MediaTek i350 晶片組便是一個很好的例子。結合 APU 和 NeuroPilot 人工智慧平台可以提升 AI 運算效能。和適用一般通用 (General Purpose) 的 CPU 指令集相比,APU 可提升大量平行資料的運算效能,例如一次對多個資料點進行乘積累加的運算操作,這類運算大幅於電腦視覺 AI 演算法中被使用。

MediaTek 的 Pumkin 開發板
來源: MediaTek

FaceMe SDK 唯一跨全平台的人臉辨識引擎,並特別針對 MediaTek NeuroPilot (i350), NVIDIA Jetson、Qualcomm SNPE、等平台強化與最佳化的人臉辨識引擎。欲深入了解臉部辨識的整合與應用,歡迎來信洽詢免費試用。

四大人臉辨識與AIoT 配置的使用平台

以下是四個採用ARM架構,最常用於人臉辨識的 AIoT 裝置配置,我們將從效能最高的配置開始介紹。

  1. NVIDIA Jetson 平台

    效能:高
    費用:高

    Jetson 系列的首次登場是 NVIDIA 在 2014 年推出的 Jetson TX。從那以後,NVIDIA 相繼推出多代版本以快速改進這項產品。其系列的最新版本為 Jetson Xavier NX,而下一代的 Jetson Orin 也即將於 2022 年底大量普及。Jetson 在 AI 推理效能、耗電量和費用之間取得很好的平衡,該平台一次可以處理一個以上的視訊輸入,同時執行其他應用程式。若你的裝置需要同時執行多項工作,那麼 Jetson 會是一個合適的選擇。

    NVIDIA 提供多種工具和 SDK,包括 CUDA、TensorRT、DeepStream 等,是市面上最完善的選擇之一。這些工具讓 AI 演算法的執行更流暢,進而讓 Jetson 在部署人臉辨識上更加輕鬆。NVIDIA 提供了 JetPack 開發者工具,其中包含了修改版的 Ubuntu 和所需的全部開發工具包、工具鏈與函式庫。

    根據我們的測試,Jetson Xavier NX 可支援每秒高達 72 畫格 (72 fps)(使用 FaceMe VH 模型,每張輸入圖像解析為1080p並包含一張臉)。

    Jetson 裝置的尺寸也很小。Jetson Xavier NX 的大小僅 70 mm x 45 mm。不過,其價格也稍微昂貴。

    NVIDIA 的 Jetson 系列
    來源: NVIDIA

  2. Qualcomm

    效能:可接受 – 中等
    費用:中等 – 低

    從用於手機和平板的 Snapdragon 產品線,到用於 AIoT 邊緣產品的 QCS410/610,Qualcomm 提供了廣泛的 SOC 選擇。Qualcomm 的Snapdragon Neural Processing Engine (SNPE) 能讓演算法作為 SOC 的一部分在 GPU 或 DSP 晶片上執行,是提升人臉辨識 AI 演算速度的最佳平台之一。

    FaceMe的測試中,我們使用了搭載 Snapdragon 660 的研華科技 Android 系統工業平板電腦。我們發現讓 AI 與 SNPE 在 GPU 上運行,可讓端對端的人臉辨識處理時間減少了 40%,且 CPU 的使用量也減少了 64%。Snapdragon 660 可於執行FaceMe VH 模型時達每秒16 畫格 (fps) 的於執行FaceMe H 模型時達每秒26 畫格的效能(使用 720p 解析度影像測試)。-於Qualcomm 2022最新推出的 QCS6125 平台上測試時,更可進一步使用 SNPE-DSP 來加速影像處理與 AI 推論,速度與僅用 CPU 執行相比,快 1.6 倍。

  3. MediaTek i350

    效能:中等
    費用:低

    MediaTek i350 在具有競爭力的價格下提供了 AIoT 裝置的合理效能,適用於配有觸控螢幕的裝置,例如 POS 終端機、智慧門鎖、工業用平板電腦,或是嵌入智慧家電或健身器材的顯示面板。MediaTek 是以提供行動裝置出色的一站式解決方案而聞名。他們提供了 SDK、範例程式碼和工具,讓AIoT開發商都能輕鬆建構專屬應用程式。i350 可同時支援 Android 和 Ubuntu 系統。

    在我們使用 FaceMe 測試的結果中,於MediaTek i350 執行 FaceMe VH模型時,可達每秒 8 畫框(fps);執行FaceMe H 模型時則可達每秒 18 畫框 (fps) 的效能 (使用 720p 解析度影像測試)。

  4. NXP i.MX8M Plus

    效能:中等
    費用:低

    NXP (恩智浦半導體)為保全、辨識、汽車、網路功能、無線電、類比和電源管理提供了多樣性的混合訊號和標準產品。目前 NXP i.MX8M Plus 處於前製作業階段,預期在 2021 年初上市。這是 NXP 首次在他們的 SOC 中導入 NPU。這可以在執行 AI 應用程式時,有效提高 AI 的演算效能,並減少 CPU 的工作量。

    為了在 NXP 上支援 APU,使用了 TensorFlow Lite 架構和推理引擎。TensorFlow Lite 是一種開放原始碼計劃,主要由 Google 開發並用於 Google 的多款 AI 應用程式中。它是一款功能豐富、穩定且成熟的平台。i.MX8M Plus 適合用來將許多 AI 應用程式移植到平台上。若你有其他的 AI 應用程式想要用於此平台,移植程序也非常簡單。

    在我們使用 FaceMe® 測試的結果中,i.MX8M Plus 可支援 8fps 的 VH 模型/18fps 的 H 模型,皆為 720p 解析度。

    以下的表格顯示了每個平台的效能

    平台
    FaceMe 模型
    圖像解析度
    效能 (FPS)
    Jetson NX
    VH
    1080p
    72
    UH
    1080p
    23
    Jetson Nano
    VH
    1080p
    20
    Snadragon 660(搭載 SNPE 加速器)
    H
    720p
    26
    VH
    720p
    16
    MediaTek i350(搭載 NeuroPilot 加速器)
    H
    720p
    18
    VH
    720p
    8
    NXP i.MX8 Plus
    H
    720p
    6
    VH
    720p
    5

    (比較表)

人臉辨識與AIoT搭配的二大首選作業系統

用於人臉辨識 AIoT 裝置的兩個主要作業系統是 Linux(如:Ubuntu、Debian、Fedora、Yocto等)和 Android。在選擇適合的作業系統時,需要先考慮在特定使用案例上的需求。FaceMe是功能最全面的人臉辨識引擎之一,可支援多達十種以上的作業系統,包括 Linux、Ubuntu、Red Hat、CentOS、Android、iOS 或 Windows。其中最常用的兩個系統,有一些關鍵差異需要留意:

Linux & Ubuntu

Linux 的自訂性和靈活度高。你可以針對特定臉部辨識應用案例來完全自訂作業系統的元件,盡可能地移除不需要的系統服務、應用程式或子系統,藉此提升軟體的執行速度並節省能源。Ubuntu 是最熱門的 Linux 發行版之一,從邊緣裝置到雲端伺服器都被廣為使用。Ubuntu 每兩年會推出長期支援版本(Long-term support,縮寫:LTS )來幫助維持基礎技術的更新,並提供長達五年的支援。由於它是開放原始碼,因此有大量的程式碼程式庫可供使用,大幅加快專案的開發速度。

Android

Android 是由 Google 開發,其核心是建立在 Linux 的修改版本上。Android最常用於智慧型手機、平板電腦、智慧電視、車載裝置等。Android 是更適合軟體開發人員的選項,且常為 AIoT 裝置偏好的作業系統。Android 工具鏈、整合式開發環境(Android Studio)和 SDK 都已相當成熟好用,讓開發人員可以輕鬆開發。不但可以免費使用專業工具,並且不收取任何使用費。Android 應用程式通常是以 Java 程式語言開發,與 C++ 程式語言相比,Java更容易進行程式撰寫和也更容易調用系統資源、開發使用者介面 (UI)、與記憶體管理等。因此,相較於 Linux,Android 更適合 AIoT 裝置使用,更易於開發、維護裝置上的應用程式,更容易、迅速導入到使用場景之中。

還喜歡您目前閱讀的內容嗎?歡迎訂閱FaceMe電子報,接收最即時的臉部辨識趨勢與相關活動資訊。
免費訂閱

量身打造你的臉部辨識AIoT裝置

在建構執行人臉辨識的系統時,有許多熱門的 AIoT 配置可供工程師和開發人員採用。這可以協助你找到最適合的選擇。在評估選項時,首先一定要了解你的使用案例,然後再針對計算效能、外形規格,功率消耗和預算上的需求,選擇與企業場景最相符的人臉辨識解決方案

一旦你決定好所需的建置和設計,我們建議在正式部署應用程式之前先進行概念驗證(Proof of Concept 即一般所稱POC),以發現需要的改進和調整。

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

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

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

與業務團隊
進一步聯繫
想更了解FaceMe?請聯繫我們!