- Install tensorflow, such as "sudo pip install tensorflow>=1.15 or tensorflow > 2.0" etc.
A tensorflow implementation of YOLOv5 inspired by https://github.com/ultralytics/yolov5.
Head: YOLOv5/YOLOv4(Mish), YOLOv3(Leaky_ReLU)[10];
Loss: DIOU CIOU[5], Focal_Loss[6]; Other: Label_Smoothing[7];
Python 3.6.8
Tensorflow 1.13.1 or Tensorflow 2.0 up
-
Download YOLOv5 weights from yolov5.weights.
-
Train Yolov5.
-
Run Yolov5.
In core/config.py add your own path.
usage: python train.py gpu_id net_type(yolov5)
python train.py 0 yolov5
Inference
python test.py
python demo.py
[1] Cross Stage Partial Network (CSPNet)
[2] A Self Regularized Non-Monotonic Neural Activation Function
[3] Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition
[4] Path Aggregation Network for Instance Segmentation
[5] Distance-IoU Loss: Faster and Better Learning for Bounding Box Regression
[6] Focal Loss for Dense Object Detection
[7] When Does Label Smoothing Help?
[8] Convolutional Block Attention Module
[9] YOLOv4: Optimal Speed and Accuracy of Object Detection
[10] YOLOv3: An Incremental Improvement
[11] Aggregated Residual Transformations for Deep Neural Networks
keras_yolov3 https://github.com/qqwweee/keras-yolo3.
keras_yolov4 https://github.com/Ma-Dan/keras-yolo4.