轉換方式:參考《第26天》YOLO訓練流程與資料集COCO json格式,修改資料夾路徑後,執行xml_to_coco_labelpy。
執行結果
2.1 train2017
2.2 val2017
2.3 annotations
資料夾內容
instances_train2017(以JSON Editor Online呈現)
instances_val2017(以JSON Editor Online呈現)
參數修改
1.1 yolox_s_ocr.py參數檔
複製./YOLOX/exps/example/custom/yolox_s.py
,建立客製化的./YOLOX/exps/example/custom/yolox_s_ocr.py
設定參數。
# 資料集與COCO格式標籤路徑
self.data_dir = "datasets/ocr"
self.train_ann = "instances_train2017.json"
self.val_ann = "instances_val2017.json"
# 資料集類別數量(coco128有71個類別)
self.num_classes = 34
# 模型迭代次數
self.max_epoch = 50
# 影響資料前處理速度,通常使用4或8
self.data_num_workers = 4
1.2 coco_classes.py:開啟./YOLOX/yolox/data/datasets/coco_classes.py
,將COCO_CLASSES = ( ) 中的類別,修改成ocr的34個類別。
訓練模型
2.1 訓練參數:batch size=1、image size=640、epochs=50
2.2 GPU占用:5.863G
訓練結果
3.1 mAP@0.5:0.8161
3.2 訓練50epochs花費:14分12秒(0.2367小時)
訓練條件
1.1 batch size為1。
1.2 epoch為50。
1.3 輸入圖片尺寸為640。
1.4 設備:CPU為10700K、GPU為RTX2060S(8Gb)。
OCR效能比對(鋼胚字元辨識)
結論
3.1 YOLOX之鋼胚字元辨識表現最佳:mAP為0.816,遠超其餘的4個OD模型。
3.2 根據上述實驗結果,初步推測YOLOX具有下列優勢。
3.3 未來研究方向
讓我們繼續看下去...