"# YOLOv4_label_recognition"
- 將專案下載至本機電腦
- darknet資料夾架構如下
- 原作者github: https://github.com/AlexeyAB/darknet
- 原作者提供論文: https://github.com/AlexeyAB/darknet/blob/master/README.md
- 參考資料A: https://mrhandbyhand.medium.com/hand-by-hand-train-your-yolov4-1-5f6a70618500
- 參考資料B: https://mrhandbyhand.medium.com/hand-by-hand-train-your-yolov4-kaggle-dataset-ac1456e06604
- 蒐集訓練圖片(自行蒐集)
- 使用labelimg定義訓練標籤(產出標籤檔yolo.txt)
- 使用labelimg產出classes.txt
- 將訓練圖片存放於data/images
- 將標籤檔存放於data/annotations
- 將classes.txt附檔名修改為names,並存放於data
- 執行data_split.py
- 於cfg資料夾複製一份yolov4.cfg至相同位置,並命名為train.cfg
- 手動變更以下資訊:
- batch = 64
- subdivisions = 16
- max_batches = 6000
- steps = 4800, 5400
- width = 416
- height = 416
- 三個 [yolo] 區塊的 classes 改成需辨識的類別數量。可以用搜尋的比較不會遺漏 classes = 3
- 三個 [yolo] 區塊的前一個 [convolution] 區塊的 filter 改成 (classes + 5) x 3 ,我們有 1 個類別所以是改為 18,記得有三個地方要修改 filters = 18
- 於data新增一個train.txt,並將副檔名修改為data
- 於文件內編輯以下資料(記得修改物件類別數量n) classes=n train=data/train/train.txt valid=data/dev/dev.txt names=data/classes.names backup=backup/
至目前為止,資料準備工作大致已完成,將資料上傳後打開,透過colab打開train.ipynb開始訓練
- 開啟train.ipynb,並逐步執行儲存格
- 預測結果如下圖(序號與條碼馬賽克處理)