All Projects → mkchoi-0323 → modified_refinedet

mkchoi-0323 / modified_refinedet

Licence: other
Modified RefineDet

Programming Languages

python
139335 projects - #7 most used programming language
Cuda
1817 projects
C++
36643 projects - #6 most used programming language

Projects that are alternatives of or similar to modified refinedet

EmbeddedSystems.Playground
educational repo for storing everything I do with embedded systems (uC's, SoC's, FPGA, & CPLD) including solutions to online courses I take
Stars: ✭ 26 (+13.04%)
Mutual labels:  embedded-systems
PSPNet-Pytorch
Implemetation of Pyramid Scene Parsing Network in Pytorch
Stars: ✭ 26 (+13.04%)
Mutual labels:  caffe
GuidedNet
Caffe implementation for "Guided Optical Flow Learning"
Stars: ✭ 28 (+21.74%)
Mutual labels:  caffe
iAI
🎯 保姆级深度学习从入门到放弃 🤪 🤪
Stars: ✭ 432 (+1778.26%)
Mutual labels:  caffe
Mxnet2Caffe-Tensor-RT-SEnet
Mxnet2Caffe_Tensor RT
Stars: ✭ 18 (-21.74%)
Mutual labels:  caffe
XNOR-Net
XNOR-Net, CUDNN5 supported version of XNOR-Net-caffe: https://github.com/loswensiana/BWN-XNOR-caffe
Stars: ✭ 30 (+30.43%)
Mutual labels:  caffe
triplet
Re-implementation of tripletloss function in FaceNet
Stars: ✭ 94 (+308.7%)
Mutual labels:  caffe
MobileNet-SSD-windows
No description or website provided.
Stars: ✭ 91 (+295.65%)
Mutual labels:  caffe
fullmetalupdate
FullMetalUpdate Python client application.
Stars: ✭ 19 (-17.39%)
Mutual labels:  embedded-systems
CustomVisionMicrosoftToCoreMLDemoApp
This app recognises 3 hand signs - fist, high five and victory hand [ rock, paper, scissors basically :) ] with live feed camera. It uses a HandSigns.mlmodel which has been trained using Custom Vision from Microsoft.
Stars: ✭ 25 (+8.7%)
Mutual labels:  real-time-detection
caffe-simnets
The SimNets Architecture's Implementation in Caffe
Stars: ✭ 13 (-43.48%)
Mutual labels:  caffe
caffe srgan
A Caffe Implementation of SRGAN
Stars: ✭ 59 (+156.52%)
Mutual labels:  caffe
Xception-caffe
Xception implemented with caffe
Stars: ✭ 45 (+95.65%)
Mutual labels:  caffe
Scale-Adaptive-Network
Semantic Image Segmentation by Scale-Adaptive Networks (TIP 2019)
Stars: ✭ 42 (+82.61%)
Mutual labels:  caffe
tensorrt-ssd-easy
No description or website provided.
Stars: ✭ 32 (+39.13%)
Mutual labels:  caffe
vgg16 batchnorm
VGG16 architecture with BatchNorm
Stars: ✭ 14 (-39.13%)
Mutual labels:  caffe
MSG-Net
Depth Map Super-Resolution by Deep Multi-Scale Guidance, ECCV 2016
Stars: ✭ 76 (+230.43%)
Mutual labels:  caffe
caffe-char-rnn
Multi-layer Recurrent Neural Networks (with LSTM) for character-level language models in Caffe
Stars: ✭ 25 (+8.7%)
Mutual labels:  caffe
arcface retinaface mxnet2onnx
arcface and retinaface model convert mxnet to onnx.
Stars: ✭ 53 (+130.43%)
Mutual labels:  caffe
node-chat
A demo of using socket.io + backbone.js to create a simple chatroom service.
Stars: ✭ 43 (+86.96%)
Mutual labels:  backbone

Development of Fast Refinement Detectors on AI Edge Platforms

Under review

Abstract

Refinement detector (RefineDet) is a state-of-the-art model in object detection that has been developed and refined based on high-end GPU systems. In this study, we discovered that the speed of models developed in high-end GPU systems is inconsistent with that in embedded systems. In other words, the fastest model that operates on high-end GPU systems may not be the fastest model on embedded boards. To determine the reason for this phenomenon, we performed several experiments on RefineDet using various backbone architectures on three different platforms: NVIDIA Titan XP GPU system, Drive PX2 board, and Jetson Xavier board. Finally, we achieved real-time performances (approximately 20 fps) based on the experiments on AI edge platforms such as NVIDIA Drive PX2 and Jetson Xavier boards. We believe that our current study would serve as a good reference for developers who wish to apply object detection algorithms to AI edge computing hardwares. The complete code and models are publicly available on the web (link).

1. Installation

1.1 Requirement

  • Ubuntu 16.04
  • Caffe
  • Python2
  • CUDA 9.0

1.2 ReifineDet

1.3 Rebuild for Modified RefineDet

  • Download requirements from this repository
    git clone https://github.com/mkchoi-0323/modified_refinedet.git

  • Rebuild caffe for original RefineDet with new caffe layers (depthwise convolution and axpy laer)
    cd RefineDet
    make clean

    1. copy every .cpp and .cu files in addtional_layers
    2. paste .cpp and .cu files to original RefineDet/src/caffe/layers/
    3. copy every .hpp files in additional_layers
    4. paste .hpp files to original RefineDet/include/caffe/layers/
  • Rebuild by caffe compile command
    make all -j4

2. Training

  • Download desired python code to generate head and backbone

    • For example, you should prepare MobileNetV1_COCO_320.py and model_libs_MobileNetV1.py to train new model of RefineDet with MobileNetV1 blocks
  • Make model path and copy python trainin interface
    mkdir RefineDet/models/MobileNet/coco/refinedet_mobilenetv1_320x320
    cp modified_refinedet/heads/MobileNetV1_COCO_320.py RefineDet/models/MobileNet/coco/refinedet_mobilenetv1_320x320/

  • Download pre-trained backbone (link)

  • Copy pre-trained backbone to model path
    cp modified_refinedet/pretrained_backbones/mobielnet.caffemodel RefineDet/models/MobileNet/

  • Copy model interface to original RefineDet
    mv RefineDet/python/caffe/model_libs.py RefineDet/python/caffe/model_libs.py.backup
    cp modified_refinedet/heads/model_libs_MobileNetV1.py RefineDet/python/caffe/model_libs.py

  • Run training interface
    cd RefineDet
    python models/MobileNet/coco/refinedet_mobilenetv1_320x320/MobileNetV1_COCO_320.py

3. Testing

  • Copy dataset loader to original RefineDet interface
    mv RefineDet/test/lib/dataset/coco.py RefineDet/test/lib/dataset/coco.py.backup
    mv RefineDet/test/lib/dataset/factory.py RefineDet/test/lib/dataset/factory.py.backup
    mv modified_refinedet/test/lib/dataset/coco.py RefineDet/test/lib/dataset/
    mv modified_refinedet/test/lib/dataset/factory.py RefineDet/test/lib/dataset/

  • Copy testing interface
    mv modified_refinedet/test/lib/dataset/coco.py RefineDet/test/lib/dataset/
    mv modified_refinedet/refinedet_test_MobileNet.py

  • Download pre-trained models (link)

  • Set model and deploy path to proper location

3.1 val2017

  • Set model and deploy path to proper location
    vim modified_refinedet/test/refinedet_test_MobileNet.py

  • Run test
    cd RefineDet
    python modified_refinedet/test/refinedet_test_MobileNet.py

3.2 test-dev2017

  • Set model and deploy path to proper location
    vim modified_refinedet/test/refinedet_test-dev.py

  • Run test
    cd RefineDet
    python modified_refinedet/test/refinedet_test-dev.py

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