khronos 發表電腦視覺 API 標準:OpenVX

在 2011 年的時候,Khronos 曾經發表過一個名為「Vision」的 API 標準,希望可以為電腦視覺(Computer Vision)的處理、定義一套標準的介面,作為硬體加速的抽象層;當時,基本上只是剛開始的階段,並沒有完整的介面出來。

而在經過三年的時間後,khronos 終於這個標準訂治好了!它的正式名稱是「OpenVX」、目前也已經推出了 1.0 的規格了~它的官方網站是:

https://www.khronos.org/openvx

根據官方的說法,OpenVX 是一個開放、免授權費的跨平台標準,他主要是訂製了一個標準,希望可以提供兼顧效能、以及能源效率的電腦視覺計算(主要是針對攜帶裝置、即時處理)。

OpenVX 以 graph 為概念,定義了高階的抽象層,把各種處理的功能以「節點」(Node)的形式來做設計;透過將這些節點串聯起來、成為一個圖(graph),就可以完成整的流程的架構。

而這些 Node,則可能是透過在通用處理器上實作的,也可能是透過硬體來做加速的~不管是 CPU、GPU 還是 DSP,理論上都可以在 OpenVX 的架構下運作。

下圖就是一個立體視覺的示意圖:

而官方列舉的適用領域,則包括了人臉、身體以及手勢的追蹤,以及智慧式的影像監控、物體與場景的重建、擴增實境等等。

目前 OpenVX 1.0 的功能,包括了:

  • 核心資料結構(Core data structures)
    • 影像以及影像金字塔(Images and Image Pyramids)
    • Processing Graphs, Kernels, Parameters
  • 影像處理(Image Processing)
    • 算數、邏輯、統計運算(Arithmetic, Logical, and statistical operations)
    • 多通道色彩和色彩深度的抽取與轉換(Multichannel Color and BitDepth Extraction and Conversion)
    • 2D Filtering and Morphological operations
    • 影像縮放與變形(Image Resizing and Warping)
  • 核心視覺計算(Core Computer Vision)
    • Pyramid computation
    • Integral Image computation
  • 特徵擷取與追蹤(Feature Extraction and Tracking)
    • Histogram Computation and Equalization
    • Canny Edge Detection
    • Harris and FAST Corner detection
    • Sparse Optical Flow

而 khronos 也已經放出了他的完整規格、以及相關的功能介面了,有興趣的話可以參考:

https://www.khronos.org/registry/vx/specs/1.0/html/index.html

不過,目前 OpenVX 應該是還沒有可以用的實作可以拿來玩?所以真的要玩的話,應該還是得等等就是了。而 khronos 也預計會在年底釋出範例程式,到時候應該也會有對應的測試實作可以用吧?


另外,實際上目前如果說到電腦視覺的程式開發的話,一般應該第一個會想到的是 OpenCV(官網)吧~所以 khronos 也提供了一張簡單的表格,來比較 OpenCV 和 OpenVX 的差別:

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *