• Stars
    star
    178
  • Rank 214,989 (Top 5 %)
  • Language
    Jupyter Notebook
  • License
    GNU General Publi...
  • Created over 4 years ago
  • Updated over 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Train a yolo v5 object detection model on Bdd100k dataset

YOLO V5s Bdd100k training

The following documents is necessary for my project:

  • models/custom_yolov5s.yaml
  • models/uc_data.yaml
  • data/bdd100k.names
  • weights/yolov5s.pt
  • yolov5s_training_bdd100k.ipynb
  • Bdd_preprocessing.ipynb

The process documents of training with pre-trained weights located in the runs/exp0_yolov5s_bdd_prew

The process documents of training from scratch located in the yolov5s_bdd100k/runs/exp1_yolov5s_bdd

The yolov5s model arcitecture image is yolov5s_bdd.png

The 4k test.video was shown in the bilibili website: https://www.bilibili.com/video/BV1sz4y1Q7wi/

I provide the preprocessed Bdd100k dataset: https://1drv.ms/u/s!An7G4eYRvZzthI5HCnVaEGvrdiDWAw?e=v6C4US

YOLO V5 Originial Readme

This repository represents Ultralytics open-source research into future object detection methods, and incorporates our lessons learned and best practices evolved over training thousands of models on custom client datasets with our previous YOLO repository https://github.com/ultralytics/yolov3. All code and models are under active development, and are subject to modification or deletion without notice. Use at your own risk.

** GPU Speed measures end-to-end time per image averaged over 5000 COCO val2017 images using a V100 GPU with batch size 8, and includes image preprocessing, PyTorch FP16 inference, postprocessing and NMS.

  • June 22, 2020: PANet updates: new heads, reduced parameters, faster inference and improved mAP 364fcfd.
  • June 19, 2020: FP16 as new default for smaller checkpoints and faster inference d4c6674.
  • June 9, 2020: CSP updates: improved speed, size, and accuracy (credit to @WongKinYiu for CSP).
  • May 27, 2020: Public release of repo. YOLOv5 models are SOTA among all known YOLO implementations.
  • April 1, 2020: Start development of future YOLOv3/YOLOv4-based PyTorch models in a range of compound-scaled sizes.

Pretrained Checkpoints

Model APval APtest AP50 SpeedGPU FPSGPU params FLOPS
YOLOv5s 36.6 36.6 55.8 2.1ms 476 7.5M 13.2B
YOLOv5m 43.4 43.4 62.4 3.0ms 333 21.8M 39.4B
YOLOv5l 46.6 46.7 65.4 3.9ms 256 47.8M 88.1B
YOLOv5x 48.4 48.4 66.9 6.1ms 164 89.0M 166.4B
YOLOv3-SPP 45.6 45.5 65.2 4.5ms 222 63.0M 118.0B

** APtest denotes COCO test-dev2017 server results, all other AP results in the table denote val2017 accuracy.
** All AP numbers are for single-model single-scale without ensemble or test-time augmentation. Reproduce by python test.py --img 736 --conf 0.001
** SpeedGPU measures end-to-end time per image averaged over 5000 COCO val2017 images using a GCP n1-standard-16 instance with one V100 GPU, and includes image preprocessing, PyTorch FP16 image inference at --batch-size 32 --img-size 640, postprocessing and NMS. Average NMS time included in this chart is 1-2ms/img. Reproduce by python test.py --img 640 --conf 0.1
** All checkpoints are trained to 300 epochs with default settings and hyperparameters (no autoaugmentation).

Requirements

Python 3.7 or later with all requirements.txt dependencies installed, including torch >= 1.5. To install run:

$ pip install -U -r requirements.txt

Tutorials

Inference

Inference can be run on most common media formats. Model checkpoints are downloaded automatically if available. Results are saved to ./inference/output.

$ python detect.py --source file.jpg  # image 
                            file.mp4  # video
                            ./dir  # directory
                            0  # webcam
                            rtsp://170.93.143.139/rtplive/470011e600ef003a004ee33696235daa  # rtsp stream
                            http://112.50.243.8/PLTV/88888888/224/3221225900/1.m3u8  # http stream

To run inference on examples in the ./inference/images folder:

$ python detect.py --source ./inference/images/ --weights yolov5s.pt --conf 0.4

Namespace(agnostic_nms=False, augment=False, classes=None, conf_thres=0.4, device='', fourcc='mp4v', half=False, img_size=640, iou_thres=0.5, output='inference/output', save_txt=False, source='./inference/images/', view_img=False, weights='yolov5s.pt')
Using CUDA device0 _CudaDeviceProperties(name='Tesla P100-PCIE-16GB', total_memory=16280MB)

Downloading https://drive.google.com/uc?export=download&id=1R5T6rIyy3lLwgFXNms8whc-387H0tMQO as yolov5s.pt... Done (2.6s)

image 1/2 inference/images/bus.jpg: 640x512 3 persons, 1 buss, Done. (0.009s)
image 2/2 inference/images/zidane.jpg: 384x640 2 persons, 2 ties, Done. (0.009s)
Results saved to /content/yolov5/inference/output

Reproduce Our Training

Download COCO, install Apex and run command below. Training times for YOLOv5s/m/l/x are 2/4/6/8 days on a single V100 (multi-GPU times faster). Use the largest --batch-size your GPU allows (batch sizes shown for 16 GB devices).

$ python train.py --data coco.yaml --cfg yolov5s.yaml --weights '' --batch-size 64
                                         yolov5m                                48
                                         yolov5l                                32
                                         yolov5x                                16

Reproduce Our Environment

To access an up-to-date working environment (with all dependencies including CUDA/CUDNN, Python and PyTorch preinstalled), consider a:

Citation

DOI

About Us

Ultralytics is a U.S.-based particle physics and AI startup with over 6 years of expertise supporting government, academic and business clients. We offer a wide range of vision AI services, spanning from simple expert advice up to delivery of fully customized, end-to-end production solutions, including:

  • Cloud-based AI systems operating on hundreds of HD video streams in realtime.
  • Edge AI integrated into custom iOS and Android apps for realtime 30 FPS video inference.
  • Custom data training, hyperparameter evolution, and model exportation to any destination.

For business inquiries and professional support requests please visit us at https://www.ultralytics.com.

Contact

Issues should be raised directly in the repository. For business inquiries or professional support requests please visit https://www.ultralytics.com or email Glenn Jocher at [email protected].

More Repositories

1

SFND_Lidar_Obstacle_Detection

SFND_Lidar_Obstacle_Detection
Makefile
136
star
2

SFND_Radar_Target_Detection

Project for Udacity's Sensor Fusion Engineer Nanodegree Program - Radar Target detection
MATLAB
97
star
3

lidar_to_camera

Projection of Lidar 3d point cloud to 2d image plane
C++
90
star
4

SFND_Unscented_Kalman_Filter

Unscented_Kalman_Filter, CTRV model, Sensor fusion of lidar and radar, multiobject detection
C++
57
star
5

SFND_2D_Feature_Tracking

Opencv 2D_Feature_Tracking keypoints detector/descriptor/matcher/selector
C++
43
star
6

CarND-Extended-Kalman-Filter

Udacity CarND-Extended-Kalman-Filter project
C++
43
star
7

SFND_3D_Object_Tracking

3d object tracking using camera and lidar, collision avoidance system and time-to-collision calculation
C++
20
star
8

CarND-Kidnapped-Vehicle

Udacity CarND-Kidnapped-Vehicle project
C++
13
star
9

CarND-Path-Planning

Udacity CarND-Path-Planning project
C++
10
star
10

CarND-Unscented-Kalman-Filter-Project

Unscented-Kalman-Filter, CTRV model, Sensor fusion of lidar and radar
C++
8
star
11

Udacity-CarND-capstone-CarlaAI

Udacity-CarND-capstone-system intergration
CMake
5
star
12

CarND-LaneLines-P1

Udacity CarND-LaneLines-P1 project
Jupyter Notebook
4
star
13

CarND-PID-Control

Udacity CarND-PID-Control project
C++
4
star
14

Yolov3-ipython

Yolov3 network architecture and implementation
Jupyter Notebook
3
star
15

CarNd-Traffic-Light-Classification

Udacity CarNd Capstone project traffic light classification with object detection models
Jupyter Notebook
3
star
16

CarND-Behavioral-Cloning-P3

Udacity CarND-Behavioral-Cloning-P3 project
HTML
2
star
17

CarND-Traffic-Sign-Classifier

Udacity CarND-Traffic-Sign-Classifier project
HTML
2
star
18

Figurebed

Figurebed
1
star
19

CarND-Advanced-Lane-Lines

Udacity CarND-Advanced-Lane-Lines project
Python
1
star