All Projects → dog-qiuqiu → Mobilenet Yolo

dog-qiuqiu / Mobilenet Yolo

Licence: other
MobileNetV2-YoloV3-Nano: 0.5BFlops 3MB HUAWEI P40: 6ms/img, YoloFace-500k:0.1Bflops 420KB🔥🔥🔥

Programming Languages

c
50402 projects - #5 most used programming language
Cuda
1817 projects
C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
CMake
9771 projects
Batchfile
5799 projects

Projects that are alternatives of or similar to Mobilenet Yolo

ffcnn
ffcnn is a cnn neural network inference framework, written in 600 lines C language.
Stars: ✭ 50 (-96.81%)
Mutual labels:  yolo, darknet, ncnn, yolov3
Yolo V3 Iou
YOLO3 动漫人脸检测 (Based on keras and tensorflow) 2019-1-19
Stars: ✭ 116 (-92.59%)
Mutual labels:  object-detection, cnn, yolo, yolov3
Pine
🌲 Aimbot powered by real-time object detection with neural networks, GPU accelerated with Nvidia. Optimized for use with CS:GO.
Stars: ✭ 202 (-87.1%)
Mutual labels:  object-detection, yolo, yolov3, darknet
Yolo3 4 Py
A Python wrapper on Darknet. Compatible with YOLO V3.
Stars: ✭ 504 (-67.82%)
Mutual labels:  object-detection, yolo, yolov3, darknet
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 (-65.96%)
Mutual labels:  object-detection, yolo, yolov3, darknet
Tensornets
High level network definitions with pre-trained weights in TensorFlow
Stars: ✭ 982 (-37.29%)
Mutual labels:  object-detection, yolo, yolov3, mobilenetv2
Yolo annotation tool
Annotation tool for YOLO in opencv
Stars: ✭ 17 (-98.91%)
Mutual labels:  object-detection, yolo, yolov3, darknet
Cnn Paper2
🎨 🎨 深度学习 卷积神经网络教程 :图像识别,目标检测,语义分割,实例分割,人脸识别,神经风格转换,GAN等🎨🎨 https://dataxujing.github.io/CNN-paper2/
Stars: ✭ 77 (-95.08%)
Mutual labels:  object-detection, cv, cnn, face-detection
Ultra Light Fast Generic Face Detector 1mb
💎1MB lightweight face detection model (1MB轻量级人脸检测模型)
Stars: ✭ 6,182 (+294.76%)
Mutual labels:  face-detection, mnn, ncnn
Yolo Tf2
yolo(all versions) implementation in keras and tensorflow 2.4
Stars: ✭ 695 (-55.62%)
Mutual labels:  object-detection, yolo, yolov3
Yolo Custom Object Detector
Making custom object detector using Yolo (Java and Python)
Stars: ✭ 84 (-94.64%)
Mutual labels:  object-detection, yolo, darknet
Simplecvreproduction
Reproduce simple cv project including attention module, classification, object detection, segmentation, keypoint detection, tracking 😄 etc.
Stars: ✭ 602 (-61.56%)
Mutual labels:  object-detection, cv, face-detection
Yolov3
Keras implementation of yolo v3 object detection.
Stars: ✭ 585 (-62.64%)
Mutual labels:  object-detection, cnn, yolov3
Yolov5
YOLOv5 🚀 in PyTorch > ONNX > CoreML > TFLite
Stars: ✭ 19,914 (+1171.65%)
Mutual labels:  object-detection, yolo, yolov3
Yolov3 pytorch
Full implementation of YOLOv3 in PyTorch
Stars: ✭ 570 (-63.6%)
Mutual labels:  object-detection, yolo, yolov3
Getting Things Done With Pytorch
Jupyter Notebook tutorials on solving real-world problems with Machine Learning & Deep Learning using PyTorch. Topics: Face detection with Detectron 2, Time Series anomaly detection with LSTM Autoencoders, Object Detection with YOLO v5, Build your first Neural Network, Time Series forecasting for Coronavirus daily cases, Sentiment Analysis with BERT.
Stars: ✭ 738 (-52.87%)
Mutual labels:  object-detection, face-detection, yolo
Mobilenet Yolo
A caffe implementation of MobileNet-YOLO detection network
Stars: ✭ 825 (-47.32%)
Mutual labels:  yolo, yolov3, darknet
Keras Yolov3 Mobilenet
I transfer the backend of yolov3 into Mobilenetv1,VGG16,ResNet101 and ResNeXt101
Stars: ✭ 552 (-64.75%)
Mutual labels:  object-detection, yolo, yolov3
Openlabeling
Label images and video for Computer Vision applications
Stars: ✭ 706 (-54.92%)
Mutual labels:  object-detection, yolo, darknet
Easy Yolo
Yolo (Real time object detection) model training tutorial with deep learning neural networks
Stars: ✭ 98 (-93.74%)
Mutual labels:  object-detection, yolo, darknet

2021.2.6 此项目不再更新,新项目地址: Yolo-Fastest: Faster and stronger https://github.com/dog-qiuqiu/Yolo-Fastest

image

***Darknet Group convolution is not well supported on some GPUs such as NVIDIA PASCAL!!!

针对某些Pascal显卡例如1080ti在darknet上 训练失败/训练异常缓慢/推理速度异常 的可以采用Pytorch版yolo3框架 训练/推理

MobileNetV2-YOLOv3-Lite&Nano Darknet

Mobile inference frameworks benchmark (4*ARM_CPU)

Network VOC mAP(0.5) COCO mAP(0.5) Resolution Inference time (NCNN/Kirin 990) Inference time (MNN arm82/Kirin 990) FLOPS Weight size
MobileNetV2-YOLOv3-Lite(our) 73.26 37.44 320 28.42 ms 18 ms 1.8BFlops 8.0MB
MobileNetV2-YOLOv3-Nano(our) 65.27 30.13 320 10.16 ms 5 ms 0.5BFlops 3.0MB
MobileNetV2-YOLOv3 70.7 & 352 32.15 ms & ms 2.44BFlops 14.4MB
MobileNet-SSD 72.7 & 300 26.37 ms & ms & BFlops 23.1MB
YOLOv5s & 56.2 416 150.5 ms & ms 13.2BFlops 28.1MB
YOLOv3-Tiny-Prn & 33.1 416 36.6 ms & ms 3.5BFlops 18.8MB
YOLOv4-Tiny & 40.2 416 44.6 ms & ms 6.9BFlops 23.1MB
YOLO-Nano 69.1 & 416 & ms & ms 4.57BFlops 4.0MB
  • Support mobile inference frameworks such as NCNN&MNN
  • The mnn benchmark only includes the forward inference time
  • The ncnn benchmark is the forward inference time + post-processing time(NMS...) of the convolution feature map.
  • Darknet Train Configuration: CUDA-version: 10010 (10020), cuDNN: 7.6.4,OpenCV version: 4 GPU:RTX2080ti

MobileNetV2-YOLOv3-Lite-COCO Test results

image

Application

Ultralight-SimplePose

image

YoloFace-500k: 500kb yolo-Face-Detection

Network Resolution Inference time (NCNN/Kirin 990) Inference time (MNN arm82/Kirin 990) FLOPS Weight size
UltraFace-version-RFB 320x240 &ms 3.36ms 0.1BFlops 1.3MB
UltraFace-version-Slim 320x240 &ms 3.06ms 0.1BFlops 1.2MB
yoloface-500k 320x256 5.5ms 2.4ms 0.1BFlops 0.52MB
yoloface-500k-v2 352x288 4.7ms &ms 0.1BFlops 0.42MB
  • 都500k了,要啥mAP😎
  • Inference time (DarkNet/i7-6700):13ms
  • The mnn benchmark only includes the forward inference time
  • The ncnn benchmark is the forward inference time + post-processing time(NMS...) of the convolution feature map.

Wider Face Val

Model Easy Set Medium Set Hard Set
libfacedetection v1(caffe) 0.65 0.5 0.233
libfacedetection v2(caffe) 0.714 0.585 0.306
Retinaface-Mobilenet-0.25 (Mxnet) 0.745 0.553 0.232
version-slim-320 0.77 0.671 0.395
version-RFB-320 0.787 0.698 0.438
yoloface-500k-320 0.728 0.682 0.431
yoloface-500k-352-v2 0.768 0.729 0.490
  • yoloface-500k-v2:The SE&CSP module is added
  • V2 does not support MNN temporarily
  • wider_face_val(ap05): yoloface-500k: 53.75 yoloface-500k-v2: 56.69

YoloFace-500k Test results(thresh 0.7)

image

YoloFace-500k-v2 Test results(thresh 0.7)

image

YoloFace-50k: Sub-millisecond face detection model

Network Resolution Inference time (NCNN/Kirin 990) Inference time (MNN arm82/Kirin 990) Inference time (DarkNet/R3-3100) FLOPS Weight size
yoloface-50k 56x56 0.27ms 0.31ms 0.5 ms 0.001BFlops 46kb
  • For the close-range face detection model in a specific scene, the recommended detection distance is 1.5m

YoloFace-50k Test results(thresh 0.7)

image

YoloFace50k-landmark106(Ultra lightweight 106 point face-landmark model)

Network Resolution Inference time (NCNN/Kirin 990) Inference time (MNN arm82/Kirin 990) Weight size
landmark106 112x112 0.6ms 0.5ms 1.4MB
  • Face detection: yoloface-50k Landmark: landmark106

YoloFace50k-landmark106 Test results

image

Reference&Framework instructions&How to Train

  • https://github.com/AlexeyAB/darknet
  • You must use a pre-trained model to train your own data set. You can make a pre-trained model based on the weights of COCO training in this project to initialize the network parameters
  • 交流qq群:1062122604

About model selection

  • MobileNetV2-YOLOv3-SPP: Nvidia Jeston, Intel Movidius, TensorRT,NPU,OPENVINO...High-performance embedded side
  • MobileNetV2-YOLOv3-Lite: High Performance ARM-CPU,Qualcomm Adreno GPU, ARM82...High-performance mobile
  • MobileNetV2-YOLOv3-NANO: ARM-CPU...Computing resources are limited
  • MobileNetV2-YOLOv3-Fastest: ....... Can you do personal face detection???It’s better than nothing

NCNN conversion tutorial

NCNN C++ Sample

NCNN Android Sample

image

DarkNet2Caffe tutorial

Environmental requirements

  • Python2.7
  • python-opencv
  • Caffe(add upsample layer https://github.com/dog-qiuqiu/caffe)
  • You have to compile cpu version of caffe!!!
      cd darknet2caffe/
      python darknet2caffe.py MobileNetV2-YOLOv3-Nano-voc.cfg MobileNetV2-YOLOv3-Nano-voc.weights MobileNetV2-YOLOv3-Nano-voc.prototxt MobileNetV2-YOLOv3-Nano-voc.caffemodel
      cp MobileNetV2-YOLOv3-Nano-voc.prototxt sample
      cp MobileNetV2-YOLOv3-Nano-voc.caffemodel sample
      cd sample
      python detector.py
    

MNN conversion tutorial

  • Benchmark:https://www.yuque.com/mnn/cn/tool_benchmark
  • Convert darknet model to caffemodel through darknet2caffe
  • Manually replace the upsample layer in prototxt with the interp layer
  • Take the modification of MobileNetV2-YOLOv3-Nano-voc.prototxt as an example
	#layer {
	#    bottom: "layer71-route"
	#    top: "layer72-upsample"
	#    name: "layer72-upsample"
	#    type: "Upsample"
	#    upsample_param {
	#        scale: 2
	#    }
	#}
	layer {
	    bottom: "layer71-route"
	    top: "layer72-upsample"
	    name: "layer72-upsample"
	    type: "Interp"
	    interp_param {
		height:20  #upsample h size
		width:20   #upsample w size
	    }
	}

Thanks

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