All Projects โ†’ uvipen โ†’ Yolo V2 Pytorch

uvipen / Yolo V2 Pytorch

Licence: mit
YOLO for object detection tasks

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Yolo V2 Pytorch

Cnn Paper2
๐ŸŽจ ๐ŸŽจ ๆทฑๅบฆๅญฆไน  ๅท็งฏ็ฅž็ป็ฝ‘็ปœๆ•™็จ‹ ๏ผšๅ›พๅƒ่ฏ†ๅˆซ๏ผŒ็›ฎๆ ‡ๆฃ€ๆต‹๏ผŒ่ฏญไน‰ๅˆ†ๅ‰ฒ๏ผŒๅฎžไพ‹ๅˆ†ๅ‰ฒ๏ผŒไบบ่„ธ่ฏ†ๅˆซ๏ผŒ็ฅž็ป้ฃŽๆ ผ่ฝฌๆข๏ผŒGAN็ญ‰๐ŸŽจ๐ŸŽจ https://dataxujing.github.io/CNN-paper2/
Stars: โœญ 77 (-74.5%)
Mutual labels:  object-detection, deep-neural-networks, cnn, deeplearning
Tracking With Darkflow
Real-time people Multitracker using YOLO v2 and deep_sort with tensorflow
Stars: โœญ 515 (+70.53%)
Mutual labels:  object-detection, deep-neural-networks, yolo
Hierarchical Attention Networks Pytorch
Hierarchical Attention Networks for document classification
Stars: โœญ 239 (-20.86%)
Mutual labels:  deep-neural-networks, cnn, deeplearning
Bmw Tensorflow Training Gui
This repository allows you to get started with a gui based training a State-of-the-art Deep Learning model with little to no configuration needed! NoCode training with TensorFlow has never been so easy.
Stars: โœญ 736 (+143.71%)
Mutual labels:  object-detection, deep-neural-networks, deeplearning
Bmw Yolov4 Training Automation
This repository allows you to get started with training a state-of-the-art Deep Learning model with little to no configuration needed! You provide your labeled dataset or label your dataset using our BMW-LabelTool-Lite and you can start the training right away and monitor it in many different ways like TensorBoard or a custom REST API and GUI. NoCode training with YOLOv4 and YOLOV3 has never been so easy.
Stars: โœญ 533 (+76.49%)
Mutual labels:  object-detection, deeplearning, yolo
Servenet
Service Classification based on Service Description
Stars: โœญ 21 (-93.05%)
Mutual labels:  deep-neural-networks, cnn, deeplearning
Yolo Tf2
yolo(all versions) implementation in keras and tensorflow 2.4
Stars: โœญ 695 (+130.13%)
Mutual labels:  object-detection, deep-neural-networks, yolo
Quickdraw
Implementation of Quickdraw - an online game developed by Google
Stars: โœญ 805 (+166.56%)
Mutual labels:  deep-neural-networks, cnn, deeplearning
Ssd Pytorch
SSD: Single Shot MultiBox Detector pytorch implementation focusing on simplicity
Stars: โœญ 107 (-64.57%)
Mutual labels:  object-detection, deep-neural-networks, deeplearning
Deep learning object detection
A paper list of object detection using deep learning.
Stars: โœญ 10,334 (+3321.85%)
Mutual labels:  object-detection, deep-neural-networks, deeplearning
Caffe2 Ios
Caffe2 on iOS Real-time Demo. Test with Your Own Model and Photos.
Stars: โœญ 221 (-26.82%)
Mutual labels:  object-detection, deep-neural-networks, yolo
Yolo V3 Iou
YOLO3 ๅŠจๆผซไบบ่„ธๆฃ€ๆต‹ (Based on keras and tensorflow) 2019-1-19
Stars: โœญ 116 (-61.59%)
Mutual labels:  object-detection, cnn, yolo
Jacinto Ai Devkit
Training & Quantization of embedded friendly Deep Learning / Machine Learning / Computer Vision models
Stars: โœญ 49 (-83.77%)
Mutual labels:  object-detection, cnn, deeplearning
Mobilenet Yolo
MobileNetV2-YoloV3-Nano: 0.5BFlops 3MB HUAWEI P40: 6ms/img, YoloFace-500k:0.1Bflops 420KB๐Ÿ”ฅ๐Ÿ”ฅ๐Ÿ”ฅ
Stars: โœญ 1,566 (+418.54%)
Mutual labels:  object-detection, cnn, yolo
Deepstream Yolo
NVIDIA DeepStream SDK 5.1 configuration for YOLO models
Stars: โœญ 166 (-45.03%)
Mutual labels:  object-detection, deep-neural-networks, yolo
Yolodet Pytorch
reproduce the YOLO series of papers in pytorch, including YOLOv4, PP-YOLO, YOLOv5๏ผŒYOLOv3, etc.
Stars: โœญ 206 (-31.79%)
Mutual labels:  object-detection, yolo
Nanodet
โšกSuper fast and lightweight anchor-free object detection model. ๐Ÿ”ฅOnly 980 KB(int8) / 1.8MB (fp16) and run 97FPS on cellphone๐Ÿ”ฅ
Stars: โœญ 3,640 (+1105.3%)
Mutual labels:  object-detection, deep-neural-networks
Mxnet Yolo
YOLO: You only look once real-time object detector
Stars: โœญ 240 (-20.53%)
Mutual labels:  object-detection, yolo
Pine
๐ŸŒฒ Aimbot powered by real-time object detection with neural networks, GPU accelerated with Nvidia. Optimized for use with CS:GO.
Stars: โœญ 202 (-33.11%)
Mutual labels:  object-detection, yolo
Retinaface
The remake of the https://github.com/biubug6/Pytorch_Retinaface
Stars: โœญ 226 (-25.17%)
Mutual labels:  object-detection, deeplearning

[PYTORCH] YOLO (You Only Look Once)

Introduction

Here is my pytorch implementation of the model described in the paper YOLO9000: Better, Faster, Stronger paper.


An example of my model's output.

How to use my code

With my code, you can:

  • Train your model from scratch
  • Train your model with my trained model
  • Evaluate test images with either my trained model or yours

Requirements:

  • python 3.6
  • pytorch 0.4
  • opencv (cv2)
  • tensorboard
  • tensorboardX (This library could be skipped if you do not use SummaryWriter)
  • numpy

Datasets:

I used 4 different datases: VOC2007, VOC2012, COCO2014 and COCO2017. Statistics of datasets I used for experiments is shown below

Dataset Classes #Train images/objects #Validation images/objects
VOC2007 20 5011/12608 4952/-
VOC2012 20 5717/13609 5823/13841
COCO2014 80 83k/- 41k/-
COCO2017 80 118k/- 5k/-

Create a data folder under the repository,

cd {repo_root}
mkdir data
  • VOC: Download the voc images and annotations from VOC2007 or VOC2012. Make sure to put the files as the following structure:

    VOCDevkit
    โ”œโ”€โ”€ VOC2007
    โ”‚   โ”œโ”€โ”€ Annotations  
    โ”‚   โ”œโ”€โ”€ ImageSets
    โ”‚   โ”œโ”€โ”€ JPEGImages
    โ”‚   โ””โ”€โ”€ ...
    โ””โ”€โ”€ VOC2012
        โ”œโ”€โ”€ Annotations  
        โ”œโ”€โ”€ ImageSets
        โ”œโ”€โ”€ JPEGImages
        โ””โ”€โ”€ ...
    
  • COCO: Download the coco images and annotations from coco website. Make sure to put the files as the following structure:

    COCO
    โ”œโ”€โ”€ annotations
    โ”‚   โ”œโ”€โ”€ instances_train2014.json
    โ”‚   โ”œโ”€โ”€ instances_train2017.json
    โ”‚   โ”œโ”€โ”€ instances_val2014.json
    โ”‚   โ””โ”€โ”€ instances_val2017.json
    โ”‚โ”€โ”€ images
    โ”‚   โ”œโ”€โ”€ train2014
    โ”‚   โ”œโ”€โ”€ train2017
    โ”‚   โ”œโ”€โ”€ val2014
    โ”‚   โ””โ”€โ”€ val2017
    โ””โ”€โ”€ anno_pickle
        โ”œโ”€โ”€ COCO_train2014.pkl
        โ”œโ”€โ”€ COCO_val2014.pkl
        โ”œโ”€โ”€ COCO_train2017.pkl
        โ””โ”€โ”€ COCO_val2017.pkl
    

Setting:

  • Model structure: In compared to the paper, I changed structure of top layers, to make it converge better. You could see the detail of my YoloNet in src/yolo_net.py.
  • Data augmentation: I performed dataset augmentation, to make sure that you could re-trained my model with small dataset (~500 images). Techniques applied here includes HSV adjustment, crop, resize and flip with random probabilities
  • Loss: The losses for object and non-objects are combined into a single loss in my implementation
  • Optimizer: I used SGD optimizer and my learning rate schedule is as follows:
Epoches Learning rate
0-4 1e-5
5-79 1e-4
80-109 1e-5
110-end 1e-6
  • In my implementation, in every epoch, the model is saved only when its loss is the lowest one so far. You could also use early stopping, which could be triggered by specifying a positive integer value for parameter es_patience, to stop training process when validation loss has not been improved for es_patience epoches.

Trained models

You could find all trained models I have trained in YOLO trained models

Training

For each dataset, I provide 2 different pre-trained models, which I trained with corresresponding dataset:

  • whole_model_trained_yolo_xxx: The whole trained model.
  • only_params_trained_yolo_xxx: The trained parameters only.

You could specify which trained model file you want to use, by the parameter pre_trained_model_type. The parameter pre_trained_model_path then is the path to that file.

If you want to train a model with a VOC dataset, you could run:

  • python3 train_voc.py --year year: For example, python3 train_voc.py --year 2012

If you want to train a model with a COCO dataset, you could run:

  • python3 train_coco.py --year year: For example, python3 train_coco.py --year 2014

If you want to train a model with both COCO datasets (training set = train2014 + val2014 + train2017, val set = val2017), you could run:

  • python3 train_coco_all.py

Test

For each type of dataset (VOC or COCO), I provide 3 different test scripts:

If you want to test a trained model with a standard VOC dataset, you could run:

  • python3 test_xxx_dataset.py --year year: For example, python3 test_coco_dataset.py --year 2014

If you want to test a model with some images, you could put them into the same folder, whose path is path/to/input/folder, then run:

  • python3 test_xxx_images.py --input path/to/input/folder --output path/to/output/folder: For example, python3 train_voc_images.py --input test_images --output test_images

If you want to test a model with a video, you could run :

  • python3 test_xxx_video.py --input path/to/input/file --output path/to/output/file: For example, python3 test_coco_video --input test_videos/input.mp4 --output test_videos/output.mp4

Experiments:

I trained models in 2 machines, one with NVIDIA TITAN X 12gb GPU and the other with NVIDIA quadro 6000 24gb GPU.

The training/test loss curves for each experiment are shown below:

  • VOC2007 voc2007 loss
  • VOC2012 voc2012 loss
  • COCO2014 coco2014 loss
  • COCO2014+2017 coco2014_2017 loss

Statistics for mAP will be updated soon ...

Results

Some output predictions for experiments for each dataset are shown below:

  • VOC2007

  • VOC2012

  • COCO2014

  • COCO2014+2017

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].