WFU

2019年5月20日 星期一

從電腦視覺可見到的光明未來

受惠於 CMOS Image Sensor (CIS) 與標準 CMOS 製程的高度相容,以及 Convolutional Neural Network (CNN) 的算法輔助,得以實現具有智能的電腦視覺元件。

電腦視覺可以應用在以下:

  • 安防:門禁監控、犯罪預防,人員追蹤
  • 醫學:人體掃描建構出 3D 影像
  • 汽車:輔助駕駛
  • 消費性:手機、相機、虛擬實境 (Virtual Reality)
  • 體育/遊戲:動作特效,和電影電視內容
  • 機器人與視覺:自動化、定位、瑕疵檢測、無人機
  • 零售:客戶追蹤,購買行為分析
  • 農業:穀物檢視,播種和土地辨識整治


每個應用的市場產值預測分別如下:



電腦視覺市場的興起與問題


電腦視覺市場的興起可以歸功如下:

  • CNN 算法的成熟
  • 無線上網到處可用
  • 頻寬日益增加
  • 大量資料的儲存空間
  • 大量的影像資料庫,可供演算法訓練
  • 開源演算法充足先進
  • 平行運算可由異質資源整合組成


電腦視覺的主要問題有二:

  • 100% 的精確度不存在
  • CNN 非常消耗 CPU、GPU 資源,不容易 on board 做成手機,或是無人機的應用。





Google、IBM、Intel、SalesForce、NVIDIA、Samsung 紛紛入主 AI 公司,積極布局。其中NVIDIA 布局AI腳步最快,GPU 同步重覆運算能力適用於 AI 深度學習;Intel 先後併購 Nervan System、Mobileye、Movidius、Altera 及 eAsic 等 AI 相關公司;Google 推出 AI 晶片 TPU (Tensor Processing Unit),提供客製化 ASIC 的算法程式庫;Microsoft 則推出基於 FPGA 的視覺 AI 晶片。


High Level Synthesis (HLS) 高階合成


應用 GPU 做為微處理器的問題有三:

  • 非常耗能
  • 不可重構 (re-configuration)


所以 FPGA 以及 embedded FPGA 興起,待市場需求明確量大,算法穩定之後,再實現客製化特殊應用晶片 (Custom ASIC) ,需要進行數位晶片設計。

電腦視覺的演算法複雜,開發者喜歡使用 C++,而不是 RTL code,如:Verilog 和 VHDL。利用 HLS 以 C++ 來開發,可以方便嘗試不同的演算法,或是演算法不變,但是 constraint 以及 directives 變動,譬如,因應 clock speed 改變,來產生新的 RTL code。

如果不用 HLS 而以 RTL 開發,就不可能做到上述的設計流程。


小結


CMOS 相容的 CIS 製程以及 CNN 演算法讓電腦視覺元件成為現實,HLS 可以讓開發者專心於演算法,不受制於 RTL 設計方法。

電腦視覺是新創公司的機會,根據不同的應用場景,利用 HLS 以 C-model 設計演算法產生出 RTL code, 可實現 FPGA,當市場需求明確,可實現客製化 ASIC,降低功率消耗,可以裝置在行動裝置上,如手機、無人機上。