All Projects → jwchoi384 → Gaussian_yolov3

jwchoi384 / Gaussian_yolov3

Licence: other
Gaussian YOLOv3: An Accurate and Fast Object Detector Using Localization Uncertainty for Autonomous Driving (ICCV, 2019)

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Gaussian yolov3

Ailab
Experience, Learn and Code the latest breakthrough innovations with Microsoft AI
Stars: ✭ 6,896 (+1008.68%)
Mutual labels:  object-detection, dnn
Opentpod
Open Toolkit for Painless Object Detection
Stars: ✭ 106 (-82.96%)
Mutual labels:  object-detection, dnn
Yolo mark
GUI for marking bounded boxes of objects in images for training neural network Yolo v3 and v2
Stars: ✭ 1,624 (+161.09%)
Mutual labels:  object-detection, dnn
Mmdetection Annotated
mmdetection源码注释
Stars: ✭ 544 (-12.54%)
Mutual labels:  object-detection
Keras Yolov3 Mobilenet
I transfer the backend of yolov3 into Mobilenetv1,VGG16,ResNet101 and ResNeXt101
Stars: ✭ 552 (-11.25%)
Mutual labels:  object-detection
Yolov3
Keras implementation of yolo v3 object detection.
Stars: ✭ 585 (-5.95%)
Mutual labels:  object-detection
Weighted Boxes Fusion
Set of methods to ensemble boxes from different object detection models, including implementation of "Weighted boxes fusion (WBF)" method.
Stars: ✭ 610 (-1.93%)
Mutual labels:  object-detection
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 (-14.31%)
Mutual labels:  object-detection
Centermask2
Real-time Anchor-Free Instance Segmentation, in CVPR 2020
Stars: ✭ 596 (-4.18%)
Mutual labels:  object-detection
Ai Basketball Analysis
🏀🤖🏀 AI web app and API to analyze basketball shots and shooting pose.
Stars: ✭ 582 (-6.43%)
Mutual labels:  object-detection
Centernet2
Two-stage CenterNet
Stars: ✭ 496 (-20.26%)
Mutual labels:  object-detection
Cv paperdaily
CV 论文笔记
Stars: ✭ 555 (-10.77%)
Mutual labels:  object-detection
Deep Learning For Hackers
Machine Learning tutorials with TensorFlow 2 and Keras in Python (Jupyter notebooks included) - (LSTMs, Hyperameter tuning, Data preprocessing, Bias-variance tradeoff, Anomaly Detection, Autoencoders, Time Series Forecasting, Object Detection, Sentiment Analysis, Intent Recognition with BERT)
Stars: ✭ 586 (-5.79%)
Mutual labels:  object-detection
Curve Text Detector
This repository provides train&test code, dataset, det.&rec. annotation, evaluation script, annotation tool, and ranking.
Stars: ✭ 551 (-11.41%)
Mutual labels:  object-detection
Simplecvreproduction
Reproduce simple cv project including attention module, classification, object detection, segmentation, keypoint detection, tracking 😄 etc.
Stars: ✭ 602 (-3.22%)
Mutual labels:  object-detection
Yolov5 ncnn
🍅 Deploy NCNN on mobile phones. Support Android and iOS. 移动端NCNN部署,支持Android与iOS。
Stars: ✭ 535 (-13.99%)
Mutual labels:  object-detection
Photonix
This is a new web-based photo management application. Run it on your home server and it will let you find the right photo from your collection on any device. Smart filtering is made possible by object recognition, location awareness, color analysis and other ML algorithms.
Stars: ✭ 592 (-4.82%)
Mutual labels:  object-detection
Yolov3 pytorch
Full implementation of YOLOv3 in PyTorch
Stars: ✭ 570 (-8.36%)
Mutual labels:  object-detection
Detectorch
Detectorch - detectron for PyTorch
Stars: ✭ 566 (-9%)
Mutual labels:  object-detection
Vehicle counting tensorflow
🚘 "MORE THAN VEHICLE COUNTING!" This project provides prediction for speed, color and size of the vehicles with TensorFlow Object Counting API.
Stars: ✭ 582 (-6.43%)
Mutual labels:  object-detection

Gaussian YOLOv3: An Accurate and Fast Object Detector Using Localization Uncertainty for Autonomous Driving

Gaussian YOLOv3 implementation

This repository contains the code for our ICCV 2019 Paper

The proposed algorithm is implemented based on the YOLOv3 official code.

The provided example weight file ("Gaussian_yolov3_BDD.weights") is not the weight file used in the paper, but newly trained weight for release code validation. Because this weight file is more accurate than the weight used in the paper, we provide this file in the repository.

Poster

Citation

@InProceedings{Choi_2019_ICCV,
author = {Choi, Jiwoong and Chun, Dayoung and Kim, Hyun and Lee, Hyuk-Jae},
title = {Gaussian YOLOv3: An Accurate and Fast Object Detector Using Localization Uncertainty for Autonomous Driving},
booktitle = {The IEEE International Conference on Computer Vision (ICCV)},
month = {October},
year = {2019}
}

Requirements

The code was tested on

Ubuntu 16.04, NVIDIA GTX 1080 Ti with CUDA 8.0 and cuDNNv7, OpenCV 3.4.0

Ubuntu 16.04, NVIDIA Titan Xp with CUDA 9.0 and cuDNNv7, OpenCV 3.3.0

Setup

Please see the YOLOv3 website instructions setup

Dataset

We tested our algorithm using Berkeley deep drive (BDD) dataset.

If you want to use BDD dataset, please see BDD website and download the dataset.

Training

For training, you must make image list file (e.g., "train_bdd_list.txt") and ground-truth data. Please see these websites: YOLOv3, How to train YOLO

List files ("train_bdd_list.txt", "val_bdd_list.txt", "test_bdd_list.txt") in the repository are an example. You must modify the directory of the file name in the list to match the path where the dataset is located on your computer.

Download pre-trained weights darknet53.conv.74

Download the code

git clone https://github.com/jwchoi384/Gaussian_YOLOv3
cd Gaussian_YOLOv3

Compile the code

make

Set batch=64 and subdivisions=16 in the cfg file.

We used 4 gpus in our experiment. If your computer runs out of GPU memory when training, please increase subdivision size in the cfg file.

Start training by using the command line

./darknet detector train cfg/BDD.data cfg/Gaussian_yolov3_BDD.cfg darknet53.conv.74

If you want to use multiple gpus,

./darknet detector train cfg/BDD.data cfg/Gaussian_yolov3_BDD.cfg darknet53.conv.74 -gpus 0,1,2,3

Inference

Download the Gaussian_YOLOv3 example weight file. Gaussian_yolov3_BDD.weights

Set batch=1 and subdivisions=1 in the cfg file.

Run the following commands.

  1. make
  2. ./darknet detector test cfg/BDD.data cfg/Gaussian_yolov3_BDD.cfg Gaussian_yolov3_BDD.weights data/example.jpg

You can see the result:

Evaluation

Download the Gaussian_YOLOv3 example weight file. Gaussian_yolov3_BDD.weights

For evaluation, you MUST change the batch and subdivision size in cfg file. Like this: batch = 1, subdivision = 1

Run the following commands. You can get a detection speed of more than 42 FPS.

  1. make

  2. ./darknet detector valid cfg/BDD.data cfg/Gaussian_yolov3_BDD.cfg Gaussian_yolov3_BDD.weights

  3. cd bdd_evaluation/ (We got this code from https://github.com/ucbdrive/bdd-data)

  4. python evaluate.py det gt_bdd_val.json ../results/bdd_results.json

You will get:

AP : 9.45 (bike)
AP : 40.28 (bus)
AP : 40.56 (car)
AP : 8.66 (motor)
AP : 16.85 (person)
AP : 10.59 (rider)
AP : 7.91 (traffic light)
AP : 23.15 (traffic sign)
AP : 0.00 (train)
AP : 40.28 (truck)
[9.448295420802772, 40.28022967768842, 40.562338308273596, 8.658317480713093, 16.85103955706777, 10.588396343004272, 7.914563796458698, 23.147189144825003, 0.0, 40.27786994583501] 

9.45 40.28 40.56 8.66 16.85 10.59 7.91 23.15 0.00 40.28

mAP 19.77 (512 x 512 input resolution)

If you want to get the mAP for BDD test set,

  1. make
  2. Change the list file in cfg file ("val_bdd_list.txt" --> "test_bdd_list.txt" in "cfg/BDD.data")
  3. ./darknet detector valid cfg/BDD.data cfg/Gaussian_yolov3_BDD.cfg Gaussian_yolov3_BDD.weights
  4. Upload result file ("results/bdd_results.json") on BDD evaluation server Link

On the BDD test set, we got 19.2 mAP (512 x 512 input resolution).

Third-party implementations

Contact

For questions about our paper or code, please contact Jiwoong Choi.

[email protected]

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