顯示具有 YOLO 標籤的文章。 顯示所有文章
顯示具有 YOLO 標籤的文章。 顯示所有文章

2024年10月28日 星期一

【vMaker Edge AI專欄 #22】使用Intel OpenVINO搭配YOLOv11輕鬆駕馭姿態偵測

 作者:Jack OmniXRI, 2024/10/15

留言

vMaker_EdgeAI_22_00

相信有在玩AI影像「物件偵測」的朋友對於YOLO(Yolo Only Look Once)一定不會陌生。從2015年第一版(v1)問世至今,在各路大神的努力之下,現在已發展到第十一版(v11),而其中 v4, v7, v9 正是中研院資訊所廖弘源所長及高徒王建堯博士所貢獻的。

目前最新的 YOLOv11 [1] [2] 就是由 Ultralytic 這家公司所提出的,它是基於該公司先前提出的 v8 版本進行改良而得的,並發表於今(2024)年9月底 YOLO Vision 2024 [3] 活動中。此次這個版本延續之前 v8 版本,一樣提供了「影像分類」、「物件偵測」(含正矩形和斜矩形外框)、影像分割、物件追蹤及姿態估測(人體骨架偵測)等模型,並支援多種推論框架,包括 Google TensorFlow, PyTorch, ONNX, Apple CoreML 及 Intel OpenVINO。

Intel OpenVINO 為了讓大家更快上手,馬上就在開源範例庫 Notebooks [4] 上給出 YOLOv11 物件偵測、姿態估測及影像分割等三個案例,還可支援 Google Colab ,讓大家不用在桌機、筆電上安裝 OpenVINO 也可體驗一把。

接下來我們就跟著源碼說明[5]來了解一下如何運行 【姿態估測】 範例「Convert and Optimize YOLOv11 keypoint detection model with OpenVINO™」及動作原理。完整源碼請參考[6],點擊連結即可進到 Google Colab 環境執行。

執行前建議可先點擊選單「檔案」─「在雲端硬碟中儲存複本」,複製一份到自己的雲端硬體,方便如果想修改測試時更為方便。接著點擊選單「編輯」─「清除所有輸出內容」,方便稍後觀察運行過程中產出的內容。最後點擊選單「執行階段」─「全部執行」即可看到所有運行結果。

原則上這個範例程式可分成五大段來看,如下所示。

  1. 原始 YOLOv11 推論結果
  2. 轉換到 OpenVINO IR推論結果
  3. 經過 NNCF 壓縮優化推論結果
  4. 使用基準測試工具進行比較
  5. 連續影片推論展示

這裡為方便大家學習,這裡已把完整源碼[6]步驟簡化為上述五大步驟,並將註解簡化成易懂的中文說明,新版完整範例及說明請參考下方連結。

完整Colab範例程式(點擊後可直接執行)

2022年1月21日 星期五

使用Google Colab快速體驗ScaledYOLOv4


「物件偵測」一直是電腦視覺的重點項目,已發展了二十多年[1],早期利用各種特徵提取和比對來找出人們對影像中有興趣的像素集合(物件),如VJ, HOG等。近幾年來,大家則把重點放在了「深度學習」的模型上[2],從剛開始的二階段偵測器(Two-stage Detector),如RCNN, SPPNet, Fast RCNN, Faster RCNN等,到目前最流行的一階段偵測器(One-stage Detector),如SSD, RetinaNet, EfficientDet, YOLO等,其中又以YOLO(You Only Look Once)系列發展的最好,一路發展出YOLOv2, YOLOv3, YOLOv4, YOLOv5(非學術論文), 去年更有ScaledYOLOv4, YOLOX, YOLOR等技術推出,讓大家有更快推論速度、更高推論精度、更彈性模型架構,讓同一張影像中大小物件都能順利被檢出。

2021年5月31日 星期一

如何以Google Colab及Yolov4-tiny來訓練自定義資料集─以狗臉、貓臉、人臉偵測為例

之前曾寫過「使用Google Colaboratory免費資源學AI,正是時候! [A]」、「如何以YOLOv3訓練自己的資料集─以小蕃茄為例 [B]」獲得許多點閱及迴響,但隨著AI工具及版本不斷演進,導致這些範例已有部份無法順利運作。為了讓新手入坑能快速體驗自定義資料集的「物件偵測」智能應用,且不用頭疼開發環境建置及硬體算力,於是重新寫了這篇文章分享給大家。

在這個範例中將採用雲端、免費的Google Colab CPU+GPU運算資源及內建的Jupyter Notebook加上Python開發環境,搭配最常見的Darknet及Yolov4-tiny物件偵測框架,來完成自定義物件的模型訓練及物件偵測的推論。本文將著重在實作,而略過算法的原理說明,有興趣深入了解的朋友請自行參閱[1]。接下來就從【資料集建置與標註】、【Darknet安裝與Yolov4-tiny測試】、【自定義資料集訓練】、【訓練及推論實驗結果】依序為大家作進一步說明,完整範例程式請參考下方連結。

https://github.com/OmniXRI/Yolov4-tiny_Colab_User_Datasets

2019年12月20日 星期五

【OpenVINO™+RealSense™教學】土炮智能機器手臂之視覺系統

現代化工業機器手臂早已成為自動化工廠中不可或缺的最佳幫手,面對大量重複性及需要精密定位的工作,沒了它幾乎寸步難行。傳統的機器手臂需要有專業的工程師預先將工作(運動)路徑輸入(教導)到系統中,手臂才能依序執行指定的動作,但是這樣的作法只適用固定形狀及擺放位置的物件進行取放或加工。近年來隨著電腦視覺及3D(深度)感測技術的進步及高性能平價的計算平台陸續上市,幫機器手臂加上一雙明亮動人的眼睛,使其可以像人一般看到物件的形狀、擺放方式及位置,自動計算完手臂移動路徑及每個軸關節(馬達)運動距離、角度及速度後,便可伸手去拿取及放置到指定位置,已不再是遙不可及的夢想了。

雖然具有視覺能力的智能工業級的機器手臂已從數百萬降至數十萬元,算是相當便宜了,但這仍不是一般人玩的起的,那創客們是不是有機會自己土炮一台呢?這當然是有可能的,現在隨便花個數千元就能輕鬆在購物網站上買到相當不錯的迷你型多軸機器手臂(類手臂型、XYZ直交型、Delta三角錐型等),還想更省錢的創客們還可買一些小型步進馬達或大扭矩數位舵機、多軸運動控制板加上3D印表機或雷射切割機製作機構就有機會自己做一台機器手臂。那智能視覺部份怎麼辦呢?傳統的雙眼立體視覺(深度)計算及校正原理那麼難懂,沒有讀一堆數學和算法可是搞不定的,那該怎麼辦呢?不用擔心,現在的3D(深度)感測器(如Intel RealSense)已相當平價,約3000~6000元就能取得,不用學那些數學,就像使用網路攝影機一樣簡單,透過USB就能獲得彩色加深度(RGB-D)影像。有了硬體後最後加上開源深度學習(如Intel OpenVINO)、電腦視覺(如OpenCV)及一些加速運算工具(如Intel 神經運算棒)幫忙辨識物件及計算平面(XY)位置後,加上3D感測器提供的深度(Z)資訊,如此便可驅動機器手臂移動到指定空間(XYZ)座標抓取指定物件了。接下來就開始帶著大家了解如何建構「土炮智能機器手臂之視覺系統」。

【視覺型智能機器手臂】


一般常見的智能機器手臂視覺系統有很多做法,舉例來說可將深度攝影機裝在夾爪上方(如Fig. 1a所示),會隨著機器手臂移動,使用時手臂會先移動到某個位置讓深度攝影機計算待抓取的物件位置,再令手臂移動及抓取物件,這樣的好處是可以取得較理想的視角及較大的物件成像且不易有視線遮擋問題,但缺點是手眼校正系統較為複雜,取放精度會略差。另外一種作法則是反過來,外加一固定架安置深度攝影機(如Fig. 1b所示),機器手臂取物前要先移開讓深度攝影機可正確計算物件位置,接著再移動取物,若搭配高級結構光投影設備及高解析度攝影機來計算深度則其解析度可達公釐(mm)甚到更小等級。這裡為了讓大家把重點放在如何取得待抓取物的空間座標,所以暫時忽略機器手臂如何製作及控制的說明,僅以示意圖(如Fig. 1c所示)說明機構設計方式。整體概念上採XYZ直交型三軸機器手臂最為簡單易懂且容易實現。Z軸最前方裝上夾爪,而深度攝影機固定於Y軸上方不動。左右移動為X軸,上下移動為Y軸,方便滿足攝影機取像座標系統。而前後移動為Z軸,以符合深度攝影機深度影像輸出結果,越靠近攝影機Z值越小,反之越遠Z值越大。

Fig. 1機器手臂之視覺系統示意圖,(a)專業型機器手配移動式深度攝影機,(b)專業型機器手臂配上置型固定式深度攝影機,(c)土炮型XYZ直交型機器手臂配後置固定式深度攝影機系統概念圖。 (OmniXRI整理製作) (點擊圖放大)

2019年11月20日 星期三

【AI_Column】如何以YOLOv3訓練自己的資料集─以小蕃茄為例

在人工智慧電腦視覺領域中,最常見的應用包括影像分類、物件偵測、像素級物件影像分割(語義分割及實例分割),其中又以物件偵測應用範圍最廣。近年來物件偵測的算法(模型)不斷推陳出新,從最早的二階式(R-CNN, Fast R-CNN, Faster R-CNN)高精度算法演變到現在一階式(YOLO, SSD, R-FCN)高效算法。其中又以YOLO(You Only Look Once) [1]系列最受大家喜愛,目前已演進至第三代(以下簡稱YOLOv3),其主要搭配Microsoft COCO 物件偵測80分類[2]做為預設訓練資料集,如果只需偵測常見物件偵測(如人、動物、車輛等)那麼直接利用YOLO預訓練好的模型及權重值就可應用到實際場域了。不過這80類物件通常很難滿足我們的需求,因此如果我們想應用自己準備的資料集時,那如何收集(取像)、標註、訓練資料集及進行最後的推論就變得非常重要。接下來就以辨識(偵測)小蕃茄為例為大家介紹完整工作流程(如Fig.1所示)。

Fig. 1 建構、標註、訓練及推論自己的資料集工作流程。 (OmniXRI整理製作) (點擊圖片放大)

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

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