Coder Social home page Coder Social logo

yolov5_tf's Introduction

YoloVx(yolov5/yolov4/yolov3/yolo_tiny)

Tensorflow

  1. Install NVIDIA driver
  2. Install CUDA10.1 and cudnn7.5
  3. Install Anaconda3, download website
  4. Install tensorflow, such as "sudo pip install tensorflow>=1.15 or tensorflow > 2.0" etc.

Introduction

A tensorflow implementation of YOLOv5 inspired by https://github.com/ultralytics/yolov5.

A tensorflow implementation of YOLOv4 inspired by https://github.com/AlexeyAB/darknet.

Frame code from https://github.com/YunYang1994/tensorflow-yolov3.

Backbone: Darknet53; CSPDarknet53[1], Mish[2]; MobileNetV2; MobileNetV3(large and small)

Neck: SPP[3], PAN[4];

Head: YOLOv5/YOLOv4(Mish), YOLOv3(Leaky_ReLU)[10];

Loss: DIOU CIOU[5], Focal_Loss[6]; Other: Label_Smoothing[7];

Environment

Python 3.6.8

Tensorflow 1.13.1 or Tensorflow 2.0 up

Quick Start

  1. Download YOLOv5 weights from yolov5.weights.
  2. Download YOLOv4 weights from yolov4.weights.
  3. Convert the Darknet YOLOv4 model to a tf model.
  4. Train Yolov5/Yolov4/Yolov3/Yolo_tiny.
  5. Run Yolov5/Yolov4/Yolov3/Yolo_tiny detection.

Convert weights

Running from_darknet_weights_to_ckpt.py will get tf yolov4 weight file yolov4_coco.ckpt.

python scripts/from_darknet_weights_to_ckpt.py

Running ckpt2pb.py will get tf yolov4 weight file yolov4.pb.

python scripts/ckpt2pb.py

Or running from_darknet_weights_to_pb.py directly.

python scripts/from_darknet_weights_to_pb.py

Train

In core/config.py add your own path.

usage: python train.py gpu_id net_type(yolov5/yolov4/yolov3/tiny)

python train.py 0 yolov5

Usage

Inference

python test.py
python demo.py

Reference

[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

Acknowledgment

keras_yolov3 https://github.com/qqwweee/keras-yolo3.

keras_yolov4 https://github.com/Ma-Dan/keras-yolo4.

yolov5_tf's People

Contributors

avbuffer avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.