一、背景說明
最近因工作需要接觸 YOLOv11 進行物件"偵測"、"分割"作業,其中最核心之一除了算法的優化外莫過於優良的數據集。筆者透過 Udemy、YouTube、优快云 等多元管道教程中選擇了"Label-Studio"及"ReboFlow"進行標註作業。
這兩個軟體可謂各有千秋,前者屬於開源項目上手容易可在內網部屬,但無法執行影像增強且須手動進行(train,valied,test)分類;後者屬於付費工具,提供影像增強、類別分配和線上模型訓練、分析等功能,但每月有一定的免費 credits 額度,也算足夠使用,當然最重要的一點是兩者皆可自動標註且相互導出導入,結合彼此優勢一起使用。
# 本文以"Roboflow"進行紀實
與 Label-Studio 相同的是 Roboflow 也是以 WEB 模式操作:官方網站(操作手冊)
從零至一可分為以下幾個區域:
創建"Workspace"(存放項目的空間)
創建"Project"(存放數據集的項目)
建立、管理"Class"
上傳"Dataset"(圖、文、影、像,可含標註(txt))
建立、標註、分配"Data"
應用、下載"Dataset"(用於線下訓練,或轉入其他平台)
訓練、評估"Model"(用於線上訓練)
二、用戶管理
01.進入"Roboflow"官網:https://roboflow.com
02.點擊"Get Started"

02.根據自身習慣進行登入,本案以"Continue with Email"為例
03.待"Email"輸入完畢後,需要進入郵件中"收信",並透過其中超鏈接跳轉進入

三、應用紀實(1/7):創建 Workspace
01.在左側導覽欄中,找到 Workspaces 中點擊">"
02.點擊"+"

03.根據需求類別選擇、填寫信息:
[1] Name Your Workspace => "空間名稱"(可自行定義)
[2] Select Plan => "訂閱版本",默認為"Public Plan"(免費但數據公開)
04.點擊"Continue",即可建立新的 Workspace

PS:免費版本僅能建立1個"Public Workspace"

四、應用紀實(2/7):創建"Project"
01.點擊"Projects"
02.點擊"New Project"

03.根據需求類別選擇、填寫信息:
[1] Project Name => "項目名稱"(自行定義)
[2] Visibility => "訪問權限",默認為"Public"(免費但數據公開)
[3] Project Type => "項目類型"(後續不可相互切換,若選錯只能重建)
04.點擊"Create Public Project"

五、應用紀實(3/7):建立、管理"Class"
01.點擊"Class & Tags"
02.根據需要進行管理:
[1] 新增 => 點擊" + Add"
[2] 編輯、刪除 => 點擊"Modify Classes"

六、應用紀實(4/7):上傳"Dataset"
01.點擊"Upload Data"
02.根據是否包含文本,進行上傳作業:
[1] 不含標註文本
[1.1] 點擊"Select Files(s)" 或"Select Folder" 或"拖拽文件進網頁"
[1.2] 選擇"要上傳的文件"
[1.3] 待上傳完成後,將數據集分配給標註的人員:
[1.3.1] 單人作業 => 點擊"Label Myself",本案以"個人標註"為例
[1.3.2] 多人作業 => 點擊"Label My Team"
[2] 包含標註文本
[2.1] 點擊"Select Files(s)" 或"Select Folder" 或"拖拽文件進網頁"
[2.2] 選擇"要上傳的文件含文本"
[2.3] 將已標註數據集,進行分類:
[2.3.1] 按比例分配 => "Split Images Between Train/Valied/Test"
[2.3.2] 全部分配給某一類 => "Add All Images to XXX Set"
*** 後續會對類別 Train/Valied/Test 進行說明 ***
七、應用紀實(5/7):建立、標註、分配"Data"
目前根據訓練需要,我們需要將已完成標註的數據集需要分配進三個區塊,分別為:Train,Valied,Test 的集合中,對應的用途如下說明,為保證模型的客觀性與準確性,同一張圖、文、影、像需具有唯一性,千萬不要重複出現在任一的模塊中,否則容易影響後續訓練的客觀性和準確性
[Training set(訓練集合)] 一言以蔽之:拿來學習的圖像集合
The vast majority of your images will go here for training your model.
[Valid set(驗證集合)] 一言以蔽之:驗證學習後成果的影像集合,若效果不理想繼續學習Images here will be used during training to test how well the model is doing in order to get feedback for improvement.
[Test set(測試集合)] 一言以蔽之:正式拿來考試的影像集合
After training is done, the test set is used to see how well the model performs on images it hasn't used for training. This gives you a better sense of how your model will perform in production.
01.進入標註準備介面:
[1] 如果是從上傳數據集,會直接跳轉到以下畫面(請跳至步驟 02)

[2] 如果是從左側導覽欄,會先中轉到以下畫面(需繼續操作)
[2.1] 點擊"Annotate",可看見三個區塊:
Unassigned Images | Annotating | Dataset
[Unassigned Images(未分配的圖像)] 一言以蔽之:暫時 or 永久不要用 的圖像
These are uploaded images that are auto-batched for easy assignment to users. These are images with no annotations and no assigned labelers.
[Annotating(標註中的圖像)] 一言以蔽之:已標註但未分配 or 未標註 的圖像
Once a batch is assigned to a user for annotation, it will appear as an annotation job in the Annotating column. Deleting images from the Annotating column will send them back to the Unassigned column as a batch.
[Dataset(已標註且已分配的圖像)] 一言以蔽之:已標註且已分配進,可投入訓練的數據集
Once an annotation job is complete, those images can be added to the Dataset, a group of annotated images ready for training. Deleting images from the Dataset column will send them back to the Unassigned column as a batch.
[2.2] 在"Annotating"區塊中,點擊"Start Annotating"可回到 [2.1] 中
02.選擇、點擊"任一數據"可進入到標註介面
03.開始根據需要進行"標註"作業
PS:同 Label Studio 一樣, Roboflow 也有類似的快捷鍵:
"D" 托拽模式,如果點擊標註框在按會對該標註框進到編輯模式,可增刪移節點
"P" 標註模式-多邊形 | "B" 標註模式-矩形
"Ctrl" 切換模式:托拽 or 標註
"+/-" or "Ctrl + 鼠標滾輪" 縮放影像
"Enter" 保存標註 | "ESC" 取消標註
此外筆者覺得它有個不錯的功能:影像處理,可以調整明亮、對比等
04.待完成全部標註或自己意願,分配標註的數據集(不必張張馬上處理):
[1] 點擊"✓"
[2] 將已標註數據集,進行分類:
[2.1] 按比例分配 => "Split Images Between Train/Valied/Test"
[2.2] 全部分配給某一類 => "Add All Images to XXX Set"

PS:若不以上述方式進行分配或不小心關閉也無妨,數據會存在"Annotate"中的"Annotated"裡,再點擊"Add Images to Dataset"進行分配即可

05.完成後,可在"Dataset"進行查看當前所有標註的數據
PS:若標註數據汙染或想要刪除,Roboflow支持版本回朔,每次上傳輸具都會進行紀錄,可回到"Annotate"中的"Dataset"裡,再點擊"..."進行調整即可
PS:若想查看標註狀況,可在左側導覽欄中點擊"Analytics"查看相關細節:
Number of Images => 數據集現有圖像的張數
Number of Annotations => 其中又包含了多少標註框
八、應用紀實(6/7):應用、下載"Dataset"
01.在左側導覽欄中,點擊"Versions"
02.點擊"Create New Version"
PS:若要調用以前的 Version 直接選擇即可,後續操作除"03 參數設定"皆一致

03.針對版本進行參數設定:
[1] Source Images => 設定"要使用的數據集範圍"
[2] Train/Test Split => 設定"數據集分配比例"
[3] Preprocessing => 設定"影像處理"(張張處理,包含影像增強後的圖像)
[4] Augmentation=> 設定"影像增強"
[5] Create => 設定"影像增強的張數"
[6] 點擊"Create",即可新建 Version

04.點擊"Download Dataset"
05.選擇"使用的版本",本案以"YOLOv11"為例
06.選擇"下載方式",本案以"傳統下載方式"為例,也可透過指令進行下載
07.點擊"Continue",即可完成數據集導出

九、應用紀實(7/7):訓練、評估"Model"
警告:本文到此皆屬必要作為,訓練會消耗大量 Credits 非必要可轉至本地訓練
如想嘗試需特別注意,每個月只有 30 Credits 的額度月底刷新,歸零將影響部分,當然不介意的話可以使用"鈔"能力!
01.在左側導覽欄中,點擊"Versions"
02.找到要訓練的 Version,點擊"Custom Train"

02.根據需求進行設定:
[1] Select Model Architecture => 設定"要應用的模型方向"
[2] Select Model Size => 設定"訓練傾向"(效率 vs 效果)
[3] Model Type => 設定"預訓練模型"(可選擇歷史或全新模型)
[4] 點擊"Okay",即可開始線上訓練
PS:可關閉網頁或執行其他操作不影響訓練

03.待訓練完成後,點擊"View Model"可查看訓練成果


PS:也可以從左側導覽欄中"Models"中選擇要查看的"模型"進入









883

被折叠的 条评论
为什么被折叠?



