將視覺運算運用帶入嵌入式應用的入場券, NVIDIA Jetson TK1 開發平台簡介

將視覺運算運用帶入嵌入式應用的入場券, NVIDIA Jetson TK1 開發平台簡介

NVIDIA 在今年推出 Tegra K1 後,一併於年度開發大會 GTC 發表針對嵌入式應用的 Jetson TK1 開發板,而最近這張開發板也陸續開賣;目前此類的嵌入式開發板在市場相當火紅,以樹莓派 Raspberry Pi 為首,像是 CUBOX 、 UDOO 、 Beaglebone  、 CubieBoard 至 Intel  Galileo 等,不少廠商都有推出嵌入式開發板,供玩家針對不同類型的應用進行開發。然而 Jetson TK1 雖然也是一款嵌入式開發板,不過在目標設定卻與市場上多數的嵌入式開發板大為不同, Jetson TK1 可說是首張能將視覺運算帶到低功耗的嵌入式領域的高效能開發板。

筆者稍早與 NVIDIA 針對 Jetson TK1 的應用、目標進行簡單的訪談,跳轉開始介紹這款以視覺運算應用為出發點的嵌入式開發板。

將視覺運算運用帶入嵌入式應用的入場券, NVIDIA Jetson TK1 開發平台簡介

Jetson TK1 上共提供那些元件與 I/O ?作為核心的當然是 NVIDIA 最新一代的應用處理器 Tegra K1 , TK1 所搭載的是 32 位元的 4+1 核心 Cortex-A15 搭配具 192 個 CUDA 核心的 mobile Kepler GPU 版本,另有 2GB 的記憶體與 16GB 的 4.51 eMMC 內建儲存空間與 SSPI 4MB Boot flash ,音效與網路則是採用 ALC5639 搭配 RTL8111GS GigE 乙太網路晶片, I/O 提供包括一個 Half mini-PCIe 插槽、一個 SD 卡插槽、一個 SATS 插槽、一個 HDMI 輸出、一個 microUSB 2.0 插槽、一個 USB 3.0 插槽、一個 RS232 插槽,並可擴充 DP/LVDS 、觸控 SPI x1 與 1x4+1x1 CSI-2 、 GPIOs 、 UART 、 HSIC 與 i2c 等介面,提供各種嵌入式應用開發所需。

NVIDIA 在發表 Tegra K1 的前一年,曾推出過另一款搭載 Tegra 3 與獨立 GPU 的開發板 Kayla ,雖然同樣是開發板,也同為 ARM 核心搭配 CUDA ,不過 Kayla 與 TK1 卻是兩張目的截然不同的開發板; Kayla 可視為最近 NVIDIA 宣布與 Applied Micro 合作的 ARM + CUDA HPC Server 計畫的前身,旨在作為高效能運算開發的應用,並作為驗證 ARM 核心搭配 CUDA 進行高效能運算的可能,功耗較無限制;然而 TK1 卻是鎖定如何以有限的功耗提供最高的整體運算力,以 TK1 所搭載的 4+1 核心 Tegra K1 應用處理器,可提供約 320GFLOPS 的運算能力,已經足以進行不少運算級的應用。

將視覺運算運用帶入嵌入式應用的入場券, NVIDIA Jetson TK1 開發平台簡介

這也意味著 TK1 雖然搭配預設的 Ubuntu 系統仍可作為一台多媒體 PC 或是 HTPC 使用,畢竟今年 Google IO 的 Google TV 展示即是採用基於 Tegra K1 的平台,然而多媒體應用並非 Jetson TK1 開發板的主要目的,別忘了 TK1 除了娛樂之外,它亦是能使用有限的電力提供足以負荷視覺運算的效能;舉例來說,今年 Audi 在 GTC 所展示的自動駕駛應用,即是使用 Tegra K1 取代傳統的 x86 處理器搭配 GPU ,並成功的展示簡單的自動駕駛,另外像是富士康安泰等廠商也展示輔助駕駛( AIDAS )的應用,對於電力來自引擎發電的汽車來說,如果能夠使用運算力充裕但省電的平台進行駕駛輔助是最好不過。

將視覺運算運用帶入嵌入式應用的入場券, NVIDIA Jetson TK1 開發平台簡介

TK1 並非要進行如 GTX Titan 等級的高效能運算,而是定位在像是安全監控、機器人、行車輔助等等的基礎視覺運算應用,透過高效能的 Tegra K1 處理器, TK1 允許最多 4 路 Full HD 品質的攝影機透過 CSI 介面連接,像是汽車駕駛輔助可透過四具攝影機提供環景的影像,或是進行四路的智慧辨識安全監控應用,或是生產自動化的視覺判斷等;這些應用以現有的環境多半需要靠後端的大型伺服器或是結合 DSP 式的方式呈現,不過大型伺服器較為耗電,且又有網路連線問題,而基於 DSP 的方案功能與後續升級性則較為侷限。

將視覺運算運用帶入嵌入式應用的入場券, NVIDIA Jetson TK1 開發平台簡介

當然比起專業的監控系統,四路影像輸入還是嫌少了一點,不過 TK1 的優點不僅只是提供四路影像輸入,而且是可直接運用處理器的效能進行運算,在負擔較輕的應用如移動物體偵測、向量加速偵測、圖形辨識等,不需要仰賴後端雲端伺服器進行運算及可獨立運作,加上功耗比起具備相同架構的 x86 平台更低,故 TK1 很適合用於電力有限的環境,除了上述的獨立監控系統、車用駕駛輔助之外,也適用於機器人的開發。

舉例來說,像是探勘機器人、救災機器人、家政機器人等應用,採用 Jetson TK1 平台進行開發,可有效延長機器人的續航力,可在同樣的電池下擁有較好的續航力,且提供更好的機器視覺運算能力; 尤其結合更多的感測器,如加速度計、陀螺儀、壓力感測器、風向感測器、紅外線測距器等等,在狹窄與惡劣的環境下,也能擁有更好的空間判斷能力,有助於開發用於隧道探勘、古蹟空間建模、坍崩的大樓救災等等特殊環境的機器人。另外也有開發者開發針對零售業的顧客分析系統,透過攝影機監測消費者的駐足時間,甚至搭配熱感測器作為區域溫度分析應用,或是結合聲納探測器等等。

將視覺運算運用帶入嵌入式應用的入場券, NVIDIA Jetson TK1 開發平台簡介

也因為 NVIDIA 將 TK1 的應用定位在開發嵌入式視覺相關的應用,所以預載的系統並非 Android ,而是 Ubuntu 平台,並且目前官方的資源也以基於 Ubuntu 為主;這是因為 Tegra K1 雖然可搭配多款系統,不過 Ubuntu 有為數相當的開發族群,且對於 ARM 架構的支援性也是足夠的,故 NVIDIA 在 Jetson TK1 是選擇 Ubuntu 作為目前官方主力支援的環境開發系統平台,除了 CUDA 、 OpenGL 4.4 之外,並且可透過 OpenVC 的進行開發,且陸續增加各類視覺應用可用的 OpenVC Library ,並開放第三方的 Pipeline 支援,設法簡化開發流程,使開發者可專注於應用本身的開發。

由於結合了高效能的運算核心與 NVIDIA 的 GPU 技術, Jetson TK1 雖然是一套嵌入式平台,卻有入門級視覺運算平台的效能表現,意味著有許多礙於電力無法獨立運作的視覺運算應用,或是原本需要耗費較多電力才能達到效果的應用,都可藉由 Jetson TK1 平台進行測試開發,且在應用開發完成後,亦可將平台 I/O 進行簡化並且量產, NVIDIA 也冀望由 Jetson TK1 的推出,能夠提供更多適用於嵌入式環境的視覺開發應用,尤其對於機器人、車輛輔助的機器視覺,希望能藉此促使更多的應用產生,像日前 NVIDIA 與台北科技大學共同成立的嵌入式 GPU 實驗室,也是希望藉由與學界的合作解放更多的可能性;若是原本就已經著手開發 OpenVC 或是 CUDA 相關應用,亦可嘗試透過 Jetson TK1 測試原本應用用於更省電的嵌入式平台的可能性。

延伸閱讀

爸爸節平價手機優惠方案

抗藍光螢幕保護貼這張真的不錯...

口袋裡也能有個專業錄音室...