2022年9月22日 星期四

如何在Windows安裝Linux(WSL2+Ubuntu)及Docker來執行OpenVINO和DL Streamer

以往想在Microsoft Windows上運行Liunx(如Ubuntu),可能要透過VMware或Virtualbox這類虛擬化工具來安裝,不過除非你使用的是付費的進階版本,不然通常是無法調用本機端的GPU(不管NVIDIA或INTEL內顯、外顯)資源。後來微軟也看到這個商機於是在2016年順勢在Win10上推出適用於Linux的子系統(Windows Subsystem for Linux, WSL),讓使用者可輕易使用Linux作業系統的核心功能,包括常見的Ubuntu, openSUSE, Debian, Kali等。2019年推出WSL2時,除了一般Liunx基本的命令列工具(如Bash)外,甚至也可以運行圖形化視窗界面(如X Window)。如此一來就能讓使用者在Windows和Linux兩種作業系統上任意切換,不用再安裝其它虛擬化工具了。

隨著Win11上市,WSL2亦有較大幅度的更新,直接就能從Windows APP Store下載,除了Ubuntu 18.04.5 LTS, 20.04.5 LTS, 22.04.1 LTS可選擇外,另外還有Debian, Kali, fedora remix等多種環境。同時也開始對本地端的GPU有明顯的支援,包括NVIDIA及INTEL(含內顯HD Graphics, Xe,外顯Iris Xe系列),這樣對開發AI應用程式有很大的幫助,就可以使用像TensorFlow, PyTorch這類框架來進行模型訓練及使用像Nvidia TensorRT, Intel OpenVINO這樣的推論工具加速運算。

接下來就帶著大家一步一步把開發環境架設起來。如果你的電腦已經是安裝Ubuntu桌面圖形使用者介面(Desktop GUI)系統,只是想安裝Intel OpenVINO, Docker和DL Streamer來練習,那麼可以略過下面第1, 2, 3, 7節的說明。

2022年9月9日 星期五

如何在Google Colab上使用本地端Webcam即時運行OpenCV自定義影像處理函式


 之前曾寫過一篇「如何在Colab上顯示雲端硬碟(Google Drive)上的影像和視頻」解決了在Google Colab上顯示靜態影像(如bmp, jpg, png等)和動態視訊(如mp4等)的問題,這樣方便OpenCV處理後的顯示問題,但這些作法並無法解決直接讀取本地端網路攝影機(Webcam)連續影像取像及即時自定義影像處理顯示問題。

一般使用Google Colab時可以透過JavaScript程式和本地端網路攝影機連接,取得串流影像後透過網頁元件即可顯示。但目前Colab提供的「程式碼片段」範例僅可以連結本地端網路攝影機進行連續取像及顯示,且只能取得最後一張影像後,再以靜態方式(如OpenCV, PIL等)進行處理及顯示,無法於取像過程進行自定義影像處理。所以經過一番查找終於得到如何解決讀取網路攝影機連續影像及同時執行自定義影像處理方案,提供大家參考,完整範例程式可參考下列網址:

https://github.com/OmniXRI/Colab_Webcam_OpenCV

本範例 Colab_Webcam_OpenCV.ipynb 共提供二種模式解決方案。

模式一:使用網路攝影機連續取像並顯示,按下取像鍵後才使用OpenCV進行自定義影像處理及顯示結果。

模式二:使用網路攝影機連續取像並顯示,在取像過程同時執行OpenCV自定義影像處理及顯示結果。

2022年9月5日 星期一

在Colab上安裝Python虛擬環境及OpenVINO 2022.1填坑心得

之前寫過一篇「使用PyPi (pip install) 安裝Intel OpenVINO 2022.1填坑心得」,主要是說明如何在Windows上Anaconda環境(相當於虛擬環境)上安裝OpenVINO Python開發者環境。但很不幸地,這個方法移到Google Colab上似乎又不管用了。於是經過一連串實驗,終於找到一個工作流程,可以順利執行,提供給大家參考。

完整範例可參考下列網址。

https://colab.research.google.com/github/OmniXRI/Colab_Install_OpenVINO_2022/blob/main/Install_OpenVINO2022_on_Colab_Python_Virtual_Envirment.ipynb

其主要步驟如下:

  1. 建立Python環境
  2. 透過PyPI安裝OpenVINO到虛擬環境中
  3. 編寫openvino runtime和opencv測試碼
  4. 在虛擬環境中執行測試程式

 

【頂置】簡報、源碼、系列文快速連結區

常有人反應用手機瀏覽本部落格時常要捲很多頁才能找到系列發文、開源專案、課程及活動簡報,為了方便大家快速查詢,特整理連結如下,敬請參考! Edge AI Taiwan 邊緣智能交流區 全像顯示與互動交流區 台科大(NTUST) 人工智慧與邊緣運算實務 開南大學...