2024年12月11日 星期三

C# 用Yolo做目標檢測

Purpose:
因為最近在做Data Labeling的工作, 想說利用C#導入YOLO Model 辨識物件偵測的演算法, 來做圖片的影像辨識!
開發環境:
1. Microsoft Visual Studio Community 2022 (64 位元) - Current版本 17.12.3
2. NuGet - YoloSharp Package
3. NuGet -Microsoft.ML.OnnxRuntime Package

圖一: NuGet Package
圖二: 程式效果
圖三: 程式效果
圖四: 程式效果
Yolo (You only look once)
Yolo 是屬於物件偵測 (object detection)類神經網路演算法。物件偵測是屬於電腦視覺中比較簡單的任務,可以在一張圖片中找到某些特定的物體,同時物件偵測不僅要求我們識別這些物體的種類,同時要求我們標出這些物體的位置。

VS2022 程式介面與架構
介面安排如下:
圖五: 程式物件Layout
圖六:程式coding
Program is put into Github respository !
https://docs.ultralytics.com/zh/models/yolo11/#overview

2024年12月2日 星期一

Data Labeling 學習

機器學習依賴大量高質量的資料來實現革命性的應用。要更好地理解資料標註的重要性,必須了解不同類型的機器學習:監督式學習、非監督式學習和強化學習。
監督式學習是最常見也是最強大的機器學習應用之一,從垃圾郵件檢測到自駕車檢測人、車和其他障礙物都有使用。監督式學習使用大量有標籤的數據來訓練模型,以準確地分類數據或預測結果。
為了創建高品質的監督式學習模型,您需要大量具有高質量標籤的數據。那麼,如何標記數據呢?首先,您需要確定誰將標記您的數據。建立標記團隊有幾種不同的方法,每種方法都有其優點、缺點和考慮因素。讓我們首先考慮是最好讓人類參與標記過程,完全依賴自動化數據標記,還是結合兩種方法。

CVAT(Computer Vision Annotation Tool)
CVAT(Computer Vision Annotation Tool)是一個開源的計算機視覺標註工具,它提供了一個方便易用的界面,用於創建和維護標註數據集。CVAT具有強大的功能,可以標註圖像和視頻數據,並支持不同的標註類型,如邊界框、遮罩和關鍵點等。它是一個非常有用的工具,尤其是對於計算機視覺項目和研究人員來說。
訓練電腦視覺模型需要許多標注過的圖片,而這些過程會消耗大量的時間。為了節省時間,有人致力於開發好用的影像標註軟體,其中之一是 Computation Vision Annotation Tool(CVAT) 。原本由Intel開發,然後在2022年轉為由OpenCV維護的開源專案。
CVAT的用途非常廣泛,它可以應用於各種領域,包括目標檢測、物體追蹤、行為識別等。對於機器學習和深度學習模型的訓練來說,標註數據集是非常重要的一步,CVAT提供了一個方便且高效的方式來標註數據,以幫助模型更好地理解和學習圖像和視頻數據。