All Projects → tugot17 → YOLO-Object-Counting-API

tugot17 / YOLO-Object-Counting-API

Licence: GPL-3.0 license
The code of the Object Counting API, implemented with the YOLO algorithm and with the SORT algorithm

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to YOLO-Object-Counting-API

car-detection-yolo
Autonomous driving - car detection using the very powerful YOLO model
Stars: ✭ 73 (-44.27%)
Mutual labels:  yolo, yolov2
VideoRecognition-realtime-autotrainer-alerts
State of the art object detection in real-time using YOLOV3 algorithm. Augmented with a process that allows easy training of the classifier as a plug & play solution . Provides alert if an item in an alert list is detected.
Stars: ✭ 36 (-72.52%)
Mutual labels:  yolo, yolov2
tfjs-yolo
YOLO v3 and Tiny YOLO v1, v2, v3 with Tensorflow.js
Stars: ✭ 108 (-17.56%)
Mutual labels:  yolo, yolov2
vehicle-detection
Detect vehicles in a video
Stars: ✭ 88 (-32.82%)
Mutual labels:  yolo, vehicle-detection
go-darknet
Go bindings for Darknet (YOLO v4 / v3)
Stars: ✭ 56 (-57.25%)
Mutual labels:  yolo, yolov2
darknet
php ffi darknet
Stars: ✭ 21 (-83.97%)
Mutual labels:  yolo, yolov2
odam
ODAM - Object detection and Monitoring
Stars: ✭ 16 (-87.79%)
Mutual labels:  vehicle-detection, pedestrian-detection
Custom-Object-Detection-using-Darkflow
Make custom objects dataset and detect them using darkflow. Darkflow is a tensorflow translation of Darknet.
Stars: ✭ 21 (-83.97%)
Mutual labels:  yolo, yolov2
PyTorch-YOLO-v2
A PyTorch implementation of a YOLO v2 Object Detector
Stars: ✭ 14 (-89.31%)
Mutual labels:  yolo, yolov2
OpenCvSharpDnnYolo
Yolo With OpenCvSharp Dnn
Stars: ✭ 25 (-80.92%)
Mutual labels:  yolo, yolov2
Vehicle Detection Yolo Ver
real-time Vehicle Detection( tiny YOLO ver) and HOG+SVM method
Stars: ✭ 111 (-15.27%)
Mutual labels:  yolo, vehicle-detection
lightDenseYOLO
A real-time object detection app based on lightDenseYOLO Our lightDenseYOLO is the combination of two components: lightDenseNet as the CNN feature extractor and YOLO v2 as the detection module
Stars: ✭ 20 (-84.73%)
Mutual labels:  yolo, yolov2
Yolo Vehicle Counter
This project aims to count every vehicle (motorcycle, bus, car, cycle, truck, train) detected in the input video using YOLOv3 object-detection algorithm.
Stars: ✭ 28 (-78.63%)
Mutual labels:  yolo, vehicle-detection
Alturos.ImageAnnotation
A collaborative tool for labeling image data for yolo
Stars: ✭ 47 (-64.12%)
Mutual labels:  yolo, yolov2
Carnd Vehicle Detection
Vehicle detection using YOLO in Keras runs at 21FPS
Stars: ✭ 367 (+180.15%)
Mutual labels:  yolo, vehicle-detection
VehicleDetection
Detect and track vehicles in video
Stars: ✭ 50 (-61.83%)
Mutual labels:  vehicle-tracking, vehicle-detection
Udacity-CarND-Vehicle-Detection-and-Tracking
Term 1, Project 5 - Udacity Self Driving Car Nanodegree
Stars: ✭ 20 (-84.73%)
Mutual labels:  vehicle-tracking, vehicle-detection
Vechicle-Detection-Tracking
Vehicle detection and tracking using linear SVM classifier
Stars: ✭ 15 (-88.55%)
Mutual labels:  vehicle-tracking, vehicle-detection
object-tracking
Multiple Object Tracking System in Keras + (Detection Network - YOLO)
Stars: ✭ 89 (-32.06%)
Mutual labels:  yolo, yolov2
Yolo-v2-pytorch
YOLO for object detection tasks
Stars: ✭ 327 (+149.62%)
Mutual labels:  yolo, yolov2

YOLO-Object-Counting-API

Real time Object Counting api. Implemented with the YOLO algorithm and with the SORT algorithm

The implementation is using model in same format as darkflow and darknet. Weight files, as well as cfg files can be found here. Darklow supports only YOLOv1 and YOLOv2. Support for YOLOv3 has not yet been implemented.

In order to achieve the best performance, you should have Cuda and tensorflow-gpu installed on Your device.

Demo

Count objects of a specified class crossing a virtual line

Counting pedestrains

Highway traffic counting

Count objects on a video

Count objects on a single frame

Set up

Dependencies

-tensorflow 1.0
-numpy
-opencv 3

Getting started

You can choose one of the following three ways to get started with darkflow.

  1. Just build the Cython extensions in place. NOTE: If installing this way you will have to use ./flow in the cloned darkflow directory instead of flow as darkflow is not installed globally.

    python3 setup.py build_ext --inplace
    
  2. Let pip install darkflow globally in dev mode (still globally accessible, but changes to the code immediately take effect)

    pip3 install -e .
    
  3. Install with pip globally

    pip3 install .
    

Required files

The YOLO algoritym impementation used in this project requires 3 files. Configuration of network (.cfg), trained weights (.weights) and labels.txt.

YOLO implementation used in this project enables usage of YOLOv1 and YOLOv2, and its tiny versions. Support for YOLOv3 has not yet been implemented.

.cfg files

Configuration file determines a network architecture. Configurations can be found here. In example scripts we assume that the configuration is placed in cfg/ folder. Location of used .cfg file is specyfied in the options object used in the code.

The .cfg file can be downloaded using the following command:

wget https://raw.githubusercontent.com/pjreddie/darknet/master/cfg/yolov2.cfg -O cfg/yolov2.cfg

.weights files

The .weights files contain trained parameters of a network. In example scripts we assume the weights are placed in bin/ folder. Location of used .weights file is specyfied in the options object used in the code.

The .weights file can be downloaded using the following command:

wget https://pjreddie.com/media/files/yolov2.weights -O bin/yolov2.weights

labels.txt files

This file is list of classes detected by a YOLO netowork. It shoud contain as many classes as it is specyfied in a .cfg file.

Run counting

Once You have all dependencies instaled and all required files You can start counting objects. Object counting is carried out by an ObjectCuntingAPI object.

Examples of counting below

Count cars on crosing a virtual line

python3 count_cars_crosing_virtual_line.py

Count objects on video from Video Camera

python3 count_objects_from_camera.py

Count people on image

python3 count_people_on_image.py

Credits

The following open source projects were used in the implementation

Darkflow

The YOLO algorithm impementation - Darkflow

Python Traffic Counter

Object counting with YOLO and SORT. Similar project, but instead of using the darklow YOLO implementation, it uses the opencv YOLO implementation, so there is no GPU acceleration.

Deep Sort

Object tracking and counting - SORT

Images and Videos sources

Highway surveillance video

Pedestrian surveillance video

Authors

License

This project is licensed under the GNU General Public License v3.0 - see the LICENSE file for details

That's all.

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].