All Projects → chuanqi305 → Mobilenet Ssd

chuanqi305 / Mobilenet Ssd

Licence: mit
Caffe implementation of Google MobileNet SSD detection network, with pretrained weights on VOC0712 and mAP=0.727.

Programming Languages

python
139335 projects - #7 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to Mobilenet Ssd

MobileNet-SSD-windows
No description or website provided.
Stars: ✭ 91 (-94.96%)
Mutual labels:  caffe, ssd, mobilenet, mobilenet-ssd
MobileNetV3-SSD-Compact-Version
MobileNetV3 SSD的简洁版本
Stars: ✭ 65 (-96.4%)
Mutual labels:  ssd, mobilenet, mobilenet-ssd
Jacinto Ai Devkit
Training & Quantization of embedded friendly Deep Learning / Machine Learning / Computer Vision models
Stars: ✭ 49 (-97.29%)
Mutual labels:  caffe, mobilenet, detection
Mobilenetv2 Ssdlite
Caffe implementation of SSD and SSDLite detection on MobileNetv2, converted from tensorflow.
Stars: ✭ 435 (-75.9%)
Mutual labels:  ssd, caffe, mobilenet
hand detection
A Light CNN based Method for Hand Detection and Orientation Estimation
Stars: ✭ 116 (-93.57%)
Mutual labels:  ssd, mobilenet, mobilenet-ssd
Php Opencv Examples
Tutorial for computer vision and machine learning in PHP 7/8 by opencv (installation + examples + documentation)
Stars: ✭ 333 (-81.55%)
Mutual labels:  caffe, mobilenet, detection
Tensorflow Face Detection
A mobilenet SSD based face detector, powered by tensorflow object detection api, trained by WIDERFACE dataset.
Stars: ✭ 711 (-60.61%)
Mutual labels:  ssd, mobilenet, detection
Ssd Models
把极速检测器的门槛给我打下来make lightweight caffe-ssd great again
Stars: ✭ 62 (-96.57%)
Mutual labels:  ssd, caffe
Mtcnn
face detection and alignment with mtcnn
Stars: ✭ 66 (-96.34%)
Mutual labels:  caffe, detection
Mobilenet Caffe
Caffe Implementation of Google's MobileNets (v1 and v2)
Stars: ✭ 1,217 (-32.58%)
Mutual labels:  caffe, mobilenet
Rfbnet
Receptive Field Block Net for Accurate and Fast Object Detection, ECCV 2018
Stars: ✭ 1,272 (-29.53%)
Mutual labels:  mobilenet, detection
Training toolbox caffe
Training Toolbox for Caffe
Stars: ✭ 51 (-97.17%)
Mutual labels:  ssd, caffe
Training extensions
Trainable models and NN optimization tools
Stars: ✭ 857 (-52.52%)
Mutual labels:  ssd, detection
Dlcv for beginners
《深度学习与计算机视觉》配套代码
Stars: ✭ 1,244 (-31.08%)
Mutual labels:  caffe, detection
Paddlex
PaddlePaddle End-to-End Development Toolkit(『飞桨』深度学习全流程开发工具)
Stars: ✭ 3,399 (+88.31%)
Mutual labels:  mobilenet, detection
Ssds pytorch
Multiple basenet MobileNet v1,v2, ResNet combined with SSD detection method and it's variants such as RFB, FSSD etc.
Stars: ✭ 71 (-96.07%)
Mutual labels:  ssd, mobilenet
Picanet
Stars: ✭ 35 (-98.06%)
Mutual labels:  caffe, detection
Caffe Model
Caffe models (including classification, detection and segmentation) and deploy files for famouse networks
Stars: ✭ 1,258 (-30.3%)
Mutual labels:  caffe, detection
Ssd Pytorch
SSD: Single Shot MultiBox Detector pytorch implementation focusing on simplicity
Stars: ✭ 107 (-94.07%)
Mutual labels:  ssd, detection
Maskyolo caffe
YOLO V2 & V3 , YOLO Combined with RCNN and MaskRCNN
Stars: ✭ 101 (-94.4%)
Mutual labels:  caffe, detection

MobileNet-SSD

A caffe implementation of MobileNet-SSD detection network, with pretrained weights on VOC0712 and mAP=0.727.

Network mAP Download Download
MobileNet-SSD 72.7 train deploy

Run

  1. Download SSD source code and compile (follow the SSD README).
  2. Download the pretrained deploy weights from the link above.
  3. Put all the files in SSD_HOME/examples/
  4. Run demo.py to show the detection result.
  5. You can run merge_bn.py to generate a no bn model, it will be much faster.

Create LMDB for your own dataset

  1. Place the Images directory and Labels directory into same directory. (Each image in Images folder should have a unique label file in Labels folder with same name)
  2. cd create_lmdb/code
  3. Modify the labelmap.prototxt file according to your classes.
  4. Modify the paths and directories in create_list.sh and create_data.sh as specified in same file in comments.
  5. run bash create_list.sh, which will create trainval.txt, test.txt and test_name_size.txt
  6. run bash create_data.sh, which will generate the LMDB in Dataset directory.
  7. Delete trainval.txt, test.txt, test_name_size.txt before creation of next LMDB.

Train your own dataset

  1. Convert your own dataset to lmdb database (follow the SSD README), and create symlinks to current directory.
ln -s PATH_TO_YOUR_TRAIN_LMDB trainval_lmdb
ln -s PATH_TO_YOUR_TEST_LMDB test_lmdb
  1. Create the labelmap.prototxt file and put it into current directory.
  2. Use gen_model.sh to generate your own training prototxt.
  3. Download the training weights from the link above, and run train.sh, after about 30000 iterations, the loss should be 1.5 - 2.5.
  4. Run test.sh to evaluate the result.
  5. Run merge_bn.py to generate your own no-bn caffemodel if necessary.
python merge_bn.py --model example/MobileNetSSD_deploy.prototxt --weights snapshot/mobilenet_iter_xxxxxx.caffemodel

About some details

There are 2 primary differences between this model and MobileNet-SSD on tensorflow:

  1. ReLU6 layer is replaced by ReLU.
  2. For the conv11_mbox_prior layer, the anchors are [(0.2, 1.0), (0.2, 2.0), (0.2, 0.5)] vs tensorflow's [(0.1, 1.0), (0.2, 2.0), (0.2, 0.5)].

Reproduce the result

I trained this model from a MobileNet classifier(caffemodel and prototxt) converted from tensorflow. I first trained the model on MS-COCO and then fine-tuned on VOC0712. Without MS-COCO pretraining, it can only get mAP=0.68.

Mobile Platform

You can run it on Android with my another project rscnn.

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