david8862/keras-YOLOv3-model-set
end-to-end YOLOv4/v3/v2 object detection pipeline, implemented on tf.keras with different technologies
What it solves
This project provides a comprehensive object detection pipeline based on the YOLO (You Only Look Once) family of models. It simplifies the process of implementing, training, and deploying object detection systems by offering a wide variety of pre-configured backbones, heads, and loss functions within the TensorFlow Keras framework.
How it works
The pipeline integrates several stages of the computer vision workflow:
- Model Construction: Users can mix and match various backbones (like CSPDarknet53, MobileNet, or EfficientNet) with different YOLO heads (v2, v3, v4) to create a custom architecture.
- Data Handling: It includes tools to convert datasets from Pascal VOC and COCO formats into a custom annotation format and visualize them.
- Training: The system supports advanced training techniques such as multiscale input, Mosaic data augmentation, and dynamic learning rate decay. It also supports multi-GPU training via
tf.distribute.MirroredStrategy. - Post-processing: It implements various bounding box refinement techniques, including SoftNMS, DIoU-NMS, and Weighted-Boxes-Fusion (WBF).
- Deployment: Models can be converted from Darknet weights to Keras and then exported for inference on devices using TensorFlow Lite or MNN.
Who it’s for
It is designed for developers and researchers who need a flexible, Keras-based implementation of YOLO for object detection, particularly those looking to deploy models on edge devices or those who want to experiment with different backbone architectures and loss functions.
Highlights
- Extensive Architecture Support: Includes a vast array of backbones (VGG16, Xception, GhostNet, etc.) and YOLO versions (v2, v3, v4).
- Diverse Loss Functions: Supports multiple localization losses including GIoU, DIoU, CIoU, and SIoU.
- Deployment Ready: Built-in support for TFLite and MNN Float32/UInt8 inference.
- Advanced Training Tools: Features Mosaic and GridMask augmentation, transfer learning from ImageNet, and model pruning (for TF 1.x).
Related
- Project
- Project
- Project
- Project
- Project