自己標記圖片進行yolov5訓練

Step1)建立類別標籤到classes.txt,在資料夾datasets\tra\train\images儲存圖片,使用labelimg標記圖片(參考使用labelimg編輯與標記圖片),將標記檔移動到datasets\tra\train\labels資料夾。

以下所有程式儲存在jupyter notebook內,程式下載coco2json.ipynb

Step2)重新命名圖片檔與標記檔。將以下程式放在datasets\tra\,會讀取train資料夾,並將images資料夾備份到images2,重新命名images2的圖片檔名到新建立的images資料夾,將labels資料夾備份到labels2,重新命名labels2的標記檔名到新建立的labels資料夾。

Step3)將datasets\tra\train\images資料夾的圖片,80%圖片為訓練集,20%圖片為驗證集。

Step4)將訓練及圖片檔案名稱儲存到datasets\tra\train\train.txt,驗證集檔案名稱儲存到datasets\tra\train\valid.txt

Step5)建立datasets\tra\train\classes.txt,

Step6)建立標頭

Step7)轉換成coco格式

Step8)在datasets\tra\train\anotations\產生train.json與val.json

Step9)在yolov5\data\tra.yaml,nc個數與names要跟classes.txt相同,train與val要指向datasets\tra\train\images

Step10)訓練資料集使用tra.yaml

python train.py --img 640 --batch 4 --epochs 50 --data tra.yaml --weights yolov5s.pt --name tra

Step11)測試是否成功辨識

python detect.py --source ..\datasets\tra\train\images\img0.jpg --weights runs\train\tra\weights\best.pt --conf 0.25