/mobileunet

A lightweight UNet implementation, using Keras

Primary LanguageJupyter NotebookMIT LicenseMIT

MobileUNet is a lightweight UNet implementation

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.


How to use

Dependencies

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.

Clone the repo with submodules for demo

git clone --recurse-submodules https://github.com/iamyb/mobileunet.git

Performance

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

Open Issues

There is a discussion about the performance on GPU tensorflow/tensorflow#12132