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)。

相关

  • 项目
  • 项目
  • 项目
  • 项目
  • 项目