All Projects → pmj110119 → YOLOX_deepsort_tracker

pmj110119 / YOLOX_deepsort_tracker

Licence: other
using yolox+deepsort for object-tracking

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to YOLOX deepsort tracker

yolo-deepsort-flask
Target detection and multi target tracking platform based on Yolo DeepSort and Flask.
Stars: ✭ 29 (-87.28%)
Mutual labels:  yolo, yolov3, deep-sort, deepsort
simpleAICV-pytorch-ImageNet-COCO-training
SimpleAICV:pytorch training example on ImageNet(ILSVRC2012)/COCO2017/VOC2007+2012 datasets.Include ResNet/DarkNet/RetinaNet/FCOS/CenterNet/TTFNet/YOLOv3/YOLOv4/YOLOv5/YOLOX.
Stars: ✭ 276 (+21.05%)
Mutual labels:  yolov3, yolov5, yolox
Deep sort pytorch
MOT using deepsort and yolov3 with pytorch
Stars: ✭ 1,948 (+754.39%)
Mutual labels:  yolov3, deep-sort, deepsort
YOLO-Streaming
Push-pull streaming and Web display of YOLO series
Stars: ✭ 56 (-75.44%)
Mutual labels:  yolov3, yolov5, yolox
Yolov5
YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
Stars: ✭ 19,914 (+8634.21%)
Mutual labels:  yolo, yolov3, yolov5
Deep sort yolov3
Real-time Multi-person tracker using YOLO v3 and deep_sort with tensorflow
Stars: ✭ 1,590 (+597.37%)
Mutual labels:  tracker, yolov3, deep-sort
YOLOX
YOLOX is a high-performance anchor-free YOLO, exceeding yolov3~v5 with MegEngine, ONNX, TensorRT, ncnn, and OpenVINO supported. Documentation: https://yolox.readthedocs.io/
Stars: ✭ 6,570 (+2781.58%)
Mutual labels:  yolo, yolov3, yolox
miemiedetection
Pytorch implementation of YOLOX、PPYOLO、PPYOLOv2、FCOS an so on.
Stars: ✭ 52 (-77.19%)
Mutual labels:  yolo, yolov3, yolox
Yolov3
YOLOv3 in PyTorch > ONNX > CoreML > TFLite
Stars: ✭ 8,159 (+3478.51%)
Mutual labels:  yolo, yolov3, yolov5
Yolov5-deepsort-driverDistracted-driving-behavior-detection
基于深度学习的驾驶员分心驾驶行为(疲劳+危险行为)预警系统使用YOLOv5+Deepsort实现驾驶员的危险驾驶行为的预警监测
Stars: ✭ 107 (-53.07%)
Mutual labels:  tracker, deepsort, yolov5
JSON2YOLO
Convert JSON annotations into YOLO format.
Stars: ✭ 222 (-2.63%)
Mutual labels:  yolo, yolov3, yolov5
Vehicle-Detection
Vehicle Detection Using Deep Learning and YOLO Algorithm
Stars: ✭ 96 (-57.89%)
Mutual labels:  yolo, yolov5
darknet
php ffi darknet
Stars: ✭ 21 (-90.79%)
Mutual labels:  yolo, yolov3
yolov5-deepsort-tensorrt
A c++ implementation of yolov5 and deepsort
Stars: ✭ 207 (-9.21%)
Mutual labels:  deepsort, yolov5
Tracking-with-darkflow
Real-time people Multitracker using YOLO v2 and deep_sort with tensorflow
Stars: ✭ 522 (+128.95%)
Mutual labels:  tracker, yolo
yolo deepsort
Fast MOT base on yolo+deepsort, support yolo3 and yolo4
Stars: ✭ 47 (-79.39%)
Mutual labels:  yolov3, deepsort
Alturos.ImageAnnotation
A collaborative tool for labeling image data for yolo
Stars: ✭ 47 (-79.39%)
Mutual labels:  yolo, yolov3
YOLOv4MLNet
Use the YOLO v4 and v5 (ONNX) models for object detection in C# using ML.Net
Stars: ✭ 61 (-73.25%)
Mutual labels:  yolo, yolov5
pytorch YOLO OpenVINO demo
No description or website provided.
Stars: ✭ 73 (-67.98%)
Mutual labels:  yolov3, yolov5
food-detection-yolov5
🍔🍟🍗 Food analysis baseline with Theseus. Integrate object detection, image classification and multi-class semantic segmentation. 🍞🍖🍕
Stars: ✭ 68 (-70.18%)
Mutual labels:  yolo, yolov5

YOLOX_deepsort_tracker


🎉 How to use

↳ Tracker example

from tracker import Tracker

tracker = Tracker()    # instantiate Tracker

cap = cv2.VideoCapture('test.mp4')  # open one video

while True:
    _, im = cap.read() # read frame from video
    if im is None:
       break
    
    img_visual, bbox = tracker.update(img)  # feed one frame and get result
    
    cv2.imshow('demo', img_visual)	# imshow
    cv2.waitKey(1)
    if cv2.getWindowProperty('demo', cv2.WND_PROP_AUTOSIZE) < 1:
        break

cap.release()
cv2.destroyAllWindows()

Tracker uses YOLOX as detector to get each target's boundingbox, and use deepsort to get every bbox's ID.

↳ Select specific category

If you just want to track only some specific categories, you can set by param filter_classes.

For example:

tracker = Tracker(filter_classes=['car','person']) 

↳ Detector example

If you don't need tracking and just want to use YOLOX for object-detection, you can use the class Detector to inference easliy .

For example:

from detector import Detector
import cv2
detector = Detector() # instantiate Detector

img = cv2.imread('YOLOX/assets/dog.jpg') 	# load image
result = detector.detect(img) 	# detect targets

img_visual = result['visual'] 	 # visualized image
cv2.imshow('detect', img_visual) # imshow
cv2.waitKey(0)

You can also get more information like raw_img/boudingbox/score/class_id from the result of detector.

🎨 Install

  1. Clone the repository recursively:

    git clone --recurse-submodules https://github.com/pmj110119/YOLOX_deepsort_tracker.git

    If you already cloned and forgot to use --recurse-submodules you can run git submodule update --init(clone最新的YOLOX仓库)

  2. Make sure that you fulfill all the requirements: Python 3.8 or later with all requirements.txt dependencies installed, including torch>=1.7. To install, run:

    pip install -r requirements.txt

Select a YOLOX family model

  1. train your own model or just download pretrained models from https://github.com/Megvii-BaseDetection/YOLOX

    Model size mAPtest
    0.5:0.95
    Speed V100
    (ms)
    Params
    (M)
    FLOPs
    (G)
    weights
    YOLOX-s 640 39.6 9.8 9.0 26.8 onedrive/github
    YOLOX-m 640 46.4 12.3 25.3 73.8 onedrive/github
    YOLOX-l 640 50.0 14.5 54.2 155.6 onedrive/github
    YOLOX-x 640 51.2 17.3 99.1 281.9 onedrive/github
    YOLOX-Darknet53 640 47.4 11.1 63.7 185.3 onedrive/github

    Download yolox_s.pth to the folder weights , which is the default model path of Tracker.

  2. You can also use other yolox models as detector,. For example:

    """
    YOLO family: yolox-s, yolox-m, yolox-l, yolox-x, yolox-tiny, yolox-nano, yolov3
    """
    # yolox-s example
    detector = Tracker(model='yolox-s', ckpt='./yolox_s.pth')
    # yolox-m example
    detector = Tracker(model='yolox-m', ckpt='./yolox_m.pth')

🌹 Run demo

python demo.py --path=test.mp4
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].