You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Compare different neural network architecture for semantic segmentation problem on mobiles.
Mobile app
Android application written in Kotlin and using tensorflow-mobile and tensorflow-lite.
With this application you can load image and segmentate it with choosen Deep Neural Network or run benchmarks for compare average working time.
Deep Neural Network
There are four networks, in this table you can find information about quality and size:
DNN
mIoU
Size (mb)
DeepLab V3 CPU [513x513]
0.797
8.8
DeepLab V3 GPU [257x257]
0.631
2.8
U-Net CPU [224x224]
0.612
25.4
IC-Net CPU [256x256]
0.639
27.1
And here you can find some time measurements:
Snapdragon 625 (4Gb RAM)
Snapdragon 845 (6Gb RAM)
Snapdragon 430 (4Gb RAM)
Exonys 7420 (3Gb RAM)
DeepLab V3 CPU [513x513]
2307.75
845.35
5177.05
2328.35
DeepLab V3 GPU [257x257]
391.6
139.55
630.85
180.45
U-Net CPU [224x224]
867.35
414.68
1933.13
975.0
IC-Net CPU [256x256]
375.05
127.6
656.4
248.85
You can find notebooks for each model with pretrained and trained weights, freezed graphs and tflite files. If you want, to run this notebooks, you should install packages from requirements, tensorflow, keras and this repo. You can skip installation of frameworks and use my docker.
TODO
It's important to understand, that this project hasn't completed yet. So feel free to ask quiestions in issues.
Implement E-Net (depends on Tensorflow ScatterNd layer issue);
Port IC-Net and U-Net to tflite;
More networks??
Train on MS COCO;
...
About
Compare different neural network architectures for semantic segmentation problem