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. 在虛擬環境中執行測試程式

 

2022年8月31日 星期三

有了OpenVINO 2022 PrePostProcessor APIs影像推論就更有效率了


在上一篇「OpenVINO 2022大改版讓Edge AI玩出新花樣」[1]中,在最後一小節「5. Preprocessing API」已幫大家簡單提到一些重點。本篇文章將更進一步介紹其應用程式介面(Application Programming Interface, API)基本原理和使用方式,並簡單比較和傳統使用OpenCV進行影像處理方式的差異及如何提升運作效率,讓大家後續使用OpenVINO運行影像類邊緣智能應用時能更有效率。接下來分別從如何「安裝工作環境」、「影像前處理」、「推論後處理」及「新舊版本比較」等幾大面向為大家作更完整說明。 

2022年8月16日 星期二

使用PyPi (pip install) 安裝Intel OpenVINO 2022.1填坑心得

source : Intel OpenVINO Document

最近剛好在實驗在Win10環境下,若不使用C/C++,不安裝Intel OpenVINO 2022.1 Windows標準版安裝程式(w_openvino_toolkit_p_2022.1.0.643_offline.exe)[1]是否可以只安裝Python開發環境?先說結論,可以,但有坑要填。以下就讓我慢慢道來。

2022年8月1日 星期一

OpenVINO 2022大改版讓Edge AI玩出新花樣


一般採用深度學習(Deep Learning, DL)方式的人工智慧(Artificial intelligence, AI)應用,在開發時須經過資料收集標註、模型選用訓練及最後部署到指定硬體進行推論工作。在訓練模型參數過程需經過數千到數萬次的推論才能使得參數最後收歛到足夠高的推論精度,而這項工作是須要耗費大量算力,所以通常會選用算力較高的硬體裝置(如GPU, TPU, FPGA)來完成。當完成訓練後,推論只需執行一次便可得到結果,明顯可看出算力需求的差異。若推論時仍採用訓練時的裝置,雖可得到極佳的推論效能及無痛移轉部署,但所需的硬體成本也會連帶提升數十到數百倍,更不要說硬體裝置龐大的體積及功耗,所以很難適用到大部份的邊緣智能(Edge AI)應用。通常邊緣智能應用有獨立性(不連網)、低延時、高隱私、低成本、低功耗及大量部署的特性,換句話說,其硬體效能可能就像腳踏車、機車,遠遠不如訓練模型用有如高鐵甚至飛機般高效能的硬體。因此如何將訓練好的模型經過適當的優化、減量及部署到不同的可推論硬體裝置就變成另一項重要課題。

2022年7月31日 星期日

【課程簡報】20220731_Coscup開源人年會_爭什麼,把AI和MCU摻在一起做tinyML就對了

很高興這是第二次受Coscup開源人年會邀請,此次要和大家分享的是最近幾年大家一直都在談的智慧物聯網(AI + IoT, AIoT)要如何把人工智慧或機器學習整合到邊緣元件「單晶片」上。本次分享是屬於初階入門的課程,會用較輕鬆的口氣及加上一些星爺電影「食神」中的搞笑橋段來加以說明,希望大家能更容易了解。最後也附上一些學習資源及參考連結,方便大家可以自我加強學習。如果有任何想法歡迎在留言區討論。

(點擊圖片可放大)

2022年7月29日 星期五

中光電智能感測CoreMaker-01開箱測試_01-如何配合SensiML建立自定義tinyML語音控制命令辨識


在介紹文章開始之前,首先感謝ideas Hatch、物聯網智造基地執行單位財團法人資訊工業策進會免費提供【國產IC智造工具包】之【中光電智能感測 CoreMaker-01】開發板進行測試。此篇文章為入門者起手式,後續如果大家想更了解如何應用於各種智能感測應用,歡迎持續追蹤系列文章。

2022年5月31日 星期二

【心得筆記】Edge Impulse EON Tuner AutoML工具介紹

去(2021)年10月Edge Impulse推出EON Tuner AutoML工具時還沒有認真研究,最近花了一點時間把先前的介紹影片看完並簡單摘要了一下,覺得這項工具對不懂AI的MCU工程師有很大的幫助,相對於手動設定瞎猜調整參數來說,簡單、快速地解決了模型選用及優化工具,想更了解這項工具到底有什麼用途的朋友可參考一下這段影片「AI Tech Talk from Edge Impulse: EON Tuner: AutoML for real-world embedded devices

 

 
影片來源:YOUTUBE,如遭刪除敬請見諒!

2022年5月2日 星期一

慶祝「Edge AI Taiwan 邊緣智能交流區」成立兩週年

今天(2022/5/2)是「Edge AI Taiwan 邊緣智能交流區兩週年紀念日,目前成員數已接近四千大關(3,993位成員),日活躍人數平均約在700-1500,感謝各位社團成員長期以來的支持。

這個社團主要關注小型AI的應用(最好是能用電池驅動的),每天至少會提供一到兩則相關新聞、開源技術資訊、公開教學文檔影片、免費課程活動等資訊。大家常會公開或私訊詢問各種AI相關問題,由於個人時間及能力有限,也只能盡力回覆,難免不如人意,敬請見諒,也歡迎高手能出手相助,協助回覆。

經長期觀察,發現潛水的朋友大約佔了九成五以上,如果對於邊緣智能這個議題有興趣的朋友,也請不吝多多貼文交流,分享自身實作經驗或撰寫的文章,如有問題也可公開詢問,相信會讓這個社團更加活躍。感恩!


會員人數:3,993 (2022/5/2)

 

會員地區分佈統計(2022/5/2)

2021/5/1 - 2022/4/30 瀏覽人數統計

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

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