All Projects → lizhengwei1992 → mobilenetv2_deeplabv3_pytorch

lizhengwei1992 / mobilenetv2_deeplabv3_pytorch

Licence: other
Try to implement deeplab v3+ on pytorch according to offical demo.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to mobilenetv2 deeplabv3 pytorch

Pytorch Deeplab Xception
DeepLab v3+ model in PyTorch. Support different backbones.
Stars: ✭ 2,466 (+5771.43%)
Mutual labels:  mobilenetv2, deeplab-v3-plus
Mobilenet V2
A Complete and Simple Implementation of MobileNet-V2 in PyTorch
Stars: ✭ 206 (+390.48%)
Mutual labels:  mobilenetv2
Mxnet Mobilenet V2
Reproduction of MobileNetV2 using MXNet
Stars: ✭ 134 (+219.05%)
Mutual labels:  mobilenetv2
Deeplabv3 mobilenetv2 pytorch
A PyTorch Implementation of MobileNetv2+DeepLabv3
Stars: ✭ 130 (+209.52%)
Mutual labels:  mobilenetv2
Yolov3
yolov3 by pytorch
Stars: ✭ 142 (+238.1%)
Mutual labels:  mobilenetv2
Lightnetplusplus
LightNet++: Boosted Light-weighted Networks for Real-time Semantic Segmentation
Stars: ✭ 218 (+419.05%)
Mutual labels:  mobilenetv2
P3M
[ACM MM 2021] Privacy-Preserving Portrait Matting
Stars: ✭ 81 (+92.86%)
Mutual labels:  portrait-matting
Yolov5 tf
Yolov5/Yolov4/ Yolov3/ Yolo_tiny in tensorflow
Stars: ✭ 158 (+276.19%)
Mutual labels:  mobilenetv2
Retinaface Tf2
RetinaFace (Single-stage Dense Face Localisation in the Wild, 2019) implemented (ResNet50, MobileNetV2 trained on single GPU) in Tensorflow 2.0+. This is an unofficial implementation. With Colab.
Stars: ✭ 178 (+323.81%)
Mutual labels:  mobilenetv2
Mnasnet Pytorch
A PyTorch implementation of Mnasnet: MnasNet: Platform-Aware Neural Architecture Search for Mobile.
Stars: ✭ 250 (+495.24%)
Mutual labels:  mobilenetv2
Hypernsfw
基于深度学习图片鉴黄 Caffe implementation of Not Suitable for Work (NSFW)
Stars: ✭ 143 (+240.48%)
Mutual labels:  mobilenetv2
Tensorrtx
Implementation of popular deep learning networks with TensorRT network definition API
Stars: ✭ 3,456 (+8128.57%)
Mutual labels:  mobilenetv2
Facerecognize For Mobile Phone
适用于移动端的人脸识别模型,计算量与mobilefacenet相同,但megaface上提升了2%+
Stars: ✭ 229 (+445.24%)
Mutual labels:  mobilenetv2
Mobilenetv2
Stars: ✭ 138 (+228.57%)
Mutual labels:  mobilenetv2
PPM
A High-Quality Photograpy Portrait Matting Benchmark
Stars: ✭ 37 (-11.9%)
Mutual labels:  portrait-matting
Object Localization
Object localization in images using simple CNNs and Keras
Stars: ✭ 130 (+209.52%)
Mutual labels:  mobilenetv2
MobilePose-Pi
MobilePose deployment for Raspberry Pi
Stars: ✭ 15 (-64.29%)
Mutual labels:  mobilenetv2
mobilevit-pytorch
A PyTorch implementation of "MobileViT: Light-weight, General-purpose, and Mobile-friendly Vision Transformer".
Stars: ✭ 349 (+730.95%)
Mutual labels:  mobilenetv2
Modnet
A Trimap-Free Solution for Portrait Matting in Real Time
Stars: ✭ 2,083 (+4859.52%)
Mutual labels:  portrait-matting
Centermulti
基于CenterNet训练的目标检测&人脸对齐&姿态估计模型
Stars: ✭ 240 (+471.43%)
Mutual labels:  mobilenetv2

mobilenetv2_deeplabv3_pytorch

NOTE : The final purpose is Using deeplabv3_plus_nv2 to do portrait segmantation !

From tensorflow/models/research/deeplab, we can know details of Deeplab v3+ (paper).

The TensorFlow DeepLab Model Zoo provides four pre_train models. Using Mibilenetv2 as feature exstractor and according to offical demo (run on Calab), I have given a tensorflow segmentation demo in my demo_mobilenetv2_deeplabv3.

These codes are implementation of mobiletv2_deeplab_v3 on pytorch.

network architecture

In demo_mobilenetv2_deeplabv3, use function save_graph() to get tensorflow graph to folder pre_train, then run tensorboard --logdir=pre_train to open tensorboard in browser: tensorboard

the net architecture mainly contains: mobilenetv2aspp.

graph

mobilenetv2

the mobilenetv2 in deeplabv3 is little different from original architecture at output stride and 1th block. Attention these blockks (1th 4th 6th) in code .

+-------------------------------------------+-------------------------+
|                                               output stride
+===========================================+=========================+
|       original MobileNet_v2_OS_32         |          32             | 
+-------------------------------------------+-------------------------+
|   self.interverted_residual_setting = [   |                         |
|       # t, c, n, s                        |                         |
|       [1, 16, 1, 1],                      |  pw -> dw -> pw-linear  |
|       [6, 24, 2, 2],                      |                         |
|       [6, 32, 3, 2],                      |                         |
|       [6, 64, 4, 2],                      |       stride = 2        |
|       [6, 96, 3, 1],                      |                         |
|       [6, 160, 3, 2],                     |       stride = 2        |
|       [6, 320, 1, 1],                     |                         |
|   ]                                       |                         |
+-------------------------------------------+-------------------------+
|          MobileNet_v2_OS_8                |          8              |
+-------------------------------------------+-------------------------+
|   self.interverted_residual_setting = [   |                         |
|       # t, c, n, s                        |                         |
|       [1, 16, 1, 1],                      |    dw -> pw-linear      |
|       [6, 24, 2, 2],                      |                         |
|       [6, 32, 3, 2],                      |                         |
|       [6, 64, 4, 1],                      |       stride = 1        |
|       [6, 96, 3, 1],                      |                         |
|       [6, 160, 3, 1],                     |       stride = 1        |
|       [6, 320, 1, 1],                     |                         |
|   ]                                       |                         |
+-------------------------------------------+-------------------------+

TODO

  • add test codes
  • add pre_train model
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].