MobileUNet is an architecture that uses depth-wise separable convolutions to build lightweight UNet, using Keras API. It's inspired by U-Net: Convolutional Networks for Biomedical Image Segmentation, MobileNets: Efficient Convolutional Neural Networks for Mobile Vision Applications and the very clean UNet Implementation.
It depends on the following libraries:
- Tensorflow
- Keras >= 2.2
and it has depnedency on skimage and Unet data generator if you want to run the demo.
git clone --recurse-submodules https://github.com/iamyb/mobileunet.git
The inference latency comparison between MobileUnet and Unet, which are tested only on Intel Xeon CPU E5-2680.
Model | Total Parameters | 1 CPU Cores | 2 CPU Cores | 4 CPU Cores | 8 CPU Cores | 16 CPU Cores |
---|---|---|---|---|---|---|
mobileunet | 9,488,462 | 1320ms | 846ms | 632ms | 417ms | 292ms |
unet | 31,031,685 | 2790ms | 1830ms | 1290ms | 829ms | 554ms |
There is a discussion about the performance on GPU tensorflow/tensorflow#12132