david8862/keras-YOLOv3-model-set
end-to-end YOLOv4/v3/v2 object detection pipeline, implemented on tf.keras with different technologies
解決的問題
本專案提供基於 YOLO(You Only Look Once)系列模型的完整物件檢測流程。透過在 TensorFlow Keras 框架中提供多種預設配置的骨幹網路、檢測頭與損失函數,簡化物件檢測系統的實作、訓練與部署流程。
工作原理
此流程整合了電腦視覺工作流程的多個階段:
- 模型建構:使用者可自由組合各種骨幹網路(如 CSPDarknet53、MobileNet 或 EfficientNet)與不同 YOLO 檢測頭(v2、v3、v4),建立自訂架構。
- 資料處理:內建工具可將 Pascal VOC 與 COCO 格式的資料集轉換為自訂標註格式,並支援可視化。
- 訓練:支援多尺度輸入、Mosaic 資料增強、動態學習率衰減等進階訓練技術。同時支援透過
tf.distribute.MirroredStrategy實作多 GPU 訓練。 - 後處理:實作多種邊界框優化技術,包括 SoftNMS、DIoU-NMS 與 Weighted-Boxes-Fusion(WBF)。
- 部署:支援將 Darknet 權重轉換為 Keras 模型,並導出為 TensorFlow Lite 或 MNN 格式,用於裝置端推論。
適用對象
專為需要靈活、基於 Keras 的 YOLO 物件檢測實作之開發者與研究人員設計,特別適合希望在邊緣裝置上部署模型,或想嘗試不同骨幹網路架構與損失函數的使用者。
主要亮點
- 廣泛的架構支援:涵蓋大量骨幹網路(如 VGG16、Xception、GhostNet 等)與 YOLO 版本(v2、v3、v4)。
- 多樣化的損失函數:支援多種定位損失,包括 GIoU、DIoU、CIoU 與 SIoU。
- 部署就緒:內建支援 TFLite 與 MNN Float32/UInt8 推論。
- 進階訓練工具:支援 Mosaic 與 GridMask 增強、從 ImageNet 進行遷移學習,以及模型剪枝(適用於 TF 1.x)。
相關
- 專案
- 專案
- 專案
- 專案
- 專案