【Arm 專欄】物聯網時代的關鍵應用!Arm 為智慧相機提供安全創新的基礎

IoT 的安全性是科技產業需考量的關鍵優先要務,基於 Armv9 架構的智慧相機晶片,將透過 Arm 機密運算架構 (CCA) 進一步強化電腦視覺產品的安全性。
評論
Arm 提供
評論

電腦視覺 (computer vision) 是在物聯網領域中擷取真實世界數據的基礎。Arm 的技術為企業、工業與家庭應用的智慧相機,提供了一個安全的生態系。

電腦視覺利用人工智慧 (AI) 讓智慧相機等裝置可以解釋與理解影像中正發生的事情。利用科技重新打造一個與人眼一樣強大的感測器,為電腦開啟了廣泛的使用情境,來執行之前需要人類視線才能進行的任務,也因此難怪電腦視覺正迅速成為物聯網 (IoT) 領域內擷取真實世界數據並處理的最重要的方式之一。

從計算停車場內的車輛數目,到監控零售商店內的客流量,或是找出生產線上的瑕疵,智慧相機在一系列商業與工業的應用中使用電腦視覺。在家中,智慧相機可以告訴我們包裹何時送達、狗狗是否從後院溜出去,或是嬰兒何時醒來。

在商業與消費領域,智慧相機技術的採用正呈現指數級成長。市場研究與策略諮詢公司 Yole Développement 在 2020 年發表的《用於監控與安全用途的相機與運算》報告中,估計全球僅僅是監視用的相機大約就有 10 億台,到 2024 年,預估此安裝數字可望再翻倍成長。

這項技術在安全性、異質運算、影像處理與雲端服務等方面有了關鍵性的進展,使得未來電腦視覺產品的能力能更勝以往。

智慧相機的安全性是電腦視覺的首要考量

IoT 的安全性是科技產業需考量的關鍵優先要務與挑戰。確保所有 IoT 裝置不受惡意人士利用,是相當重要的,特別是當裝置已經擷取並儲存與民眾、地點及高價值資產有關的影像資訊的時候。

未經授權存取負責監看工廠、醫院、學校或家庭的智慧相機資料,不但是對隱私權的重大侵犯,也可能導致難以計數的傷害,包括從密謀犯罪到機密資訊外洩。智慧相機遭到破解同時也會提供一個破口,讓惡意人士可以存取網路內的其它裝置,從門禁、暖氣與照明控制,到對整個智慧工廠的管控。

我們必須要能夠信任智慧相機來替大家維持安全性,而非另闢新的開發途徑。Arm 透過供 Cortex-A 與 Cortex-M 的 Arm TrustZone 等產品組合,多年來持續重視 IoT 裝置的安全性。

在未來,基於 Armv9 架構的智慧相機晶片,將透過 Arm 機密運算架構 (CCA) 進一步強化電腦視覺產品的安全性。

除此之外,Arm 也倡導如 PSA 認證PARSEC 等安全性最佳實踐的共同標準。設計這些標準的用意,在於確保未來所有智慧相機的部署都擁有內建的安全性:從影像感測器首次記錄情境到資料的儲存,不管資料是儲存在本地或是利用先進的安全與數據加密技術在雲端儲存。

終端 AI 驅動智慧相機裝置的電腦視覺

Arm 提供

影像感測器技術與終端 AI 的結合,讓智慧相機得以擷取大量電腦視覺資料,以進行越來越複雜的推論。智慧相機內的全新機器學習能力,可以滿足多元的使用情境,例如檢測個別的人或動物、辨識特定物件,以及讀取車牌。所有這些電腦視覺的應用,都需要在終端裝置運行的機器學習演算法,而不是把資料送到雲端進行推論。這一切都是把運算力移至更接近數據的地方。

例如,在繁忙的十字路口使用的智慧相機,可以用電腦視覺來確定一整天下各個時段等待紅燈的車輛數量與類型。藉由使用機器學習來處理自己的資料並推論出涵義,智慧相機可以自動調整它的時序,以便在沒有人類參與的情況下,自動減少交通雍塞並限制排放的增加。

Arm 投入終端及其他應用 AI 的資源透過各種 Ethos 機器學習處理器得到了實現:具備高度擴充性與效率的神經網路處理器 (NPU) 透過多核心技術,支援每秒從 0.1 到 10 TOP 的運算速度。軟體在 ML 領域也扮演重要的角色,這也是為何 Arm 藉由 Arm 類神經網路開發套件(NN SDK)供微控制器使用的 TensorFlow Lite(TFLM)等開源框架,持續支援開源社群的原因。

這些機器學習工作負載框架是基於既有的神經網路以及高效的 Arm Cortex-A CPU、Mali- GPU 繪圖處理器、Ethos NPU 與 Arm Compute 函式庫以及 CMSIS-NN,後者是為 Cortex-A CPU、Cortex-M CPU 與 Mali GPU 架構優化的低階機器學習函數集。

透過第二代可擴展的向量延伸指令集 (SVE2),Armv9 架構藉由提供可取用的向量運算(可以平行運算的資料的個別陣列),同時也支援強化的 AI 能力。如此一來可以在不用重寫或重新編譯程式碼之下擴充硬體向量長度。在未來,矩陣乘法的延伸指令(強化機器學習的重要元素),未來將進一步推動 AI 的發展。

雲端上互連的智慧相機

雲端與邊緣運算也有助於加速智慧相機的採用。傳統的閉路電視系統 (CCTV) 架構透過網路錄影機 (NVR) 或數位錄影機 (DVR),讓相機的資料在本機儲存。這種模式有諸多的限制,包括需要用到龐大的儲存空間以及每台 NVR 上有限的實體連接端子數量。

轉移到雲端原生的模式,大大簡化了智慧相機的推出:任何數量的相機都可以透過下載到裝置的組態檔案進行配置與管理。這也是一種良性循環:來自智慧相機的資料可以針對特定的使用情境來訓練雲端上的模型,這樣可以讓相機更加智慧。而相機越智慧,它們需要上傳的數據量就會越小。

雲端運算的使用也能藉由結合來自多台智慧相機的電腦視覺資料,實現 AI 感測器融合過程的自動化。以我們稍早提出,部署在十字路口的智慧相機為例,雲端 AI 演算法可以結合來自多台智慧相機的資料,以便不斷地調整整個城市裡的交通號誌的時序,讓交通更為順暢。

Arm 支援從雲端到終端所需的連續處理能力。Cortex-M 微控制器與 Cortex-A 處理器驅動智慧相機,而 Cortex-A 處理器同時也驅動邊緣閘道。雲端與邊緣伺服器則採用 Neoverse平台的能力。

智慧相機的全新軟硬體需求

Arm 提供

電腦視覺裝置的運算需求每年持續成長,超高解析度的視訊擷取(8K 60fps)與 64 位元(Armv8-A)的處理是目前高階智慧相機產品的標準。

因此次世代智慧相機內的系統單晶片 (SoC),必須採用異質架構,並結合 CPU、GPU、NPU 與專屬的硬體,以用於電腦視覺、影像處理、視訊編碼與解碼等功能。

儲存也是一個關鍵的問題:儘管終端 AI 可以藉由在相機本地處理影像來降低儲存的需求,但許多使用情境還是因為安全與安全性的原因,需要把資料保存在某個地方,不管是裝置上,或是邊緣伺服器或雲端上。

為了確保能妥善儲存高解析的電腦視覺數據,全新視訊編碼與解碼標準諸如 H.265 和 AV1,已成為實際上的標準。

新的使用情境持續驅動創新

整體來說,來自新的使用情境的需求推動了對於運算與影像技術全面持續改善的需求。

當我們今日想到像閉路電視系統相機等影像擷取裝置時,我們不應該再想像透過相機鏡頭一張張難以辨識面容的粗糙影像。電腦視覺的進步-效率更高、威力更強大的運算結合 AI 與機器學習的智慧,讓智慧相機變成不僅僅只是影像感測器,而是影像解釋器。這個連結類比與數位世界間的橋樑正為我們開啟在數年前還難以想像的全新應用與使用情境。

在 2021 年 7 月 2 日,Arm 將參加《物聯網暨嵌入式設計網路研討會》分享物聯網裝置的應用趨勢,並透過智慧相機的使用情境帶領開發者瞭解如何透過 Arm AI Platform 強化 ML 系統設計與提高裝置智慧,歡迎報名

報名網路研討會

責任編輯:Mia
核稿編輯:MindyLi


開發者享受 CI/CD 價值!運用 Amazon EKS 整合 GitLab 創建自動化部署

企業如何在 Amazon EKS(Elastic Kubernetes Services)上使用 GitLab 創建自動化部署,減輕人力負擔,提升專案服務運作效率?
評論
評論

所謂現代化智慧 IT,所有工程師最希望的境界,莫過於只要輕鬆點幾下設定,系統就會自動跑起來,管理者再也不用隨時待命在機台旁邊,從此工作悠哉又快樂!儘管這樣情境還沒到來,但隨著敏捷式開發的流行,除了 DevOps 人員,有越來越多開發者將 CI/CD 概念融入到工作流程當中,例如從 build code、執行 unit test、到部署應用程式。

打造第一個在 AWS 上的應用程式

上述種種反覆步驟自動化執行,也就能提昇服務品質、主動通知開發人員以減輕人力負擔,讓專案服務能持續運作。

其中,GitLab 是執行 CI/CD 常用的工具之一,也是開發者使用程式碼儲存庫的地方。為了讓 GitLab Runner 在雲端快速實踐 CI/CD,《AWS 開發者系列》透過影片分享,如何在 Amazon EKS(Elastic Kubernetes Services)上使用 GitLab 創建自動化部署。

以下節錄工作坊影音內容,幫助開發者快速理解如何運用 Amazon EKS 的高可用性且安全的叢集,將修補、部署節點、更新等關鍵任務,全部做到自動化設定。同時影片也會示範 Amazon EKS 搭配 GitLab 如何展開自動部署,幫助工程團隊實踐 CI/CD 價值。

Amazon EKS 對容器管理輕鬆簡單、維運省時省力

容器化服務越來越興盛,當容器(Container)越來越多,在複雜的微服務(Microservice)系統環境之下,運維團隊的管理成本可能相對會增加不少,為了有效調度容器部署, 導入Kubernetes 無疑是近年企業熱門的話題之一。

建構 Kubernetes Cluster 流主要可區分兩大塊,一是安排容器調度的Control Plane、另一則是容器運行時需要用到的 Worker Node。

Control Plane 裡面涵蓋有儲存狀態的 ETCD、CoController manager 、Scheduler 的調度管理、甚至是操作時進行互動的 APIServer,若是自己創建 的 Kubernetes Cluster ,需要自己安裝這些元件,後續仍需要對 Control Plane 進行相關管理、維護、升級工作。為了減少上述 Components 的繁複維護,在透過 AWS EKS 代管的 Kubernete Control Plane 部可以獲得以下三大好處。

透過 AWS 增加雲端技能 在組織發揮影響力

Amazon EKS 一鍵式部署,展現三大優勢

第一,Amazon EKS代管的 Control Plane實踐了跨AZ的高可用部署,使用者不需要擔心單一節點故障的風險。

第二,Amazon EKS 支持至少四個 Kubernetes版本,持續跟進每季 CNCF 的發佈,同時 EKS 也完全符合上游 CNCF 規範。

第三,部署 Amazon EKS 之後,可直接使用 AWS 平台上現成的服務工具,在安全性管理、網路設定方面,可以做到無縫整合。

最後 AWS 台灣解決方案架構師也提到,若想在容器環境進行 CI/CD 及應用程式的管理,可以進一步透過 IaC 整合部署 Amazon EKS 叢集,透過使用 Console、把 EKS 變成 Cloudformation 的模板、使用 AWS 所開發出來的 eksctl.io、或指令是採用 AWS CDK 可以讓開發者用自身熟悉的語言,在 AWS 平台整合 CI/CD 工具進行維運及部署 EKS。

了解 Amazon EKS 整合 GitLab ,獲得三面向價值

對開發者而言,想把 Amazon EKS 整合到 CI/CD 工具之一的 GitLab 平台上,可以看到那些實際的優勢?

在 DevOps 開發者示範工作坊當中,GitLab 資深解決方案架構師指出,GitLab 使用到 Kubernetes 技術,主要有三種搭配方法,包含 GitLab Server、GitLab Runner、以及創建 Deployment Environment。

本次示範教學會主要聚焦在 GitLab Runner 如何採取 Auto-scaled 方式進行 Build、Test、Package Apps;以及在 Deployment Environment 運用 Kubernetes 技術,做到 Auto Deploy、Review App。

正因為 Amazon EKS 能夠在 DevOps 過程提供所需要的彈性計算資源,幫助開發者在 GitLab 平台上面獲得以下三個層次的優勢:

  • 在 GitLab 內建的部署工作流程當中,自動生成整套 CI/CD 最佳實踐腳本。
  • Review App 過程,從 Merge Request 中可直接訪問應用程式 /App 的 UI 介面,並且根據 Git branch 名稱、專案名稱,自動生成 Review App 的 URL,以及在 Merge 前的最後防線進行 Approval 檢查。
  • 加速 CI/CD 流水線,GitLab Runner 運行時候還可藉由 Amazon EKS Cluster 進行 Auto-scaled 的支援。

Amazon EKS 整合 GitLab ,需要兩大流程

影片最後,GitLab 資深解決方案架構師示範如何把 Amazon EKS 整合至 GitLab 執行 Auto Deploy,主要可分為兩大區塊流程,第一部分聚焦在 Amazon EKS cluster 的設置,第二部分則執行 Auto Deploy 設置。

第一塊可拆分為四個階段,首先教學怎麼創建 EC2 節點的 EKS cluster,第二階段示範把 EKS Cluster 連接到開發者的 GitLab Instance、Group 或 Project,下一步則使用 Cluster Management Project Template 創建一個 Cluster Management Project,以及最後一階段透過 Cluster Management Project 自帶的 Helm Chart,安裝在 Cluster 所需要的內建 App。

第二塊執行 Auto Deploy 設置,針對需要部署的 App 創建一個 GitLab Project,接著再把 gitlab-ci.yml 添加到 Project,並從 Web IDE 選擇及導入 Auto Deploy 的 CI 模版,讓 GitLab 自動生成最佳實踐的整套流水線。

幫助開發者更了解 Amazon EKS 整合 GitLab 的 QA 系列

Q:使用 Amazon EKS 之後,如何更有效率或優化資源去配置 Worker Node 的機器數量,以及如何有效空管開發維運的成本?

A:Kubernetes 除了本身有 HPA(Horizontal Pod Autoscaling)可根據使用程度自動調整資源流量,另外也能延伸使用 AWS Auto Scaling 方案,針對可擴展資源去設定自動擴展管理。另外在成本管控,雖然 Amazon EKS 會收取額外管理費用,但可透過 AWS 平台的 Calculato r計算每個 EKS 的價格,你會發現自動化部署及管理的費用,相對工程師人力的成本更加便宜。

Q:越來越多客戶考慮把現有 Application 變成容器部署,大多是爲了加快部署的效率,那麼變成容器模式之後,對 CI/CD 的工作流程有什麽影響嗎?

A:運用容器技術最直接的效果,可以讓應用程式的環境更一致化,例如 testing 環節、stage production,讓容器避開一些差異問題。至於 CD 部分要 delivery 一些 usage 不太一樣的時候,容器會幫忙做配置,所以 CI/CD 對容器的效益是相輔相成的。

Q: 客戶在開發流程漸漸會把 Infrastructure 變成代碼或文檔,是不是可以把程式碼跟現有的應用程式的 CI/CD 流水線整合在一起,達到一套完整的 CI/CD 部署流程?

A:觀察目前市場作法,主要分成兩個階段去做整體部署。如果規模比較小的團隊,會把 Infrastructure 代碼跟 App 代碼分開,在管理上會比較靈活;如果企業規模比較大,會有另外一個 Infrastructure 團隊來控制部署事情,這種情况之下,APP 的項目會生成一個 APP package,主要做到 delivery 這個階段爲止。而 Infrastructure 的項目會指定把需要版本的文檔,部署到他們的 Kubernetes Cluster。

填寫表單 找到適合的快速上雲服務與工具!