1. 建立暫時使用的資料夾
這邊案例是RecyclingMachine, 因此資料夾名稱即為此。
內部共五個資料夾。(可依照個人習慣進行更換)
其中
1.1 Images資料夾,是在標籤前存放圖片的地方
1.2 Labels資料夾,是在標籤後存放圖片/標籤資料的地方
1.3 Yolo_Label資料夾,若你沒有要全用,可以直接在開一個資料夾針對已完成的部分進行。(全用就直接使用Label資料夾)
1.4 cfg資料夾,這是Yolo相關參數檔存放位置。每個案件可能使用的模型基礎不同或者參數不同。可用此方式區分。
1.5 TestImage資料夾,存放訓練後進行測試的圖片資料。

2. 為什麼需要分Labels與Yolo_Label?
這與模型使用的資料格式有關,圖片標註的格式差異可以分成三種:
- COCO (JSON 的格式)
- Pascal VOC (XML 格式)
- YOLO (一般文字格式)

這邊我所使用的是Labelimg,因此產出格式是xml。需要轉換成Yolo使用的純文字檔格式
若考慮到常用,也可以寫支小程式進行資料轉換。
但請注意需要轉換公式:
轉換公式:
x = (xmin + (xmax-xmin)/2) * 1.0 / image_w
y = (ymin + (ymax-ymin)/2) * 1.0 / image_h
w = (xmax-xmin) * 1.0 / image_w
h = (ymax-ymin) * 1.0 / image_h
Yolo格式
[類別編號] [Center_X] [Center_Y] [Width] [Height]
- 類別編號 指標籤時,定義的名稱順序編號
- Center_X 指透過上述轉換公式得到的x
- Center_Y 指透過上述轉換公式得到的y
- Width 指透過上述轉換公式得到的w
- Height 指透過上述轉換公式得到的h
一個txt檔一筆資料,資料欄位中間用一般空白鍵區分
這邊很重要一件事(我也採坑了)
如果使用Labelimg,請注意xml資料內。是否有width, height欄位資料。否則轉換公式無法使用。只能採用外部設定。


採坑後產生結果,可看到後兩位沒有資料0.0。這是不正常的情況。

下面這個才是正確的結果:
3. cfg資料夾
主要檔案有四個

3.1 obj.data (用文字檔編輯)
################檔案內容
classes= 2
train = .../RecyclingMachine/cfg/train.txt
valid = .../RecyclingMachine/cfg/test.txt
names = .../RecyclingMachine/cfg/obj.names
backup = .../RecyclingMachine/cfg/weights/
################檔案內容
這檔案就是存放路徑的地方! "..."就是你的跟目錄的路徑,請修改成實際路徑。
3.2 obj.name
################檔案內容
glass jar
aluminum can
tin can
PVE bottle
PVC bottle
Tetra Pak
################檔案內容
這邊就是分類的類別名稱。順序必須跟Labeling時一致。否則會造成分錯類的情況。
3.3 test.txt
################檔案內容
.../TestImage/00001.bmp
.../TestImage/00009.bmp
.../TestImage/00012.bmp
################檔案內容
這邊就是填寫你要的辨識圖片,提供快速測試的部分。"..."請修改成實際路徑。
3.4 train.txt
################檔案內容
.../Yolo_Label/00001.bmp
.../Yolo_Label/00002.bmp
.../Yolo_Label/00003.bmp
.../Yolo_Label/00004.bmp
.../Yolo_Label/00005.bmp
.../Yolo_Label/00006.bmp
.../Yolo_Label/00007.bmp
.../Yolo_Label/00008.bmp
.../Yolo_Label/00009.bmp
.../Yolo_Label/00010.bmp
.../Yolo_Label/00011.bmp
.../Yolo_Label/00012.bmp
.../Yolo_Label/00013.bmp
.../Yolo_Label/00014.bmp
.../Yolo_Label/00015.bmp
.../Yolo_Label/00016.bmp
.../Yolo_Label/00019.bmp
################檔案內容
這邊就是填寫你要的辨識圖片,提供快速測試的部分。"..."請修改成實際路徑。
到這邊基本上,你已經解鎖了一個職稱。[資料標記工程師] 一職了。恭喜~
但這份工作內容也是需要反覆看資料進行正確標籤的工作。重複性高,資料量大。需要注意
----------------------------------------------------------------------------------------
請先 登入 以發表留言。