pytorch-yolo-v3 - A PyTorch implementation of the YOLO v3 object detection algorithm

  •        48

[UPDATE] : This repo serves as a driver code for my research. I just graduated college, and am very busy looking for research internship / fellowship roles before eventually applying for a masters. I won't have the time to look into issues for the time being. Thank you. This repository contains code for a object detector based on YOLOv3: An Incremental Improvement, implementedin PyTorch. The code is based on the official code of YOLO v3, as well as a PyTorch port of the original code, by marvis. One of the goals of this code is to improve upon the original port by removing redundant parts of the code (The official code is basically a fully blown deep learning library, and includes stuff like sequence models, which are not used in YOLO). I've also tried to keep the code minimal, and document it as well as I can.

https://github.com/ayooshkathuria/pytorch-yolo-v3

Tags
Implementation
License
Platform

   




Related Projects

YOLO_v3_tutorial_from_scratch - Accompanying code for Paperspace tutorial series "How to Implement YOLO v3 Object Detector from Scratch"

  •    Python

About when is the training code coming? I have my undergraduate thesis this May, and will be busy. So, you might have to wait for a till the second part of May.

PyTorch-YOLOv3 - Minimal PyTorch implementation of YOLOv3

  •    Python

Minimal implementation of YOLOv3 in PyTorch. Abstract We present some updates to YOLO! We made a bunch of little design changes to make it better. We also trained this new network that’s pretty swell. It’s a little bigger than last time but more accurate. It’s still fast though, don’t worry. At 320 × 320 YOLOv3 runs in 22 ms at 28.2 mAP, as accurate as SSD but three times faster. When we look at the old .5 IOU mAP detection metric YOLOv3 is quite good. It achieves 57.9 AP50 in 51 ms on a Titan X, compared to 57.5 AP50 in 198 ms by RetinaNet, similar performance but 3.8× faster. As always, all the code is online at https://pjreddie.com/yolo/.

pytorch-yolo2 - Convert https://pjreddie.com/darknet/yolo/ into pytorch

  •    Python

Convert https://pjreddie.com/darknet/yolo/ into pytorch. This repository is trying to achieve the following goals. We get the results by using Focal Loss to replace CrossEntropyLoss in RegionLosss.

android-yolo - Real-time object detection on Android using the YOLO network with TensorFlow

  •    C++

android-yolo is the first implementation of YOLO for TensorFlow on an Android device. It is compatible with Android Studio and usable out of the box. It can detect the 20 classes of objects in the Pascal VOC dataset: aeroplane, bicycle, bird, boat, bottle, bus, car, cat, chair, cow, dining table, dog, horse, motorbike, person, potted plant, sheep, sofa, train and tv/monitor. The network only outputs one predicted bounding box at a time for now. The code can and will be extended in the future to output several predictions. To use this demo first clone the repository. Download the TensorFlow YOLO model and put it in android-yolo/app/src/main/assets. Then open the project on Android Studio. Once the project is open you can run the project on your Android device using the Run 'app' command and selecting your device.


YOLO_Object_Detection - This is the code for "YOLO Object Detection" by Siraj Raval on Youtube

  •    Python

Real-time object detection and classification. Paper: version 1, version 2. Read more about YOLO (in darknet) and download weight files here. In case the weight file cannot be found, I uploaded some of mine here, which include yolo-full and yolo-tiny of v1.0, tiny-yolo-v1.1 of v1.1 and yolo, tiny-yolo-voc of v2.

darkflow - Translate darknet to tensorflow

  •    Python

Real-time object detection and classification. Paper: version 1, version 2. Read more about YOLO (in darknet) and download weight files here. In case the weight file cannot be found, I uploaded some of mine here, which include yolo-full and yolo-tiny of v1.0, tiny-yolo-v1.1 of v1.1 and yolo, tiny-yolo-voc of v2.

pytorch-caffe-darknet-convert - convert between pytorch, caffe prototxt/weights and darknet cfg/weights

  •    Python

This repository is specially designed for pytorch-yolo2 to convert pytorch trained model to any platform. It can also be used as a common model converter between pytorch, caffe and darknet. MIT License (see LICENSE file).

lightnet - 🌓 Bringing pjreddie's DarkNet out of the shadows #yolo

  •    C

LightNet provides a simple and efficient Python interface to DarkNet, a neural network library written by Joseph Redmon that's well known for its state-of-the-art object detection models, YOLO and YOLOv2. LightNet's main purpose for now is to power Prodigy's upcoming object detection and image segmentation features. However, it may be useful to anyone interested in the DarkNet library. Once you've downloaded LightNet, you can install a model using the lightnet download command. This will save the models in the lightnet/data directory. If you've installed LightNet system-wide, make sure to run the command as administrator.

YOLO-CoreML-MPSNNGraph - Tiny YOLO for iOS implemented using CoreML but also using the new MPS graph API

  •    Swift

This is the source code for my blog post YOLO: Core ML versus MPSNNGraph. YOLO is an object detection network. It can detect multiple objects in an image and puts bounding boxes around these objects. Read my other blog post about YOLO to learn more about how it works.

pytorch-segmentation-detection - Image Segmentation and Object Detection in Pytorch

  •    Jupyter

So far, the library contains an implementation of FCN-32s (Long et al.), Resnet-18-8s, Resnet-34-8s (Chen et al.) image segmentation models in Pytorch and Pytorch/Vision library with training routine, reported accuracy, trained models for PASCAL VOC 2012 dataset. To train these models on your data, you will have to write a dataloader for your dataset. Models for Object Detection will be released soon.

OpenLabeling - Open Source labeling tool to generate the training data in the format YOLO requires.

  •    Python

Bounding box labeler tool to generate the training data in the format YOLO v2 requires. The idea is to use OpenCV so that later it uses SIFT and Tracking algorithms to make labeling easier.

keras-yolo3 - Training and Detecting Objects with YOLO3

  •    Python

Grab the pretrained weights of yolo3 from https://pjreddie.com/media/files/yolov3.weights. Download the Raccoon dataset from from https://github.com/experiencor/raccoon_dataset.

tensornets - High level network definitions with pre-trained weights in TensorFlow

  •    Python

High level network definitions with pre-trained weights in TensorFlow (tested with >= 1.1.0). You can install TensorNets from PyPI (pip install tensornets) or directly from GitHub (pip install git+https://github.com/taehoonlee/tensornets.git).

semantic-segmentation-pytorch - Pytorch implementation for Semantic Segmentation/Scene Parsing on MIT ADE20K dataset

  •    Python

This is a PyTorch implementation of semantic segmentation models on MIT ADE20K scene parsing dataset. This module differs from the built-in PyTorch BatchNorm as the mean and standard-deviation are reduced across all devices during training. The importance of synchronized batch normalization in object detection has been recently proved with a an extensive analysis in the paper MegDet: A Large Mini-Batch Object Detector, and we empirically find that it is also important for segmentation.

fpn.pytorch - Pytorch implementation of Feature Pyramid Network (FPN) for Object Detection

  •    Python

It is pure Pytorch code. We convert all the numpy implementations to pytorch. It supports trainig batchsize > 1. We revise all the layers, including dataloader, rpn, roi-pooling, etc., to train with multiple images at each iteration.

CarND-Vehicle-Detection - Vehicle detection using YOLO in Keras runs at 21FPS

  •    Jupyter

This is a project for Udacity self-driving car Nanodegree program. The aim of this project is to detect the vehicles in a dash camera video. The implementation of the project is in the file vehicle_detection.ipynb. This implementation is able to achieve 21FPS without batching processing. The final video output is here. In this README, each step in the pipeline will be explained in details.

mAP - mean Average Precision - This code evaluates the performance of your neural net for object recognition

  •    Python

This code will evaluate the performance of your neural net for object recognition. In practice, a higher mAP value indicates a better performance of your neural net, given your ground-truth and set of classes.

simple-faster-rcnn-pytorch - A simplified implemention of Faster R-CNN that replicate performance from origin paper

  •    Jupyter

VGG16 train on trainval and test on test split. Note: the training shows great randomness, you may need a bit of luck and more epoches of training to reach the highest mAP. However, it should be easy to surpass the lower bound.

pytorch-faster-rcnn - 0.4 updated. Support cpu test and demo.

  •    Jupyter

The main differences between new and old master branch are in this two commits: 9d4c24e, c899ce7 The change is related to this issue; master now matches all the details in tf-faster-rcnn so that we can now convert pretrained tf model to pytorch model. A pytorch implementation of faster RCNN detection framework based on Xinlei Chen's tf-faster-rcnn. Xinlei Chen's repository is based on the python Caffe implementation of faster RCNN available here.