All Projects → andy-yun → Pytorch 0.4 Yolov3

andy-yun / Pytorch 0.4 Yolov3

Licence: mit
Yet Another Implimentation of Pytroch 0.4.1 and YoloV3 on python3

Programming Languages

python
139335 projects - #7 most used programming language
python3
1442 projects

Projects that are alternatives of or similar to Pytorch 0.4 Yolov3

live-cctv
To detect any reasonable change in a live cctv to avoid large storage of data. Once, we notice a change, our goal would be track that object or person causing it. We would be using Computer vision concepts. Our major focus will be on Deep Learning and will try to add as many features in the process.
Stars: ✭ 23 (-91.9%)
Mutual labels:  yolov3
car-crash-accident
Car Crash Accident Project
Stars: ✭ 14 (-95.07%)
Mutual labels:  yolov3
Mobilenetv2 Yolov3
yolov3 with mobilenetv2 and efficientnet
Stars: ✭ 258 (-9.15%)
Mutual labels:  yolov3
Accident-avoidance-deepsortyoloFCRN
An accident avoidance program that raises alert when nearby vehicles are moving at a relative speed faster than a threshold value, additionally it logs some data onto NEM-Mijin blockchain network
Stars: ✭ 18 (-93.66%)
Mutual labels:  yolov3
drone-net
https://towardsdatascience.com/tutorial-build-an-object-detection-system-using-yolo-9a930513643a
Stars: ✭ 126 (-55.63%)
Mutual labels:  yolov3
baai-federated-learning-crane-baseline
电力人工智能数据竞赛——液压吊车目标检测赛道
Stars: ✭ 17 (-94.01%)
Mutual labels:  yolov3
Social-Distancing-Detector
An AI Tool to Help Customers Monitor Social Distancing in the Workplace.
Stars: ✭ 61 (-78.52%)
Mutual labels:  yolov3
Pytorch Yolov4
PyTorch ,ONNX and TensorRT implementation of YOLOv4
Stars: ✭ 3,690 (+1199.3%)
Mutual labels:  yolov3
YOLO-V3-TensorFlow
The reimplementation of YOLO-V3 in TensorFlow.(comming soon)
Stars: ✭ 12 (-95.77%)
Mutual labels:  yolov3
YOLOv3-Cloud-Tutorial
Everything you need in order to get YOLOv3 up and running in the cloud. Learn to train your custom YOLOv3 object detector in the cloud for free!
Stars: ✭ 68 (-76.06%)
Mutual labels:  yolov3
h5 to weight yolo3
convert keras (tensorflow backend) yolov3 h5 model file to darknet yolov3 weights
Stars: ✭ 39 (-86.27%)
Mutual labels:  yolov3
yolo3 tensorflow
yolo3 implement by tensorflow, including mobilenet_v1, mobilenet_v2
Stars: ✭ 48 (-83.1%)
Mutual labels:  yolov3
computer-vision-dojo
This is a repository to learn and get more computer vision skills, make robotics projects integrating the computer vision as a perception tool and create a lot of awesome advanced controllers for the robots of the future.
Stars: ✭ 15 (-94.72%)
Mutual labels:  yolov3
yolo-deepsort-flask
Target detection and multi target tracking platform based on Yolo DeepSort and Flask.
Stars: ✭ 29 (-89.79%)
Mutual labels:  yolov3
Mmdetection To Tensorrt
convert mmdetection model to tensorrt, support fp16, int8, batch input, dynamic shape etc.
Stars: ✭ 262 (-7.75%)
Mutual labels:  yolov3
TensorRT yolo3 module
You can import this module directly
Stars: ✭ 58 (-79.58%)
Mutual labels:  yolov3
miemiedetection
Pytorch implementation of YOLOX、PPYOLO、PPYOLOv2、FCOS an so on.
Stars: ✭ 52 (-81.69%)
Mutual labels:  yolov3
Yolov3 Tensorflow
Implement YOLOv3 with TensorFlow
Stars: ✭ 279 (-1.76%)
Mutual labels:  yolov3
Cortex License Plate Reader Client
A client to connect to cortex-provisioned infrastructure on AWS to do license plate identification in real time.
Stars: ✭ 268 (-5.63%)
Mutual labels:  yolov3
PP-YOLO
PaddlePaddle实现的目标检测模型PP-YOLO
Stars: ✭ 59 (-79.23%)
Mutual labels:  yolov3

pytorch-0.4-yolov3 : Yet Another Implimentation of Pytroch 0.41 or over and YoloV3

This repository is created for implmentation of yolov3 with pytorch 0.4 from marvis/pytorch-yolo2.

This repository is forked from great work pytorch-yolo2 of @github/marvis, but I couldn't upload or modify directly to marvis source files because many files were changed even filenames.

Difference between this repository and marvis original version.

  • some programs are re-structured for windows environments. (for example __name__ == '__main__' (variable in python program) is checked for multiple threads).
  • load and save weights are modified to compatible to yolov2 and yolov3 versions (means that this repository works for yolov2 and yolov3 configuration without source modification.)
  • fully support yolov3 detection and training
    • region_loss.py is renamed to region_layer.py.
    • outputs of region_layer.py and yolo_layer.py are enclosed to dictionary variables.
  • codes are modified to work on pytorch 0.4 and python3
  • some codes are modified to speed up and easy readings. (I'm not sure.. T_T)
  • in training mode, check nan value and use gradient clipping.

If you want to know the training and detect procedures, please refer to https://github.com/marvis/pytorch-yolo2 for the detail information.

Train your own data or coco, voc data as follows:

python train.py -d cfg/coco.data -c cfg/yolo_v3.cfg -w yolov3.weights
  • new weights are saved in backup directory along to epoch numbers (last 5 weights are saved, you control the number of backups in train.py)

  • The above command shows the example of training process. I didn't execute the above command. But, I did successully train my own data with the pretrained yolov3.weights.

  • You should notice that the anchor information is different when it used in yolov2 or yolov3 model.

  • If you want to use the pretrained weight as the initial weights, add -r option in the training command

python train.py -d cfg/my.data -c cfg/my.cfg -w yolov3.weights -r
  • maximum epochs option, which is automatically calculated, somestimes is too small, then you can set the max_epochs in your configuration.

Recorded yolov2 and yolov3 training for my own data

  • When you clicked the images, videos will played on yoube.com

  • yolov2 training recorded :
    yolov2 training

  • yolov3 training recorded :
    yolov3 training

  • In above recorded videos, if you use the pretrained weights as base, about less than 10 or 20 epochs, you can see the large number of proposals. However, when training is in progress, nPP decreases to zero and increases with model updates.

  • The converges of yolov2 and yolov3 are different because yolov2 updates all boxes below 12800 exposures.

Detect the objects in dog image using pretrained weights

yolov2 models

wget http://pjreddie.com/media/files/yolo.weights
python detect.py cfg/yolo.cfg yolo.weights data/dog.jpg data/coco.names 

predictions

Loading weights from yolo.weights... Done!
data\dog.jpg: Predicted in 0.832918 seconds.
3 box(es) is(are) found
truck: 0.934710
bicycle: 0.998012
dog: 0.990524
save plot results to predictions.jpg

yolov3 models

wget https://pjreddie.com/media/files/yolov3.weights
python detect.py cfg/yolo_v3.cfg yolov3.weights data/dog.jpg data/coco.names  

predictions

Loading weights from yolov3.weights... Done!

data\dog.jpg: Predicted in 0.837523 seconds.
3 box(es) is(are) found
dog: 0.999996
truck: 0.995232
bicycle: 0.999973
save plot results to predictions.jpg

validation and get evaluation results

valid.py data/yourown.data cfg/yourown.cfg yourown_weights

Performances for voc datasets using yolov2 (with 100 epochs training)

  • CrossEntropyLoss is used to compare classes
  • Performances are varied along to the weighting factor, for example.
coord_scale=1, object_scale=5, class_scale=1 mAP = 73.1  
coord_scale=1, object_scale=5, class_scale=2 mAP = 72.7  
coord_scale=1, object_scale=3, class_scale=1 mAP = 73.4  
coord_scale=1, object_scale=3, class_scale=2 mAP = 72.8  
coord_scale=1, object_scale=1, class_scale=1 mAP = 50.4  
  • After modifying anchors information at yolo-voc.cfg and applying new coord_mask Finally, I got the
anchors = 1.1468, 1.5021, 2.7780, 3.4751, 4.3845, 7.0162, 8.2523, 4.2100, 9.7340, 8.682
coord_scale=1, object_scale=3, class_scale=1 mAP = 74.4  
  • using yolov3 with self.rescore = 1 and latest code, mAP = 74.9. (with 170 epochs training)

Therefore, you may do many experiments to get the best performances.

License

MIT License (see LICENSE file).

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