2022年10月14日 星期五

【課程簡報】國產IC線上分享會─AIoT與tinyML生態系國際發展趨勢與國產晶片未來方向

很高興今天(2022/10/14)受資策會物聯網智造基地及益師傅的邀約,在「國產IC線上分享會」和大家談談「AIoT與tinyML生態系國際發展趨勢與國產晶片未來方向」這個主題。此次會分成三個子題,如下所示,而此次重點又會放在建構生態系上,而後兩項未能完整說明部份則會在2022/11/10的「台灣IC智造年會─智造匯壇」實體活動中再和大家補充說明。

  • 如何建構tinyML生態系
  • tinyML國際發展趨勢
  • 國產IC投入現況與未來方向

 以下就是此次活動簡報。(點擊圖放大)

2022年10月6日 星期四

【課程簡報】20221005_南開科大_自動化工程系_從自動化到智動化

很高興今天(2022/10/05)受到南開科大USR中心蔡名桂主任和自動化工程系蔡建皇老師的邀約,和自動化工程系大四學生分享一下個人如何從一個電子小白踏入自動化產業,再轉型成為智慧製造的產業顧問的心路歷程。雖然簡報沒幾頁,但卻是個人從事第一線工作精彩的經驗分享。讓同學們不管是想升學或就業都有一些不一樣的想法。

以下就是此次的簡報分享。(點擊圖放大)

2022年10月4日 星期二

免費開源串流媒體分析工具Intel OpenVINO DL Streamer讓你也能成為智能影音分析大師

時光飛逝,轉眼2022年也過了四分之三,Intel OpenVINO Toolkit (以下簡稱OpenVINO) 2022.1版也在今年作出不少重大變革,其中一項重要又實用的功能「Deep Learning Streamer (以下簡稱DL Streamer)」也有許多更新。假若各位看過小弟在2018年寫過的「【Intel OpenVINO™教學】GStreamer串流影片智能分析不再慢吞吞─看Intel OpenVINO DL Stream如何加速影片推論」[1],相信應該會對這項工具有一些初步認識。如果您是剛入門的朋友,也不用太擔心,透過本文依序從「什麼是DL Streamer」、「認識DL Streamer架構」、「如何安裝DL Streamer」、「DL Streamer小試身手」及「DL Streamer表現分析」等小節的介紹,相信應該能更快速、深入了解OpenVINO這項好用的工具。

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開箱測試_如何配合SensiML建立自定義tinyML語音控制命令辨識


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

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

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